Skip to content

Add dynamic routable tabs spike example app#837

Draft
amcclain wants to merge 1 commit into
developfrom
dynamic-routable-tabs-spike
Draft

Add dynamic routable tabs spike example app#837
amcclain wants to merge 1 commit into
developfrom
dynamic-routable-tabs-spike

Conversation

@amcclain
Copy link
Copy Markdown
Member

@amcclain amcclain commented Apr 8, 2026

Exploratory spike demonstrating dynamic, routable tabs using TabContainerModel with DynamicTabSwitcher and Router 5 integration. All 7 target routing scenarios work via a manual routing workaround.

Key finding: TabContainerModel's built-in route config cannot be used with dynamic tabs — addTab/removeTab both call setTabs() which throws when routing is enabled. The workaround manages Router 5 ↔ tab sync manually with a direct router subscription and MobX reactions.

Additional friction points discovered and documented: Router 5's isActive() requires params for parameterized routes, MobX reactions don't reliably detect param-only route changes, DynamicTabSwitcher's hide() doesn't remove tabs from the container, and cleanup reactions race with tab creation due to MobX batching.

See FINDINGS.md for full analysis and recommended framework changes.

Exploratory spike demonstrating dynamic, routable tabs using TabContainerModel with DynamicTabSwitcher and Router 5 integration. All 7 target routing scenarios work via a manual routing workaround.

Key finding: TabContainerModel's built-in `route` config cannot be used with dynamic tabs — addTab/removeTab both call setTabs() which throws when routing is enabled. The workaround manages Router 5 ↔ tab sync manually with a direct router subscription and MobX reactions.

Additional friction points discovered and documented: Router 5's isActive() requires params for parameterized routes, MobX reactions don't reliably detect param-only route changes, DynamicTabSwitcher's hide() doesn't remove tabs from the container, and cleanup reactions race with tab creation due to MobX batching.

See FINDINGS.md for full analysis and recommended framework changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@amcclain
Copy link
Copy Markdown
Member Author

amcclain commented Apr 8, 2026

Not necessarily expecting this to get merged - opening as a draft PR mostly for easy viewing of the diff and discussion.

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