- 已装运
- 2026年3月11日 17:27 UTC
- 作者
- kamo
- 提交
- 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.