Implementation: How should the chat panel work across gograb-ai routes — sho...

Documentation for Sessions

⚙️ Implementation: How should the chat panel work across gograb-ai routes — sho...

Date: 2026-03-04
Time: 17:11:40 UTC
Session: gspace1-175.7
Agent: angular
Confidence: 97%
Status: ✅ Documented


📋 Decision Context

Question:

How should the chat panel work across gograb-ai routes — should the shell have its own panel or delegate to the app-level AiPanelTabsComponent?

Task: Session 175: Fix chat panel to use correct AiPanelTabsComponent everywhere


🎯 Decision Made

Chosen:

Removed the inferior chat panel from VittoUnifiedShellComponent entirely. The app-level AiPanelTabsComponent (with resize, Observatory tab, full plugin set) is now the ONLY chat panel across ALL routes. Shell's Chat button and Cmd+Shift+V shortcut now call AIPanelStateService.toggle(). Reverted previous isOnVittoRoute logic that was hiding the correct panel.

Options Considered:

  1. Remove shell panel, delegate to app-level AiPanelTabsComponent
  2. Keep shell panel but add resize and Observatory
  3. Have both panels with mutual exclusion logic

💭 Reasoning

The previous approach (hiding app-level panel on /vitto/* routes, showing shell's inferior panel) was wrong. The app-level AiPanelTabsComponent has resize via UxResizeHandleComponent, Observatory tab, full plugin set, and proper AIPanelStateService integration. The shell's embedded UnifiedChatShellComponent was a bare-bones duplicate without these features. Single source of truth: one panel, one service, one state.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation