{"record":{"id":"69e4fe0c84732b92","repo":"diegosouzapw/OmniRoute","slug":"ngrok-did-not-return-a-public-url","errorCode":null,"errorMessage":"ngrok did not return a public URL.","messagePattern":"ngrok did not return a public URL\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/ngrokTunnel.ts","lineNumber":111,"sourceCode":"      if (!inputAuthToken && process.env.NGROK_AUTHTOKEN) {\n        listenerOptions.authtoken_from_env = true;\n      } else {\n        listenerOptions.authtoken = authToken;\n      }\n\n      const listener = await ngrok.forward(listenerOptions);\n      globalForNgrok.__ngrokListener = listener;\n\n      let url = null;\n      try {\n        url = typeof listener.url === \"function\" ? listener.url() : listener.url;\n      } catch {\n        // Ignored\n      }\n\n      if (!url) {\n        await stopNgrokTunnel();\n        throw new Error(\"ngrok did not return a public URL.\");\n      }\n\n      return await getNgrokTunnelStatus();\n    } catch (error) {\n      return {\n        ...(await getNgrokTunnelStatus()),\n        phase: \"error\",\n        lastError: error instanceof Error ? error.message : String(error),\n      };\n    } finally {\n      startPromise = null;\n    }\n  })();\n\n  return startPromise;\n}\n\nexport async function stopNgrokTunnel(): Promise<NgrokTunnelStatus> {","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/ngrokTunnel.ts#L93-L129","documentation":"Error \"ngrok did not return a public URL.\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/ngrokTunnel.ts:111 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"}