From d8622dfd54abf2080c0ccb0a940a9a96339339e5 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Apr 2026 06:35:08 +0000 Subject: [PATCH] fix: replace MetadataEvent double cast with proper EventStreamMetadataEvent type The broadcaster produces a simpler shape than the workspace-migration MetadataEvent discriminated union, and includes updatedCollectionHash which MetadataEvent lacks. Define EventStreamMetadataEvent to match what the broadcaster actually produces, removing the as unknown as cast. https://claude.ai/code/session_01EcJHCeJy44AKw2rafgQcnu --- .../types/event-stream-payload.type.ts | 16 ++++++++++++++-- .../workspace-event-broadcaster.service.ts | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/twenty-server/src/engine/subscriptions/types/event-stream-payload.type.ts b/packages/twenty-server/src/engine/subscriptions/types/event-stream-payload.type.ts index b748dfadc92..f08a1eba4fb 100644 --- a/packages/twenty-server/src/engine/subscriptions/types/event-stream-payload.type.ts +++ b/packages/twenty-server/src/engine/subscriptions/types/event-stream-payload.type.ts @@ -1,10 +1,22 @@ import { type ObjectRecordSubscriptionEvent } from 'src/engine/subscriptions/types/object-record-subscription-event.type'; -import { type MetadataEvent } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/metadata-event'; + +export type EventStreamMetadataEvent = { + metadataName: string; + type: 'created' | 'updated' | 'deleted'; + recordId: string; + properties: { + updatedFields?: string[]; + before?: Record; + after?: Record; + diff?: Record; + }; + updatedCollectionHash?: string; +}; export type EventStreamPayload = { objectRecordEventsWithQueryIds: { queryIds: string[]; objectRecordEvent: ObjectRecordSubscriptionEvent; }[]; - metadataEvents: MetadataEvent[]; + metadataEvents: EventStreamMetadataEvent[]; }; diff --git a/packages/twenty-server/src/engine/subscriptions/workspace-event-broadcaster/workspace-event-broadcaster.service.ts b/packages/twenty-server/src/engine/subscriptions/workspace-event-broadcaster/workspace-event-broadcaster.service.ts index 4a5d4de9afe..119a512fed6 100644 --- a/packages/twenty-server/src/engine/subscriptions/workspace-event-broadcaster/workspace-event-broadcaster.service.ts +++ b/packages/twenty-server/src/engine/subscriptions/workspace-event-broadcaster/workspace-event-broadcaster.service.ts @@ -49,7 +49,7 @@ export class WorkspaceEventBroadcaster { recordId: event.recordId, properties: event.properties, updatedCollectionHash, - })) as unknown as EventStreamPayload['metadataEvents'], + })), }; for (const [streamChannelId, streamData] of streamsData) {