@@ -1620,6 +1620,15 @@ export const dispatchTelegramMessage = async ({
|
1620 | 1620 | } |
1621 | 1621 | return { ...payload, replyToId: implicitQuoteReplyTargetId }; |
1622 | 1622 | }; |
| 1623 | +const normalizeDeliveryPayload = (payload: ReplyPayload): ReplyPayload | undefined => { |
| 1624 | +return projectOutboundPayloadPlanForDelivery( |
| 1625 | +createOutboundPayloadPlan([payload], { |
| 1626 | + cfg, |
| 1627 | +sessionKey: ctxPayload.SessionKey, |
| 1628 | +surface: "telegram", |
| 1629 | +}), |
| 1630 | +)[0]; |
| 1631 | +}; |
1623 | 1632 | const usesNativeTelegramQuote = (payload: ReplyPayload): boolean => { |
1624 | 1633 | if (replyQuoteText != null) { |
1625 | 1634 | return true; |
@@ -1961,10 +1970,14 @@ export const dispatchTelegramMessage = async ({
|
1961 | 1970 | return; |
1962 | 1971 | } |
1963 | 1972 | |
| 1973 | +const normalizedPayload = normalizeDeliveryPayload(payload); |
| 1974 | +if (!normalizedPayload) { |
| 1975 | +return; |
| 1976 | +} |
1964 | 1977 | const deduped = |
1965 | 1978 | info.kind === "final" |
1966 | | - ? deduplicateBlockSentMedia(payload, sentBlockMediaUrls) |
1967 | | - : payload; |
| 1979 | + ? deduplicateBlockSentMedia(normalizedPayload, sentBlockMediaUrls) |
| 1980 | + : normalizedPayload; |
1968 | 1981 | if (deduped === undefined) { |
1969 | 1982 | return; |
1970 | 1983 | } |
@@ -1974,7 +1987,7 @@ export const dispatchTelegramMessage = async ({
|
1974 | 1987 | shouldSuppressLocalTelegramExecApprovalPrompt({ |
1975 | 1988 | cfg, |
1976 | 1989 | accountId: route.accountId, |
1977 | | - payload, |
| 1990 | +payload: effectivePayload, |
1978 | 1991 | }) |
1979 | 1992 | ) { |
1980 | 1993 | queuedFinal = true; |
@@ -2196,8 +2209,12 @@ export const dispatchTelegramMessage = async ({
|
2196 | 2209 | } |
2197 | 2210 | } |
2198 | 2211 | const trackBlockMedia = (delivered: boolean) => { |
2199 | | -if (delivered && info.kind === "block" && payload.mediaUrls?.length) { |
2200 | | -for (const url of payload.mediaUrls) { |
| 2212 | +if ( |
| 2213 | +delivered && |
| 2214 | +info.kind === "block" && |
| 2215 | +effectivePayload.mediaUrls?.length |
| 2216 | +) { |
| 2217 | +for (const url of effectivePayload.mediaUrls) { |
2201 | 2218 | sentBlockMediaUrls.add(url); |
2202 | 2219 | } |
2203 | 2220 | } |
|