fix(auto-reply): preserve parsed media fallback

This commit is contained in:
Peter Steinberger
2026-07-13 05:42:04 +01:00
parent c4e82aceea
commit f06ec98c90
2 changed files with 13 additions and 1 deletions

View File

@@ -311,6 +311,18 @@ describe("createBlockReplyDeliveryHandler", () => {
expect(normalized.payload.mediaUrls).toEqual(["./report.pdf"]);
});
it("keeps parsed media when an explicit media list is empty", () => {
const normalized = normalizeReplyPayloadDirectives({
payload: { text: "MEDIA: ./report.pdf", mediaUrls: [] },
trimLeadingWhitespace: true,
parseMode: "auto",
});
expect(normalized.payload.text).toBeUndefined();
expect(normalized.payload.mediaUrl).toBe("./report.pdf");
expect(normalized.payload.mediaUrls).toEqual([]);
});
it("leaves media-looking text alone when media directive parsing is disabled", () => {
const normalized = normalizeReplyPayloadDirectives({
payload: { text: "Result\nMEDIA: ./image.png" },

View File

@@ -49,7 +49,7 @@ export function normalizeReplyPayloadDirectives(params: {
}
const mediaUrls = params.payload.mediaUrls ?? parsed?.mediaUrls;
const mediaUrl = params.payload.mediaUrl ?? mediaUrls?.[0];
const mediaUrl = params.payload.mediaUrl ?? parsed?.mediaUrls?.[0] ?? mediaUrls?.[0];
const channelData = mergeReactionDirectiveChannelData(
params.payload.channelData,