Move ToolDock above auth gate to prevent tool window wipe on navigation

Fixkamo-internal
Shipped
March 11, 2026 at 5:27 PM UTC
Author
kamo
Commit
18dbcc4

PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmounts/remounts children including AuthenticatedToolWrapper, which resets hasEverAuthRef and briefly returns null, unmounting ToolDock and destroying all ChatTool/SoftphoneTool instances. Fix: render ToolDock directly inside ToolWindowsProvider (in ToolProviders), above PresenceWrapper. ToolDock reads windows from context (which never resets), so tool component instances now outlive any auth-state tree switches and all page navigations.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing