Downloading and updating the desktop app for a fleet

Administrator·3 minutes to read

Explains how the desktop app is packaged, signed and updated today, and why there is no download page yet. The desktop app belongs to the commercial edition and is absent from a framework build.

The artefacts

apps/desktop/electron-builder.yml declares, today: macOS dmg (Apple silicon and Intel) and a universal zip; Windows nsis (x64 and Arm64) installed per-user with a choosable directory; Linux AppImage, deb and rpm (x64 and Arm64). The application id is com.botseon.app and the product name is Botseon. That is the full eleven-artefact matrix.

The signed feed

Builds publish to https://updates.botseon.com/desktop, one directory per track: stable, beta (early builds of the next release) and nightly. A Stable build carries the release's own version; a Beta or Nightly build carries a pre-release of the next one, stamped with its build time (1.4.1-nightly.202610210705), so it sorts above the Stable release it follows and below the one it leads to. Every update is verified against a key baked into the build before anything is installed; a non-stable track still requires a signed update.

The update track

Settings → Updates (Sm-52) carries Update Track with the description Stable is the safe default. Beta gets early builds of the next release, and Nightly the newest builds as they are published. Switching checks for updates right away., a version line, a line naming the track updates follow, a line reading You're up to date when none is pending, and Check for Updates. A track with nothing published yet for a machine's kind of installation says so, and the machine keeps the version it runs. Moving a machine from Beta or Nightly back to Stable never installs an older build: it is offered the next Stable release once that is published.

To publish a Beta or Nightly build, build it with node scripts/build-installers.mjs --track nightly (or --track beta) on each release machine — or dispatch the desktop installers workflow with that track for an unsigned build — and then run node scripts/publish-release.mjs --from <dir> --track nightly. The publisher reads the build's version back from the installers' names and signs the Stable release as the track's floor, so moving a machine onto the track is an offer, never a This version is no longer supported stop.

The bot's computer updates separately

Update your computer keeps the member's files and logins and removes installed packages — it is not a revocation. Recover rebuilds the computer from its last saved snapshot. Reset erases everything on the computer, behind a typed confirmation.

The download page

A public /download page is planned for a later release. Until it exists, hand a fleet the artefact names above and the feed URL directly; the desktop app itself stays part of the commercial edition.

Last verified against build c0f77aa.