The server-generated PDF had a placeholder for the Secret Key that was
never filled in client-side, making the Emergency Kit useless. Users
who relied on it could not recover their Secret Key on new devices.
Now generates the PDF entirely client-side via browser print dialog,
with the real Secret Key embedded. No server round-trip, key never
leaves the browser.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a user logs in from a browser with an outdated Secret Key in
IndexedDB (e.g. after server rebuild/re-enrollment), the SRP handshake
fails with 401 but the Secret Key input field was never shown — leaving
the user stuck with no way to enter their current key.
Now detects stale-key 401s and prompts for manual Secret Key entry.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The FleetTable empty state navigated with ?add=true but the devices page
never read that param. Now it opens the AddDeviceForm when add=true is
in the search params.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CurrentUser object uses user_id attribute, not id. Caused AttributeError
on PUT /api/settings/smtp.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When use_tls=false, the old logic set start_tls=true for any port != 25,
which broke plain SMTP servers like Mailpit. Now:
- Port 465: implicit TLS
- use_tls=true on other ports: STARTTLS
- use_tls=false: plain SMTP (no TLS)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Absolute paths (/Volumes/ssd01/mikrotik/docker-data/) are machine-specific
and won't work on any other system. Use ./docker-data/ so the repo works
wherever it's cloned.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- POSTGRES_PASSWORD and DB URLs now match what docker-compose.override.yml
and init-postgres.sql actually use (postgres/postgres, app_password)
- CREDENTIAL_ENCRYPTION_KEY is now valid base64 (32 bytes) so the API
actually starts instead of crashing on the Pydantic validator
- JWT_SECRET_KEY is a dev-only value (insecure defaults check skips dev)
- Added quick-start comment block with login credentials
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add GitHub link to nav bar on both index and docs pages
- Add git clone + cd commands to Quick Start terminal block
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 1200x630 og-image.png with rug rosette branding
- Add og:image and twitter:image to docs.html
- Upgrade docs.html twitter:card from summary to summary_large_image
- Add og:locale to docs.html
- Add footer with nav links to docs.html
- Add GitHub repo link to both page footers
- Update sitemap.xml lastmod to 2026-03-09
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>