From acae5462aa94ad70f121762047955a274a215f01 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 11 Jan 2026 16:01:55 -0500 Subject: [PATCH 1/2] gitignore update + chronicle notification + lock update --- .gitignore | 1 + .../frontend/src/components/layout/Layout.tsx | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b3fed8a6..9515aa00 100644 --- a/.gitignore +++ b/.gitignore @@ -178,3 +178,4 @@ tests/ # Compose overrides compose/speaker-compose.yaml +config/tailscale-serve.json diff --git a/ushadow/frontend/src/components/layout/Layout.tsx b/ushadow/frontend/src/components/layout/Layout.tsx index cf15d15c..383d0d21 100644 --- a/ushadow/frontend/src/components/layout/Layout.tsx +++ b/ushadow/frontend/src/components/layout/Layout.tsx @@ -1,6 +1,6 @@ import { Link, useLocation, Outlet } from 'react-router-dom' import React, { useState, useRef, useEffect } from 'react' -import { Layers, MessageSquare, Plug, Bot, Workflow, Server, Settings, LogOut, Sun, Moon, Users, Search, Bell, User, ChevronDown, Brain, Home } from 'lucide-react' +import { Layers, MessageSquare, Plug, Bot, Workflow, Server, Settings, LogOut, Sun, Moon, Users, Search, Bell, User, ChevronDown, Brain, Home, AlertTriangle } from 'lucide-react' import { LayoutDashboard, Network, Flag, FlaskConical, Cloud, Mic, MicOff, Loader2, Sparkles } from 'lucide-react' import { useAuth } from '../../contexts/AuthContext' import { useTheme } from '../../contexts/ThemeContext' @@ -25,7 +25,7 @@ export default function Layout() { const { isDark, toggleTheme } = useTheme() const { isEnabled, flags } = useFeatureFlags() const { getSetupLabel } = useWizard() - const { isConnected: isChronicleConnected, recording } = useChronicle() + const { isConnected: isChronicleConnected, isCheckingConnection: isChronicleChecking, connectionError: chronicleError, recording } = useChronicle() const [userMenuOpen, setUserMenuOpen] = useState(false) const [searchQuery, setSearchQuery] = useState('') const [featureFlagsDrawerOpen, setFeatureFlagsDrawerOpen] = useState(false) @@ -174,6 +174,21 @@ export default function Layout() { {/* Header Actions */}
+ {/* Chronicle Service Status Warning - show when not connected */} + {!isChronicleChecking && !isChronicleConnected && ( + + + + Chronicle Down + + + )} + {/* Chronicle Record Button - only show when connected */} {isChronicleConnected && (