You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bf40b95
Browse filesBrowse the repository at this point in the historyBrowse files
fix(desktop): settle browser tab sync edge cases and ease the tab width cap
Review and in-app verification of the resource-tab browser model found
five problems, all fixed here with tests:
- The strip's switch and follow effects could trade `switch-tab` calls
forever after a native switch; the switch effect is now keyed on the
selection alone and ignores the switch it requested itself.
- Migrating a pending chat onto its durable id briefly removed and re-added
every browser tab; a missing store bucket is no longer read as closed.
- Chat hydration could replace the resource list underneath a fresh add,
dropping restored tabs on return; a tab stays projected until its
resource is seen. Hydration also falls back to the last server-held
resource instead of whichever tab happened to land first.
- Strip-driven `switch-tab` no longer claims the page for the user
(`claim: false`), so the agent can still close or adopt it; a user
closing the agent's tab leaves the agent cursor unset rather than
announcing the neighbour as agent activity.
- The driver marked every restored scope as material, refusing pending
chat migration after an empty restore; only a restore that yields pages
does now, matching the session layer. The bridge snapshot is regenerated
with the documented `'new-tab'` fallback.
Resource tab titles ellipsize at 200px for one or two tabs, 180px for
three, and 160px from four on, one small step at a time.
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -653,9 +653,9 @@ export function BrowserSession({
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-registry/browser-tab-icon.tsx
+20-15Lines changed: 20 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,8 @@ import { useBrowserSessionStore } from '@/stores/browser-session/store'
11
11
interfaceBrowserTabIconProps{
12
12
/** Native tab id, which is also the browser resource's id. */
13
13
tabId: string
14
+
/** Desktop browser scope the tab lives in; without one the icon is a plain globe. */
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-registry/resource-registry.tsx
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-tabs/resource-tab-controls.test.ts
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-tabs/resource-tab-controls.ts
Copy file name to clipboardExpand all lines: apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-tabs/resource-tabs.tsx
0 commit comments