{"record":{"id":"cc19e4788a04e261","repo":"diegosouzapw/OmniRoute","slug":"provider-connection-no-longer-exists","errorCode":null,"errorMessage":"Provider connection no longer exists","messagePattern":"Provider connection no longer exists","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/lib/vncSession/service.ts","lineNumber":293,"sourceCode":"    const harvest = await harvestFromContainer(\n      session.cdpPort,\n      provider,\n      VNC_CONFIG.harvestTimeoutMs\n    );\n    session.lastHarvestAt = Date.now();\n    if (!harvest.hasCredential) {\n      return {\n        harvested: false,\n        sessionId,\n        connectionId,\n        providerId: session.providerId,\n        updatedFields: [],\n        validation: null,\n      };\n    }\n\n    const connection = await getProviderConnectionById(connectionId);\n    if (!connection) throw new Error(\"Provider connection no longer exists\");\n    if (connection.provider !== session.providerId) {\n      throw new Error(\"Provider connection changed while browser login was active\");\n    }\n\n    const { providerSpecificData, apiKey } = harvestToCredentials(harvest, provider);\n    const existingData =\n      connection.providerSpecificData &&\n      typeof connection.providerSpecificData === \"object\" &&\n      !Array.isArray(connection.providerSpecificData)\n        ? connection.providerSpecificData\n        : {};\n    const mergedData = { ...existingData, ...providerSpecificData };\n\n    await updateProviderConnection(connectionId, {\n      providerSpecificData: mergedData,\n      ...(apiKey ? { apiKey } : {}),\n    });\n","sourceCodeStart":275,"sourceCodeEnd":311,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/vncSession/service.ts#L275-L311","documentation":"Post-harvest consistency check in harvestSession: credentials were successfully read from the browser, but re-fetching the provider connection by id returned nothing. Means the connection was deleted while the user was logging in inside the VNC browser — there is nowhere to persist the harvested credentials, so the harvest result is discarded with this error.","triggerScenarios":"Thrown at src/lib/vncSession/service.ts:293 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Recreate the provider connection and redo browser login","Guard the UI against deleting connections with active browser-login sessions","Treat as a user-facing 'connection removed' error, not a harvest failure"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}