{"record":{"id":"1c01f379f32e2759","repo":"remotion-dev/remotion","slug":"could-not-update-sequence-keyframe-settings","errorCode":null,"errorMessage":"Could not update sequence keyframe settings","messagePattern":"Could not update sequence keyframe settings","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/browser-studio/src/browser-studio-operations.ts","lineNumber":1755,"sourceCode":"\t\t\t});\n\t\t\treturn {success: true};\n\t\t},\n\t\tupdateSequenceKeyframeSettings: async (request) => {\n\t\t\tconst result = await commitKeyframeMutations({\n\t\t\t\tlabel: `${request.key} keyframe settings`,\n\t\t\t\tsequenceMutations: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfileName: request.fileName,\n\t\t\t\t\t\tnodePath: request.nodePath,\n\t\t\t\t\t\tschema: request.schema,\n\t\t\t\t\t\tupdates: [{key: request.key, operation: request.settings}],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\teffectMutations: [],\n\t\t\t});\n\t\t\tconst mutation = result.appliedSequenceMutations[0];\n\t\t\tif (!mutation) {\n\t\t\t\tthrow new Error('Could not update sequence keyframe settings');\n\t\t\t}\n\n\t\t\treturn getSequenceKeyframeResponse({mutation, project: result.project});\n\t\t},\n\t\tupdateEffectKeyframeSettings: async (request) => {\n\t\t\tconst result = await commitKeyframeMutations({\n\t\t\t\tlabel: `${request.key} effect keyframe settings`,\n\t\t\t\tsequenceMutations: [],\n\t\t\t\teffectMutations: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfileName: request.fileName,\n\t\t\t\t\t\tsequenceNodePath: request.sequenceNodePath,\n\t\t\t\t\t\teffectIndex: request.effectIndex,\n\t\t\t\t\t\tschema: request.schema,\n\t\t\t\t\t\tupdates: [{key: request.key, operation: request.settings}],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});","sourceCodeStart":1737,"sourceCodeEnd":1773,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/browser-studio/src/browser-studio-operations.ts#L1737-L1773","documentation":"Rejected by updateSequenceKeyframeSettings in @remotion/browser-studio when `result.appliedSequenceMutations[0]` is undefined — the settings-update mutation for an existing sequence keyframe (fileName + nodePath + schema + key) was not applied. It throws rather than returning a result object, so callers see a rejected promise. Typically the keyframe's addressing information no longer matches the project.","triggerScenarios":"Calling `keyframes.updateSequenceKeyframeSettings({fileName, nodePath, schema, key, settings})` after the node or keyframe was removed, after the schema changed, or with a key that has no keyframes on that prop.","commonSituations":"Editing keyframe settings (e.g. interpolation/easing) in a properties panel that holds stale node paths; the user deleted the keyframe in the timeline while the panel was open; component schema changed on reload.","solutions":["Re-read the current node path and schema, confirm the keyframe still exists, then retry","If the keyframe was deleted, close the editor / drop the pending settings change instead of retrying","Wrap in try/catch and re-sync panel state on failure"],"exampleFix":"// before\nawait operations.keyframes.updateSequenceKeyframeSettings({\n  fileName, nodePath: stale, schema: stale, key: 'scale', settings,\n});\n\n// after\ntry {\n  await operations.keyframes.updateSequenceKeyframeSettings({\n    fileName, nodePath: await currentPath(), schema: await currentSchema(),\n    key: 'scale', settings,\n  });\n} catch {\n  await reloadKeyframeEditor();\n}","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await operations.keyframes.updateSequenceKeyframeSettings({fileName, nodePath, schema, key, settings});\n} catch (error) {\n  // keyframe or its addressing is stale; reload editor state\n  await reloadKeyframeEditor();\n}","preventionTips":["Close or disable keyframe settings editors when the underlying keyframe is deleted","Re-verify the keyframe still exists at nodePath/key before saving settings"],"tags":["keyframes","node-path","settings","browser-studio"],"backgroundTag":"invalid-node-path","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-08-22T21:45:17.748Z","contentChangedAt":"2026-08-22T21:45:17.748Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}