- Ya
- 25 Aprili 2026, 22:17 UTC
- Mwandishi
- kamo
- Ahadi ya
- 3873b0b
ToolDock (and its tool windows like SupportTicketWindow → TicketChat) is mounted inside ToolProviders, which sits ABOVE PresenceWrapper in the tree to avoid unmounting on auth/navigation changes. ChatWebSocketProvider lived inside PresenceWrapper, so tool windows fell back to the default no-op context value — TicketChat's subscribe() was a silent no-op, the agent never sent SUBSCRIBE for /topic/chat/session/{guid}, and visitor messages after the first appeared only after a refresh (REST initial-fetch). Move ChatWebSocketProvider to layout.tsx wrapping ToolProviders. The provider now internally gates on authentication so it stays safe at the top of the tree.