Skip to content

ZenNotes 2.43.0: the AUR package finally hears about new versions - #728

Merged
adibhanna merged 2 commits into
mainfrom
v2.43.0
Sep 2, 2026
Merged

ZenNotes 2.43.0: the AUR package finally hears about new versions#728
adibhanna merged 2 commits into
mainfrom
v2.43.0

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

Release branch for 2.43.0. Work accumulates here; main fast-forwards at release time.

Shipped so far

Fix(updater): the AUR package finally hears about new versions (5cc5ccf, reported on Discord by unyanda)

On an AUR or tarball install, Check for Updates never came back: the About page sat on "Checking GitHub releases for updates…" and the launch-time check never noticed a release either. Those installs were handed to the AppImage updater, which refuses to run without an APPIMAGE marker and refuses silently, so the app's "checking" state was never left. A non-system, non-AppImage install is now its own case, "managed": no electron-updater instance, because nothing may write into files a package manager owns. ZenNotes reads the same release feed the real updaters read, compares it with the running version, and says the answer (available with the package-manager hint, up to date, or an error), with the desktop notification and sidebar badge. AppUpdateState gained installable; the renderer hides Download and Install for these installs. Official deb, rpm and pacman packages and the AppImage keep their full updater. Verified live on macOS through two dev-only knobs that force the managed path against a served feed: newer, current, and unreachable all behave.

Verification

  • npm run typecheck clean; desktop suite 694 tests, app-core update-state and component suites green
  • Every managed-path state driven live on the built renderer with isolated stores
  • Pre-tag gate (build:prod, packed app page target, fresh Go tests) runs before the tag, as for 2.42.0

On a copy of ZenNotes installed from the AUR, or unpacked from the
tarball, Check for Updates never came back. The About page showed
"Checking GitHub releases for updates…" and stayed there, and the check
that runs after launch never noticed a release either. unyanda reported
it on Discord ("mine never does"), and it has been true for every AUR
and tarball install since the updater shipped.

Those installs were being handed to the AppImage updater: since 2.40.0
by linuxUpdaterFormat on purpose, before that by electron-updater's own
default. That updater refuses to run without an APPIMAGE marker, and it
refuses silently: checkForUpdates() resolves null with no event. The
app had already set its state to "checking" and only ever left that
state on an event, so it never did.

A non-system, non-AppImage install is now its own case, "managed": no
electron-updater instance at all, because nothing here may write into
files a package manager owns. ZenNotes reads the same release feed the
real updaters read (latest-linux.yml from the newest release, a
two-line parse, a small numeric version compare), compares it with the
running version, and says the answer. A newer version gives "ZenNotes
X is available. This copy is managed by your package manager, so update
it there", with the desktop notification once per version and the
sidebar badge; being current gives "You're already on ZenNotes X"; a
dead network gives the error. The retry policy is the one the real
updaters use. No Download or Install button appears for these installs:
AppUpdateState gained `installable`, and the renderer hides the action
in the About page and the update notice when it is false. Official
deb, rpm and pacman packages and the AppImage keep their full updater.

Two development knobs, gated to unpackaged runs and ZEN_PERF=1, make
the path driveable on any platform: ZENNOTES_UPDATER_FORMAT=managed
and ZENNOTES_UPDATE_FEED_URL for a served feed. That is how every state
was verified live on macOS: a feed above the running version lit the
notice with no button, the sidebar Update badge, and an About page with
Check for Updates and View Release and no Download Update; a current
feed gave "You're already on"; a stopped server gave the error.

How to test locally: on Linux, install from the AUR (or unpack the
tarball), open Settings, About, and press Check for Updates. Before:
"Checking…" forever. After: the answer within a second or two, and the
sidebar badge when a version is out.
@adibhanna
adibhanna merged commit f4e0d5e into main Sep 2, 2026
6 of 7 checks passed
@adibhanna
adibhanna deleted the v2.43.0 branch September 2, 2026 18:39
@adibhanna
adibhanna restored the v2.43.0 branch September 2, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant