Skip to content

fix(browser): harden multi-tab routing and target isolation#1072

Open
freemandealer wants to merge 1 commit intojackwener:mainfrom
freemandealer:fix/browser-multitab-only
Open

fix(browser): harden multi-tab routing and target isolation#1072
freemandealer wants to merge 1 commit intojackwener:mainfrom
freemandealer:fix/browser-multitab-only

Conversation

@freemandealer
Copy link
Copy Markdown
Contributor

Description

Fix browser multi-tab concurrency and target isolation on top of the latest main without carrying the earlier network-detail-cache commit.

  • make daemon command ids collision-resistant and retry duplicate pending ids
  • add validated browser tab list/new/select/close flows with persisted default targets
  • keep untargeted browser commands on the default tab unless tab select changes it
  • document tab targeting and add unit, extension, and e2e coverage for concurrent multi-tab execution

Related issue:

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 🌐 New site adapter
  • 📝 Documentation
  • ♻️ Refactor
  • 🔧 CI / build / tooling

Checklist

  • I ran the checks relevant to this PR
  • I updated tests or docs if needed
  • I included output or screenshots when useful

Documentation (if adding/modifying an adapter)

  • Added doc page under docs/adapters/ (if new adapter)
  • Updated docs/adapters/index.md table (if new adapter)
  • Updated sidebar in docs/.vitepress/config.mts (if new adapter)
  • Updated README.md / README.zh-CN.md when command discoverability changed
  • Used positional args for the command's primary subject unless a named flag is clearly better
  • Normalized expected adapter failures to CliError subclasses instead of raw Error

Screenshots / Output

npx vitest run --project unit src/cli.test.ts src/browser/page.test.ts src/browser/daemon-client.test.ts
# Test Files  3 passed (3)
# Tests  42 passed (42)

npx vitest run --project extension extension/src/background.test.ts
# Test Files  1 passed (1)
# Tests  18 passed (18)

npx vitest run --project e2e tests/e2e/browser-tabs.test.ts
# Test Files  1 passed (1)
# Tests  4 passed (4)

- make daemon command ids collision-resistant and retry duplicate pending ids\n- add validated tab list/new/select/close flows with persisted default targets\n- keep untargeted browser commands on the default tab unless tab select changes it\n- document tab targeting and add unit, extension, and e2e coverage for concurrent multi-tab execution
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