{"record":{"id":"b57d1ad2919cc9e2","repo":"ruvnet/ruflo","slug":"unknown-message-update-during-migration","errorCode":null,"errorMessage":"Unknown message update during migration:","messagePattern":"Unknown message update during migration:","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"ruflo/src/ruvocal/src/lib/migrations/routines/04-update-message-updates.ts","lineNumber":117,"sourceCode":"\t\t\treturn {\n\t\t\t\ttype: MessageUpdateType.Status,\n\t\t\t\tstatus,\n\t\t\t\tmessage: update.message,\n\t\t\t};\n\t\t} else if (update.type === \"error\") {\n\t\t\t// Treat it as an error status update\n\t\t\treturn {\n\t\t\t\ttype: MessageUpdateType.Status,\n\t\t\t\tstatus: MessageUpdateStatus.Error,\n\t\t\t\tmessage: update.message,\n\t\t\t};\n\t\t}\n\n\t\t// Web Search\n\t\telse if (update.type === \"webSearch\") {\n\t\t\treturn null; // Web search updates are no longer supported\n\t\t}\n\t\tconsole.warn(\"Unknown message update during migration:\", update);\n\t\treturn null;\n\t} catch (error) {\n\t\tconsole.error(\"Error converting message update during migration. Skipping it... Error:\", error);\n\t\treturn null;\n\t}\n}\n\nconst updateMessageUpdates: Migration = {\n\t_id: new ObjectId(\"5f9f7f7f7f7f7f7f7f7f7f7f\"),\n\tname: \"Convert message updates to the new schema\",\n\tup: async () => {\n\t\tconst allConversations = collections.conversations.find({});\n\n\t\tlet conversation: WithId<Pick<Conversation, \"messages\">> | null = null;\n\t\twhile ((conversation = await allConversations.tryNext())) {\n\t\t\tconst messages = conversation.messages.map((message) => {\n\t\t\t\t// Convert all of the existing updates to the new schema\n\t\t\t\tconst updates = message.updates","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/ruflo/src/ruvocal/src/lib/migrations/routines/04-update-message-updates.ts#L99-L135","documentation":"Log warning in convertMessageUpdate: the stored message update has an unrecognized type that no migration branch handles, so the update cannot be converted and null is returned to drop it from the migrated conversation.","triggerScenarios":"Thrown at ruflo/src/ruvocal/src/lib/migrations/routines/04-update-message-updates.ts:117 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the unknown message update shape in the log; add a migration handler for that type or clean up the stale rows."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}