- Implement tab persistence to prevent component unmounting when switching tabs - Remove key prop from BaseChat2 to maintain component state across tab switches - Add conditional rendering for all tabs (visible/hidden instead of mount/unmount) - Fix Matrix session ID consistency in TabContext.openMatrixChat - Enhance ChatInput Matrix room detection with TabContext integration - Add isTabActive prop to BaseChat2 for future optimizations - Ensure Matrix connections persist when navigating between tabs - Fix real-time message display in Matrix rooms when switching back to tabs - Resolve notification suppression issues for multichat sessions - Add extensive debugging logs for Matrix room detection and tab state Key fixes: * Matrix tabs no longer 'unmount' when switching away and back * Real-time messages appear correctly in background Matrix tabs * Notification suppression now works correctly with tab context * Session ID format consistency (matrix_!roomId) maintained * useSessionSharing connections persist across tab switches This resolves the core issue where Matrix tabs would lose their state and stop syncing messages after navigating to different tabs.
🎉 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! 🚀