From cf352114bd91592a17ea437f2bf68874b960a6a0 Mon Sep 17 00:00:00 2001 From: Brian O'Kelley Date: Wed, 7 Jan 2026 05:50:09 -0800 Subject: [PATCH] fix: Addie chat home button now properly shows dashboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Home button in the Addie chat sidebar was clearing the entire messagesContainer innerHTML, which destroyed the addieHomeContainer element that lives inside it. After clearing, trying to show the home content failed silently because the elements no longer existed. Changes: - Add clearChatMessages() helper that selectively removes only .message elements instead of wiping the entire container - Update switchToHome, switchToConversation, and startNewChat to use the new helper - Add proper visibility toggling for addieHomeContainer in addMessage() and createStreamingMessage() to ensure home content hides when chatting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .changeset/addie-home-nav-fix.md | 4 ++++ server/public/chat.html | 24 ++++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 .changeset/addie-home-nav-fix.md diff --git a/.changeset/addie-home-nav-fix.md b/.changeset/addie-home-nav-fix.md new file mode 100644 index 000000000..c9428e1dd --- /dev/null +++ b/.changeset/addie-home-nav-fix.md @@ -0,0 +1,4 @@ +--- +--- + +Fix Addie chat home button navigation - clicking Home now properly shows the dashboard diff --git a/server/public/chat.html b/server/public/chat.html index 2f23864aa..83b0806c1 100644 --- a/server/public/chat.html +++ b/server/public/chat.html @@ -1511,6 +1511,12 @@

Hi! I'm Addie

// === Tab Management Functions === + // Clear only chat messages from the container (preserves static elements like home/welcome) + function clearChatMessages() { + const messages = messagesContainer.querySelectorAll('.message'); + messages.forEach(msg => msg.remove()); + } + // Debounced thread refresh (avoids excessive API calls when sending multiple messages) let loadThreadsTimer = null; function scheduleLoadThreads() { @@ -1681,11 +1687,13 @@

Hi! I'm Addie

renderActiveTabs(); // Show home content - messagesContainer.innerHTML = ''; + clearChatMessages(); if (isAuthenticated) { addieHomeContainer.classList.add('visible'); + welcomeMessage.style.display = 'none'; loadAddieHome(); } else { + addieHomeContainer.classList.remove('visible'); welcomeMessage.style.display = 'block'; } @@ -1767,8 +1775,8 @@

Hi! I'm Addie

// Update active tabs UI renderActiveTabs(); - // Clear current messages - messagesContainer.innerHTML = ''; + // Clear current messages and hide static content + clearChatMessages(); welcomeMessage.style.display = 'none'; addieHomeContainer.classList.remove('visible'); @@ -1822,13 +1830,15 @@

Hi! I'm Addie

currentTabId = 'home'; // New chat starts from home // Clear messages and show home - messagesContainer.innerHTML = ''; + clearChatMessages(); // Show welcome or Addie Home based on auth if (isAuthenticated) { addieHomeContainer.classList.add('visible'); + welcomeMessage.style.display = 'none'; loadAddieHome(); } else { + addieHomeContainer.classList.remove('visible'); welcomeMessage.style.display = 'block'; } @@ -2187,10 +2197,11 @@

Hi! I'm Addie

// Add message to chat function addMessage(content, role, messageId = null) { - // Hide welcome message + // Hide welcome/home content when showing messages if (welcomeMessage) { welcomeMessage.style.display = 'none'; } + addieHomeContainer.classList.remove('visible'); const messageDiv = document.createElement('div'); messageDiv.className = `message message--${role}`; @@ -2363,10 +2374,11 @@

Hi! I'm Addie

// Create a streaming message element that can be updated function createStreamingMessage() { - // Hide welcome message + // Hide welcome/home content when showing messages if (welcomeMessage) { welcomeMessage.style.display = 'none'; } + addieHomeContainer.classList.remove('visible'); const messageDiv = document.createElement('div'); messageDiv.className = 'message message--assistant';