{"record":{"id":"9123ac1b137bf7dd","repo":"remotion-dev/remotion","slug":"expected-sequence-prop-update-result","errorCode":null,"errorMessage":"Expected sequence prop update result","messagePattern":"Expected sequence prop update result","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/studio-server/src/codemods/update-sequence-props/update-sequence-props.ts","lineNumber":86,"sourceCode":"\tschema,\n\tprettierConfigOverride,\n\tvideoConfigValues,\n}: {\n\tinput: string;\n\tnodePath: SequenceNodePath;\n\tupdates: SequencePropUpdate[];\n\tschema: InteractivitySchema;\n\tprettierConfigOverride: PrettierConfigOverride;\n\tvideoConfigValues: VideoConfigValues | null;\n}): Promise<UpdateSequencePropsResult> => {\n\tconst {output, results} = await updateMultipleSequenceProps({\n\t\tinput,\n\t\tchanges: [{nodePath, updates, schema, videoConfigValues}],\n\t\tprettierConfigOverride,\n\t});\n\tconst result = results[0];\n\tif (!result) {\n\t\tthrow new Error('Expected sequence prop update result');\n\t}\n\n\treturn {\n\t\toutput,\n\t\toldValueStrings: result.oldValueStrings,\n\t\tformatted: true,\n\t\tlogLine: result.logLine,\n\t\tremovedProps: result.removedProps,\n\t};\n};\n","sourceCodeStart":68,"sourceCodeEnd":97,"githubUrl":"https://github.com/remotion-dev/remotion/blob/46a3a6bf13ca367376ff18bbb06dae2e87e0d068/packages/studio-server/src/codemods/update-sequence-props/update-sequence-props.ts#L68-L97","documentation":"updateSequenceProps runs a codemod over a file to update Sequence element props and expects the codemod engine to return exactly one result for the single change set it passes ({nodePath, updates, schema, videoConfigValues}). If results[0] is falsy, the codemod engine produced no result despite being given a valid change set, which the library treats as an internal invariant violation rather than a user error.","triggerScenarios":"Calling updateSequenceProps (e.g. from Studio's visual editing / update-sequence-props flow) where the underlying apply-codemod call returns an empty results array for the single change it submitted — typically because the file did not match the codemod's expected AST structure at the given nodePath.","commonSituations":"Editing a Sequence's props through the Studio UI when the source file has been edited externally (AST no longer matches the cached videoConfig snapshot), or when the file uses unusual formatting/constructs the codemod cannot parse into the expected node.","solutions":["Reload/refresh the Studio so the cached videoConfig and file contents are back in sync","Undo external edits to the composition file so the target node matches what Studio expects","Retry the prop update; if it persists, report the bug with the source file snippet"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await updateSequenceProps({...});\n} catch (e) {\n  if (e.message === 'Expected sequence prop update result') {\n    // refresh Studio state and retry once, else surface as bug\n  }\n}","preventionTips":["Avoid editing composition files externally while Studio visual editing is active","Keep the source file formatted so the codemod AST matches expectations","Retry after a Studio reload before filing a bug"],"tags":["studio","codemod","internal-error"],"backgroundTag":"internal-invariant-violation","analyzedSha":"46a3a6bf13ca367376ff18bbb06dae2e87e0d068","analyzedAt":"2026-09-18T00:12:20.256Z","contentChangedAt":"2026-09-18T00:12:20.256Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}