diff --git a/src/config/config.ts b/src/config/config.ts index 41ebc2a89..dfb9d87bd 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -47,6 +47,7 @@ export type WarelayConfig = { inbound?: { allowFrom?: string[]; // E.164 numbers allowed to trigger auto-reply (without whatsapp:) samePhoneMarker?: string; // Prefix for same-phone mode messages (default: "[same-phone]") + samePhoneResponsePrefix?: string; // Prefix auto-added to replies in same-phone mode (e.g., "🦞") transcribeAudio?: { // Optional CLI to turn inbound audio into text; templated args, must output transcript to stdout. command: string[]; @@ -141,6 +142,7 @@ const WarelaySchema = z.object({ .object({ allowFrom: z.array(z.string()).optional(), samePhoneMarker: z.string().optional(), + samePhoneResponsePrefix: z.string().optional(), transcribeAudio: z .object({ command: z.array(z.string()), diff --git a/src/web/auto-reply.ts b/src/web/auto-reply.ts index d350d40b8..96428a9f3 100644 --- a/src/web/auto-reply.ts +++ b/src/web/auto-reply.ts @@ -594,6 +594,15 @@ export async function monitorWebProvider( ); return; } + // Apply same-phone response prefix if configured and in same-phone mode + const samePhoneResponsePrefix = cfg.inbound?.samePhoneResponsePrefix; + if (isSamePhoneMode && samePhoneResponsePrefix && replyResult.text) { + // Only add prefix if not already present + if (!replyResult.text.startsWith(samePhoneResponsePrefix)) { + replyResult.text = `${samePhoneResponsePrefix} ${replyResult.text}`; + } + } + try { await deliverWebReply({ replyResult,