fix(adapters): restructure sendPayload media loop to avoid uninitialized lastResult

This commit is contained in:
David Friedland 2026-02-28 16:27:13 -08:00 committed by Peter Steinberger
parent d06ee86292
commit ebe54e6903
6 changed files with 44 additions and 20 deletions

View File

@ -309,15 +309,19 @@ export const zaloPlugin: ChannelPlugin<ResolvedZaloAccount> = {
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await zaloPlugin.outbound!.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await zaloPlugin.outbound!.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}
return lastResult!;
return lastResult;
}
return zaloPlugin.outbound!.sendText!({ ...ctx });
},

View File

@ -525,15 +525,19 @@ export const zalouserPlugin: ChannelPlugin<ResolvedZalouserAccount> = {
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await zalouserPlugin.outbound!.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await zalouserPlugin.outbound!.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}
return lastResult!;
return lastResult;
}
return zalouserPlugin.outbound!.sendText!({ ...ctx });
},

View File

@ -98,11 +98,15 @@ export function createDirectTextMediaOutbound<
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await outbound.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await outbound.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}

View File

@ -87,11 +87,15 @@ export const discordOutbound: ChannelOutboundAdapter = {
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await discordOutbound.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await discordOutbound.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}

View File

@ -100,11 +100,15 @@ export const slackOutbound: ChannelOutboundAdapter = {
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await slackOutbound.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await slackOutbound.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}

View File

@ -19,11 +19,15 @@ export const whatsappOutbound: ChannelOutboundAdapter = {
? [ctx.payload.mediaUrl]
: [];
if (urls.length > 0) {
let lastResult;
for (let i = 0; i < urls.length; i++) {
let lastResult = await whatsappOutbound.sendMedia!({
...ctx,
text: ctx.payload.text ?? "",
mediaUrl: urls[0],
});
for (let i = 1; i < urls.length; i++) {
lastResult = await whatsappOutbound.sendMedia!({
...ctx,
text: i === 0 ? (ctx.payload.text ?? "") : "",
text: "",
mediaUrl: urls[i],
});
}