mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-15 10:20:44 +00:00
fix(matrix): consume implicit reply once in payload media fanout
This commit is contained in:
committed by
Peter Steinberger
parent
31a9eda81f
commit
4a3abb78eb
@@ -2,6 +2,7 @@ import {
|
||||
renderMessagePresentationFallbackText,
|
||||
type MessagePresentation,
|
||||
} from "openclaw/plugin-sdk/interactive-runtime";
|
||||
import { createReplyToFanout } from "openclaw/plugin-sdk/outbound-runtime";
|
||||
import { resolvePayloadMediaUrls } from "openclaw/plugin-sdk/reply-payload";
|
||||
import type { ReplyPayload } from "openclaw/plugin-sdk/reply-runtime";
|
||||
import { sendMessageMatrix, sendPollMatrix } from "./matrix/send.js";
|
||||
@@ -90,6 +91,8 @@ export const matrixOutbound: ChannelOutboundAdapter = {
|
||||
mediaAccess,
|
||||
deps,
|
||||
replyToId,
|
||||
replyToIdSource,
|
||||
replyToMode,
|
||||
threadId,
|
||||
accountId,
|
||||
audioAsVoice,
|
||||
@@ -99,6 +102,11 @@ export const matrixOutbound: ChannelOutboundAdapter = {
|
||||
const resolvedThreadId =
|
||||
threadId !== undefined && threadId !== null ? String(threadId) : undefined;
|
||||
const resolvedReplyToId = replyToId ?? undefined;
|
||||
const resolveReplyToId = createReplyToFanout({
|
||||
replyToId: resolvedReplyToId,
|
||||
replyToIdSource,
|
||||
replyToMode,
|
||||
});
|
||||
const urls = resolvePayloadMediaUrls(payload);
|
||||
if (urls.length > 0) {
|
||||
let lastResult: Awaited<ReturnType<typeof send>> | undefined;
|
||||
@@ -110,7 +118,7 @@ export const matrixOutbound: ChannelOutboundAdapter = {
|
||||
mediaAccess,
|
||||
mediaLocalRoots,
|
||||
mediaReadFile,
|
||||
replyToId: resolvedReplyToId,
|
||||
replyToId: resolveReplyToId(),
|
||||
threadId: resolvedThreadId,
|
||||
accountId: accountId ?? undefined,
|
||||
audioAsVoice: payload.audioAsVoice ?? audioAsVoice,
|
||||
@@ -129,7 +137,7 @@ export const matrixOutbound: ChannelOutboundAdapter = {
|
||||
mediaAccess,
|
||||
mediaLocalRoots,
|
||||
mediaReadFile,
|
||||
replyToId: resolvedReplyToId,
|
||||
replyToId: resolveReplyToId(),
|
||||
threadId: resolvedThreadId,
|
||||
accountId: accountId ?? undefined,
|
||||
audioAsVoice: payload.audioAsVoice ?? audioAsVoice,
|
||||
|
||||
Reference in New Issue
Block a user