openclaw/src
Jealous a3eed2b70f
fix(agents): avoid injecting memory file twice on case-insensitive mounts (#26054)
* fix(agents): avoid injecting memory file twice on case-insensitive mounts

On case-insensitive file systems mounted into Docker from macOS, both
MEMORY.md and memory.md pass fs.access() even when they are the same
underlying file. The previous dedup via fs.realpath() failed in this
scenario because realpath does not normalise case through the Docker
mount layer, so both paths were treated as distinct entries and the
same content was injected into the bootstrap context twice, wasting
tokens.

Fix by replacing the collect-then-dedup approach with an early-exit:
try MEMORY.md first; fall back to memory.md only when MEMORY.md is
absent. This makes the function return at most one entry regardless
of filesystem case-sensitivity.

* docs: clarify singular memory bootstrap fallback

* fix: note memory bootstrap fallback docs and changelog (#26054) (thanks @Lanfei)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-13 14:39:51 +05:30
..
acp fix(acp): preserve final assistant message snapshot before end_turn (#44597) 2026-03-12 20:23:57 -07:00
agents fix(agents): avoid injecting memory file twice on case-insensitive mounts (#26054) 2026-03-13 14:39:51 +05:30
auto-reply feat: show status reaction during context compaction (#35474) 2026-03-12 21:06:15 -07:00
browser fix(browser): restore proxy attachment media size cap (#43684) 2026-03-12 01:04:31 -04:00
canvas-host
channels feat: show status reaction during context compaction (#35474) 2026-03-12 21:06:15 -07:00
cli CLI: align xhigh thinking help text (#44819) 2026-03-13 16:37:11 +08:00
commands Updated default model from openai-codex/gpt-5.3-codex to openai-codex/gpt-5.4 in tests. (#44367) 2026-03-13 00:13:54 -07:00
compat
config fix: address delivery dedupe review follow-ups (#44666) 2026-03-13 16:18:01 +08:00
context-engine feat(context-engine): plumb sessionKey into all ContextEngine methods (#44157) 2026-03-12 12:43:36 -07:00
cron fix: address delivery dedupe review follow-ups (#44666) 2026-03-13 16:18:01 +08:00
daemon test: fix windows startup fallback mock typing 2026-03-13 05:00:55 +00:00
discord fix: handle Discord gateway metadata fetch failures (#44397) 2026-03-12 21:52:17 -07:00
docs
gateway fix: address delivery dedupe review follow-ups (#44666) 2026-03-13 16:18:01 +08:00
hooks test: stabilize hooks loader log assertion on Windows 2026-03-13 02:17:00 +00:00
i18n
imessage fix(imessage): dedupe reflected self-chat duplicates (#38440) 2026-03-12 02:27:35 -04:00
infra fix: address delivery dedupe review follow-ups (#44666) 2026-03-13 16:18:01 +08:00
line Hardening: require LINE webhook signatures (#44090) 2026-03-12 10:50:36 -04:00
link-understanding
logging Logging: harden probe suppression for observations (#41338) 2026-03-10 01:40:15 +03:00
markdown
media fix(telegram): thread media transport policy into SSRF (#44639) 2026-03-13 10:11:43 +05:30
media-understanding fix: add gemini 3.1 flash-lite support 2026-03-08 05:12:48 +00:00
memory test(qmd): make windows cli fixtures explicit 2026-03-13 03:37:41 +00:00
node-host fix(node-host): fail closed on ruby approval preload flags 2026-03-12 23:23:54 +00:00
pairing refactor: clarify pairing setup auth labels 2026-03-12 22:46:28 +00:00
plugin-sdk fix(feishu): fail closed on webhook signature checks 2026-03-13 03:13:56 +00:00
plugins fix(plugins): normalize bundled provider ids 2026-03-13 04:10:06 +00:00
process fix(runtime): duplicate messages, share singleton state across bundled chunks (#43683) 2026-03-12 14:59:27 -04:00
providers build: update app deps except carbon 2026-03-09 06:09:33 +00:00
routing refactor(routing): centralize inbound last-route policy 2026-03-08 02:16:03 +00:00
scripts
secrets Security: require Feishu webhook encrypt key (#44087) 2026-03-12 11:01:00 -04:00
security feat(zalouser): audit mutable group allowlists 2026-03-13 01:44:42 +00:00
sessions Gateway: harden custom session-store discovery (#44176) 2026-03-12 16:44:46 +00:00
shared feat(context-engine): plumb sessionKey into all ContextEngine methods (#44157) 2026-03-12 12:43:36 -07:00
signal fix(signal): forward all inbound attachments from #39212 (thanks @joeykrug) 2026-03-07 23:35:55 +00:00
slack fix(routing): require ids for slack and msteams allowlists 2026-03-13 01:44:42 +00:00
telegram fix(telegram): thread media transport policy into SSRF (#44639) 2026-03-13 10:11:43 +05:30
terminal fix(terminal): sanitize skills JSON and fallback on legacy Windows (#43520) 2026-03-11 19:53:07 -04:00
test-helpers
test-utils refactor(security): simplify system.run approval model 2026-03-11 01:43:06 +00:00
tts feat: add sessions_yield tool for cooperative turn-ending (#36537) 2026-03-12 08:46:47 -07:00
tui test: resolve rebase conflicts in gateway coverage 2026-03-13 01:38:19 +00:00
types
utils fix(exec): honor shell comments in allow-always analysis 2026-03-07 23:31:25 +00:00
web fix(whatsapp): trim leading whitespace in direct outbound sends (#43539) 2026-03-12 11:32:04 +11:00
whatsapp
wizard fix: avoid ineffective dynamic imports 2026-03-13 01:33:37 +00:00
channel-web.ts
docker-build-cache.test.ts Docker: improve build cache reuse (#40351) 2026-03-08 17:57:46 -07:00
docker-image-digests.test.ts fix(ci): pin multi-arch docker base digests 2026-03-08 02:55:15 +00:00
docker-setup.e2e.test.ts Docker: trim runtime image payload (#40307) 2026-03-08 16:07:04 -07:00
dockerfile.test.ts build: default to Node 24 and keep Node 22 compat 2026-03-12 20:07:44 +05:30
entry.ts Exec: mark child command env with OPENCLAW_CLI (#41411) 2026-03-09 19:14:08 -04:00
entry.version-fast-path.test.ts CLI: include commit hash in --version output (#39712) 2026-03-08 19:10:48 +03:00
extensionAPI.ts
globals.ts
index.ts
install-sh-version.test.ts chore: bump version to 2026.3.10 2026-03-11 23:29:53 +00:00
logger.test.ts
logger.ts
logging.ts
poll-params.test.ts
poll-params.ts
polls.test.ts
polls.ts
runtime.ts
utils.test.ts test(utils): await temp dir cleanup in async tests 2026-03-13 04:38:46 +00:00
utils.ts Plugins: fix env-aware root resolution and caching (#44046) 2026-03-12 15:31:31 +00:00
version.test.ts
version.ts