qishibo/AnotherRedisDesktopManager · warning

this.$t('message.mac_not_support_auto_update')

Error message

this.$t('message.mac_not_support_auto_update')

What it means

The electron-updater autoUpdater emitted an error whose text contains both 'zip' and 'file'. On macOS, auto-update works by downloading a signed ZIP artifact and swapping the app bundle; when the running build is unsigned, or the published artifacts do not contain the expected signed zip (or the process cannot use it), the updater rejects with messages mentioning the zip file. The app detects this shape and tells macOS users auto-update is unsupported — update manually.

Source

Thrown at src/components/UpdateCheck.vue:89

          title: this.$t('message.update_not_available'),
          duration: 2000,
        });
      });

      ipcRenderer.on('update-error', (event, arg) => {
        this.resetDownloadProcess();

        let message = '';
        const error = (arg.code ? arg.code : arg.message).toLowerCase();

        // auto update check at app init
        if (!this.manual || !error) {
          return;
        }

        // mac not support auto update
        if (error.includes('zip') && error.includes('file')) {
          message = this.$t('message.mac_not_support_auto_update');
        }

        // err_internet_disconnected err_name_not_resolved err_connection_refused
        else {
          message = `${this.$t('message.update_error')}: ${error}`;
        }

        this.$notify.error({
          message,
          duration: 0,
          dangerouslyUseHTMLString: true,
        });
      });

      ipcRenderer.on('download-progress', (event, arg) => {
        if (!this.downloadProcessShow) {
          const h = this.$createElement;

View on GitHub (pinned to c149855106)

Solutions

  1. If you are a user: download the new release manually from the project releases page and replace the app
  2. If you publish the app: build the mac target with electron-builder (dmg + zip) and sign it (CSC_NAME / SIGNING_IDENTITY plus notarization credentials)
  3. Verify latest-mac.yml, the zip, and its blockmap are uploaded next to the release
  4. Suppress the auto-update path on macOS builds known to be unsigned instead of surfacing the raw error

Example fix

// before
if (error.includes('zip') && error.includes('file')) {
  message = this.$t('message.mac_not_support_auto_update');
}

// after (publisher side: produce a signed zip so auto-update works)
// package.json build config
{
  mac: { target: ['dmg', 'zip'], identity: 'Developer ID Application: NAME (TEAMID)' }
}
// CI env: CSC_NAME, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD for notarization
Defensive patterns

Strategy: fallback

Prevention

When it happens

Trigger: Running an unsigned macOS build (zip/dmg without Developer ID signing) and triggering an update check; latest-mac.yml pointing at artifacts without a usable signed zip; CI publish missing the signing identity so the zip cannot be verified.

Common situations: Self-built electron apps without SIGNING_IDENTITY, macOS builds distributed outside the App Store without notarization, incomplete electron-builder publish artifacts (zip or blockmap missing).

Related errors


AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22). Data as JSON: /api/errors/9e7cfbcb722eea0f. Report an issue: GitHub.