- Wrap root layout with ThemeProvider (next-themes, defaultTheme=system)
- Remove hardcoded dark class from <html>
- Add ThemeToggle component with Sun/Moon/Monitor icons and checkmark
on active selection
- Mount toggle in dashboard header next to user menu
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- WebSocket relay service (FastAPI) bridges agents and viewers
- Python agent with screen capture (mss), input control (pynput),
script execution, and auto-reconnect
- Windows service wrapper, PyInstaller spec, NSIS installer for
silent mass deployment (RemoteLink-Setup.exe /S /SERVER= /ENROLL=)
- Enrollment token system: admin generates tokens, agents self-register
- Real WebSocket viewer replaces simulated canvas
- Linux agent binary served from /downloads/remotelink-agent-linux
- DB migration 0002: viewer_token on sessions, enrollment_tokens table
- Sign-up pages cleaned up (invite-only redirect)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>