- Updated Nginx config to serve static SPA from web-client-new/dist/
- All API requests now proxy directly to Tracker (port 8100)
- WebSocket connections go directly to Tracker with JWT auth
- Stopped and disabled team-board-bff and team-board-web services
- Fixed file permissions for nginx to serve static files
- Migration complete: Next.js+BFF → Vite+React+Direct-Tracker
- New web-client-new/ directory with Vite + React + TypeScript + Tailwind CSS 4
- Ported auth-client, api, and ws libraries with Vite env vars (VITE_*)
- Created main pages: LoginPage, ProjectPage, CreateProjectPage, SettingsPage, AgentsPage
- WebSocket client now uses JWT token in query parameter for direct Tracker auth
- All components use react-router-dom instead of Next.js navigation
- Builds successfully with dist/ output
- Create 'bff' bridge member with token='tb-tracker-dev-token'
- Fixes BFF WebSocket authentication issue
- BFF now connects to Tracker with proper member in DB