Commit Graph

3563 Commits

Author SHA1 Message Date
Shakker e8efb7339e perf: reuse metadata across gateway runtime config 2026-05-07 06:10:05 +01:00
Peter Steinberger 6009b86f0d fix: bound stale task reload blockers 2026-05-07 05:25:54 +01:00
Vincent Koc a846b577a5 test(live): stabilize gateway timeout assertion 2026-05-06 20:39:52 -07:00
sallyom a859638cc2 fix: preserve node exec approvals for control ui
Signed-off-by: sallyom <somalley@redhat.com>
2026-05-06 22:59:53 -04:00
sallyom bf2511098f fix: persist rotated gateway session files
Signed-off-by: sallyom <somalley@redhat.com>
2026-05-06 21:41:03 -04:00
Josh Avant 5572ee1a1a fix gateway optional plugin startup (#78642) 2026-05-06 17:28:31 -05:00
Vincent Koc 0f4f7e32cb test(live): type provider scoped model loading 2026-05-06 14:08:32 -07:00
Vincent Koc 3a12a7a7e6 test(live): tolerate codex ask-back preflight refusal 2026-05-06 14:08:32 -07:00
Vincent Koc 6587832f25 test(live): read gateway provider models 2026-05-06 14:08:31 -07:00
Vincent Koc d47497c99f test(live): guard provider scoped gateway path 2026-05-06 14:08:31 -07:00
Vincent Koc beee6449a1 test(live): scope gateway model discovery 2026-05-06 14:08:31 -07:00
Shakker f011d6bc0a Fix repeated Codex native approval prompts after allow-always (#78234)
* fix: reuse codex native approvals

* fix: scope native approval reuse by session

* fix: let codex guardian own native permission approvals

* fix: refresh plugin approval protocol models

---------

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-05-07 05:55:38 +09:00
Shakker 3dffef651b fix: reuse turn plugin metadata snapshot 2026-05-06 17:33:46 +01:00
Shakker 61223a74a4 chore: add coarse agent turn timeline spans 2026-05-06 17:33:46 +01:00
Peter Steinberger 167e43345a test(perf): pin runtime metadata fixtures 2026-05-06 16:09:13 +01:00
Peter Steinberger fd5352bc18 test(perf): pin gateway session list model fixtures 2026-05-06 15:13:34 +01:00
Peter Steinberger 9324af7d46 test(perf): trim gateway session list fixtures 2026-05-06 15:05:27 +01:00
the sun gif man d4b4660026 config: stop automatic writes and guard Nix mutators (#78047)
Keep startup-derived plugin enablement, gateway auth tokens, control UI origins, and owner-display secrets runtime-only instead of persisting them into openclaw.json.

Refuse config writers, mutating update/plugin lifecycle commands, and doctor repair/token generation in Nix mode with agent-first nix-openclaw guidance.

Verification:
- pnpm check
- pnpm build
- pnpm test -- src/config/io.write-config.test.ts src/config/mutate.test.ts src/config/io.owner-display-secret.test.ts src/gateway/server-startup-config.recovery.test.ts src/gateway/startup-auth.test.ts src/gateway/startup-control-ui-origins.test.ts src/cli/plugins-cli.install.test.ts src/cli/plugins-cli.policy.test.ts src/cli/plugins-cli.uninstall.test.ts src/cli/plugins-cli.update.test.ts src/cli/update-cli.test.ts src/auto-reply/reply/commands-plugins.install.test.ts src/auto-reply/reply/commands-plugins.test.ts src/commands/onboarding-plugin-install.test.ts src/commands/doctor.runs-legacy-state-migrations-yes-mode-without.e2e.test.ts src/commands/doctor/shared/codex-route-warnings.test.ts src/commands/doctor/repair-sequencing.test.ts src/agents/auth-profile-runtime-contract.test.ts src/auto-reply/reply/agent-runner-execution.test.ts
- GitHub CI green on 05a2c71b90

Co-authored-by: Codex <noreply@openai.com>
2026-05-06 14:43:32 +02:00
Jesse Merhi 1c42c77433 feat: add user input blocking lifecycle gates (#75035)
Summary:
- The PR adds a `before_agent_run` plugin hook with pass/block decisions, redacted blocked-turn persistence, diagnostics/docs/changelog updates, and focused runner, gateway, session, and plugin tests.
- Reproducibility: not applicable. as a feature PR rather than a current-main bug report. Current main lacks ` ... un`, while the PR head adds source coverage and copied live Gateway/WebChat log proof for the new behavior.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: trim before agent hook PR scope
- PR branch already contained follow-up commit before automerge: fix: keep before-agent blocks redacted
- PR branch already contained follow-up commit before automerge: fix: keep runtime context out of model prompt
- PR branch already contained follow-up commit before automerge: docs: refresh config baseline after rebase
- PR branch already contained follow-up commit before automerge: fix: align blocked turn clients with redacted content
- PR branch already contained follow-up commit before automerge: fix: remove out-of-scope client block UI changes

Validation:
- ClawSweeper review passed for head 767e46fde8.
- Required merge gates passed before the squash merge.

Prepared head SHA: 767e46fde8
Review: https://github.com/openclaw/openclaw/pull/75035#issuecomment-4351843275

Co-authored-by: Jesse Merhi <jessejmerhi@gmail.com>
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-06 11:41:04 +00:00
Peter Steinberger cc9f88e6e6 ci: fix release cross-os loader path 2026-05-06 12:20:56 +01:00
Peter Steinberger cf21cbafc4 ci: harden release validation harness checks 2026-05-06 12:08:45 +01:00
Vincent Koc 86c4809a40 test(gateway): skip opencode acp image probe by default 2026-05-06 03:25:00 -07:00
Vincent Koc 7fd7f6f355 fix(gateway): mark chat slash commands as text 2026-05-06 03:24:59 -07:00
Vincent Koc e4b629c6d3 test(gateway): deliver codex bind commands 2026-05-06 03:24:59 -07:00
Vincent Koc 5e218b402f test(gateway): capture codex bind outbound replies 2026-05-06 03:24:58 -07:00
Vincent Koc 53423a2a7f test(gateway): disable heartbeat in codex bind live 2026-05-06 03:24:58 -07:00
Vincent Koc 2dc8748b59 test(gateway): accept compact codex status 2026-05-06 03:24:58 -07:00
Vincent Koc 87f3501b91 test(docker): skip external auth sync in filtered gateway live 2026-05-06 03:24:58 -07:00
Vincent Koc c686eda8f8 test(docker): bound live gateway setup 2026-05-06 03:24:57 -07:00
Vincent Koc ff09f8022d test(docker): scope live gateway discovery 2026-05-06 03:24:57 -07:00
Vincent Koc 8a47c79826 test(docker): preserve live gateway heap 2026-05-06 03:24:57 -07:00
Vincent Koc 16321a27b6 fix(talk): add bounded lifecycle logging 2026-05-06 03:02:02 -07:00
Vincent Koc e2501b2d6d fix(diagnostics): export Talk metrics after SDK refactor
Adds bounded Talk lifecycle/audio diagnostics and session recovery metrics for OTEL, Prometheus, and stability snapshots after the Talk SDK/session refactor. Includes changelog/docs updates and Testbox/live proof.
2026-05-06 02:01:52 -07:00
Peter Steinberger 54e23b6d11 test: satisfy lint in optimized tests 2026-05-06 09:12:55 +01:00
Edionwheels 58f81b0e04 fix(codex): honor OAuth contextTokens in native harness
Fixes #77858.

Co-authored-by: Edionwheels <267595845+lilesjtu@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-06 08:54:52 +01:00
Peter Steinberger c5fcfa1b56 test: remove reload deferral wait 2026-05-06 08:34:17 +01:00
Ayaan Zaidi 6be5422fd6 fix(gateway): avoid plugin model resolution in session lists 2026-05-06 13:03:54 +05:30
Forge ef517e1a54 Preserve session list model normalization 2026-05-06 13:03:54 +05:30
Forge 948375f494 Optimize session list model row resolution 2026-05-06 13:03:54 +05:30
Forge 8bfec5b9ac fix(sessions): fast-path qualified row model refs 2026-05-06 13:03:54 +05:30
Peter Steinberger e59890eff0 test: speed up gateway cron history case 2026-05-06 08:31:28 +01:00
Peter Steinberger 1f6ce72b8a test: trim cron and context-engine waits 2026-05-06 05:55:34 +01:00
Jesse Merhi 5b00cd1ae1 fix: narrow Gateway proxy bypass target (#77018)
* fix: narrow Gateway proxy bypass target

* fix: narrow Gateway proxy bypass target

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (1)

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (2)

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (validation-3)

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (4-final)

* fix: narrow Gateway proxy bypass target

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (1)

* fix(clawsweeper): address review for automerge-openclaw-openclaw-77018 (2)

* fix(clawsweeper): reconcile automerge-openclaw-openclaw-77018 with main (1)

---------

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-06 14:40:31 +10:00
Peter Steinberger e9987ffc3a fix: clamp xAI live gateway thinking 2026-05-06 05:33:38 +01:00
Peter Steinberger b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Val Alexander 60171e8638 Keep Control UI responsive under slow status and history loads 2026-05-05 22:07:39 -05: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
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 e02ddf71af fix: guard managed talk room control 2026-05-06 02:39:15 +01:00