What's changed
Security
- Fix shell injection vulnerability in git branch resolution
Bug fixes
- Fix uptime display freezing between polls
- Fix killed servers briefly reappearing in the list
- Fix onboarding button invisible in dark mode
- Fix onboarding animation not playing on first open
Performance
- Cache git root and branch lookups across refresh cycles
- Reduce poll interval from 3s to 5s
- Add timeout to git branch resolution
- Prevent overlapping refresh cycles
UX
- Onboarding animation plays once per launch (no replay on every dropdown open)
- Clearer empty state messaging