{"record":{"id":"87c1a7a2c3ae82c9","repo":"diegosouzapw/OmniRoute","slug":"checksum-mismatch-for-plugin-name-expected","errorCode":null,"errorMessage":"Checksum mismatch for plugin '${name}': expected ${entry.checksum}, got ${actual}","messagePattern":"Checksum mismatch for plugin '(.+?)': expected (.+?), got (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/plugins/marketplace.ts","lineNumber":237,"sourceCode":"  }\n\n  // Create temp dir for download\n  const tmpDir = await mkdtemp(join(tmpdir(), \"plugin-mp-\"));\n  const tmpFile = join(tmpDir, \"plugin.tar.gz\");\n\n  try {\n    // Download the plugin archive\n    const response = await safeOutboundFetch(entry.downloadUrl, { guard: \"public-only\" });\n    if (!response.ok) {\n      throw new Error(`Failed to download plugin '${name}': ${response.status}`);\n    }\n    const buffer = Buffer.from(await response.arrayBuffer());\n\n    // Verify SHA-256 checksum if provided\n    if (entry.checksum) {\n      const actual = createHash(\"sha256\").update(buffer).digest(\"hex\");\n      if (actual !== entry.checksum) {\n        throw new Error(\n          `Checksum mismatch for plugin '${name}': expected ${entry.checksum}, got ${actual}`\n        );\n      }\n    }\n\n    // Write to temp file\n    await writeFile(tmpFile, buffer);\n\n    // Delegate to pluginManager.install\n    const result = await pluginManager.install(tmpDir);\n    return { name: result.name, version: result.version };\n  } finally {\n    // Cleanup temp dir\n    await rm(tmpDir, { recursive: true, force: true }).catch(() => {});\n  }\n}\n","sourceCodeStart":219,"sourceCodeEnd":254,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/plugins/marketplace.ts#L219-L254","documentation":"Error \"Checksum mismatch for plugin '${name}': expected ${entry.checksum}, got ${actual}\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/plugins/marketplace.ts:237 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":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}