stablyai/orca · error
diagnostic upload endpoint is not configured for this build
Error message
diagnostic upload endpoint is not configured for this build
What it means
Thrown by the `diagnostics:deleteBundle` IPC handler when `resolveDiagnosticTokenEndpoint()` returns null. Deleting an already-uploaded bundle by ticket ID requires the same token endpoint as uploading, so the resolver failure is identical in cause to 1103: an official build missing the CI-substituted `ORCA_DIAGNOSTICS_TOKEN_URL`, or a dev build missing both the env var and the build constant.
Source
Thrown at src/main/ipc/diagnostics.ts:304
throw new Error('could not open review file')
}
const pending = pendingBundles.get(bundleSubmissionId as string)
if (pending) {
pending.previewOpened = true
}
})
ipcMain.handle('diagnostics:discardBundlePreview', (_event, bundleSubmissionId: unknown) => {
discardPendingBundle(bundleSubmissionId)
})
ipcMain.handle('diagnostics:deleteBundle', async (_event, ticketId: unknown): Promise<void> => {
if (!isTicketId(ticketId)) {
throw new Error('ticketId has invalid format')
}
const tokenEndpoint = resolveDiagnosticTokenEndpoint()
if (!tokenEndpoint) {
throw new Error('diagnostic upload endpoint is not configured for this build')
}
await deleteDiagnosticBundle({ tokenEndpoint, ticketId })
})
}
View on GitHub (pinned to 1136503c6a)
Solutions
- Set `ORCA_DIAGNOSTICS_TOKEN_URL` for dev builds before launching.
- Fix the release CI to inject the token URL constant for official builds.
- Gate the delete-by-ticket UI on endpoint availability so the action is not offered when it cannot succeed.
Example fix
// before
await ipcRenderer.invoke('diagnostics:deleteBundle', ticketId)
// after
// only show 'Delete uploaded bundle' when the build can reach the endpoint
if (endpointConfigured) {
await ipcRenderer.invoke('diagnostics:deleteBundle', ticketId)
} else {
showNotice('Bundle deletion needs a configured diagnostics endpoint for this build.')
} Defensive patterns
Strategy: validation
Validate before calling
// Gate the delete-by-ticket UI on endpoint availability, same as upload.
if (!buildHasDiagnosticEndpoint()) {
showNotice('Bundle deletion requires a configured diagnostics endpoint.')
return
}
await ipcRenderer.invoke('diagnostics:deleteBundle', ticketId) Type guard
function isTicketId(v: unknown): v is string {
return typeof v === 'string' && /^[A-Za-z0-9_-]{1,128}$/.test(v)
} Try / catch
try {
await ipcRenderer.invoke('diagnostics:deleteBundle', ticketId)
} catch (e) {
if (e instanceof Error && e.message === 'diagnostic upload endpoint is not configured for this build') {
showBuildConfigNotice()
return
}
throw e
} Prevention
- Configure ORCA_DIAGNOSTICS_TOKEN_URL for dev builds that need deletion.
- Ensure release CI substitutes the token URL so GDPR-style deletion works in shipped builds.
- Only show 'Delete uploaded bundle' when the endpoint is reachable for the current build.
When it happens
Trigger: Invoking `ipcRenderer.invoke('diagnostics:deleteBundle', ticketId)` (after `isTicketId(ticketId)` passes) on a build where `resolveDiagnosticTokenEndpoint()` is null.
Common situations: Dev build without `ORCA_DIAGNOSTICS_TOKEN_URL`; official build whose CI skipped token-URL substitution; attempting to delete a bundle from a build that never could have uploaded it.
Related errors
- sending diagnostics is not configured for this build
- Invalid ${name}: expected a finite number, got ${JSON.string
- Unknown ORCA_FREEZE_SCENARIO=${scenario}. Expected one of: $
- Missing helper process record path
- Gitea request failed: HTTP ${response.status}
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/51c1c9d281c14213.
Report an issue: GitHub.