mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-11 01:24:31 +00:00
fix(whatsapp): propagate fromMe through inbound message pipeline
The `fromMe` flag from Baileys' WAMessage.key was only used for access-control filtering and then discarded. This meant agents could not distinguish owner-sent messages from contact messages in DM conversations (everything appeared as from the contact). Add `fromMe` to `WebInboundMessage`, store it during message construction, and thread it through `buildInboundLine` → `formatInboundEnvelope` so DM transcripts prefix owner messages with `(self):`. Closes #32061 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
Peter Steinberger
parent
866bd91c65
commit
73e6dc361e
@@ -197,12 +197,18 @@ export function formatInboundEnvelope(params: {
|
||||
sender?: SenderLabelParams;
|
||||
previousTimestamp?: number | Date;
|
||||
envelope?: EnvelopeFormatOptions;
|
||||
fromMe?: boolean;
|
||||
}): string {
|
||||
const chatType = normalizeChatType(params.chatType);
|
||||
const isDirect = !chatType || chatType === "direct";
|
||||
const resolvedSenderRaw = params.senderLabel?.trim() || resolveSenderLabel(params.sender ?? {});
|
||||
const resolvedSender = resolvedSenderRaw ? sanitizeEnvelopeHeaderPart(resolvedSenderRaw) : "";
|
||||
const body = !isDirect && resolvedSender ? `${resolvedSender}: ${params.body}` : params.body;
|
||||
const body =
|
||||
isDirect && params.fromMe
|
||||
? `(self): ${params.body}`
|
||||
: !isDirect && resolvedSender
|
||||
? `${resolvedSender}: ${params.body}`
|
||||
: params.body;
|
||||
return formatAgentEnvelope({
|
||||
channel: params.channel,
|
||||
from: params.from,
|
||||
|
||||
Reference in New Issue
Block a user