{"record":{"id":"127cc118aa04b452","repo":"twentyhq/twenty","slug":"standard-application-is-missing-messagelist-view-c","errorCode":null,"errorMessage":"Standard application is missing messageList view column ${universalIdentifier}","messagePattern":"Standard application is missing messageList view column (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"critical","filePath":"packages/twenty-server/src/database/commands/upgrade-version-command/2-20/2-20-workspace-command-1783525261001-create-message-list-view.command.ts","lineNumber":100,"sourceCode":"      });\n\n    const viewsToCreate = this.resolveViewsToCreate({\n      flatViewMaps,\n      standardAllFlatEntityMaps,\n    });\n\n    const viewFieldsToCreate = LIST_VIEW_FIELD_UNIVERSAL_IDENTIFIERS.filter(\n      (universalIdentifier) =>\n        !isDefined(flatViewFieldMaps.byUniversalIdentifier[universalIdentifier]),\n    ).map((universalIdentifier) => {\n      const standardViewField =\n        findFlatEntityByUniversalIdentifier<FlatViewField>({\n          flatEntityMaps: standardAllFlatEntityMaps.flatViewFieldMaps,\n          universalIdentifier,\n        });\n\n      if (!isDefined(standardViewField)) {\n        throw new Error(\n          `Standard application is missing messageList view column ${universalIdentifier}`,\n        );\n      }\n\n      return standardViewField;\n    });\n\n    if (viewsToCreate.length === 0 && viewFieldsToCreate.length === 0) {\n      this.logger.log(\n        `messageList view already exists for workspace ${workspaceId}, skipping`,\n      );\n\n      return;\n    }\n\n    if (isDryRun) {\n      this.logger.log(\n        `[DRY RUN] Workspace ${workspaceId}: ${viewsToCreate.length} view(s), ${viewFieldsToCreate.length} view column(s)`,","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/twentyhq/twenty/blob/1f5dd2bbd2a8da3419c8cfd52dd545c0024df1a6/packages/twenty-server/src/database/commands/upgrade-version-command/2-20/2-20-workspace-command-1783525261001-create-message-list-view.command.ts#L82-L118","documentation":"Thrown by the 2.20 create-message-list-view command when a messageList view-column universal identifier is not found in the standard application's flatViewFieldMaps via findFlatEntityByUniversalIdentifier. The command builds viewFieldsToCreate from the standard's view-field definitions; absence means the standard seed does not contain those messageList view columns.","triggerScenarios":"Running the 2.20 upgrade from an image whose standard seed predates or omits the messageList view-column definitions. Cherry-picking the command without its seed update, or loading the wrong standard application.","commonSituations":"Code+seed version mismatch; build excluding the view-seed module; partial deployment.","solutions":["Confirm the standard seed defines the missing messageList view-column universal identifiers (grep the seed source).","Rebuild and redeploy the image with the matching view-column seed.","Verify the standard application loads correctly.","Re-run the upgrade after redeployment."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Preflight: confirm the standard seed defines all messageList view columns.\nconst missing = LIST_VIEW_FIELD_UNIVERSAL_IDENTIFIERS.filter(\n  (id) => !isDefined(standardAllFlatEntityMaps.flatViewFieldMaps.byUniversalIdentifier[id]),\n);\nif (missing.length) {\n  throw new Error(`Image standard seed lacks messageList view columns: ${missing.join(', ')}; rebuild and redeploy.`);\n}","typeGuard":"import { isDefined } from '@twenty/shared';\n\nfunction standardDefinesAllViewFields(\n  maps: { byUniversalIdentifier: Record<string, unknown> },\n  ids: string[],\n): boolean {\n  return ids.every((id) => isDefined(maps.byUniversalIdentifier[id]));\n}","tryCatchPattern":null,"preventionTips":["Build image from a single commit so view-column seed ships with the command.","Preflight all referenced standard view-field identifiers before upgrade.","Never cherry-pick a command without its seed updates."],"tags":["migration","workspace-upgrade","standard-seed","missing-metadata","view-field","message-list"],"backgroundTag":null,"analyzedSha":"1f5dd2bbd2a8da3419c8cfd52dd545c0024df1a6","analyzedAt":"2026-08-12T15:37:27.593Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}