{"record":{"id":"378b37d42f630983","repo":"different-ai/openwork","slug":"recovery-manifest-resolved-to-a-different-version","errorCode":null,"errorMessage":"Recovery manifest resolved to a different version.","messagePattern":"Recovery manifest resolved to a different version\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"apps/desktop/electron/updater.mjs","lineNumber":551,"sourceCode":"      if (openError) return { ok: false, reason: openError };\n      return {\n        ok: true,\n        action: \"installer\",\n        message: \"The verified installer is open. Follow the operating system steps to finish.\",\n      };\n    }\n    const freshArtifact = await resolveRecoveryArtifact(release.version);\n    if (!freshArtifact || freshArtifact.url !== release.artifact.url || freshArtifact.sha512 !== release.artifact.sha512) {\n      return { ok: false, reason: \"This installer could not be verified. Refresh the list and try again.\" };\n    }\n    const currentVersion = resolveAppVersion(app);\n    const updater = await ensureAutoUpdater();\n    if (updater && app.isPackaged) {\n      try {\n        await applyElectronUpdaterFeed(app, updater, release.version, manifestChannel, true);\n        const result = await updater.checkForUpdates();\n        if (compareVersions(result?.updateInfo?.version ?? \"\", release.version) !== 0) {\n          throw new Error(\"Recovery manifest resolved to a different version.\");\n        }\n        if (compareStableVersions(release.version, currentVersion) === null) {\n          throw new Error(\"Installed version could not be validated.\");\n        }\n        updater.autoInstallOnAppQuit = true;\n        await updater.downloadUpdate();\n        updater.quitAndInstall(false, true);\n        return { ok: true, action: \"install\" };\n      } catch (error) {\n        preventPendingUpdaterInstall(updater);\n        return { ok: false, reason: String(error?.message ?? error) };\n      }\n    }\n    if (!electronNet?.fetch || !shell?.openPath) return { ok: false, reason: \"Automatic recovery is unavailable on this package.\" };\n    try {\n      const filePath = await cacheVerifiedRecoveryArtifact({\n        app,\n        artifact: freshArtifact,","sourceCodeStart":533,"sourceCodeEnd":569,"githubUrl":"https://github.com/different-ai/openwork/blob/2b7df46e8ae1517d64c896c7793d2d52ec845669/apps/desktop/electron/updater.mjs#L533-L569","documentation":"Error \"Recovery manifest resolved to a different version.\" thrown in different-ai/openwork.","triggerScenarios":"Thrown at apps/desktop/electron/updater.mjs:551 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2b7df46e8ae1517d64c896c7793d2d52ec845669","analyzedAt":"2026-09-01T07:59:23.713Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}