{"record":{"id":"323fc82328bab3f0","repo":"hoppscotch/hoppscotch","slug":"failed-to-load-hoppscotch-vendored","errorCode":null,"errorMessage":"Failed to load Hoppscotch Vendored","messagePattern":"Failed to load Hoppscotch Vendored","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"critical","filePath":"packages/hoppscotch-desktop/src/composables/useAppInitialization.ts","lineNumber":108,"sourceCode":"\n      // Wait for the store read before forwarding `zoomLevel`, so the\n      // appload Rust-side pre-mount apply gets the persisted value\n      // rather than the schema default on a fast cold-start click.\n      await desktopSettings.ready()\n\n      const loadResp = await load({\n        bundleName: VENDORED_INSTANCE_CONFIG.bundleName!,\n        window: {\n          title: \"Hoppscotch\",\n          zoomLevel: desktopSettings.settings.zoomLevel,\n        },\n      })\n\n      mainDiag(\n        `loadVendoredInstance: load result success=${loadResp.success}, label=${loadResp.windowLabel}`\n      )\n      if (!loadResp.success) {\n        throw new Error(\"Failed to load Hoppscotch Vendored\")\n      }\n\n      console.log(\"Vendored app loaded successfully\")\n      mainDiag(\"loadVendoredInstance: closing main window\")\n      close({ windowLabel: \"main\" })\n    } catch (err) {\n      const errorMessage = err instanceof Error ? err.message : String(err)\n      console.error(\"Error loading vendored app:\", errorMessage)\n      error.value = errorMessage\n\n      await saveConnectionState({\n        status: \"error\",\n        target: \"Vendored\",\n        message: errorMessage,\n      })\n\n      appState.value = AppState.ERROR\n    }","sourceCodeStart":90,"sourceCodeEnd":126,"githubUrl":"https://github.com/hoppscotch/hoppscotch/blob/1acb8a3a7581e4db32ba0d529170c4669a2e1053/packages/hoppscotch-desktop/src/composables/useAppInitialization.ts#L90-L126","documentation":"Thrown by the desktop launcher's `loadVendoredInstance` after the Tauri appload `load()` call returns a result with `success === false`. The vendored bundle is the bundled default Hoppscotch app; this throw signals the Rust-side appload plugin mounted/loaded the bundle but reported failure (the `windowLabel` is logged just before). It is caught immediately and routed into `error.value` plus a connection state of `\"error\"`.","triggerScenarios":"Calling `loadVendoredInstance()` (the default/fallback load path) when `load({ bundleName: VENDORED_INSTANCE_CONFIG.bundleName, window })` resolves with `{ success:false, windowLabel }` — e.g. the vendored bundle is missing, corrupted, fails to mount, or the window creation step rejects inside the appload plugin.","commonSituations":"A broken/incomplete desktop build where the vendored bundle asset is absent, an antivirus/permission issue blocking the embedded resources, a Tauri/appload plugin version mismatch, or window initialization failing on first launch.","solutions":["Reinstall or rebuild the desktop app so the vendored bundle asset ships correctly.","Check the diag log (`io.hoppscotch.desktop.diag.log`) for the `loadVendoredInstance` line showing `windowLabel` and any preceding plugin error.","Verify the Tauri appload plugin is the version the build expects and that window creation permissions are granted.","Run as a clean user profile / temp dir to rule out a corrupted cache, then retry."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// No pre-API; load() is the boundary. Validate inputs first.\nif (!VENDORED_INSTANCE_CONFIG.bundleName) throw new Error(\"vendored bundleName missing\")","typeGuard":"function isLoadSuccess(r: { success: boolean; windowLabel: string }): r is { success: true; windowLabel: string } { return r.success === true }","tryCatchPattern":"try { await loadVendoredInstance() } catch (e) { /* error.value set internally; check diag log */ }","preventionTips":["Ship a verified vendored bundle in every desktop build.","Check io.hoppscotch.desktop.diag.log for the loadVendoredInstance line.","Keep the appload plugin version aligned with the build."],"tags":["desktop","tauri","appload","vendored","initialization"],"backgroundTag":null,"analyzedSha":"1acb8a3a7581e4db32ba0d529170c4669a2e1053","analyzedAt":"2026-08-12T11:34:52.648Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}