887 Commits

Author SHA1 Message Date
Vincent Koc
2de0113608 test(update): cover authenticated restart updates 2026-05-04 21:58:47 -07:00
pashpashpash
70f34bf177 Require real behavior proof for external PRs (#77622)
* ci: require real behavior proof for external PRs

* fix: tighten real behavior proof heuristics

* fix: reject test-only real behavior proof labels

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-05 05:45:30 +01:00
Vincent Koc
1c3b27718f ci: shard package upgrade survivor baselines 2026-05-04 21:15:12 -07:00
Peter Steinberger
c84b7cbffc ci(release): speed up focused release reruns 2026-05-05 02:28:22 +01:00
Peter Steinberger
2f3a9629d8 test: use latest kitchen sink canary 2026-05-05 01:51:23 +01:00
Vincent Koc
1a4c078399 test(plugins): update kitchen sink prerelease canary version 2026-05-04 17:30:55 -07:00
Kevin Lin
cb9824d6b4 test: add slack onboarding channel smoke (#77575) 2026-05-04 16:51:34 -07:00
Peter Steinberger
864b1be1b3 fix: repair release validation checks 2026-05-04 23:39:37 +01:00
Vincent Koc
ac3cd1a0ca Harden Codex harness control surfaces (#77459)
* fix(scripts): find codex protocol source from worktrees

* fix(test): keep codex harness docker caches writable

* fix(test): relax live codex cache mount permissions

* test(codex): add live docker harness debug output

* fix(test): detect numeric ci env in codex docker harness

* fix(codex): skip duplicate agent-command telemetry

* fix(tooling): skip sparse-missing oxlint tsconfig

* fix(tooling): route changed checks through testbox

* fix(qa): keep coverage json source-clean

* fix(test): preflight codex docker auth

* fix(codex): validate bind option values

* fix(codex): parse quoted command arguments

* fix(codex): reject extra control args

* fix(codex): use content for blank bound prompts

* fix(codex): decode local image file urls

* fix(codex): treat local media urls as images

* fix(codex): keep windows media paths local

* fix(codex): reject malformed diagnostics confirmations

* fix(codex): reject malformed resume commands

* fix(codex): reject malformed thread actions

* fix(codex): reject malformed turn controls

* fix(codex): reject malformed model controls

* fix(codex): resolve empty user input prompts

* fix(codex): enforce user input options

* fix(codex): reject ambiguous computer-use actions

* fix(codex): ignore stale bound turn notifications

* test(gateway): close task registries in gateway harness

* test(gateway): route cleanup through task seams

* fix(codex): describe current permission approvals

* fix(codex): disclose command approval amendments

* fix(codex): preserve approval detail under truncation

* fix(codex): propagate dynamic tool failures

* test(codex): align dynamic tool block contract

* fix(codex): reject extra read-only command operands

* fix(codex): escape command readout fields

* fix(codex): escape status probe errors

* fix(codex): narrow formatted thread details

* fix(codex): escape successful status summaries

* fix(codex): escape bound control replies

* fix(codex): escape user input prompts

* fix(codex): escape control failure replies

* fix(codex): escape approval prompt text

* test(codex): narrow escaped reply assertions

* test(codex): complete strict reply fixtures

* test(codex): preserve account fixture literals

* test(codex): align status probe fixtures

* fix(codex): satisfy sanitizer regex lint

* fix(codex): harden command readouts

* fix(codex): harden bound image inputs

* fix(codex): sanitize command failure replies

* test(codex): complete rate limit fixture

* test(tooling): isolate postinstall compile cache fixture

* fix(codex): keep app-server event ownership explicit

---------

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-05-05 07:23:41 +09:00
Josh Lehman
0fc8afeac9 test(package): cover stale source plugin shadows
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-04 21:55:08 +01:00
Vincent Koc
112924b113 fix(update): keep plugin install runtime aliases stable 2026-05-04 21:55:08 +01:00
Peter Steinberger
021373a454 ci(release): recover Windows packaged update no-restart timeout 2026-05-04 21:34:24 +01:00
Peter Steinberger
94f8f1914e test(release): match versioned Windows upgrade tarballs
(cherry picked from commit b70dbe32d0)
2026-05-04 20:45:37 +01:00
Peter Steinberger
2e399e6f1a test(release): recover known Windows packaged upgrade timeout
(cherry picked from commit 8f7399e9e9)
2026-05-04 20:45:37 +01:00
Vincent Koc
a3f6f24b79 ci: gate slack live qa credentials 2026-05-04 12:13:43 -07:00
Vincent Koc
2511be5244 test(release): skip restart in package upgrade lane 2026-05-04 11:21:59 -07:00
Eva
cb38535875 [plugin sdk] Project session extension slots (#75609)
Merged via squash.

Prepared head SHA: d9b670a867
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-04 08:04:27 -07:00
Peter Steinberger
14f756c05b test(release): leave Windows updater timeout headroom 2026-05-04 12:58:28 +01:00
Jesse Merhi
d5b0083300 fix: proxy direct APNs HTTP2 sessions (#74905)
Summary:
- This PR routes direct APNs HTTP/2 sends through an APNs allowlisted managed-proxy CONNECT wrapper, adds APNs proxy validation/docs/guardrails, and expands regression and live-test coverage.
- Reproducibility: yes. source-reproducible: current main `sendApnsRequest()` still uses raw `http2.connect(au ... nly covers HTTP/global-agent/Undici hooks. I did not run a live APNs reproduction in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: test: guard raw HTTP2 APNs connections
- PR branch already contained follow-up commit before automerge: test: guard raw HTTP2 with OpenGrep
- PR branch already contained follow-up commit before automerge: lint: ban raw HTTP2 imports
- PR branch already contained follow-up commit before automerge: fix: use managed proxy state for APNs
- PR branch already contained follow-up commit before automerge: test: exercise APNs active proxy state
- PR branch already contained follow-up commit before automerge: fix: reject conflicting managed proxy activation

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

Prepared head SHA: dab7c86a75
Review: https://github.com/openclaw/openclaw/pull/74905#issuecomment-4350181159

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-04 11:04:17 +00:00
Vincent Koc
05d6c62152 fix(release): reject blank plugin runtime entries 2026-05-04 02:18:11 -07:00
Vincent Koc
f0537e93fb fix(ci): plan openwebui functional image 2026-05-04 01:10:50 -07:00
Peter Steinberger
585ce38015 fix(telegram): stabilize topic dispatch runtime 2026-05-04 08:25:09 +01:00
Vincent Koc
f29aaa2e04 fix(release): resolve beta smoke workflow run 2026-05-03 23:35:04 -07:00
Val Alexander
21ac476904 fix(telegram): stabilize reply dispatch runtime
Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.

Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
2026-05-04 01:07:57 -05:00
Peter Steinberger
bc0b54e844 fix: keep gateway shutdown runtime stable across updates 2026-05-04 06:46:45 +01:00
Alex Knight
3f732aee83 fix: session_status 'current' resolves to live run session instead of stale sandbox key (#76708) (#76995)
Summary:
- The PR threads a live `runSessionKey` through embedded tool construction, updates `session_status({sessionKey:"current"})` resolution, and adds unit, Telegram QA, workflow, and changelog coverage for #76708.
- Reproducibility: yes. Source inspection shows current main gives `session_status` only the sandbox/requester ... plus PR follow-up describe a focused Telegram Docker scenario that fails pre-fix and passes with this head.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: preserve session visibility semantics for runSessionKey (#76708)
- PR branch already contained follow-up commit before automerge: fix: cover Telegram current session status

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

Prepared head SHA: c3c964ecfd
Review: https://github.com/openclaw/openclaw/pull/76995#issuecomment-4367445187

Co-authored-by: Alex Knight <aknight@atlassian.com>
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-04 04:04:43 +00:00
Peter Steinberger
a8b38bb742 test: improve Parallels beta validation 2026-05-04 04:43:24 +01:00
Vincent Koc
bc924889be fix(test): keep Open WebUI live lane image-free 2026-05-03 19:56:16 -07:00
Vincent Koc
0b6db06d7d fix(test): skip Open WebUI in no-live Docker plans 2026-05-03 19:54:15 -07:00
Vincent Koc
857580108d fix(ci): continue Windows upgrade fallback checks 2026-05-03 18:19:15 -07:00
Vincent Koc
c1db7df2ea fix(ci): run cross-os checks on Windows 2026-05-03 18:05:50 -07:00
Peter Steinberger
d609859a8b test: simplify parallels smoke harness 2026-05-04 00:44:05 +01:00
Vincent Koc
7e92c440eb test(extensions): keep shard balance assertion stable 2026-05-03 15:38:27 -07:00
Peter Steinberger
9ebdd26020 fix: thread package root into symlink cleanup 2026-05-03 21:49:53 +01:00
Peter Steinberger
797d02497e fix: prune stale plugin runtime symlinks 2026-05-03 21:49:53 +01:00
Vincent Koc
53cc52981b fix(test): align plugin gauntlet with built runtime 2026-05-03 13:17:21 -07:00
Peter Steinberger
0d97fa3f3a ci(release): skip baseline lifecycle scripts in upgrade checks 2026-05-03 18:35:35 +01:00
Vincent Koc
eb5517be51 fix(release): verify published plugin runtime tarballs 2026-05-03 10:22:36 -07:00
pashpashpash
5bcc321343 Scope Codex heartbeat guidance to heartbeat turns (#76788)
* fix(codex): scope heartbeat guidance to collaboration mode

* fix heartbeat tool direct context

* test prompt heartbeat collaboration snapshots

* fix heartbeat changelog credit
2026-05-04 01:58:39 +09:00
Peter Steinberger
ad1ccd671b chore: move oxlint tsconfigs under config 2026-05-03 15:12:06 +01:00
Peter Steinberger
e7bb5d6ddf chore: move swift configs under config 2026-05-03 14:51:56 +01:00
Peter Steinberger
d0f0fe97a6 chore: move root tool configs 2026-05-03 14:42:56 +01:00
Peter Steinberger
1f1686bc4d chore: reduce root cleanup files 2026-05-03 14:38:13 +01:00
Peter Steinberger
8c95664e55 fix: keep runtime model auth alias after build
(cherry picked from commit f352caf07e)
2026-05-03 14:37:17 +01:00
Peter Steinberger
82dd68d299 build: avoid ambiguous runtime aliases
(cherry picked from commit c96e62d5ab)
2026-05-03 14:37:17 +01:00
Peter Steinberger
a4a4cac8e9 ci: split slow CI shards 2026-05-03 14:11:04 +01:00
Peter Steinberger
fbe9e2296f chore: remove redundant npmignore 2026-05-03 13:33:40 +01:00
Peter Steinberger
706132c655 perf(gateway): add startup CPU profile option 2026-05-03 13:30:35 +01:00
Peter Steinberger
fd5e6ae9f1 chore: remove stale root tooling files 2026-05-03 13:29:34 +01:00
Peter Steinberger
a7b76835d4 ci: ignore generated extension viewer asset in lint 2026-05-03 13:28:30 +01:00