Peter Steinberger
a30f9c8673
fix(sandbox): fallback docker user to workspace owner uid/gid
...
Co-authored-by: LucasAIBuilder <LucasAIBuilder@users.noreply.github.com >
2026-02-22 23:33:15 +01:00
Peter Steinberger
394a1af70f
fix(exec): apply per-agent exec defaults for opaque session keys
...
Co-authored-by: brin-tapcart <brin-tapcart@users.noreply.github.com >
2026-02-22 23:33:14 +01:00
Peter Steinberger
1d8968c8a8
fix(voice-call): harden media stream pre-start websocket handling
2026-02-22 23:25:32 +01:00
Vignesh Natarajan
1ad9f9af5a
fix(memory): resolve qmd Windows shim commands
2026-02-22 14:24:49 -08:00
mudrii
3645420a33
perf: skip cache-busting for bundled hooks, use mtime for workspace hooks (openclaw#16960) thanks @mudrii
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: mudrii <220262+mudrii@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-22 16:14:51 -06:00
Peter Steinberger
fe58839ed1
docs(changelog): thank ghsa reporter for exec fix
2026-02-22 23:04:29 +01:00
Peter Steinberger
498138e77e
docs(changelog): record avatar security hardening
2026-02-22 23:04:23 +01:00
Peter Steinberger
9a6a4131ba
docs(changelog): note shell-wrapper line-continuation exec hardening
2026-02-22 23:03:53 +01:00
Peter Steinberger
c677be9d5f
fix(exec): skip default timeout for background sessions
2026-02-22 23:03:44 +01:00
Peter Steinberger
24c954d972
fix(security): harden allow-always wrapper persistence
2026-02-22 22:55:33 +01:00
Peter Steinberger
4adfe80027
fix(extensions): preserve mediaLocalRoots in telegram/discord sendMedia
2026-02-22 22:53:57 +01:00
Peter Steinberger
64b273a71c
fix(exec): harden safe-bin trust and add explicit trusted dirs
2026-02-22 22:43:18 +01:00
Vignesh Natarajan
d75b594e07
Agents/Replies: scope done fallback to direct sessions
2026-02-22 13:30:30 -08:00
Peter Steinberger
e4d67137db
fix(node): default mac headless system.run to local host
...
Co-authored-by: aethnova <262512133+aethnova@users.noreply.github.com >
2026-02-22 22:24:28 +01:00
Peter Steinberger
d24f5c1e3a
fix(gateway): fail fast exec approvals when no approvers are reachable
...
Co-authored-by: fanxian831-netizen <262880470+fanxian831-netizen@users.noreply.github.com >
2026-02-22 22:24:27 +01:00
Peter Steinberger
73fab7e445
fix(agents): map container workdir paths in workspace guard
...
Co-authored-by: Explorer1092 <32663226+Explorer1092@users.noreply.github.com >
2026-02-22 22:24:27 +01:00
Peter Steinberger
7bbd597383
fix(media): enforce agent media roots in plugin send actions
...
Co-authored-by: Oliver Drobnik <333270+odrobnik@users.noreply.github.com >
Co-authored-by: thisischappy <257418353+thisischappy@users.noreply.github.com >
2026-02-22 22:24:27 +01:00
Tak Hoffman
f8171ffcdc
Config UI: tag filters and complete schema help/labels coverage ( #23796 )
...
* Config UI: add tag filters and complete schema help/labels
* Config UI: finalize tags/help polish and unblock test suite
* Protocol: regenerate Swift gateway models
2026-02-22 15:17:07 -06:00
Peter Steinberger
ffb12397a8
fix(cron): direct-deliver thread and topic announce targets
...
Co-authored-by: Andrei Aratmonov <247877121+AndrewArto@users.noreply.github.com >
2026-02-22 22:11:52 +01:00
Peter Steinberger
320cf8eb3e
fix(subagents): restore configurable announce timeout
...
Co-authored-by: Valadon <20071960+Valadon@users.noreply.github.com >
2026-02-22 22:11:52 +01:00
Peter Steinberger
3820ad77ba
fix(cron): pass agentDir into embedded follow-up runs
...
Co-authored-by: seilk <88271769+seilk@users.noreply.github.com >
2026-02-22 22:11:52 +01:00
Peter Steinberger
34fef3ae60
fix(delivery): quarantine permanent recovery failures
...
Co-authored-by: Aldo <17973757+aldoeliacim@users.noreply.github.com >
2026-02-22 22:11:51 +01:00
Peter Steinberger
e6383a2c13
fix(gateway): probe port liveness for stale lock recovery
...
Co-authored-by: Operative-001 <261882263+Operative-001@users.noreply.github.com >
2026-02-22 22:11:51 +01:00
Peter Steinberger
9165bd7f37
fix(gateway): auto-approve loopback scope upgrades
...
Co-authored-by: Marcus Widing <245375637+widingmarcus-cyber@users.noreply.github.com >
2026-02-22 22:11:50 +01:00
Peter Steinberger
6817c0ec7b
fix(security): tighten elevated allowFrom sender matching
2026-02-22 22:00:08 +01:00
Peter Steinberger
d574056761
fix(control-ui): send stable websocket instance IDs ( #23616 )
...
Co-authored-by: zq58855371-ui <248869919+zq58855371-ui@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
dc6afeb4f8
perf(webchat): skip unnecessary full history reloads on final events ( #20588 )
...
Co-authored-by: amzzzzzzz <154392693+amzzzzzzz@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
f2e9986813
fix(webchat): append out-of-band final payloads in active chat ( #11139 )
...
Co-authored-by: AkshayNavle <110360+AkshayNavle@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
8264d4521b
fix(webchat): render final assistant payloads without history wait ( #14928 )
...
Co-authored-by: BradGroux <3053586+BradGroux@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
02dc0c8752
fix(control-ui): stop websocket client on lifecycle teardown ( #23422 )
...
Co-authored-by: floatinggball-design <262259579+floatinggball-design@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
19046e0cfc
fix(webchat): preserve session labels across /new resets ( #23755 )
...
Co-authored-by: ThunderStormer <16649514+ThunderStormer@users.noreply.github.com >
2026-02-22 21:37:19 +01:00
Peter Steinberger
8a83ca54a1
fix(webchat): preserve session channel routing on internal turns ( #23258 )
...
Co-authored-by: binary64 <1680627+binary64@users.noreply.github.com >
2026-02-22 21:37:18 +01:00
Peter Steinberger
5547a2275c
fix(security): harden toolsBySender sender-key matching
2026-02-22 21:04:37 +01:00
Vincent Koc
5e73f33448
fix(slack): keep thread session fork/history context after first turn ( #23843 )
...
* Slack thread sessions: keep forking and history context after first turn
* Update CHANGELOG.md
2026-02-22 14:39:00 -05:00
Peter Steinberger
02772b029d
fix(security): require sender-only matching for elevated allowFrom
...
Co-authored-by: coygeek <coygeek@users.noreply.github.com >
2026-02-22 20:37:22 +01:00
Peter Steinberger
51b0772e14
fix(exec-approvals): harden forwarding target and resolve delivery paths
...
Co-authored-by: bubmiller <bubmiller@users.noreply.github.com >
2026-02-22 20:37:22 +01:00
Peter Steinberger
6f895eb831
fix(sandbox): honor explicit bind mounts over workspace defaults
...
Co-authored-by: tasaankaeris <tasaankaeris@users.noreply.github.com >
2026-02-22 20:37:22 +01:00
Peter Steinberger
eefbf3dc5a
fix(sandbox): normalize /workspace media paths to host sandbox root
...
Co-authored-by: echo931 <echo931@users.noreply.github.com >
2026-02-22 20:37:21 +01:00
Peter Steinberger
0932adf361
fix(config): fail closed allowlist-only group policy
...
Co-authored-by: etereo <etereo@users.noreply.github.com >
2026-02-22 20:37:21 +01:00
Vincent Koc
71c2c59c6c
fix(slack): enforce replyToMode for auto-thread_ts and inline reply tags ( #23839 )
...
* Slack: respect replyToMode for auto-thread_ts and inline reply tags
* Update CHANGELOG.md
2026-02-22 14:36:46 -05:00
Vincent Koc
9f7c1686b4
fix(slack extension): preserve thread IDs for read + outbound delivery ( #23836 )
...
* Slack Extension: preserve thread IDs in reads and outbound sends
* Slack extension: fix threadTs typing and action test context
* Update CHANGELOG.md
2026-02-22 14:34:32 -05:00
Peter Steinberger
9cf445e37c
fix(cron): restore interval cadence after restart
2026-02-22 20:19:23 +01:00
Peter Steinberger
aa4c250eb8
fix(cron): split run and delivery status tracking
2026-02-22 20:19:23 +01:00
Peter Steinberger
c3bb723673
fix(cron): enforce timeout for manual cron runs
2026-02-22 20:19:23 +01:00
Peter Steinberger
8bf3c37c6c
fix(cron): keep watchdog timer armed during ticks
2026-02-22 20:19:23 +01:00
Peter Steinberger
5db1ee4ec6
fix(cron): keep manual runs non-blocking
2026-02-22 20:19:22 +01:00
Peter Steinberger
91f75a2b33
fix(cron): force fresh isolated session IDs
2026-02-22 20:19:22 +01:00
Peter Steinberger
c3d11d56c3
fix(agents): validate tool-result MEDIA directives with shared parser
...
Co-authored-by: Ho Lim <166576253+HOYALIM@users.noreply.github.com >
2026-02-22 19:52:29 +01:00
Peter Steinberger
0c1f491a02
fix(gateway): clarify pairing and node auth guidance
2026-02-22 19:50:29 +01:00
青雲
3dfee78d72
fix: sanitize tool call IDs in agent loop for Mistral strict9 format ( #23595 ) ( #23698 )
...
* fix: sanitize tool call IDs in agent loop for Mistral strict9 format (#23595 )
Mistral requires tool call IDs to be exactly 9 alphanumeric characters
([a-zA-Z0-9]{9}). The existing sanitizeToolCallIdsForCloudCodeAssist
mechanism only ran on historical messages at attempt start via
sanitizeSessionHistory, but the pi-agent-core agent loop's internal
tool call → tool result cycles bypassed that path entirely.
Changes:
- Wrap streamFn (like dropThinkingBlocks) so every outbound request
sees sanitized tool call IDs when the transcript policy requires it
- Replace call_${Date.now()} in pendingToolCalls with a 9-char hex ID
generated from crypto.randomBytes
- Add Mistral tool call ID error pattern to ERROR_PATTERNS.format so
the error is correctly classified for retry/rotation
* Changelog: document Mistral strict9 tool-call ID fix
---------
Co-authored-by: echoVic <AkiraVic@outlook.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-02-22 13:37:12 -05:00