You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reliable profile switching: Service is stopped before backing up state, fixing the root cause of profile corruption (logout was wiping credentials before backup ran)
Backup integrity: ControlURL in live state is verified to match the current profile before overwriting its backup
Versioned backups: Last 3 backups kept per profile (.v1, .v2, .v3), rotated on each switch
Restore integrity: Each backup version's ControlURL is verified before restoring; corrupted or mismatched versions skipped automatically
Registry sync on startup: ControlURL in registry kept in sync with actual Tailscale state
Handles already-stopped service: No longer errors if Tailscale service is already stopped when switching
Config saved to correct location: %ProgramData%\Ganoid\profiles.json instead of the LocalSystem roaming profile
Full debug logging: Every action logged at debug level — enable with set-log-level.cmd debug
Dashboard: Favicon, title, and working SPA routing (direct navigation and page refresh work on all routes)
Tray: Rebuilt on Win32 directly, proper checkmark alignment