Commit Graph

1360 Commits

Author SHA1 Message Date
Vincent Koc
367d584ee3 fix(installer): install node with apk on alpine 2026-05-24 23:03:12 +02:00
Vincent Koc
acfed375ee fix(installer): detect musl linux shells 2026-05-24 22:47:05 +02:00
Vincent Koc
0acc3e3216 test(e2e): select installable bundled plugins 2026-05-24 21:36:08 +02:00
Vincent Koc
43252c8099 fix(scripts): harden Windows native opus install 2026-05-24 21:28:09 +02:00
Vincent Koc
0a98559440 fix(scripts): harden Windows generated formatting 2026-05-24 20:50:07 +02:00
Vincent Koc
dfa1a51225 fix(test): focus plugin binding Docker smoke 2026-05-24 20:28:43 +02:00
Vincent Koc
ad71a998ff fix(crabbox): default macos aws runs on demand 2026-05-24 19:31:19 +02:00
Vincent Koc
e4332f7cff fix(scripts): preserve test passthrough args 2026-05-24 19:13:03 +02:00
Vincent Koc
8edc671eb4 fix(e2e): harden Windows plugin assertions 2026-05-24 19:10:10 +02:00
Vincent Koc
5f0315467b fix(test): mount upgrade survivor helper 2026-05-24 18:59:34 +02:00
Vincent Koc
79ee70c8ad fix(scripts): ignore forwarded arg separator 2026-05-24 18:13:14 +02:00
Vincent Koc
5a8ce6a885 fix(test): fail empty gateway startup samples 2026-05-24 17:58:12 +02:00
Vincent Koc
87a2eba427 fix(e2e): harden Windows kitchen sink assertions 2026-05-24 17:47:19 +02:00
Vincent Koc
c643370fd8 fix(e2e): harden Telegram credential paths on Windows 2026-05-24 17:17:28 +02:00
Vincent Koc
dbc08f64c1 fix(test): copy cleanup smoke prepare hook 2026-05-24 16:57:26 +02:00
Peter Steinberger
01c5ab8d13 fix(release): verify large plugin npm packs 2026-05-24 15:33:17 +01:00
Vincent Koc
7e51f83aec fix(test): require kitchen sink diagnostic canaries 2026-05-24 16:27:46 +02:00
Vincent Koc
483d7be6c4 fix(scripts): harden Windows upgrade survivor recipe 2026-05-24 16:05:24 +02:00
Vincent Koc
102b2c18e9 fix(installer): count verify progress stage 2026-05-24 15:50:28 +02:00
Vincent Koc
ce48e4c197 fix(codex): harden Windows protocol formatting 2026-05-24 15:37:13 +02:00
Vincent Koc
5be62e779b fix(scripts): harden Windows ZAI fallback repro 2026-05-24 15:11:37 +02:00
Vincent Koc
581c8a6375 fix(scripts): harden Windows control UI i18n commands 2026-05-24 14:47:07 +02:00
Vincent Koc
a72b11d29a fix(test): fail missing kitchen sink rss samples 2026-05-24 14:44:14 +02:00
Vincent Koc
6d9b3887ea fix(test): suppress rolldown timing noise 2026-05-24 14:26:19 +02:00
Vincent Koc
0f82c810fc fix(test): sync sparse AWS Crabbox runs from full checkout 2026-05-24 14:00:37 +02:00
Vincent Koc
71547678c7 fix(release): harden Windows cross-os command shims 2026-05-24 13:52:18 +02:00
Vincent Koc
98e09e8817 fix(test): harden Docker resource ceilings 2026-05-24 13:38:50 +02:00
Vincent Koc
295339d616 fix(test): fail live gateway false greens 2026-05-24 12:38:23 +02:00
Vincent Koc
3838e450dd fix(test): build startup artifacts for smoke scripts 2026-05-24 12:34:13 +02:00
Vincent Koc
bca1ac03fe fix(ci): keep Crabbox pnpm hydration shims writable 2026-05-24 11:31:36 +02:00
Peter Steinberger
f799da0947 fix(docker): seed lockfile packages before prune 2026-05-24 09:33:34 +01:00
Peter Steinberger
2cd93f1c0d fix(docker): seed lockfile snapshot tarballs before prune 2026-05-24 09:18:04 +01:00
Vincent Koc
a56f452972 fix(release): harden Windows npm shim verification 2026-05-24 09:02:44 +02:00
Vincent Koc
d21abb88e4 fix(scripts): harden Windows install checks 2026-05-24 07:03:49 +02:00
Peter Steinberger
3839b48615 test(parallels): harden release VM smoke isolation 2026-05-24 05:50:03 +01:00
Gio Della-Libera
82af6119fa fix: honor OPENCLAW_HOME defaults (#85802)
* fix: honor OPENCLAW_HOME defaults

* fix(install): preserve openclaw home upgrade defaults

* fix(install): satisfy shellcheck tilde patterns
2026-05-23 20:39:59 -07:00
Peter Steinberger
bc6d430d00 fix: recover discord realtime playback state 2026-05-24 03:44:31 +01:00
Dmitry Golubev
7b3be04582 fix(codex): ensure codex subagent bootstrap parity with pi subagents - only inject AGENTS.md and TOOLS.md (#85811)
* fix: limit Codex native subagent bootstrap context

* fix: preserve Codex turn instructions accounting

* fix: split Codex workspace instruction renderers

* fix(codex): keep persona files turn-scoped

---------

Co-authored-by: Beru <beru@lastguru.lv>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-24 02:48:03 +01:00
Vincent Koc
32f91503be fix(scripts): harden Windows QA runners 2026-05-24 02:55:08 +02:00
Peter Steinberger
d2e9f91cec test: align full release dispatch assertion 2026-05-23 20:24:30 +01:00
Vincent Koc
353d13248e fix(scripts): route check stages through managed runner 2026-05-23 21:20:52 +02:00
Peter Steinberger
9cef99f184 test: clean up Codex app-server run failures 2026-05-23 20:12:44 +01:00
Vincent Koc
208a0679e2 fix(scripts): avoid Windows shell argv warnings 2026-05-23 20:00:24 +02:00
Vincent Koc
8a94e825cd fix(scripts): run Windows check commands through shims 2026-05-23 18:30:14 +02:00
Jason O'Neal
7fffbf60b0 fix: harden package URL downloads (#85578)
* fix: harden package URL downloads

Guard package acceptance URL downloads with HTTPS-only validation, no embedded credentials, private/special-use DNS and IP rejection, manual redirect checks, bounded timeout/size limits, pinned lookup, and atomic temp-file writes. Add tooling tests for unsafe URLs, redirect validation, size limits, and successful writes.

* fix: cancel redirect response bodies before closing dispatcher

ClawSweeper P2: the redirect branch in openPackageDownloadResponse cleared
the timeout and awaited dispatcher.close() without first cancelling
response.body. Undici's close() is graceful — it waits for in-flight
requests to complete — so a malicious redirect with a slow/never-ending
body could hang the hardened downloader.

Fix: call response.body?.cancel() before dispatcher.close() to abort the
redirect body immediately.

Test: add a regression test that uses a ReadableStream with an indefinite
interval to simulate a hanging body, and asserts cancel() was called.

Refs: clawsweeper review on PR #85512

* test: harden redirect body cancellation race in regression test

Guard the ReadableStream controller.enqueue() call with a cancelled
flag and try/catch to prevent ERR_INVALID_STATE when the interval
fires after cancel() closes the controller.

* fix: cancel final response body before closing dispatcher in downloadUrl

ClawSweeper P2: the HTTP-error and declared-oversize early-exit paths
in downloadUrl threw before consuming or canceling response.body. The
finally block then cleared the timeout and awaited graceful
dispatcher.close() with the body still open, allowing a slow/never-ending
response to hang release tooling.

Fix: add response.body?.cancel() in the finally block before
dispatcher.close().

Tests: add two regressions:
- HTTP 500 with slow body: asserts cancel() called before dispatcher close
- Declared content-length oversize with slow body: same assertion

* fix: add trusted package URL source policy

* fix: keep package URL resolver dependency-free

* test: cover encoded IPv6 package URL bypasses

* docs: sync package acceptance source overview

* docs: restore release doc formatting

* docs: sync package acceptance trusted-url source

* test: cover dotted IPv4 embedded IPv6 package URLs

* fix: parse dotted IPv4 embedded in IPv6 package URLs

* test: isolate anthropic pruning defaults

* test: move anthropic dated model coverage

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-23 17:28:29 +01:00
Peter Steinberger
35969ff440 ci: retry npm Telegram release dispatch 2026-05-23 17:19:00 +01:00
Peter Steinberger
030b7bb4b7 test(ci): update plugin prerelease checkout expectation 2026-05-23 16:31:34 +01:00
Vincent Koc
0d7d99befa fix(ci): repair crabbox hydrate replay (#85706) 2026-05-23 20:02:07 +08:00
Vincent Koc
5c535df0a2 fix(scripts): resolve Crabbox shims on Windows 2026-05-23 13:23:49 +02:00
Vincent Koc
68bcd4e39d test(ci): harden installer smoke coverage 2026-05-23 13:19:12 +02:00