Skip to content

Keep root composer project selection tab-scoped - #3191

Open
bb-slop-cop[bot] wants to merge 1 commit into
mainfrom
slopcop/issue-3190
Open

Keep root composer project selection tab-scoped#3191
bb-slop-cop[bot] wants to merge 1 commit into
mainfrom
slopcop/issue-3190

Conversation

@bb-slop-cop

@bb-slop-cop bb-slop-cop Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Human comments

What was wrong

The root composer project atom subscribed to cross-tab localStorage events. A tab with a settled but stale sidebar project list normalized a project selected elsewhere to the personal project, then persisted that fallback back to every tab. The verified reproduction and root-cause report is https://get-bb.github.io/reports/issues/3190.html.

What changed

The root composer project selection now uses the existing tab-scoped storage adapter. Each tab retains its own active project through session storage, new tabs can still seed from the most recent local value, and live storage events no longer move another tab's composer. The regression test simulates the cross-tab event and asserts that the stale tab never writes the personal fallback. There are no wire, CLI, guide, dependency, schema, or stored-data changes.

How you verified

  • Before the production change, the focused regression failed with one unexpected personal-project write while the other 21 tests passed.
  • After the change, the focused file passed: 22 tests.
  • pnpm exec turbo run test --filter=@bb/app: 480 files passed; 3,926 tests passed and 3 skipped.
  • pnpm exec turbo run typecheck --filter=@bb/app: passed.
  • pnpm exec turbo run lint --filter=@bb/app: passed with 0 errors (184 existing warnings).
  • git diff --check origin/main..HEAD: passed.
  • The EAP model-name scan was clean for the working tree and push range.
  • Changed-line count: 46 text lines (44 additions, 2 deletions) across 2 files.

Fixes #3190

AGENT GENERATED

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.

Stale second tab reverts the root composer's project selection to personal via cross-tab localStorage sync

1 participant