mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
15ca67afb1
🐛 Problem Fixed: - Tab state was lost when navigating from tabbed chat to home and back - Users would lose all their chat tabs when switching between routes - Tab state was stored in local component state, lost on component unmount ✨ Solution Implemented: - Created TabContext for global tab state management - Integrated localStorage for automatic tab state persistence - Refactored TabbedChatContainer to use context instead of local state - Added TabProvider wrapper to App.tsx for global state access 🚀 Benefits: - Tab state now persists across route navigation - Tabs survive app restarts via localStorage - Maintains all existing functionality (keyboard shortcuts, etc.) - No breaking changes to existing tab behavior - Better user experience with persistent workspace Files modified: - ui/desktop/src/contexts/TabContext.tsx (new) - ui/desktop/src/components/TabbedChatContainer.tsx (refactored) - ui/desktop/src/App.tsx (added TabProvider) Testing: ✅ Tabs persist when navigating to home and back Testing: ✅ Tab state survives app restart Testing: ✅ All tab functionality still works (create, close, switch) Testing: ✅ Concurrent sessions still work independently