diff --git a/CHANGELOG.md b/CHANGELOG.md index 5470c07dac8..d41183776ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Docs: https://docs.openclaw.ai ### Fixes - Gateway/pairing: treat loopback shared-secret node-host, TUI, and gateway clients as local for pairing decisions, so trusted local tools no longer reconnect as remote clients and fail with `pairing required`. (#69431) Thanks @SARAMALI15792. +- Active Memory: degrade gracefully when memory recall fails during prompt building, logging a warning and letting the reply continue without memory context instead of failing the whole turn. (#69485) Thanks @Magicray1217. - Telegram/status reactions: honor `messages.removeAckAfterReply` when lifecycle status reactions are enabled, clearing or restoring the reaction after success/error using the configured hold timings. (#68067) Thanks @poiskgit. - Web search/plugins: resolve plugin-scoped SecretRef API keys for bundled Exa, Firecrawl, Gemini, Kimi, Perplexity, Tavily, and Grok web-search providers when they are selected through the shared web-search config. (#68424) Thanks @afurm. - Telegram/polling: raise the default polling watchdog threshold from 90s to 120s and add configurable `channels.telegram.pollingStallThresholdMs` (also per-account) so long-running Telegram work gets more room before polling is treated as stalled. (#57737) Thanks @Vitalcheffe. diff --git a/extensions/active-memory/index.test.ts b/extensions/active-memory/index.test.ts index 15206f02177..e6882f99c2e 100644 --- a/extensions/active-memory/index.test.ts +++ b/extensions/active-memory/index.test.ts @@ -1147,12 +1147,9 @@ describe("active-memory plugin", () => { ).toBe(true); }); - it("returns undefined instead of throwing when an unexpected error escapes the recall path", async () => { - runEmbeddedPiAgent.mockRejectedValueOnce(new Error("network reset")); - hoisted.updateSessionStore.mockRejectedValueOnce(new Error("store unavailable")); - + it("returns undefined instead of throwing when an unexpected error escapes prompt building", async () => { const result = await hooks.before_prompt_build( - { prompt: "what should i eat? escape test", messages: [] }, + { prompt: "what should i eat? escape test", messages: undefined as never }, { agentId: "main", trigger: "user",