Skip to main content

Module updater

Module updater 

Source

Structs§

UpdateInfo
Result of checking the updater endpoint for a newer Entracte build.
UpdatePayload
Subset of tauri_plugin_updater::Update that the result-mapping logic actually consumes. Extracted so the mapping can be unit-tested without a live Tauri runtime.

Constants§

BETA_ENDPOINT
Signed manifest for the beta line, published to a rolling channel-beta release. It cannot use releases/latest: beta releases are marked prerelease (so they never hijack the stable pointer), and releases/latest skips prereleases — pointing the beta channel there would resolve to the stable manifest, which is how #238 broke the update check when every release was a prerelease.
STABLE_ENDPOINT
Signed manifest for the stable line. GitHub’s releases/latest resolves to the newest non-prerelease release, which is what keeps betas out of it.

Functions§

active_channel
The channel the running profile is set to.
build_update_info
Pure mapping from “running version + optional plugin result” to the renderer-facing UpdateInfo. Hardcoded v prefix on the release URL matches the release tagging convention (v0.0.1, v0.1.0, …) documented in CONTRIBUTING.md. Untag-prefixed releases would break the deep-link — change here and in the workflow together if the convention ever shifts.
channel_endpoint
The manifest URL a channel reads from.
channel_endpoint_url
The channel’s manifest URL, parsed into a Url.
check_channel
Channel-aware check, split out so the startup path can reuse it without going through the IPC layer.
check_for_update
Ask tauri-plugin-updater whether a newer build is available.
spawn_startup_check
Opt-in startup auto-check (the auto_check_updates setting). Checks the updater endpoint once in the background and posts a non-intrusive desktop notification if a newer build is available. Silent on no-update and on any error — being offline must never nag — and never blocks startup. Split on cfg(test) (mirrors overlay::spawn_render_watchdog) so the test/coverage build neither spawns a task nor fires a real OS notification; the decision logic lives in the pure, tested update_notification.
update_notification
Title + body for the “update available” desktop notification, or None when there’s nothing to announce (already on the latest build). Pure so the copy and the no-update guard are unit-tested without a live updater or the notification plugin.