fix: let active memory recall failures degrade (#69485) (thanks @Magicray1217)

This commit is contained in:
Peter Steinberger
2026-04-21 02:41:44 +01:00
parent 3f90d92667
commit cbdd6a4cbb
2 changed files with 3 additions and 5 deletions

View File

@@ -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.

View File

@@ -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",