Alex Alaniz
b971ebaaab
fix(exec-approvals): guard Windows rename fallback ( #77907 )
...
* fix exec approvals Windows rename fallback
* fix(exec-approvals): restore approvals directory mode
* fix(exec-approvals): normalize fallback temp mode
---------
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-05-05 22:39:41 -05:00
Val Alexander
60171e8638
Keep Control UI responsive under slow status and history loads
2026-05-05 22:07:39 -05:00
Peter Steinberger
3f6b481464
fix: serialize concurrent transcript appends
2026-05-06 04:06:28 +01:00
Val Alexander
49c4a13231
fix(sessions): restore Control UI /new hooks
...
Fixes #76957 .
Restores the Control UI /new hook lifecycle through an explicit sessions.create emitCommandHooks opt-in, preserving hook-free defaults for programmatic parent-session creates.
Validation:
- pnpm protocol:check
- pnpm test src/gateway/server.sessions.reset-hooks.test.ts ui/src/ui/app-render.helpers.node.test.ts
- pnpm exec oxlint on touched TS files
- pnpm exec oxfmt --check --threads=1 on touched files
- git diff --check
- OPENCLAW_LOCAL_CHECK=1 OPENCLAW_LOCAL_CHECK_MODE=throttled env NODE_OPTIONS=--max-old-space-size=4096 pnpm check:changed
- GitHub PR checks green on 3a446ec78e
- ClawSweeper re-review completed with no blocking findings and security cleared
Duplicate triage:
- #77376 , #77004 , and #76967 were superseded closed attempts for #76957
- #77562 is a closed duplicate issue
- #77880 mentions #76957 but is not a duplicate of this hook fix
2026-05-05 21:57:22 -05:00
Val Alexander
3110c621df
fix(gateway): preserve mixed assistant history text
...
Preserve visible assistant text from mixed text/tool-use transcript turns in chat.history while keeping commentary-only assistant turns hidden.
Fixes #77374 .
Verification:
- pnpm test src/gateway/server-methods/server-methods.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts
- pnpm exec oxfmt --check --threads=1 src/gateway/chat-display-projection.ts src/gateway/server-methods/server-methods.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts
- git diff --check
- pnpm changed:lanes --json
- PR CI passed on 048266c5a5
2026-05-05 21:56:56 -05:00
Peter Steinberger
8489d0eb68
test: update spawn workspace pi settings mock
2026-05-06 03:43:39 +01:00
Peter Steinberger
ea391c6df2
test: stabilize cron and pairing shard hangs
2026-05-06 03:36:46 +01:00
Brad Hallett
0bdba47a3e
fix: disable Pi auto-compaction when safeguard mode is active ( #73839 )
...
Merged via squash.
Prepared head SHA: d554201343
Co-authored-by: bradhallett <53977268+bradhallett@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-05-05 19:35:47 -07:00
Peter Steinberger
74532265f4
test: tolerate archive race outcomes
2026-05-06 03:23:25 +01:00
Peter Steinberger
585bff4b75
test: accept archive race refusal variants
2026-05-06 03:17:59 +01:00
Val Alexander
36df0d93b9
fix: repair iOS LAN pairing
...
Fix iOS LAN/setup-code pairing policy for #47887 .
- Allow explicit private LAN and .local plaintext ws:// setup/manual connects where policy allows it.
- Keep public hosts, .ts.net, and Tailscale CGNAT plaintext fail-closed.
- Prefer explicit passwords over stale bootstrap tokens in Swift and TypeScript gateway clients.
- Update setup-code/device-pair coverage, docs, and changelog with source credit for #65185 .
Verification:
- pnpm install
- git diff --check origin/main..HEAD
- pnpm exec oxfmt --check --threads=1 src/gateway/client.ts src/gateway/client.test.ts src/pairing/setup-code.ts src/pairing/setup-code.test.ts extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- pnpm format:docs:check
- pnpm test src/gateway/client.test.ts src/pairing/setup-code.test.ts extensions/device-pair/index.test.ts
- cd apps/shared/OpenClawKit && swift test --filter 'DeepLinksSecurityTests|GatewayNodeSessionTests'
- pnpm lint:swift passes with the existing TalkModeRuntime.swift type-body-length warning
Blocked locally:
- iOS app-target xcodebuild tests require unavailable watchOS 26.4 runtime here.
- Testbox check:changed previously failed because the image lacks swiftlint; local swiftlint passes.
2026-05-05 21:07:19 -05:00
Peter Steinberger
6ad601d195
test: align archive hardlink guard expectation
2026-05-06 03:04:27 +01:00
Peter Steinberger
8b9b849b19
test: align fs-safe race expectations
2026-05-06 03:02:47 +01:00
Peter Steinberger
9e108fa9a7
fix: repair fs-safe ci expectations
2026-05-06 02:56:12 +01:00
Peter Steinberger
b43efd3793
fix: clean up post-land CI guards
2026-05-06 02:51:53 +01:00
Peter Steinberger
8294229592
test: refresh fs-safe boundary expectations
2026-05-06 02:50:36 +01:00
Peter Steinberger
a6a4140ee7
fix(media): handle canonical inbound media paths
2026-05-06 02:50:36 +01:00
Peter Steinberger
20163313af
fix: resolve fs-safe post-land fallout
2026-05-06 02:41:36 +01:00
Peter Steinberger
e02ddf71af
fix: guard managed talk room control
2026-05-06 02:39:15 +01:00
Peter Steinberger
0402ae327e
test: generate hook install archives
2026-05-06 02:39:15 +01:00
Peter Steinberger
c7b69a319b
test: retry gateway chat temp cleanup
2026-05-06 02:39:15 +01:00
Peter Steinberger
df4db5a721
test: isolate main auth profile fixtures
2026-05-06 02:39:15 +01:00
Peter Steinberger
f1636d5e28
refactor: unify talk session runtime
2026-05-06 02:39:15 +01:00
Peter Steinberger
7760edc68e
chore: refresh talk generated metadata
2026-05-06 02:39:15 +01:00
Peter Steinberger
466f718320
feat: wire talk handoff into native nodes
2026-05-06 02:39:15 +01:00
Peter Steinberger
c434d7720b
feat: add unified talk gateway sessions
2026-05-06 02:39:15 +01:00
Peter Steinberger
c90c68c636
feat: add shared talk runtime primitives
2026-05-06 02:39:15 +01:00
Peter Steinberger
601b4819cb
test: refresh plugin loader boundary assertions
2026-05-06 02:24:43 +01:00
Peter Steinberger
538605ff44
[codex] Extract filesystem safety primitives ( #77918 )
...
* refactor: extract filesystem safety primitives
* refactor: use fs-safe for file access helpers
* refactor: reuse fs-safe for media reads
* refactor: use fs-safe for image reads
* refactor: reuse fs-safe in qqbot media opener
* refactor: reuse fs-safe for local media checks
* refactor: consume cleaner fs-safe api
* refactor: align fs-safe json option names
* fix: preserve fs-safe migration contracts
* refactor: use fs-safe primitive subpaths
* refactor: use grouped fs-safe subpaths
* refactor: align fs-safe api usage
* refactor: adapt private state store api
* chore: refresh proof gate
* refactor: follow fs-safe json api split
* refactor: follow reduced fs-safe surface
* build: default fs-safe python helper off
* fix: preserve fs-safe plugin sdk aliases
* refactor: consolidate fs-safe usage
* refactor: unify fs-safe store usage
* refactor: trim fs-safe temp workspace usage
* refactor: hide low-level fs-safe primitives
* build: use published fs-safe package
* fix: preserve outbound recovery durability after rebase
* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
384432fd22
test: isolate media factory planning imports
2026-05-06 01:54:55 +01:00
Vincent Koc
fcf0561da0
fix(cli): repair legacy config before update channel switch ( #77069 )
...
* fix(cli): repair legacy config before update channel switch
* docs(changelog): note update channel legacy config repair
* fix(update): keep legacy config repair doctor-owned
* fix(update): keep dry runs read-only
* fix(update): avoid include-flattening legacy repair
2026-05-05 17:54:53 -07:00
Peter Steinberger
d12c4d832d
test: narrow capability auth profile import
2026-05-06 01:52:10 +01:00
Peter Steinberger
cc3eb0b53e
test: use candidate seam for fallback ordering cases
2026-05-06 01:48:48 +01:00
Frank Yang
1ddc2650c6
Fix WebChat display for Codex-generated local media ( #77889 )
...
* fix: stage webchat codex media before display
* fix: avoid staging sensitive webchat media
* fix: preserve webchat inline media replies
* fix: normalize mixed webchat media replies
* fix: suppress mixed media false warnings
* fix(gateway): preserve webchat audio media display
2026-05-06 08:48:34 +08:00
Peter Steinberger
e3b0707a53
fix: preserve source plugin loading fallbacks
2026-05-06 01:46:42 +01:00
Peter Steinberger
2ead1502c9
feat: route outbound sends through durable lifecycle
2026-05-06 01:46:42 +01:00
Peter Steinberger
8bfabd6bb1
feat: add channel message lifecycle sdk
2026-05-06 01:46:42 +01:00
Peter Steinberger
2d45598738
test: trim duplicate local auth resolver cases
2026-05-06 01:45:43 +01:00
Peter Steinberger
271aac42e4
test: isolate cli provider model-selection coverage
2026-05-06 01:43:55 +01:00
hcl
d193d15f17
fix(plugins): explain source-only package diagnostics ( #77835 ) ( #77842 )
2026-05-05 17:43:13 -07:00
Vincent Koc
bca6709203
fix(doctor): repair legacy Codex route config
...
Repair legacy openai-codex route config and session pins safely.
2026-05-05 17:42:41 -07:00
Vincent Koc
2014c2327b
fix(plugins): sync official plugin installs during update ( #78065 )
...
* fix(plugins): sync official npm installs during update
* fix(plugins): sync official clawhub installs during update
* test(update): mock official plugin sync helpers
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-05-05 17:27:32 -07:00
Agustin Rivera
d583013b8f
fix(exec): enforce allowlist argument patterns ( #75143 )
...
* fix(exec): enforce allowlist argument patterns
* fix(exec): document argPattern allowlist field
* Add CHANGELOG entry for #75143 cross-platform argPattern enforcement
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
Co-authored-by: Devin Robison <drobison00@users.noreply.github.com >
2026-05-05 18:23:40 -06:00
Vincent Koc
01377ddbe2
fix(cli): guard device fallback state
...
* fix(cli): guard device fallback state
* test(agents): fix model fallback case typing
2026-05-05 17:12:58 -07:00
Peter Steinberger
d111605453
test: streamline model fallback probe coverage
2026-05-06 01:12:16 +01:00
Peter Steinberger
093b2b9b5f
test: speed extension and contract scenarios
2026-05-06 00:54:06 +01:00
Peter Steinberger
cb42efb6e6
test: trim slow agent fallback coverage
2026-05-06 00:53:27 +01:00
Peter Steinberger
e428a2dfe2
test: add focused seams for faster isolated tests
2026-05-06 00:53:05 +01:00
Vincent Koc
46c99cff0b
fix(status): show runtime in CLI sessions ( #77776 )
...
* fix(status): show agent runtime in cli status
* fix(status): preserve configured runtime labels
2026-05-05 16:50:22 -07:00
Vincent Koc
b3ab3cde96
fix(agents): filter runtime context from context engines
...
## Summary
- filter hidden runtime-context custom messages before context-engine assemble, afterTurn, and ingest fallback hooks
- preserve the pre-prompt/new-turn boundary after filtering
- add regression coverage for assemble, afterTurn, and ingestBatch fallback behavior
## Verification
- pnpm test:serial src/agents/harness/context-engine-lifecycle.test.ts -- --reporter=verbose
- pnpm exec oxfmt --check --threads=1 src/agents/harness/context-engine-lifecycle.ts src/agents/harness/context-engine-lifecycle.test.ts CHANGELOG.md
- git diff --check origin/main...HEAD
- pnpm changed:lanes --json
- pnpm testbox:run --id tbx_01kqx8fy1ktpqczkcej2pgpryz -- "OPENCLAW_TESTBOX_REMOTE_RUN=1 pnpm check:changed"
2026-05-05 16:48:18 -07:00