🐛 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
🎉 Hacktoberfest 2025 🎉
goose is a participating project in Hacktoberfest 2025! We’re so excited for your contributions, and have created a wide variety of issues so that anyone can contribute. Whether you're a seasoned developer or a first-time open source contributor, there's something for everyone.
To get started:
- Read the contributing guide.
- Read the code of conduct.
- Read the full Responsible AI-Assisted Coding Guide.
- Choose a task from this project's Hacktoberfest issues in our Project Hub and follow the instructions. Each issue has the 🏷️
hacktoberfestlabel.
Have questions? Connecting with us in our Discord community in the #hacktoberfest project channel.
goose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - autonomously.
Whether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.
Designed for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.
Quick Links
a little goose humor 🦢
Why did the developer choose goose as their AI agent?
Because it always helps them "migrate" their code to production! 🚀