{"record":{"id":"028cfd3f87b1f56b","repo":"windmill-labs/windmill","slug":"missing-trigger-information","errorCode":null,"errorMessage":"Missing trigger information","messagePattern":"Missing trigger information","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"frontend/src/lib/components/DeployWorkspace.svelte","lineNumber":287,"sourceCode":"\t\t\t\t\t\t}\n\t\t\t\t\t\treturn []\n\t\t\t\t\t} else if (typeof obj == 'object' && obj != null) {\n\t\t\t\t\t\treturn Object.values(obj).flatMap((x) => recObj(x))\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn []\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...recObj(res.value),\n\t\t\t\t\t...(res.resource_type == 'ai_agent' ? agentResourceDependencies(res.value) : []),\n\t\t\t\t\t{ kind: 'resource_type' as Kind, path: res.resource_type }\n\t\t\t\t]\n\t\t\t} else if (kind == 'trigger') {\n\t\t\t\tif (additionalInformation?.triggers) {\n\t\t\t\t\treturn getTriggerDependency(additionalInformation.triggers.kind, path, $workspaceStore!)\n\t\t\t\t}\n\t\t\t\tthrow new Error('Missing trigger information')\n\t\t\t} else if (kind == 'script') {\n\t\t\t\tconst imports = await WorkspaceService.getImports({\n\t\t\t\t\tworkspace: $workspaceStore!,\n\t\t\t\t\timporterPath: path\n\t\t\t\t})\n\t\t\t\treturn imports.map((importedPath) => ({ kind: 'script' as Kind, path: importedPath }))\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\t\tlet toProcess = [{ kind, path }]\n\t\tlet processedSet = new Set<string>()\n\t\tlet processed: { kind: Kind; path: string }[] = []\n\t\twhile (toProcess.length > 0) {\n\t\t\tconst { kind, path } = toProcess.pop()!\n\t\t\tconst key = `${kind}:${path}`\n\t\t\tif (processedSet.has(key)) {\n\t\t\t\tcontinue\n\t\t\t}","sourceCodeStart":269,"sourceCodeEnd":305,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/frontend/src/lib/components/DeployWorkspace.svelte#L269-L305","documentation":"In frontend/src/lib/components/DeployWorkspace.svelte:287, rec() computes dependencies of a deploy item. For kind 'trigger' it needs additionalInformation.triggers (populated by the deploy query); when that is absent it throws \"Missing trigger information\" because it cannot resolve the trigger's dependency (path/schedule/etc.).","triggerScenarios":"Deploying a trigger whose dependency data was not loaded into additionalInformation.triggers — e.g. the trigger item came from a stale/partial deployment preview, or the trigger was deleted/changed server-side between listing and deploy.","commonSituations":"Stale deploy view after the trigger was deleted in another tab; partial failed fetch of trigger details; deploying via an item shape that predates the triggers field.","solutions":["Refresh the deployment view so additionalInformation is re-fetched","Verify the trigger still exists in the workspace","Re-select the trigger in the deploy list so its metadata loads","Report if it reproduces on a fresh deploy preview"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (kind === 'trigger' && !additionalInformation?.triggers?.kind) {\n  throw new Error(`Trigger ${path} is missing dependency metadata — refresh the deploy view`);\n}","typeGuard":"function hasTriggerInfo(info: unknown): info is { triggers: { kind: string } } {\n  return !!info && typeof info === 'object' && 'triggers' in info && !!(info as any).triggers?.kind;\n}","tryCatchPattern":"try {\n  deps = await rec(item);\n} catch (e) {\n  if (e.message === 'Missing trigger information') {\n    sendUserToast('Trigger metadata missing — reload the deployment view', true);\n    return;\n  }\n  throw e;\n}","preventionTips":["Refresh the deploy preview before deploying after external changes","Verify the trigger still exists before computing dependencies","Re-fetch item metadata if the deploy view has been open a long time"],"tags":["deployment","triggers","state"],"backgroundTag":"missing-required-metadata","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}