Vincent Koc
d06fc25a0c
fix(agents): protect private memory in shared chats ( #119198 )
...
* fix(agents): protect private memory in shared chats
Fixes #84466
Co-authored-by: Peter Steinberger <steipete@gmail.com >
* fix(agents): propagate shared chat type across runtimes
* fix(agents): enforce bootstrap privacy after hooks
* test(agents): cover final bootstrap filtering
* fix(agents): filter private memory before allowlists
* fix(agents): preserve bootstrap source identity
* refactor(agents): simplify bootstrap source identity
* fix(agents): keep bootstrap source identity private
* fix(agents): unify CLI runtime chat type
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-04 23:01:38 +08:00
vovapetry
b5876a1086
fix(telegram): route reactions to their originating forum topics
...
Recover Telegram forum reaction topics from provider-observed message context before authorization, and drop unknown topics instead of routing them to General. Serialize each forum message with its reaction update to avoid cache races. Thanks @vovapetry.
2026-08-04 18:49:57 +05:30
joshavant
8393b37779
fix(setup): keep compatible Claude wrappers selectable
2026-08-04 02:08:23 -05:00
joshavant
d636f5f8e0
fix(agents): gate Claude live session protocol
2026-08-04 02:08:23 -05:00
Peter Steinberger
25e3b6c9b7
fix(cli): honor local port in gateway call ( #119046 )
2026-08-03 18:50:21 -07:00
Michael Christenson II
7f7a709b1d
fix: Ollama missing from onboarding when its service is reachable ( #118020 )
2026-08-03 17:49:31 -06:00
clawSean
5cd6694349
docs(sms): add Twilio A2P delivery guidance ( #88743 )
...
* docs(sms): add A2P delivery guidance
* fix(docs): correct Twilio A2P guidance
---------
Co-authored-by: clawSean <260045960+clawSean@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-04 07:43:21 +08:00
Vincent Koc
15b23cfc2d
fix(docker): use authenticated gateway health command ( #118996 )
...
* fix(docker): use authenticated gateway health command
* test(docker): prove documented compose health command
2026-08-04 07:10:36 +08:00
Vincent Koc
0758316883
feat(sms): track Twilio delivery status ( #118665 )
...
* feat(sms): track Twilio delivery status
* fix(sms): preserve Twilio delivery callbacks under inbound load
* fix(sms): correct delivery status contracts
* fix(sms): retry transient Twilio callback reads
* fix(sms): bound delivery callback admission
* docs(sms): clarify delivery callback recovery
2026-08-04 06:39:17 +08:00
Peter Steinberger
c83dcc2bc0
fix(security): harden network tool output at canonical owner boundaries ( #118984 )
...
* fix(security): bound external tool content at its canonical owner boundary
* fix(plugin-sdk): document supported security boundary and restore facade parity
2026-08-03 15:34:33 -07:00
Vincent Koc
1d446ad2cc
fix(plugins): remove stale load paths during uninstall ( #118930 )
...
* test(qa): prove marketplace plugin updates
* fix(plugins): clean exact install load paths on uninstall
* fix(ci): register marketplace lifecycle assertions
2026-08-03 21:57:54 +00:00
Peter Steinberger
14fe739ee9
fix(feishu): enforce exact signed webhook request boundaries ( #118758 )
...
* fix(feishu): enforce exact signed webhook request targets
* fix(feishu): preserve explicitly configured signed webhook query targets
* fix(feishu): preserve shipped relative webhook paths
* fix(feishu): normalize and migrate legacy webhook callback paths
* fix(feishu): preserve transformed webhook schema defaults
* fix(feishu): require canonical webhook paths before runtime startup
* docs(feishu): document canonical webhook routes and doctor recovery
2026-08-03 14:52:58 -07:00
Vincent Koc
554a6f3bbf
feat(sms): add Twilio MMS support ( #118664 )
...
* feat(sms): add Twilio MMS support
* fix(sms): harden hosted media bearer handling
* fix(sms): discard staged media before dispatch
* fix(sms): close staged media cleanup races
* fix(sms): finalize MMS metadata and race proof
* fix(media): bind local reads to authorized descriptors
* fix(sms): close MMS review gaps
* fix(media): make inbound root matching type-safe
* fix(media): route bounded reads through fs-safe facade
* test(media): satisfy async lint contracts
2026-08-04 05:46:37 +08:00
Peter Steinberger
108cec388e
fix(skills): provide safe workspace-specific malicious skill remediation ( #118969 )
2026-08-03 14:39:02 -07:00
Ayaan Gazali
347398311a
docs: fix stale 2gb session disk budget default on chrome extension page ( #110624 )
2026-08-04 05:24:23 +08:00
Peter Steinberger
76cc60a452
docs: correct onboarding risk flags and Google Chat credential shapes ( #118936 )
2026-08-03 13:59:29 -07:00
kiranmagic7
682f60ce56
fix(config): reject unsupported diagnostics otel grpc ( #93087 )
2026-08-03 16:28:08 -04:00
Peter Steinberger
990fdcf6fd
fix(providers): recognize configured media credentials across provider boundaries ( #118761 )
...
* fix(providers): honor configured media credentials across owner boundaries
* test(providers): align configured auth fixtures and derived SDK surfaces
* fix(providers): enforce shared DashScope media credential policy
2026-08-03 13:26:31 -07:00
Peter Steinberger
f9d9d1225a
refactor(channels): own the lifecycle status contract in SDK patch factories ( #118795 )
...
* refactor(sdk): add channel lifecycle patch factories
* refactor(channels): adopt lifecycle patches in a-m
* refactor(channels): adopt lifecycle patches in n-z
* refactor(runtime): lifecycle-own ambient registries
* test(slack): assert lifecycle factory fields
* fix(sdk): preserve lifecycle patch extras types
* test(zalouser): widen lifecycle status sink
* test(irc): avoid shadowed status patch
* fix(zalo): reuse account-agnostic media route
* fix(gateway): accept explicit channel ready recovery
* test(qa): assert terminal Slack block fact
* test(qa): restore Slack blocked lifecycle scenario
* test(gateway): lock explicit lifecycle recovery contract
2026-08-03 12:39:48 -07:00
Peter Steinberger
bbde865b9c
docs(gateway): fix invalid heartbeat visibility examples ( #118827 )
2026-08-03 11:17:14 -07:00
Vincent Koc
21a767639f
fix(plugins): unify HTTP route conflict handling ( #118203 )
...
* fix(plugins): unify HTTP route conflict handling
* fix(plugins): preserve source-less route replacement
* test(line): type webhook route source
2026-08-04 02:15:00 +08:00
Peter Steinberger
2efac6c999
feat(cli): add session archive and delete commands ( #118791 )
...
* feat(cli): add session lifecycle commands
* fix(deps): update brace-expansion security pin
* chore: defer session lifecycle release note
2026-08-03 11:00:17 -07:00
Pavan Kumar Gondhi
f63f2fd3db
fix(reef): restrict management commands to owners [AI] ( #118578 )
...
* fix(reef): require owner for management commands
* fix(reef): preserve general command access
* fix: preserve explicit owner authority
* fix(discord): separate voice admission from ownership
* docs(reef): explain owner command recovery
* docs(reef): clarify owner recovery paths
2026-08-03 23:18:05 +05:30
Peter Steinberger
e7950261b6
docs(openrouter): repair invalid canonical configuration examples ( #118747 )
2026-08-03 09:53:01 -07:00
Vincent Koc
f9baa3e894
fix(channels): generate discovery docs from catalog ( #118106 )
2026-08-03 23:42:55 +08:00
Peter Steinberger
7fafaf50f4
fix(onboard): keep referenced provider secrets out of plaintext ( #118702 )
...
* fix(onboard): keep referenced provider secrets out of plaintext
* fix(onboard): retain public credential owner type usage
* docs(onboarding): explain preserved credential profiles in reference mode
2026-08-03 08:34:47 -07:00
Peter Steinberger
1e06fd4430
docs: show canonical agent roster configuration ( #118722 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-03 08:24:40 -07:00
Peter Steinberger
a6f9da8bdb
refactor: centralize cron, doctor, and TUI ownership ( #118515 )
...
* refactor(cron): centralize queued run activation
* refactor(doctor): share session SQLite report scaffolding
* refactor(tui): unify slash command registry
* fix(tui): satisfy command registry lint
* fix(tui): align shared command usage help
* fix(btw): preserve outbound usage placeholder
2026-08-03 04:08:54 -07:00
Peter Steinberger
6d8c1ed30d
fix(voice-call): prevent unrelated session recall in fast context ( #118498 )
...
* fix(talk): authorize fast session context
* test(plugins): preserve memory runtime mock types
* fix(plugins): preserve memory authorizer binding
* fix(memory): forward search authorization in lazy runtime
* test(memory): verify lazy authorizer host binding
* docs(plugins): define memory search authorization contract
2026-08-03 03:38:02 -07:00
Peter Steinberger
deb682abfe
refactor(plugins): consolidate extension runtime helpers ( #118509 )
...
* refactor(plugins): consolidate extension runtime helpers
* fix(ci): satisfy extension type and lint checks
* chore(plugin-sdk): regenerate API baseline for #118509
2026-08-03 02:56:43 -07:00
Peter Steinberger
ecc49b5a87
refactor(tts): absorb speech core package ( #118513 )
...
* refactor(tts): absorb speech core package
* fix(tts): preserve runtime SDK exports
* refactor(tts): remove private package exports
* test(tts): align canonical runtime mocks
* test(tts): complete canonical settings mocks
* chore(plugin-sdk): regenerate API baseline for #118513
2026-08-03 02:25:48 -07:00
joshavant
d9393bd3cb
fix: make subagent completion delivery durable
2026-08-03 02:48:34 -05:00
Peter Steinberger
fad7632a51
docs: explain model usage events and supported usage APIs ( #118483 )
2026-08-02 23:52:11 -07:00
Mislav Ivanda
a98852c938
docs: add Daytona hosting guide ( #116411 )
...
Adds a Daytona hosting guide covering sandbox creation, onboarding, secure preview-URL dashboard access, channel setup, updates, and troubleshooting, and links it from the hosting navigation.
Prepared head SHA: 4faf05211b
Co-authored-by: Mislav Ivanda <72461767+mislavivanda@users.noreply.github.com >
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-08-03 07:17:18 +01:00
Peter Steinberger
5de84bfc4d
fix(openai): support the current speech model snapshot ( #118475 )
...
* fix(openai): support the current speech model snapshot
* docs(openai): clarify speech instructions apply to the model family
2026-08-02 23:00:46 -07:00
Peter Steinberger
e04caa6aee
fix(openai): support flexible GPT Image 2 dimensions ( #118476 )
...
* fix(openai): support flexible GPT Image 2 dimensions
* docs(openai): explain flexible GPT Image 2 dimensions
2026-08-02 22:40:07 -07:00
Dallin Romney
d985d771d9
docs: refresh maturity scorecard from full QA evidence ( #118074 )
...
* docs: refresh maturity scorecard
* docs: remove incomplete evidence notice
2026-08-03 12:43:12 +08:00
Alex Knight
d7def97638
fix(cli): one-shot agent --local runs never export OTel diagnostics ( #100845 )
...
Diagnostics exporters are plugin services that only ever start inside the
Gateway process, so embedded `openclaw agent --local` turns emitted
diagnostic events in the CLI process with no subscriber: zero spans,
metrics, or logs reached the OTLP collector while identical Gateway-
dispatched turns exported fine.
The CLI now starts the `diagnostics-otel` service around embedded agent
runs via a scoped, non-activating plugin load that honors the same
plugin-enablement config as the Gateway, and flushes before exit: drain
the async diagnostic-event queue, then shut the SDK down (force flush).
Each step is bounded separately (5s drain, 10s flush) so an unreachable
collector cannot hold the CLI open, and a stalled drain cannot consume
the flush window and discard telemetry that was already buffered.
When OTel is configured but the plugin is absent, the run now says so
instead of exporting nothing with nothing explaining why.
`diagnostics-prometheus` stays Gateway-only: it is a pull-based scrape
server that is useless in a short-lived process and would race the
Gateway for its port. No new config surface; configs without OTel enabled
short-circuit before any plugin load.
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-08-03 13:29:46 +10:00
Peter Steinberger
b0e023a241
fix: Control UI avatars load with Tailscale identity auth ( #118353 )
...
* fix(gateway): allow Tailscale-authenticated avatar reads
* fix(gateway): enforce avatar request origins
* fix(gateway): reject wildcard ambient avatar origins
2026-08-02 20:05:45 -07:00
Peter Steinberger
b438b9605f
fix: dashboards fail to load and interrupted first-time setup never recovers ( #118388 )
...
* fix: recover dashboards and interrupted first-time setup
* fix: clarify managed proxy bypass boundary
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 19:56:40 -07:00
Peter Steinberger
357087b9c7
refactor(gateway): lifecycle-owned ambient state via factory-registered drains ( #118271 )
...
* refactor(runtime): own ambient state lifecycle cleanup
* chore(plugin-sdk): refresh additive API baseline
* fix(runtime): restore agent wait listener lifecycle
Keep agent-job data process-shared while preserving module-local event subscription ownership. Ratchet the public wildcard budget down after replacing text-runtime's wildcard singleton export with named exports.
2026-08-02 18:06:46 -07:00
Peter Steinberger
e1c71fab4f
docs: add stable gateway HTTPS guide ( #118340 )
2026-08-02 18:05:42 -07:00
Peter Steinberger
ec7e5dd769
fix(gateway): recover channel autostart after crash loops ( #118311 )
...
* fix(gateway): recover channel autostart after crash loops
* docs(gateway): clarify crash-loop recovery steps
* test(gateway): type crash-loop recovery context
* test(gateway): correct recovery mock context
* test(gateway): keep recovery monitor coverage compact
* chore: leave crash-loop note to release flow
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 18:01:39 -07:00
Peter Steinberger
cef675233b
docs(memory): explain overlapping hook and transcript indexing ( #118299 )
2026-08-02 17:06:32 -07:00
Peter Steinberger
e9d88696b5
feat(cron): add webhook SSRF policy ( #118237 ) ( #118286 )
2026-08-02 17:02:20 -07:00
Peter Steinberger
181da6f69c
fix(cron): reject ambiguous multi-channel announce jobs ( #118272 )
...
* fix(cron): reject ambiguous announce delivery (#118236 )
* test(cron): move implicit announce ambiguity coverage to the service owner
2026-08-02 16:25:30 -07:00
Jason (Json)
8df95ccd08
fix: recover Control UI access after device-auth upgrades ( #118231 )
...
* fix: recover Control UI pairing from dashboard
* test: prove dashboard credential rotation
* test: complete gateway auth generation fixture
* test: restore QR device token verifier
* fix: preserve headless dashboard recovery
2026-08-02 16:40:53 -06:00
Jason (Json)
01565bdc47
fix(agents): make requested threads sidebar-visible ( #118073 )
...
* fix(agents): make requested threads sidebar-visible
* fix(agents): preserve visible spawn authority
2026-08-02 14:26:24 -06:00
Peter Steinberger
0c32879d45
feat(channels): publish recorded lifecycle from bundled channel transitions ( #118110 )
...
* feat(channels): publish recorded lifecycle from bundled channel transitions
* chore: remove lifecycle changelog entry
2026-08-02 13:04:49 -07:00
Peter Steinberger
08d0952df2
feat(cron): auto-disable repeatedly failing recurring jobs ( #118113 )
...
Refs #118089
Release note: recurring automations now auto-disable after 10 consecutive run failures, record the reason, and notify their owning agent.
2026-08-02 11:51:17 -07:00