- Add graceful shutdown handler to properly close QB sessions on server stop
- Enhance /quickbooks/logout endpoint with detailed logging and error handling
- Style logout button as 'danger' action with clear QB connection closing label
- Improve logout feedback with timestamps and error messaging
- Update user to aewing in .env for QB authentication
- Created Mode2Svelte as a copy of Mode1Svelte
- Updated branding (title, description) to distinguish from Mode1Svelte
- Added Mode2Svelte support to orchestrator
- Configured orchestrator to spawn Mode2Svelte with Node.js adapter
- Set Mode2Svelte as active mode in activeMode.txt
- Built production bundle for Mode2Svelte
- Both Mode1Svelte and Mode2Svelte now managed by orchestrator on port 3005
- Orchestrator controls which mode runs via activeMode.txt configuration
- Migrated from Bun/Hono to modern SvelteKit tech stack
- Implemented complete authentication module (Azure MSAL + PocketBase)
- Created 5 API endpoints for auth operations (config, graph token, validate, refresh, compare)
- Built interactive Svelte dashboard with mobile optimization (iPhone 16)
- Added Node.js adapter (@sveltejs/adapter-node) for production deployment
- Integrated Tailwind CSS with responsive design
- Fixed orchestrator to spawn Mode1Svelte with Node.js on port 3005
- Updated systemd service (job-info-test.service) to start orchestrator on port 3006
- Port configuration locked: 3005 = Mode1Svelte, 3006 = Orchestrator
- Full TypeScript type safety throughout application
- Services auto-managed by orchestrator with systemd integration
- Changed title to Mode1Svelte throughout frontend
- Added mode indicator in bottom left with pulsing green dot
- All tests passing and dashboard working
- Created Mode1Svelte as complete standalone project
- Identical to Mode1 currently (Hono backend + Vite frontend)
- Separate auth-module copy (no dependencies on Mode1)
- Updated orchestrator to default to Mode1Svelte
- Both Mode1 and Mode1Svelte are independent and interchangeable via ModeSwitch
- Ready for gradual Svelte/SvelteKit migration while maintaining API compatibility
- Created Mode1 as self-contained test environment
- Added auth-module copy with self-contained configuration
- Implemented backend server with Graph token and PocketBase validation endpoints
- Added frontend test dashboard with token comparison functionality
- Fixed TypeScript compatibility issues (replaced import.meta.dir with __dirname)
- Implemented actual PB token validation in comparison endpoint (no placeholders)
- All endpoints tested and working with real tokens
- Removed duplicate Links section above notes
- Updated file icons to use SVG badges (w-3 h-3) - PDF red, Word blue, image icons
- Reduced notes viewing area height to 120px with vertical scroll
- Voice search: Clear text when all highlighted and mic clicked
- Voice search: Replace 'new' with 'latest' in dictations
- Voice search: Remove trailing 'job' from dictations
- Voice search: Auto-open Manager Info when exactly 1 result found