openclaw/src/auto-reply/reply
Marcus Castro d91e995e46
fix(inbound): preserve literal backslash-n sequences in Windows paths (#11547)
* fix(inbound): preserve literal backslash-n sequences in Windows paths

The normalizeInboundTextNewlines function was converting literal backslash-n
sequences (\n) to actual newlines, corrupting Windows paths like
C:\Work\nxxx\README.md when sent through WebUI.

This fix removes the .replaceAll("\\n", "\n") operation, preserving
literal backslash-n sequences while still normalizing actual CRLF/CR to LF.

Fixes #7968

* fix(test): set RawBody to Windows path so BodyForAgent fallback chain tests correctly

* fix: tighten Windows path newline regression coverage (#11547) (thanks @mcaxtr)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-13 18:24:01 +01:00
..
exec chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
queue fix(tests): update thread ID handling in Slack message collection tests (#14108) 2026-02-12 00:13:15 -06:00
abort.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
abort.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner-execution.ts fix: preserve off-mode semantics in auto reply threading (#14976) (thanks @Diaspar4u) 2026-02-13 05:22:14 +01:00
agent-runner-helpers.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner-memory.ts fix: guard resolveUserPath against undefined input (#10176) 2026-02-06 13:16:58 -05:00
agent-runner-payloads.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner-utils.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner-utils.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.authprofileid-fallback.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
agent-runner.auto-compaction-updates-total-tokens.test.ts fix: update totalTokens after compaction using last-call usage (#15018) 2026-02-12 18:02:30 -05:00
agent-runner.block-streaming.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.claude-cli.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.resets-corrupted-gemini-sessions-deletes-transcripts.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.retries-after-compaction-failure-by-resetting-session.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-block-replies.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-normal-runs.test.ts test: align NO_REPLY typing expectations 2026-01-21 17:12:50 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.still-replies-even-if-session-reset-fails.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.memory-flush.runreplyagent-memory-flush.increments-compaction-count-flush-compaction-completes.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.memory-flush.runreplyagent-memory-flush.runs-memory-flush-turn-updates-session-metadata.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-cli-providers.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-sandbox-workspace-is-read.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
agent-runner.memory-flush.runreplyagent-memory-flush.uses-configured-prompts-memory-flush-runs.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.messaging-tools.test.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
agent-runner.reasoning-tags.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.response-usage-footer.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agent-runner.transient-http-retry.test.ts (fix): handle Cloudflare 521 and transient 5xx errors gracefully (#13500) 2026-02-11 21:42:33 -06:00
agent-runner.ts fix(agents): stabilize overflow compaction retries and session context accounting (openclaw#14102) thanks @vpesh 2026-02-12 17:53:13 -06:00
audio-tags.ts refactor: consolidate reply/media helpers 2026-01-10 02:41:16 +01:00
bash-command.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
block-reply-coalescer.ts fix: preserve off-mode semantics in auto reply threading (#14976) (thanks @Diaspar4u) 2026-02-13 05:22:14 +01:00
block-reply-pipeline.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
block-streaming.ts fix: flush block streaming on paragraph boundaries for chunkMode=newline (#7014) 2026-02-02 01:22:41 -08:00
body.ts fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
commands-allowlist.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-approve.test.ts test: reset /approve mock per test (#1) (thanks @mitsuhiko) 2026-02-03 16:19:41 -08:00
commands-approve.ts fix(approvals): gate /approve by gateway scopes 2026-02-03 16:18:49 -08:00
commands-bash.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-compact.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
commands-config.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-context-report.ts Security: owner-only tools + command auth hardening (#9202) 2026-02-04 19:49:36 -05:00
commands-context.ts Security: owner-only tools + command auth hardening (#9202) 2026-02-04 19:49:36 -05:00
commands-core.ts Revert "iOS: wire node services and tests" 2026-02-02 17:36:49 +00:00
commands-info.test.ts fix: tighten commands output + telegram pagination (#2504) 2026-01-27 02:43:14 -05:00
commands-info.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-models.ts Telegram: add inline button model selection for /models and /model commands 2026-02-04 09:23:17 +05:30
commands-parsing.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-plugin.ts Gateway/Plugins: device pairing + phone control plugins (#11755) 2026-02-08 18:07:13 +01:00
commands-policy.test.ts Telegram: add inline button model selection for /models and /model commands 2026-02-04 09:23:17 +05:30
commands-ptt.ts fix: resolve check errors in nodes-tool and commands-ptt 2026-02-02 20:05:17 +00:00
commands-session.ts fix: land multi-agent session path fix + regressions (#15103) (#15448) 2026-02-13 14:17:24 +01:00
commands-status.ts fix: land multi-agent session path fix + regressions (#15103) (#15448) 2026-02-13 14:17:24 +01:00
commands-subagents.ts Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
commands-tts.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands-types.ts Security: owner-only tools + command auth hardening (#9202) 2026-02-04 19:49:36 -05:00
commands.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
commands.ts refactor(auto-reply): split reply pipeline 2026-01-14 09:11:16 +00:00
config-commands.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
config-value.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
debug-commands.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
directive-handling.auth.ts feat: add cloudflare ai gateway provider 2026-02-04 04:10:13 -08:00
directive-handling.fast-lane.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
directive-handling.impl.ts Fix: Honor /think off for reasoning-capable models 2026-02-09 16:08:15 -08:00
directive-handling.model-picker.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
directive-handling.model.test.ts test: lock /think off persistence (#9564) 2026-02-09 16:08:15 -08:00
directive-handling.model.ts Telegram: add inline button model selection for /models and /model commands 2026-02-04 09:23:17 +05:30
directive-handling.parse.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
directive-handling.persist.ts Fix: Honor /think off for reasoning-capable models 2026-02-09 16:08:15 -08:00
directive-handling.queue-validation.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
directive-handling.shared.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
directive-handling.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directives.ts refactor: consolidate duplicate utility functions (#12439) 2026-02-08 23:59:43 -08:00
dispatch-from-config.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
dispatch-from-config.ts fix: silence unused hook token url param (#9436) 2026-02-05 18:08:29 -08:00
exec.ts feat: add /exec session overrides 2026-01-18 06:12:54 +00:00
followup-runner.test.ts fix: update totalTokens after compaction using last-call usage (#15018) 2026-02-12 18:02:30 -05:00
followup-runner.ts fix(agents): stabilize overflow compaction retries and session context accounting (openclaw#14102) thanks @vpesh 2026-02-12 17:53:13 -06:00
formatting.test.ts fix(discord): replyToMode first behaviour 2026-02-12 18:50:36 -06:00
get-reply-directives-apply.ts Telegram: add inline button model selection for /models and /model commands 2026-02-04 09:23:17 +05:30
get-reply-directives-utils.ts feat: add /exec session overrides 2026-01-18 06:12:54 +00:00
get-reply-directives.ts fix(agents): honor heartbeat.model override instead of session model (#14181) 2026-02-11 12:46:51 -05:00
get-reply-inline-actions.ts chore: Enable typescript/no-explicit-any rule. 2026-02-02 16:18:09 +09:00
get-reply-run.ts fix(slack): populate thread session with existing thread history (#7610) 2026-02-13 05:51:04 +01:00
get-reply.ts fix(heartbeat): honor heartbeat.model config for heartbeat turns (#14103) 2026-02-11 14:00:40 -05:00
groups.ts fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
history.test.ts test: cover typing and history helpers 2026-01-23 23:34:30 +00:00
history.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
inbound-context.ts fix(slack): populate thread session with existing thread history (#7610) 2026-02-13 05:51:04 +01:00
inbound-dedupe.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
inbound-meta.ts fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
inbound-text.test.ts fix(inbound): preserve literal backslash-n sequences in Windows paths (#11547) 2026-02-13 18:24:01 +01:00
inbound-text.ts fix(inbound): preserve literal backslash-n sequences in Windows paths (#11547) 2026-02-13 18:24:01 +01:00
line-directives.test.ts feat: Add Line plugin (#1630) 2026-01-25 12:22:36 +00:00
line-directives.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
memory-flush.test.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
memory-flush.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
mentions.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
mentions.ts fix: fix: transcribe audio before mention check in groups with requireMention (openclaw#9973) thanks @mcinteerj 2026-02-12 09:58:01 -06:00
model-selection.inherit-parent.test.ts fix(agents): honor heartbeat.model override instead of session model (#14181) 2026-02-11 12:46:51 -05:00
model-selection.override-respected.test.ts fix: respect session model override in agent runtime (#14783) (#14983) 2026-02-12 17:12:15 -05:00
model-selection.ts fix(agents): honor heartbeat.model override instead of session model (#14181) 2026-02-11 12:46:51 -05:00
normalize-reply.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
normalize-reply.ts Agents: scope sanitizeUserFacingText rewrites to errorContext 2026-02-09 19:52:24 -06:00
provider-dispatcher.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
queue.collect-routing.test.ts fix(tests): update thread ID handling in Slack message collection tests (#14108) 2026-02-12 00:13:15 -06:00
queue.ts fix: hard-abort clears queues on /stop 2026-01-16 21:15:25 +00:00
reply-directives.ts refactor: unify inline directives and media fetch 2026-01-10 03:01:04 +01:00
reply-dispatcher.ts fix: comprehensive BlueBubbles and channel cleanup (#11093) 2026-02-07 05:00:55 -08:00
reply-elevated.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
reply-inline.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
reply-payloads.auto-threading.test.ts fix: preserve off-mode semantics in auto reply threading (#14976) (thanks @Diaspar4u) 2026-02-13 05:22:14 +01:00
reply-payloads.ts fix: preserve off-mode semantics in auto reply threading (#14976) (thanks @Diaspar4u) 2026-02-13 05:22:14 +01:00
reply-reference.ts fix: update replyToMode notes (#11062) (thanks @cordx56) 2026-02-12 18:50:36 -06:00
reply-routing.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
reply-tags.ts refactor: unify inline directives and media fetch 2026-01-10 03:01:04 +01:00
reply-threading.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
response-prefix-template.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
response-prefix-template.ts chore: apply local workspace updates (#9911) 2026-02-05 16:54:44 -05:00
route-reply.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
route-reply.ts feat: per-channel responsePrefix override (#9001) 2026-02-04 16:16:34 -05:00
session-reset-model.ts fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
session-resets.test.ts test: stabilize local-timestamp assertion in session resets 2026-02-13 04:58:11 +00:00
session-run-accounting.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
session-updates.incrementcompactioncount.test.ts fix: update totalTokens after compaction using last-call usage (#15018) 2026-02-12 18:02:30 -05:00
session-updates.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
session-usage.test.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
session-usage.ts fix: /status shows incorrect context percentage — totalTokens clamped to contextTokens (#15114) (#15133) 2026-02-12 23:52:19 -05:00
session.test.ts refactor: unify peer kind to ChatType, rename dm to direct (#11881) 2026-02-09 09:20:52 +09:00
session.ts fix: land multi-agent session path fix + regressions (#15103) (#15448) 2026-02-13 14:17:24 +01:00
stage-sandbox-media.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
streaming-directives.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
subagents-utils.test.ts Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
subagents-utils.ts Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
test-ctx.ts style: oxfmt 2026-01-17 10:26:08 +00:00
test-helpers.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
typing-mode.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
typing.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
typing.ts fix: comprehensive BlueBubbles and channel cleanup (#11093) 2026-02-07 05:00:55 -08:00
untrusted-context.ts fix(security): separate untrusted channel metadata from system prompt (thanks @KonstantinMirin) 2026-02-03 23:02:45 -08:00