diff --git a/desktop/src-tauri/src/lib.rs b/desktop/src-tauri/src/lib.rs index 0ec9173..b2ac78a 100644 --- a/desktop/src-tauri/src/lib.rs +++ b/desktop/src-tauri/src/lib.rs @@ -165,7 +165,7 @@ pub fn run() { std::fs::create_dir_all(&pain_db_dir).expect("Failed to create intelligence dir"); let db_path = pain_db_dir.join("pain.db"); - let db_url = format!("sqlite:{}", db_path.display()); + let db_url = format!("sqlite:{}?mode=rwc", db_path.display()); let pool = rt.block_on(sqlx::SqlitePool::connect(&db_url)) .expect("Failed to connect pain storage SQLite pool"); diff --git a/desktop/src/App.tsx b/desktop/src/App.tsx index 55d251d..f13ef1b 100644 --- a/desktop/src/App.tsx +++ b/desktop/src/App.tsx @@ -28,7 +28,7 @@ import type { Clone } from './store/agentStore'; import { createLogger } from './lib/logger'; import { startOfflineMonitor } from './store/offlineStore'; import { useUIModeStore } from './store/uiModeStore'; -import { SimpleTopBar } from './components/SimpleTopBar'; +import { SimpleSidebar } from './components/SimpleSidebar'; const log = createLogger('App'); @@ -65,6 +65,7 @@ function App() { const loadHands = useHandStore((s) => s.loadHands); const { setCurrentAgent } = useChatStore(); const { isNeeded: onboardingNeeded, isLoading: onboardingLoading, markCompleted } = useOnboarding(); + const uiMode = useUIModeStore((s) => s.mode); // Proposal notifications const { toast } = useToast(); @@ -445,17 +446,30 @@ function App() { ); } - const uiMode = useUIModeStore((s) => s.mode); - - // Simple mode: single-column layout with top bar only + // Simple mode: sidebar + chat + detail drawer (Trae Solo style) if (uiMode === 'simple') { return ( -