v1.2.1
What's new
Windows login-automation fixes
- Chrome detection:
find_chrome()only searched PATH names likegoogle-chrome— a Linux/Mac convention Windows Chrome installs never register under — so it silently fell back to Edge even when Chrome was installed. Now also checks the standard Windows "App Paths" registry key (the same mechanism Windows itself uses to resolvechrome.exe), so it finds Chrome regardless of install location. - QR code not rendering: the login window was launched too narrow (460px, then 600px — both confirmed too small live), which put the login page below a responsive breakpoint that swaps the real QR image for a plain text backup code. Widened to 900x850.
- Diagnostics: added a standalone diagnostic tool (
diagnose.py, built via a new manually-triggeredDiagnosticActions workflow) that reports Chrome/Edge resolution details, orphaned browser processes, profile lock state, and runs a live bounded login-flow test — all in one plain-text report, no cookies/secrets included.
macOS (untested — no Mac available to verify against)
- Added a Spotlight (
mdfind) lookup for Chrome by bundle identifier, so it's found regardless of install location instead of only checking the common/Applicationspath. - Desktop notifications (separate from the ntfy phone push) previously only worked on Linux via
notify-sendand silently did nothing on macOS; now falls back toosascriptthere.
These two macOS changes are marked unverified in the code and CLAUDE.md — worst case they behave exactly as before (existing fallback path / silent no-op).