twentyhq/twenty · critical · Error
Standard application is missing messageList view ${LIST_VIEW
Error message
Standard application is missing messageList view ${LIST_VIEW_UNIVERSAL_IDENTIFIER} What it means
Thrown by the 2.20 workspace upgrade command that creates the messageList standard view. In resolveViewsToCreate, after confirming the workspace does not yet have the 'allMessageLists' view, the command calls findFlatEntityByUniversalIdentifier against the computed twenty-standard-application flat view maps. If the standard definitions do not contain a FlatView with the universal identifier derived from STANDARD_OBJECTS.messageList.views.allMessageLists, the lookup returns undefined and the command throws. This is a code-level invariant: the command assumes the installed twenty-shared package defines that view.
Source
Thrown at packages/twenty-server/src/database/commands/upgrade-version-command/2-20/2-20-workspace-command-1783525261001-create-message-list-view.command.ts:180
}: {
flatViewMaps: WorkspaceCacheDataMap['flatViewMaps'];
standardAllFlatEntityMaps: TwentyStandardAllFlatEntityMaps;
}): FlatView[] {
if (
isDefined(
flatViewMaps.byUniversalIdentifier[LIST_VIEW_UNIVERSAL_IDENTIFIER],
)
) {
return [];
}
const standardView = findFlatEntityByUniversalIdentifier<FlatView>({
flatEntityMaps: standardAllFlatEntityMaps.flatViewMaps,
universalIdentifier: LIST_VIEW_UNIVERSAL_IDENTIFIER,
});
if (!isDefined(standardView)) {
throw new Error(
`Standard application is missing messageList view ${LIST_VIEW_UNIVERSAL_IDENTIFIER}`,
);
}
return [standardView];
}
}
View on GitHub (pinned to 1f5dd2bbd2)
Solutions
- Verify STANDARD_OBJECTS.messageList.views.allMessageLists.universalIdentifier exists in the installed twenty-shared package (rebuild twenty-shared if stale: npx nx build twenty-shared)
- Ensure twenty-server and twenty-shared are at the same release version in the monorepo
- Run the command with --dryRun first to confirm the standard view resolves without side effects
- If the standard definition was intentionally removed, delete or update this upgrade command to match
Example fix
// before: identifier references a view that no longer exists in standard definitions
const LIST_VIEW_UNIVERSAL_IDENTIFIER =
LIST.views.allMessageLists.universalIdentifier;
// after: guard with an early return if the standard definition is absent
const LIST_VIEW_UNIVERSAL_IDENTIFIER =
LIST.views.allMessageLists?.universalIdentifier;
if (!isDefined(LIST_VIEW_UNIVERSAL_IDENTIFIER)) {
this.logger.warn('messageList allMessageLists view not in standard definitions, skipping');
return;
} Defensive patterns
Strategy: validation
Validate before calling
// Before running the upgrade, verify the standard view exists in the installed definitions
import { STANDARD_OBJECTS } from 'twenty-shared/metadata';
const viewUid = STANDARD_OBJECTS.messageList?.views?.allMessageLists?.universalIdentifier;
if (!viewUid) {
throw new Error('twenty-shared does not define messageList.views.allMessageLists — rebuild twenty-shared or align versions');
} Type guard
import { isDefined } from 'twenty-shared/utils';
const hasStandardView = (uid: string | undefined): uid is string =>
isDefined(uid) && uid.length > 0; Prevention
- Always rebuild twenty-shared before running workspace upgrade commands: npx nx build twenty-shared
- Run upgrade commands with --dryRun first to validate standard-entity lookups without side effects
- Keep twenty-server and twenty-shared at the same git tag / release version in the monorepo
- Add an integration test that asserts every upgrade command's referenced standard identifiers resolve in computeTwentyStandardApplicationAllFlatEntityMaps
When it happens
Trigger: Running 'upgrade:2-20:create-message-list-view' when twenty-shared/metadata STANDARD_OBJECTS.messageList.views.allMessageLists.universalIdentifier does not resolve to a FlatView in computeTwentyStandardApplicationAllFlatEntityMaps. Happens on version skew between twenty-server and twenty-shared, or if the standard messageList object was forked/modified to omit the allMessageLists view.
Common situations: Upgrading a fork where standard objects were customized; running the command against an incompatible twenty-shared build; a regression in standard metadata definitions that removed or renamed the allMessageLists view identifier.
Related errors
- Standard application is missing workflowVersion field coreWo
- Standard application is missing workflow field coreWorkflowI
- Standard application is missing the messageCampaign name fie
- Standard application is missing the messageCampaign name vie
- Standard application is missing the messageCampaign search f
AI-assisted analysis of twentyhq/twenty@1f5dd2bbd2 (2026-08-12).
Data as JSON: /api/errors/09653109d53c78c2.
Report an issue: GitHub.