github ZenNotes/zennotes v2.28.1
ZenNotes 2.28.1

3 hours ago

ZenNotes 2.28.1: Cloud connects to its real home

One fix, an urgent one: 2.28.0 pointed ZenNotes Cloud at a hostname that stopped resolving the day the service moved, so Connect ended in a Cloudflare error instead of a sign-in page. The desktop app now talks to zennotes.org, and an account connected against the old origin migrates automatically. Installers for macOS, Windows, and Linux (x64 + arm64) are attached below.

🐛 Fixes

  • Connect ZenNotes Cloud reaches zennotes.org. 2.28.0 shipped with the cloud origin hardcoded to the Laravel Cloud staging hostname, and the service moved to zennotes.org on release day, so every Connect click opened a domain that no longer resolves: Cloudflare answered with error 1016 and the sign-in page never loaded (reported by @uNyanda on Discord within hours of the release). Nothing else was wrong; zennotes.org serves the exact same connect and exchange routes the app already speaks.

    The production origin is now zennotes.org, and an account stored against the old origin migrates on first read: the stored base URL is rewritten and the credential re-keyed, deleting the old entry only after the token is safely stored under the new one. The token itself stays valid, it is the same service and the same database. If any migration step fails, the account is left exactly as it was, nothing is stranded.

    How to test locally: on 2.28.0, Settings, Cloud, Connect ZenNotes Cloud opens zennotes.laravel.cloud and Cloudflare shows error 1016. On 2.28.1 the same click lands on the zennotes.org sign-in page, and a previously connected account keeps syncing without reconnecting.

🧰 For contributors

  • The cloud origin lives in one place: PRODUCTION_CLOUD_BASE_URL in apps/desktop/src/main/cloud-auth.ts. Packaged builds pin to it regardless of renderer input; dev builds accept ZENNOTES_CLOUD_BASE_URL or an explicit request. The legacy-origin migration runs inside CloudAuthManager.status(), the single funnel every account read goes through, so sync, the settings panel, and the status bar all see the migrated account on their next read.

Local-first and keyboard-first, as always.

Don't miss a new zennotes release

NewReleases is sending notifications on new releases.