CortenDesk 1.7.0
New
- Notifications. Fleet and security events through a self-hosted Apprise API — Slack, Telegram, Discord, ntfy and the rest. Covers pending approvals, device offline and recovered, failed sign-ins, security alarms and repeated connection failures. Per-event switches, cooldowns, optional scoping to chosen devices or groups. Endpoint and credentials are encrypted and never shown again after saving. Settings → Notifications. (#22)
- Fleet diagnostics. A status page for the console, database, ID and relay reachability, WebSocket readiness, scheduler and SMTP, plus fleet counts and client version spread. Exports sanitized JSON with hosts, IPs, keys and device identities stripped, so it can be pasted into a bug report.
- First-run guide. Prompts on an empty install and confirms setup once a device actually checks in.
Fixed
- OIDC sign-in with Microsoft Entra ID. Entra omits
algfrom its signing keys, which is valid, and verification rejected the token. The algorithm now comes from what the provider advertises, and anything outside that list is refused. (#36) - Copy buttons over plain HTTP.
navigator.clipboardonly exists in a secure context, so on an HTTP install every copy button silently did nothing — invite links, API tokens, 2FA secrets, recovery codes and the client setup values.
Thanks
@AJV20 for the notifications, diagnostics and first-run work (#30, #31, #32). @Clyx for diagnosing the Entra failure (#36).
Upgrading
Two migrations. Nothing to reconfigure.
docker pull marcpope/cortendesk:1.7.0
docker pull ghcr.io/marcpope/cortendesk:1.7.0