Implementation: How should the dual chat panel conflict between gograb-ai Ap...
Documentation for Sessions
⚙️ Implementation: How should the dual chat panel conflict between gograb-ai Ap...
Date: 2026-03-04
Time: 17:02:42 UTC
Session: gspace1-175.4
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
How should the dual chat panel conflict between gograb-ai AppComponent and VittoUnifiedShell be resolved?
Task: Session 175.3: Fix dual chat panel conflict
🎯 Decision Made
Chosen:
Hide the app-level AiPanelTabsComponent on /vitto/* routes where VittoUnifiedShell provides its own chat panel. Added isOnVittoRoute signal tracking NavigationEnd, wrapped panel in @if (!isOnVittoRoute()), zeroed contentPushMargin on vitto routes. Extended hasChatInput() to include all /vitto/ routes for ambient bar hiding.
Options Considered:
- Hide app-level panel on /vitto/* routes
- Remove VittoUnifiedShell chat panel
- Merge both into one panel
- Use z-index to stack them
💭 Reasoning
VittoUnifiedShell has richer context from VittoPageContextRegistry (form state, actions, scoped tools). The app-level AiPanelTabsComponent is correct for non-vitto routes (/observatory, /dashboard). Showing both simultaneously causes double content-push and two overlapping sidebars. Route-based conditional rendering is the simplest fix with zero overhead.
📁 Files Involved
apps/gograb-ai/src/app/app.component.tsapps/gograb-ai/src/app/app.component.html
🔗 Related
- Decision ID:
dev_1772643762847_l0ttzas - Session: 175
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation