Tak Hoffman
ce71fac7d6
fix(slack): record app_mention retry key before dedupe check ( #37033 )
...
- Prime app_mention retry allowance before dedupe so near-simultaneous message/app_mention races do not drop valid mentions.
- Prevent duplicate dispatch when app_mention wins the race and message prepare later succeeds.
- Prune dispatched mention keys and add regression coverage for both dropped and successful in-flight message outcomes.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 21:47:52 -06:00
Vignesh Natarajan
05fb16d151
fix(agent): harden undici stream timeouts for long openai-completions runs
2026-03-05 19:44:11 -08:00
Vignesh Natarajan
4daaea1190
fix(agents): avoid synthetic tool-result writes on idle-timeout cleanup
2026-03-05 19:29:18 -08:00
Tyler Yust
81b93b9ce0
fix(subagents): announce delivery with descendant gating, frozen result refresh, and cron retry ( #35080 )
...
Thanks @tyler6204
2026-03-05 19:20:24 -08:00
Vignesh Natarajan
fa3fafdde5
fix(auth): harden openai-codex oauth refresh fallback
2026-03-05 19:17:58 -08:00
Vincent Koc
71ec42127d
feat(hooks): emit compaction lifecycle hooks ( #16788 )
2026-03-05 19:08:26 -08:00
Vignesh Natarajan
2f86ae71d5
fix(subagents): recover announce cleanup after kill/complete race
2026-03-05 19:03:56 -08:00
Vignesh Natarajan
604f22c42a
fix(heartbeat): pin HEARTBEAT.md reads to workspace path
2026-03-05 18:52:39 -08:00
dunamismax
1efa7a88c4
fix(slack): thread channel ID through inbound context for reactions ( #34831 )
...
Slack reaction/thread context routing fixes via canonical synthesis of #34831 .
Co-authored-by: Tak <tak@users.noreply.github.com >
2026-03-05 20:47:31 -06:00
Vignesh Natarajan
909f26a26b
fix(kimi-coding): normalize anthropic tool payload format
2026-03-05 18:43:15 -08:00
littleben
b39ca7eccb
fix(slack): remove double mrkdwn conversion in native streaming path
...
Remove redundant text normalization from Slack native streaming markdown_text flow so Markdown formatting is preserved.
Synthesis context: overlaps reviewed from #34931 , #34759 , #34716 , #34682 , #34814 .
Co-authored-by: littleben <1573829+littleben@users.noreply.github.com >
Co-authored-by: dunamismax <dunamismax@tutamail.com >
Co-authored-by: Octane <wdznb1@gmail.com >
Co-authored-by: Mitsuyuki Osabe <24588751+carrotRakko@users.noreply.github.com >
Co-authored-by: Kai <me@kaiyi.cool >
Co-authored-by: OpenClaw Agent <agent@openclaw.ai >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 20:34:43 -06:00
Vignesh Natarajan
1ab9393212
fix(secrets): harden api key normalization for ByteString headers
2026-03-05 18:31:45 -08:00
Sid
7a22b3fa0b
feat(agents): flush reply pipeline before compaction wait ( #35489 )
...
Merged via squash.
Prepared head SHA: 7dbbcc510b74b0e8d35eb750d24575e34b5d769a
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 18:22:19 -08:00
Vignesh Natarajan
6084c26d00
fix(tui): render final event error when assistant output is empty ( #14687 )
2026-03-05 18:16:43 -08:00
zerone0x
94fdee2eac
fix(memory-flush): ban timestamped variant files in default flush prompt ( #34951 )
...
Merged via squash.
Prepared head SHA: efadda4988b460e6da07be72994d4951d64239d0
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 18:15:13 -08:00
Vignesh Natarajan
8088218f46
fix(openai-codex): request required oauth api scopes ( #24720 )
2026-03-05 18:10:03 -08:00
Josh Avant
fb289b7a79
Memory: handle SecretRef keys in doctor embeddings ( #36835 )
...
Merged via squash.
Prepared head SHA: c1a3d0caae60115d886e8bfc9983c9533c773f04
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-03-05 20:05:59 -06:00
Vignesh Natarajan
cec5535096
fix(tui): prevent stale model indicator after /model
2026-03-05 17:39:19 -08:00
Vignesh Natarajan
d326861eb4
fix(gateway): preserve streamed prefixes across tool boundaries
2026-03-05 17:28:22 -08:00
Harold Hunt
d58dafae88
feat(telegram/acp): Topic Binding, Pin Binding Message, Fix Spawn Param Parsing ( #36683 )
...
* fix(acp): normalize unicode flags and Telegram topic binding
* feat(telegram/acp): restore topic-bound ACP and session bindings
* fix(acpx): clarify permission-denied guidance
* feat(telegram/acp): pin spawn bind notice in topics
* docs(telegram): document ACP topic thread binding behavior
* refactor(reply): share Telegram conversation-id resolver
* fix(telegram/acp): preserve bound session routing semantics
* fix(telegram): respect binding persistence and expiry reporting
* refactor(telegram): simplify binding lifecycle persistence
* fix(telegram): bind acp spawns in direct messages
* fix: document telegram ACP topic binding changelog (#36683 ) (thanks @huntharo)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-06 02:17:50 +01:00
Vignesh Natarajan
92b4892127
fix(auth): harden openai-codex oauth login path
2026-03-05 17:16:34 -08:00
vignesh07
3cd4978a09
fix(llm-task): load runEmbeddedPiAgent from dist/extensionAPI in installs
2026-03-05 17:16:14 -08:00
Vignesh Natarajan
d86a12eb62
fix(gateway): honor insecure ws override for remote hostnames
2026-03-05 17:04:26 -08:00
Vignesh Natarajan
c260e207b2
fix(routing): avoid full binding rescans in resolveAgentRoute ( #36915 )
2026-03-05 16:49:29 -08:00
Gustavo Madeira Santana
1a67cf57e3
Diffs: restore system prompt guidance ( #36904 )
...
Merged via squash.
Prepared head SHA: 1b3be3c87957c068473d5c86b9efba4a1a8503f2
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 19:46:39 -05:00
Vignesh Natarajan
06a229f98f
fix(browser): close tracked tabs on session cleanup ( #36666 )
2026-03-05 16:40:52 -08:00
Gustavo Madeira Santana
6dfd39c32f
Harden Telegram poll gating and schema consistency ( #36547 )
...
Merged via squash.
Prepared head SHA: f77824419e3d166f727474a9953a063a2b4547f2
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 19:24:43 -05:00
Vignesh Natarajan
f771ba8de9
fix(memory): avoid destructive qmd collection rebinds
2026-03-05 16:04:22 -08:00
Gustavo Madeira Santana
688b72e158
plugins: enforce prompt hook policy with runtime validation ( #36567 )
...
Merged via squash.
Prepared head SHA: 6b9d883b6ae33628235fb02ce39c0d0f46a065bb
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 18:15:54 -05:00
Bob
063e493d3d
fix: decouple Discord inbound worker timeout from listener timeout ( #36602 ) (thanks @dutifulbob) ( #36602 )
...
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com >
2026-03-06 00:09:14 +01:00
joshavant
97ea9df57f
README: add algal to contributors list ( #2046 )
2026-03-05 17:07:03 -06:00
littleben
b9a20dc97f
fix(slack): preserve dedupe while recovering dropped app_mention ( #34937 )
...
This PR fixes Slack mention loss without reintroducing duplicate dispatches.
- Preserve seen-message dedupe at ingress to prevent duplicate processing.
- Allow a one-time app_mention retry only when the paired message event was previously dropped before dispatch.
- Add targeted race tests for both recovery and duplicate-prevention paths.
Co-authored-by: littleben <1573829+littleben@users.noreply.github.com >
Co-authored-by: OpenClaw Agent <agent@openclaw.ai >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 17:00:05 -06:00
2233admin
7830366f3c
fix(slack): propagate mediaLocalRoots through Slack send path
...
Restore Slack local file upload parity with CVE-era local media allowlist enforcement by threading `mediaLocalRoots` through the Slack send call chain.
- pass `ctx.mediaLocalRoots` from Slack channel action adapter into `handleSlackAction`
- add and forward `mediaLocalRoots` in Slack action context/send path
- pass `mediaLocalRoots` into `sendMessageSlack` for upload allowlist enforcement
- add changelog entry with attribution for this behavior fix
Co-authored-by: 2233admin <1497479966@qq.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 16:52:49 -06:00
Bill
a0b731e2ce
fix(config): prevent RangeError in merged schema cache key generation
...
Fix merged schema cache key generation for high-cardinality plugin/channel metadata by hashing incrementally instead of serializing one large aggregate string.
Includes changelog entry for the user-visible regression fix.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Bill <gsamzn@gmail.com >
2026-03-05 16:45:07 -06:00
Sid
60d33637d9
fix(auth): grant senderIsOwner for internal channels with operator.admin scope (openclaw#35704)
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Naylenv <45486779+Naylenv@users.noreply.github.com >
Co-authored-by: Octane0411 <88922959+Octane0411@users.noreply.github.com >
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 16:32:42 -06:00
Jacob Riff
aad372e15f
feat: append UTC time alongside local time in shared Current time lines ( #32423 )
...
Merged via squash.
Prepared head SHA: 9e8ec13933b5317e7cff3f0bc048de515826c31a
Co-authored-by: jriff <50276+jriff@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-06 01:26:34 +03:00
Altay
49acb07f9f
fix(agents): classify insufficient_quota 400s as billing ( #36783 )
2026-03-06 01:17:48 +03:00
Vincent Koc
0c08e3f55f
UI: hoist lifecycle connect test mocks ( #36788 )
2026-03-05 17:15:31 -05:00
Vincent Koc
999b7e4edf
fix(ui): bump dompurify to 3.3.2 ( #36781 )
...
* UI: bump dompurify to 3.3.2
* Deps: refresh dompurify lockfile
2026-03-05 17:08:42 -05:00
Vincent Koc
98aecab7bd
Docs: cover heartbeat, cron, and plugin route updates
2026-03-05 17:05:21 -05:00
Vincent Koc
2b45eb0e52
Docs: document Control UI locale support
2026-03-05 16:57:59 -05:00
Vincent Koc
6b2c115167
Docs: clarify OpenAI-compatible TTS endpoints
2026-03-05 16:57:51 -05:00
Vincent Koc
1d3962a000
Docs: update gateway config reference for Slack and TTS
2026-03-05 16:57:40 -05:00
Vincent Koc
837b7b4b94
Docs: add Slack typing reaction fallback
2026-03-05 16:57:31 -05:00
Altay
6859619e98
test(agents): add provider-backed failover regressions ( #36735 )
...
* test(agents): add provider-backed failover fixtures
* test(agents): cover more provider error docs
* test(agents): tighten provider doc fixtures
2026-03-06 00:42:59 +03:00
Rodrigo Uroz
036c329716
Compaction/Safeguard: add summary quality audit retries ( #25556 )
...
Merged via squash.
Prepared head SHA: be473efd1635616ebbae6e649d542ed50b4a827f
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 13:39:25 -08:00
jiangnan
029c473727
fix(failover): narrow service-unavailable to require overload indicator ( #32828 ) ( #36646 )
...
Merged via squash.
Prepared head SHA: 46fb4306127972d7635f371fd9029fbb9baff236
Co-authored-by: jnMetaCode <12096460+jnMetaCode@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-06 00:01:57 +03:00
Altay
f014e255df
refactor(agents): share failover HTTP status classification ( #36615 )
...
* fix(agents): classify transient failover statuses consistently
* fix(agents): preserve legacy failover status mapping
2026-03-05 23:50:36 +03:00
不做了睡大觉
8ac7ce73b3
fix: avoid false global rate-limit classification from generic cooldown text ( #32972 )
...
Merged via squash.
Prepared head SHA: 813c16f5afce415da130a917d9ce9f968912b477
Co-authored-by: stakeswky <64798754+stakeswky@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-05 22:58:21 +03:00
Sid
591264ef52
fix(agents): set preserveSignatures to isAnthropic in resolveTranscriptPolicy ( #32813 )
...
Merged via squash.
Prepared head SHA: f522d21ca59a42abac554435a0aa646f6a34698d
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-05 11:55:06 -08:00