ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
758 stars 142 forks source link

desktop-macos: auto updater fails to restart the application #1974

Open hellais opened 2 years ago

hellais commented 2 years ago

I was on OONI Probe 3.5.2 and once the auto updater downloaded the latest version (3.6.1) and tried to apply the update, it fails to restart with the following error:

[2022-01-17 13:19:35.406] [info]  New version 3.6.1 has been downloaded to /Users/art/Library/Application Support/Cache
s/ooniprobe-desktop-updater/pending/OONI-Probe-3.6.1-mac.zip
[2022-01-17 13:19:35.428] [info]  Update downloaded. Quitting and installing.
[2022-01-17 13:19:35.431] [warn]  Error: The command is disabled and cannot be executed
    at Server.<anonymous> (/Users/art/code/ooni/probe-desktop/dist/mac/OONI Probe.app/Contents/Resources/app.asar/node_
modules/electron-updater/out/MacUpdater.js:185:34)
    at Object.onceWrapper (events.js:312:28)
    at Server.emit (events.js:223:5)
    at Server.EventEmitter.emit (domain.js:475:20)
    at emitListeningNT (net.js:1340:10)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[2022-01-17 13:19:35.432] [error] Error: Error: The command is disabled and cannot be executed
    at Server.<anonymous> (/Users/art/code/ooni/probe-desktop/dist/mac/OONI Probe.app/Contents/Resources/app.asar/node_
modules/electron-updater/out/MacUpdater.js:185:34)
    at Object.onceWrapper (events.js:312:28)
    at Server.emit (events.js:223:5)
    at Server.EventEmitter.emit (domain.js:475:20)
    at emitListeningNT (net.js:1340:10)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[2022-01-17 13:19:35.432] [info]  Unable to check for updates. Please visit https://ooni.org/ to get the latest version.

When I manually restart the application, I can see that the update has in fact been applied.

This problem seems to be related to a bug with electron-builder: https://github.com/electron-userland/electron-builder/issues/5935 which was fixed starting from 22.11.10, while we are still on 22.7.0.

I think what we should do is upgrade to the latest version of electron-builder.

ttomaszewski commented 2 years ago

We're on 22.13.1 and still having this issue, but maybe itll work for you.

sarathms commented 2 years ago

Still on electron-builder@22.7.0, the auto update seem to have gone without this issue for 3 consecutive times from 3.7.0-rc.1 to 3.7.0-rc.2 to 3.7.0-rc.3 and now to 3.7.0-rc.4.

These are logs from when I launched 3.7.0-rc.3 and got updated to 3.7.0-rc.4.

[2022-03-07 11:07:06.311] [info]  Initializing OONI Probe in production mode.
[2022-03-07 11:07:06.335] [info]  Initializing Sentry in main...
[2022-03-07 11:07:06.397] [info]  Initialized store in /Users/sarath/Library/Application Support/OONI Probe/settings.json.
[2022-03-07 11:07:10.026] [info]  Checking for update
[2022-03-07 11:07:10.027] [info]  Checking for update
[2022-03-07 11:07:10.166] [info]  Initializing Sentry in main...
[2022-03-07 11:07:10.490] [info]  Informed consent found in config file.
[2022-03-07 11:07:11.516] [info]  Found version 3.7.0-rc.4 (url: OONI-Probe-3.7.0-rc.4-mac.zip, OONI-Probe-3.7.0-rc.4.dmg)
[2022-03-07 11:07:11.517] [info]  A new update is available. Downloading now...
[2022-03-07 11:07:11.527] [info]  Downloading update from OONI-Probe-3.7.0-rc.4-mac.zip, OONI-Probe-3.7.0-rc.4.dmg
[2022-03-07 11:07:11.621] [info]  Checked for macOS Rosetta environment (isRosetta=true)
[2022-03-07 11:07:11.710] [info]  Checked 'uname -a': arm64=true
[2022-03-07 11:07:11.734] [info]  Cached update sha512 checksum doesn't match the latest available update. New update must be downloaded. Cached: uwgqyJaFBkmw9NqVpz7b6ocTuQiQrMjux7uaw6xxtLWZNW9qfJiyGFuFtt4bY7CeM6oTwsV39ho7fl9tFl6Szw==, expected: Sim8z/tJ51hZfjgeM9LLe0BGsGAOdV1V6kM0JzU0HBk48m4b5onmwiSWRQOhu2t6SelYLxlBUOSCp+yB1xQP3g==. Directory for cached update will be cleaned
[2022-03-07 11:07:12.077] [info]  running "ooniprobe list"
[2022-03-07 11:07:13.011] [info]  Update download progress: 44.8120804057586
[2022-03-07 11:07:14.010] [info]  Update download progress: 83.04823495572717
[2022-03-07 11:07:14.397] [info]  Update download progress: 100
[2022-03-07 11:07:14.407] [info]  New version 3.7.0-rc.4 has been downloaded to /Users/sarath/Library/Application Support/Caches/ooniprobe-desktop-updater/pending/OONI-Probe-3.7.0-rc.4-mac.zip
[2022-03-07 11:07:14.430] [info]  Update downloaded. Quitting and installing.
[2022-03-07 11:07:14.471] [info]  / requested
[2022-03-07 11:07:14.485] [info]  /17f652280ea-5e9.zip requested
[2022-03-07 11:07:14.486] [info]  /17f652280ea-5e9.zip requested by Squirrel.Mac, pipe /Users/sarath/Library/Application Support/Caches/ooniprobe-desktop-updater/pending/OONI-Probe-3.7.0-rc.4-mac.zip
[2022-03-07 11:07:29.074] [info]  Initializing OONI Probe in production mode.
[2022-03-07 11:07:29.092] [info]  Initializing Sentry in main...
[2022-03-07 11:07:29.153] [info]  Initialized store in /Users/sarath/Library/Application Support/OONI Probe/settings.json.
[2022-03-07 11:07:32.235] [info]  Checking for update
[2022-03-07 11:07:32.237] [info]  Checking for update
[2022-03-07 11:07:32.623] [info]  Initializing Sentry in main...
[2022-03-07 11:07:32.704] [info]  Informed consent found in config file.
[2022-03-07 11:07:33.550] [info]  Update for version 3.7.0-rc.4 is not available (latest version: 3.7.0-rc.4, downgrade is disallowed).
[2022-03-07 11:07:33.552] [info]  You are up to date
[2022-03-07 11:07:33.552] [info]  No updates available
[2022-03-07 11:07:34.051] [info]  running "ooniprobe list"

But maybe we should leave this open for some more time to see if we see this issue after the upcoming public release of 3.7.0.