Bob
257e2f5338
fix: relay ACP sessions_spawn parent streaming ( #34310 ) (thanks @vincentkoc) ( #34310 )
...
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com >
2026-03-04 11:44:20 +01:00
Bob
61f7cea48b
fix: kill stuck ACP child processes on startup and harden sessions in discord threads ( #33699 )
...
* Gateway: resolve agent.wait for chat.send runs
* Discord: harden ACP thread binding + listener timeout
* ACPX: handle already-exited child wait
* Gateway/Discord: address PR review findings
* Discord: keep ACP error-state thread bindings on startup
* gateway: make agent.wait dedupe bridge event-driven
* discord: harden ACP probe classification and cap startup fan-out
* discord: add cooperative timeout cancellation
* discord: fix startup probe concurrency helper typing
* plugin-sdk: avoid Windows root-alias shard timeout
* plugin-sdk: keep root alias reflection path non-blocking
* discord+gateway: resolve remaining PR review findings
* gateway+discord: fix codex review regressions
* Discord/Gateway: address Codex review findings
* Gateway: keep agent.wait lifecycle active with shared run IDs
* Discord: clean up status reactions on aborted runs
* fix: add changelog note for ACP/Discord startup hardening (#33699 ) (thanks @dutifulbob)
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-04 10:52:28 +01:00
Gustavo Madeira Santana
6a40f69d4d
chore(docs): add plugins refactor changelog entry
2026-03-04 02:39:11 -05:00
Lynn
9d941949c9
fix(tui): normalize session key to lowercase to match gateway canonicalization ( #34013 )
...
Merged via squash.
Prepared head SHA: cfe06ca131
Co-authored-by: lynnzc <6257996+lynnzc@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-04 09:53:38 +03:00
Gustavo Madeira Santana
802b9f6b19
Plugins: add root-alias shim and cache/docs updates
2026-03-04 01:20:48 -05:00
Josh Avant
646817dd80
fix(outbound): unify resolved cfg threading across send paths ( #33987 )
2026-03-04 00:20:44 -06:00
Vincent Koc
4d183af0cf
fix: code/cli acpx reliability 20260304 ( #34020 )
...
* agents: switch claude-cli defaults to bypassPermissions
* agents: add claude-cli default args coverage
* agents: emit watchdog stall system event for cli runs
* agents: test cli watchdog stall system event
* acpx: fallback to sessions new when ensure returns no ids
* acpx tests: mock sessions new fallback path
* acpx tests: cover ensure-empty fallback flow
* skills: clarify claude print mode without pty
* docs: update cli-backends claude default args
* docs: refresh cli live test default args
* gateway tests: align live claude args defaults
* changelog: credit claude/acpx reliability fixes
* Agents: normalize legacy Claude permission flag overrides
* Tests: cover legacy Claude permission override normalization
* Changelog: note legacy Claude permission flag auto-normalization
* ACPX: fail fast when ensure/new return no session IDs
* ACPX tests: support empty sessions new fixture output
* ACPX tests: assert ensureSession failure when IDs missing
* CLI runner: scope watchdog heartbeat wake to session
* CLI runner tests: assert session-scoped watchdog wake
* Update CHANGELOG.md
2026-03-04 01:15:28 -05:00
Dale Yarborough
a95a0be133
feat(slack): add typingReaction config for DM typing indicator fallback ( #19816 )
...
* feat(slack): add typingReaction config for DM typing indicator fallback
Adds a reaction-based typing indicator for Slack DMs that works without
assistant mode. When `channels.slack.typingReaction` is set (e.g.
"hourglass_flowing_sand"), the emoji is added to the user's message when
processing starts and removed when the reply is sent.
Addresses #19809
* test(slack): add typingReaction to createSlackMonitorContext test callers
* test(slack): add typingReaction to test context callers
* test(slack): add typingReaction to context fixture
* docs(changelog): credit Slack typingReaction feature
* test(slack): align existing-thread history expectation
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-03 21:07:17 -08:00
Kesku
230fea1ca6
feat(web-search): switch Perplexity to native Search API ( #33822 )
...
* feat: Add Perplexity Search API as web_search provider
* docs fixes
* domain_filter validation
* address comments
* provider-specific options in cache key
* add validation for unsupported date filters
* legacy fields
* unsupported_language guard
* cache key matches the request's precedence order
* conflicting_time_filters guard
* unsupported_country guard
* invalid_date_range guard
* pplx validate for ISO 639-1 format
* docs: add Perplexity Search API changelog entry
* unsupported_domain_filter guard
---------
Co-authored-by: Shadow <hi@shadowing.dev >
2026-03-03 22:57:19 -06:00
Ayaan Zaidi
d5a7a32826
docs(changelog): credit #31513 in #33647 entry
2026-03-04 10:20:59 +05:30
Tak Hoffman
b4e4e25e74
fix(gateway): narrow legacy route inheritance for custom session keys (openclaw#33932) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-03 22:45:46 -06:00
Ayaan Zaidi
6962d2d79f
fix: harden sessions_spawn attachment schema landing ( #33648 ) (thanks @anisoptera)
2026-03-04 10:05:41 +05:30
Tak Hoffman
8a7d1aa973
fix(gateway): preserve route inheritance for legacy channel session keys (openclaw#33919) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test src/gateway/server-methods/chat.directive-tags.test.ts
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-03 22:27:36 -06:00
Ayaan Zaidi
f74a04e4ba
fix: tighten telegram topic-agent docs + fallback tests ( #33647 ) (thanks @kesor)
2026-03-04 09:35:53 +05:30
Tak Hoffman
7f2708a8c3
fix(routing): unify session delivery invariants for duplicate suppression ( #33786 )
...
* Routing: unify session delivery invariants
* Routing: address PR review feedback
* Routing: tighten topic and session-scope suppression
* fix(chat): inherit routes for per-account channel-peer sessions
2026-03-03 21:40:38 -06:00
Tak Hoffman
87e6ce7c3a
fix(extensions): synthesize mediaLocalRoots propagation across sendMedia adapters
...
Restore deterministic mediaLocalRoots propagation through extension sendMedia adapters and add coverage for local/remote media handling in Google Chat.
Synthesis of #33581 , #33545 , #33540 , #33536 , #33528 .
Co-authored-by: bmendonca3 <bmendonca3@users.noreply.github.com >
2026-03-03 21:30:41 -06:00
Tak Hoffman
9889c6da53
Runtime: stabilize tool/run state transitions under compaction and backpressure
...
Synthesize runtime state transition fixes for compaction tool-use integrity and long-running handler backpressure.
Sources: #33630 , #33583
Co-authored-by: Kevin Shenghui <shenghuikevin@gmail.com >
Co-authored-by: Theo Tarr <theodore@tarr.com >
2026-03-03 21:25:32 -06:00
Ayaan Zaidi
575bd77196
fix: stabilize telegram draft boundary previews ( #33842 ) (thanks @ngutman)
2026-03-04 08:55:27 +05:30
Gustavo Madeira Santana
1278ee9248
plugin-sdk: add channel subpaths and migrate bundled plugins
2026-03-03 22:07:03 -05:00
Josh Avant
1c200ca7ae
follow-up: align ingress, atomic paths, and channel tests with credential semantics ( #33733 )
...
Merged via squash.
Prepared head SHA: c290c2ab6a
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-03 20:29:46 -06:00
wan.xi
caa748b969
fix(config): detect top-level heartbeat as invalid config path ( #30894 ) ( #32706 )
...
Merged via squash.
Prepared head SHA: 1714ffe6fc
Co-authored-by: xiwan <931632+xiwan@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-03 20:27:04 -05:00
LiaoyuanNing
b7589b32a8
fix(feishu): support SecretRef-style env credentials in account resolver ( #30903 )
...
Merged via squash.
Prepared head SHA: d3d0a18f17
Co-authored-by: LiaoyuanNing <259494737+LiaoyuanNing@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-03-03 19:22:50 -06:00
Gustavo Madeira Santana
21e8d88c1d
build: fix ineffective dynamic imports with lazy boundaries ( #33690 )
...
Merged via squash.
Prepared head SHA: 38b3c23d6f
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-03 20:14:41 -05:00
Igal Tabachnik
a4850b1b8f
fix(plugins): lazily initialize runtime and split plugin-sdk startup imports ( #28620 )
...
Merged via squash.
Prepared head SHA: 8bd7d6c13b
Co-authored-by: hmemcpy <601206+hmemcpy@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-03 19:58:48 -05:00
habakan
4b17d6d882
feat(gateway): add Permissions-Policy header to default security headers ( #30186 )
...
Merged via squash.
Prepared head SHA: 0dac89283f
Co-authored-by: habakan <12531644+habakan@users.noreply.github.com >
Co-authored-by: grp06 <1573959+grp06@users.noreply.github.com >
Reviewed-by: @grp06
2026-03-03 16:25:39 -08:00
Gustavo Madeira Santana
0d97101665
Agents: preserve bootstrap warning dedupe across followup runs
2026-03-03 18:56:11 -05:00
liquidhorizon88-bot
d95cf256e7
Security audit: suggest valid gateway.nodes.denyCommands entries ( #29713 )
...
Merged via squash.
Prepared head SHA: db23298f98
Co-authored-by: liquidhorizon88-bot <257047709+liquidhorizon88-bot@users.noreply.github.com >
Co-authored-by: grp06 <1573959+grp06@users.noreply.github.com >
Reviewed-by: @grp06
2026-03-03 15:47:57 -08:00
Cui Chen
e8cb0484ce
fix(security): strip partial API token from status labels ( #33262 )
...
Merged via squash.
Prepared head SHA: 5fe81704e6
Co-authored-by: cu1ch3n <80438676+cu1ch3n@users.noreply.github.com >
Co-authored-by: grp06 <1573959+grp06@users.noreply.github.com >
Reviewed-by: @grp06
2026-03-03 15:11:49 -08:00
Clawdoo
b1a735829d
docs: fix Mintlify-incompatible links in security docs ( #27698 )
...
Merged via squash.
Prepared head SHA: 6078cd94ba
Co-authored-by: clawdoo <65667097+clawdoo@users.noreply.github.com >
Co-authored-by: grp06 <1573959+grp06@users.noreply.github.com >
Reviewed-by: @grp06
2026-03-03 14:51:28 -08:00
Mariano
2a733a8444
fix(ios): harden watch messaging activation concurrency ( #33306 )
...
Merged via squash.
Prepared head SHA: d40f8c4afb
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 22:38:54 +00:00
Mariano
4c6dec84a6
Telegram/device-pair: auto-arm one-shot notify on /pair qr with manual fallback ( #33299 )
...
Merged via squash.
Prepared head SHA: 0986691fd4
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 22:36:45 +00:00
Mariano
a36ccf4156
fix(ios): start incremental speech at soft boundaries ( #33305 )
...
Merged via squash.
Prepared head SHA: d1acf72317
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 22:36:40 +00:00
Mariano
22e33ddda9
fix(ios): guard talk TTS callbacks to active utterance ( #33304 )
...
Merged via squash.
Prepared head SHA: dd88886e41
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 22:34:09 +00:00
wangchunyue
bcd58c26d3
fix(logging ): use local timezone for console log timestamps ( #25970 )
...
Merged via squash.
Prepared head SHA: 30123265b7
Co-authored-by: openperf <80630709+openperf@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-04 00:31:41 +03:00
Sid
3ad3a90db3
fix(gateway): include disk-scanned agent IDs in listConfiguredAgentIds ( #32831 )
...
Merged via squash.
Prepared head SHA: 2aa58f6afd
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: shakkernerd <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-03-03 21:19:18 +00:00
scoootscooob
ff96e41c38
fix(discord): align DiscordAccountConfig.token type with SecretInput ( #32490 )
...
Merged via squash.
Prepared head SHA: 233aa032f1
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
Reviewed-by: @joshavant
2026-03-03 14:59:57 -06:00
Robin Waslander
44162e7ba5
docs(contributing): require before/after screenshots for UI PRs ( #32206 )
...
Merged via squash.
Prepared head SHA: d7f0914873
Co-authored-by: hydro13 <6640526+hydro13@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-03-03 23:45:19 +03:00
dorukardahan
2cd3be896d
docs(security): document Docker UFW hardening via DOCKER-USER ( #27613 )
...
Merged via squash.
Prepared head SHA: 31ddd43326
Co-authored-by: dorukardahan <35905596+dorukardahan@users.noreply.github.com >
Co-authored-by: grp06 <1573959+grp06@users.noreply.github.com >
Reviewed-by: @grp06
2026-03-03 12:28:35 -08:00
Shadow
65816657c2
feat(discord): add allowBots mention gating
2026-03-03 12:47:25 -06:00
Shadow
b0bcea03db
fix: drop discord opus dependency
2026-03-03 12:23:19 -06:00
Shadow
16ebbd24b5
fix(discord): reset thread sessions on archive
2026-03-03 11:32:59 -06:00
Shadow
b8b1eeb052
fix(discord): harden slash command routing
2026-03-03 11:32:05 -06:00
Shadow
0eef7a367d
fix(discord): honor agent media roots in replies
2026-03-03 11:29:58 -06:00
Shadow
548b15d8e0
fix(discord): skip bot messages before debounce
2026-03-03 11:29:58 -06:00
Shadow
e28ff1215c
fix: discord auto presence health signal ( #33277 ) (thanks @thewilloftheshadow) ( #33277 )
2026-03-03 11:20:59 -06:00
Ayaan Zaidi
3d998828b9
fix: stabilize Telegram draft boundaries and suppress NO_REPLY lead leaks ( #33169 )
...
* fix: stabilize telegram draft stream message boundaries
* fix: suppress NO_REPLY lead-fragment leaks
* fix: keep underscore guard for non-NO_REPLY prefixes
* fix: skip assistant-start rotation only after real lane rotation
* fix: preserve finalized state when pre-rotation does not force
* fix: reset finalized preview state on message-start boundary
* fix: document Telegram draft boundary + NO_REPLY reliability updates (#33169 ) (thanks @obviyus)
2026-03-03 22:49:33 +05:30
Shadow
a7a9a3d3c8
fix: allowlist Discord CDN hostnames for SSRF media ( #33275 ) (thanks @thewilloftheshadow) ( #33275 )
2026-03-03 11:17:27 -06:00
Mariano
bf7061092a
iOS Security Stack 4/5: TTS PCM->MP3 Fallback ( #30885 ) ( #33032 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f77e3d7644
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 16:33:55 +00:00
Shadow
d493861c16
fix: discord mention handling ( #33224 ) (thanks @thewilloftheshadow) ( #33224 )
2026-03-03 10:32:22 -06:00
Mariano
a3112d6c5f
iOS Security Stack 3/5: Runtime Security Guards ( #33031 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 9917165401
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-03-03 16:30:27 +00:00