{"record":{"id":"a958459009e4145f","repo":"toeverything/AFFiNE","slug":"failed-to-create-transcription-block","errorCode":null,"errorMessage":"Failed to create transcription block","messagePattern":"Failed to create transcription block","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/frontend/apps/electron-renderer/src/app/effects/recording.ts","lineNumber":151,"sourceCode":"function ensureTranscriptionBlock(model: AttachmentBlockModel) {\n  for (const key of model.childMap.value.keys()) {\n    const block = model.store.getBlock$(key);\n    if (block?.flavour === TRANSCRIPTION_BLOCK_FLAVOUR) {\n      return block.model as unknown as TranscriptionBlockModel;\n    }\n  }\n\n  const blockId = model.store.addBlock(\n    TRANSCRIPTION_BLOCK_FLAVOUR,\n    { transcription: {} },\n    model.id\n  );\n\n  const block = model.store.getBlock(blockId)?.model as\n    | TranscriptionBlockModel\n    | undefined;\n  if (!block) {\n    throw new Error('Failed to create transcription block');\n  }\n  return block;\n}\n\nasync function createRecordingDoc(\n  frameworkProvider: FrameworkProvider,\n  workspace: WorkspaceHandle['workspace'],\n  status: RecordingImportStatus\n) {\n  if (!status.docId) {\n    throw new Error('Recording import is missing docId');\n  }\n\n  const docsService = workspace.scope.get(DocsService);\n  const aiEnabled = isAiEnabled(frameworkProvider);\n  const { attachmentName, timestamp } = getAttachmentName(status);\n  const targetDocId = status.docId;\n  const docExists = !!docsService.list.doc$(targetDocId).value;","sourceCodeStart":133,"sourceCodeEnd":169,"githubUrl":"https://github.com/toeverything/AFFiNE/blob/b4c8548c09da21b2898443559a5b846f0ccf5dd8/packages/frontend/apps/electron-renderer/src/app/effects/recording.ts#L133-L169","documentation":"ensureTranscriptionBlock searches an attachment block's children for a transcription block and creates one if missing; if addBlock succeeds but the block cannot be retrieved afterwards, it throws this Error — an internal consistency failure.","triggerScenarios":"Thrown at packages/frontend/apps/electron-renderer/src/app/effects/recording.ts:151 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the recording import; block creation can fail on transient doc state.","Verify the recording doc exists and is writable before adding the transcription block.","Check the console for the underlying doc error and resolve it first."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b4c8548c09da21b2898443559a5b846f0ccf5dd8","analyzedAt":"2026-08-18T21:16:52.546Z","contentChangedAt":"2026-08-18T21:16:52.546Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}