Skip to content

refactor(modules): move TabGroupChipsModule to dockview-core (free tier)#1414

Merged
mathuo merged 2 commits into
v8-branchfrom
refactor/chips-module-to-core
Jul 7, 2026
Merged

refactor(modules): move TabGroupChipsModule to dockview-core (free tier)#1414
mathuo merged 2 commits into
v8-branchfrom
refactor/chips-module-to-core

Conversation

@mathuo

@mathuo mathuo commented Jul 7, 2026

Copy link
Copy Markdown
Owner

What

Reclassifies TabGroupChipsModule from pro (dockview-enterprise) to free (dockview-core). The group-tab chip strip is table-stakes multi-group navigation — gating it behind the licence watermark reads as hostile rather than an upsell.

Changes

  • Add tabGroupChipsService.ts to dockview-core and register it in allModules.ts, so it auto-registers (and fires the tab-group lifecycle events) for every component with no enterprise package required.
  • Export TabGroupChipsModule / TabGroupChipsService from dockview-core.
  • Drop it from dockview-enterprise's Modules array and explicit re-export. It stays in the enterprise public surface via export * from 'dockview', so dockview-enterprise remains a drop-in superset.
  • Move the tab-group events spec into dockview-core.

Notes

  • ContextMenuModule stays enterprise — the built-in menu builder is the paid value. Free users needing a tab context menu use a custom tab renderer (they own that DOM and can attach their own contextmenu listener).
  • Behavioural change for dockview-core-only consumers: tab-group lifecycle events now fire by default (previously required the modules package). Additive.

Tests

core 1150 / enterprise 283 green; both packages build clean. Core removability spec now covers the module automatically (it iterates AllModules).

🤖 Generated with Claude Code

mathuo and others added 2 commits July 7, 2026 22:18
TabGroupChipsModule is now a free, core module rather than part of the
paid dockview-enterprise bundle. The group-tab chip strip is table-stakes
multi-group navigation, so gating it behind the licence watermark reads as
hostile rather than an upsell.

- add tabGroupChipsService.ts to dockview-core and register it in
  allModules.ts so it auto-registers (and fires the tab-group lifecycle
  events) for every component, no enterprise package required
- export TabGroupChipsModule / TabGroupChipsService from dockview-core
- drop it from dockview-enterprise's Modules array and explicit re-export;
  it stays in the enterprise public surface via `export * from 'dockview'`,
  so dockview-enterprise remains a drop-in superset
- move the tab-group events spec into dockview-core

ContextMenuModule stays enterprise (the built-in menu builder is the paid
value); free users needing a tab context menu use a custom tab renderer.

core 1150 / enterprise 283 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mathuo mathuo merged commit a644db6 into v8-branch Jul 7, 2026
6 checks passed
@sonarqubecloud

sonarqubecloud Bot commented Jul 7, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant