Peter Steinberger
06c490f818
test: support higher vitest shard parallelism
2026-05-06 05:57:53 +01:00
Peter Steinberger
f2ce83833a
test: avoid spawning cli help in metadata test
2026-05-06 05:48:21 +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
8bfabd6bb1
feat: add channel message lifecycle sdk
2026-05-06 01:46:42 +01:00
Peter Steinberger
093b2b9b5f
test: speed extension and contract scenarios
2026-05-06 00:54:06 +01:00
pashpashpash
33c42c8d3b
chore: add positive proof labels ( #78117 )
2026-05-06 08:10:17 +09:00
Vincent Koc
a4c860a70c
fix(update): avoid lint-blocked dev installs ( #77181 )
2026-05-05 16:05:35 -07:00
Patrick Erichsen
8aa7b7a4ca
Tolerate corrupt plugins during update ( #77706 )
...
* fix(update): tolerate corrupt plugin state
* fix(update): preserve corrupt plugin proof state
* fix(update): narrow corrupt plugin warnings
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-05 14:18:26 -07:00
Peter Steinberger
01dda73e9b
Revert "test: narrow changed-test routing for shared internals"
...
This reverts commit e28ad6a869 .
2026-05-05 21:47:12 +01:00
Peter Steinberger
782963ae66
refactor: compact generated protocol metadata
2026-05-05 20:47:38 +01:00
Peter Steinberger
e28ad6a869
test: narrow changed-test routing for shared internals
2026-05-05 20:12:28 +01:00
Patrick Erichsen
84e8e09725
Add WhatsApp live QA lane ( #77704 )
...
* feat(qa): add whatsapp live lane
* ci: add gated whatsapp and discord qa live lanes
* ci: honor qa live env gates in release selection
* test: update qa live workflow gate assertion
* ci: split live QA release gates
2026-05-05 12:09:28 -07:00
Peter Steinberger
35da7d2c99
refactor: remove legacy agent dir resolver
2026-05-05 20:07:49 +01:00
Peter Steinberger
55d1cf87d7
refactor: compute base config schema at runtime
2026-05-05 19:55:36 +01:00
Pumpkin Xing
5fae1c32b5
fix(plugins): forward install records to channel catalog registry ( #77269 )
...
Merged via squash.
Prepared head SHA: d06034b037
Co-authored-by: pumpkinxing1 <271513653+pumpkinxing1@users.noreply.github.com >
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com >
Reviewed-by: @odysseus0
2026-05-05 10:47:01 -07:00
Ayaan Zaidi
77ae06bfaa
fix: skip compile cache permission warnings ( #76362 ) (thanks @neeravmakwana)
2026-05-05 21:25:02 +05:30
Peter Steinberger
6f6b8fc465
fix(release): accept Docker OCI attestations and xAI reasoning defaults
2026-05-05 10:30:48 +01:00
Peter Steinberger
f3d531439b
feat: add reusable Mantis evidence publishing
2026-05-05 09:02:04 +01:00
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
a91c17c426
fix: explain missing git during plugin install
2026-05-05 05:14:09 +01: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
da0a977678
test(plugins): refresh kitchen sink docker fixture
2026-05-04 17:15:47 -07:00
Kevin Lin
cb9824d6b4
test: add slack onboarding channel smoke ( #77575 )
2026-05-04 16:51:34 -07:00
Vincent Koc
cf1bd30509
test(plugins): add kitchen sink rpc walk
2026-05-04 16:48:02 -07:00
Peter Steinberger
d522a18971
fix: sync Codex app-server protocol ( #77578 )
...
* fix: sync codex app-server protocol
* docs: add codex protocol changelog
* fix: refresh codex protocol schemas
2026-05-05 00:43:07 +01:00
Peter Steinberger
a167acee67
fix(gateway): route watch trace spam to artifacts
2026-05-04 23:41:14 +01:00
Peter Steinberger
f8e080386d
fix(gateway): quiet benchmark watch output
2026-05-04 23:36:18 +01:00
Peter Steinberger
d6917edc53
fix: preserve gateway watch trace overrides
2026-05-04 23:26:25 +01:00
Peter Steinberger
35e48a049b
fix: enable sync io tracing in gateway watch
2026-05-04 23:26:25 +01:00
Peter Steinberger
e84d4b27f4
feat: add gateway stall diagnostics
2026-05-04 23:26:25 +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
Vincent Koc
7e229f0d3d
fix(docker): prune external plugin dist ( #77547 )
2026-05-04 15:11:14 -07: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
2511be5244
test(release): skip restart in package upgrade lane
2026-05-04 11:21:59 -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
Peter Steinberger
b37fba7c07
ci(release): harden clawhub plugin publish
2026-05-04 10:09:55 +01:00
Peter Steinberger
5b528f4dfe
docs: add plugin install example
2026-05-04 10:08:29 +01:00
Vincent Koc
9b95e477be
test(e2e): run crestodian planner harness without tsx
2026-05-04 01:40:58 -07:00
Val Alexander
a1304c92c6
Fix Control UI i18n tooltip placeholders
...
Summary:
- Render the Sessions active filter tooltip with the configured minute count instead of a literal N.
- Update all Control UI locale bundles and i18n translation memory rows to preserve the {count} placeholder.
- Add a placeholder parity guard to the Control UI i18n check with regression coverage.
Verification:
- pnpm ui:i18n:check
- pnpm test src/scripts/control-ui-i18n.test.ts ui/src/ui/views/sessions.test.ts
- git diff --check
- Testbox exact-head pnpm check:changed passed on prior rebased head 1333aac90b before latest main churn.
- GitHub CI on fd2068c378 only failed the pre-existing unrelated checks-node-core-fast timeout in src/auto-reply/reply/followup-delivery.test.ts:176, also present on recent main runs b31c001a2b and e5f5989aa9 .
2026-05-04 03:18:34 -05:00
Vincent Koc
f0537e93fb
fix(ci): plan openwebui functional image
2026-05-04 01:10:50 -07:00
Peter Steinberger
7129db1960
perf: lighten gateway watch startup
2026-05-04 08:36:50 +01:00