From 12566643619b6c2467de6dedab877476650967ea Mon Sep 17 00:00:00 2001 From: maaz519 Date: Tue, 7 Jul 2026 20:58:10 +0530 Subject: [PATCH] feat(iios): expose senderId (stable externalId) on MessageDto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The app needs a reliable "is this message mine?" signal. senderActorId worked only with a lazily-learned actorId, which Supabase token-refresh wipes. senderId is the sender's externalId (email/username) — always present and comparable to the session user — so message alignment is deterministic. Verified: senderId round-trips = email. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/iios-service/src/messaging/message.service.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/iios-service/src/messaging/message.service.ts b/packages/iios-service/src/messaging/message.service.ts index 0df9d97..954285f 100644 --- a/packages/iios-service/src/messaging/message.service.ts +++ b/packages/iios-service/src/messaging/message.service.ts @@ -20,6 +20,7 @@ export interface MessageDto { id: string; threadId: string; senderActorId: string; + senderId: string; // the sender's stable externalId (email/username) — reliable "is this mine?" senderName: string; content: string; contentRef?: string; @@ -506,6 +507,7 @@ export class MessageService { id: interaction.id, threadId, senderActorId: interaction.actorId ?? '', + senderId: interaction.actor?.sourceHandle?.externalId ?? '', senderName: interaction.actor?.displayName ?? interaction.actor?.sourceHandle?.externalId ?? 'unknown', content: text?.bodyText ?? '', contentRef: file?.contentRef ?? undefined,