fix(msteams): use sendActivity for typing indicator

Merges #1810
This commit is contained in:
Shakker Nerd
2026-01-27 02:02:37 +00:00

View File

@@ -42,7 +42,7 @@ export function createMSTeamsReplyDispatcher(params: {
}) { }) {
const core = getMSTeamsRuntime(); const core = getMSTeamsRuntime();
const sendTypingIndicator = async () => { const sendTypingIndicator = async () => {
await params.context.sendActivities([{ type: "typing" }]); await params.context.sendActivity({ type: "typing" });
}; };
const typingCallbacks = createTypingCallbacks({ const typingCallbacks = createTypingCallbacks({
start: sendTypingIndicator, start: sendTypingIndicator,
@@ -70,38 +70,38 @@ export function createMSTeamsReplyDispatcher(params: {
const tableMode = core.channel.text.resolveMarkdownTableMode({ const tableMode = core.channel.text.resolveMarkdownTableMode({
cfg: params.cfg, cfg: params.cfg,
channel: "msteams", channel: "msteams",
}); });
const messages = renderReplyPayloadsToMessages([payload], { const messages = renderReplyPayloadsToMessages([payload], {
textChunkLimit: params.textLimit, textChunkLimit: params.textLimit,
chunkText: true, chunkText: true,
mediaMode: "split", mediaMode: "split",
tableMode, tableMode,
chunkMode, chunkMode,
}); });
const mediaMaxBytes = resolveChannelMediaMaxBytes({ const mediaMaxBytes = resolveChannelMediaMaxBytes({
cfg: params.cfg, cfg: params.cfg,
resolveChannelLimitMb: ({ cfg }) => cfg.channels?.msteams?.mediaMaxMb, resolveChannelLimitMb: ({ cfg }) => cfg.channels?.msteams?.mediaMaxMb,
}); });
const ids = await sendMSTeamsMessages({ const ids = await sendMSTeamsMessages({
replyStyle: params.replyStyle, replyStyle: params.replyStyle,
adapter: params.adapter, adapter: params.adapter,
appId: params.appId, appId: params.appId,
conversationRef: params.conversationRef, conversationRef: params.conversationRef,
context: params.context, context: params.context,
messages, messages,
// Enable default retry/backoff for throttling/transient failures. // Enable default retry/backoff for throttling/transient failures.
retry: {}, retry: {},
onRetry: (event) => { onRetry: (event) => {
params.log.debug("retrying send", { params.log.debug("retrying send", {
replyStyle: params.replyStyle, replyStyle: params.replyStyle,
...event, ...event,
}); });
}, },
tokenProvider: params.tokenProvider, tokenProvider: params.tokenProvider,
sharePointSiteId: params.sharePointSiteId, sharePointSiteId: params.sharePointSiteId,
mediaMaxBytes, mediaMaxBytes,
}); });
if (ids.length > 0) params.onSentMessageIds?.(ids); if (ids.length > 0) params.onSentMessageIds?.(ids);
}, },
onError: (err, info) => { onError: (err, info) => {
const errMsg = formatUnknownError(err); const errMsg = formatUnknownError(err);