Skip to content

Commit 9a3e7d4

Browse files
authored
fix(hooks): pass media metadata to internal message_received hook
Forward canonical inbound media metadata to internal message:received hook consumers, matching the plugin received hook mapper and inbound-claim metadata path. This fixes internal hook handlers losing mediaPath, mediaUrl, mediaType, mediaPaths, mediaUrls, and mediaTypes for received messages with attachments. Verification: - node scripts/run-vitest.mjs src/hooks/message-hook-mappers.test.ts - .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main Refs: #88740 Thanks @SebTardif. Co-authored-by: Sebastien Tardif <[email protected]>
1 parent ce1165a commit 9a3e7d4

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/hooks/message-hook-mappers.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,15 @@ describe("message hook mappers", () => {
305305
expect(internalMetadata?.senderUsername).toBe("userone");
306306
expect(internalMetadata?.senderE164).toBe("+15551234567");
307307
expect(internalMetadata?.topicName).toBe("Deployments");
308+
expect(internalMetadata?.mediaPath).toBe("/tmp/audio.ogg");
309+
expect(internalMetadata?.mediaUrl).toBe("https://cdn.example.com/audio.ogg");
310+
expect(internalMetadata?.mediaType).toBe("audio/ogg");
311+
expect(internalMetadata?.mediaPaths).toEqual(["/tmp/audio.ogg", "/tmp/photo.jpg"]);
312+
expect(internalMetadata?.mediaUrls).toEqual([
313+
"https://cdn.example.com/audio.ogg",
314+
"https://cdn.example.com/photo.jpg",
315+
]);
316+
expect(internalMetadata?.mediaTypes).toEqual(["audio/ogg", "image/jpeg"]);
308317
});
309318

310319
it("passes frozen trace copies to inbound claim and sent plugin hooks", () => {

src/hooks/message-hook-mappers.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,12 @@ export function toInternalMessageReceivedContext(
435435
senderName: canonical.senderName,
436436
senderUsername: canonical.senderUsername,
437437
senderE164: canonical.senderE164,
438+
mediaPath: canonical.mediaPath,
439+
mediaUrl: canonical.mediaUrl,
440+
mediaType: canonical.mediaType,
441+
mediaPaths: canonical.mediaPaths,
442+
mediaUrls: canonical.mediaUrls,
443+
mediaTypes: canonical.mediaTypes,
438444
guildId: canonical.guildId,
439445
channelName: canonical.channelName,
440446
topicName: canonical.topicName,

0 commit comments

Comments
 (0)