Skip to content

Update the desktop app in the background on Windows and Linux - #1160

Open
Ale Paredes (ale7714) wants to merge 3 commits into
mainfrom
feat/electron-auto-update
Open

Ale Paredes (ale7714) wants to merge 3 commits into
mainfrom
feat/electron-auto-update

Conversation

@ale7714

@ale7714 Ale Paredes (ale7714) commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

The desktop app has no updater, so 3.0.2's MPTCP fix for CVE-2026-98432 reaches only people who reinstall. This adds electron-updater for the Windows installer build, the Linux AppImage, and the .deb, whose update runs dpkg behind an administrator password prompt. macOS stays off until the app has a Developer ID signature (APP-18424), since Squirrel.Mac rejects updates to an ad-hoc signed app. The portable exe cannot replace itself.

Installs from 3.0.2 or earlier have no updater, so the first automatic update ships with the release after this one.

Without the createRequire banner, the bundled updater throws Dynamic require of "fs" as main.mjs loads; a Node smoke bundle reproduced that and passed with the banner. electron-builder 26.15.3 writes latest*.yml even with --publish never (PublishManager queues update info whatever the publish policy), and I ran scripts/name-release-bundles.mjs against fake Windows, Linux and macOS outputs. No real install has gone through an update yet. On Windows, will-quit stops draw-server before the NSIS installer runs, but I have not seen whether the installer ever meets a locked draw-server.exe.

VIAM_VISUALIZER_NO_AUTO_UPDATE turns updates off, for a CLI-managed copy once rdk#6646 lands.

🤖 Generated with Claude Code

The desktop app had no updater, so a fix such as 3.0.2's MPTCP change reached only users who reinstalled. electron-updater installs the Windows NSIS build and the Linux AppImage on quit, while macOS waits on the Developer ID signature that Squirrel.Mac requires. The main-process bundle gains a createRequire banner because the bundled CommonJS updater otherwise throws `Dynamic require of "fs"` at startup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c3bd8e2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@viamrobotics/visualization Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.2

QR code for preview link

🚀 View preview at
https://viamrobotics.github.io/visualization/pr-preview/pr-1160/

Built to branch gh-pages at 2026-11-02 18:29 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Ale Paredes (ale7714) and others added 2 commits November 2, 2026 13:22
The inline node step grew past 40 lines with the electron-updater metadata rewrite. As a script it gets prettier and eslint, and it fails on an unset PLATFORM or ARCH instead of naming bundles after "undefined".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The .deb is the more downloaded Linux bundle, and no apt repository serves it, so its users otherwise update only by hand. electron-updater's DebUpdater installs it with dpkg behind an administrator password prompt, keyed off the package-type file electron-builder writes into the package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@viam-overwatch

viam-overwatch Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Hey Ale Paredes (@ale7714) — CI is green and no reviewer is assigned yet. Could you request one when you have a chance?

Auto-comment from overwatch. Will not re-nudge for 7 days.

This branch has not been deployed

No deployments
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