Commit Graph

1637 Commits

Author SHA1 Message Date
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
Vincent Koc
1e21121021 fix(ci): require live docker credentials by resource 2026-05-23 12:39:02 +02:00
Vincent Koc
cc6c3728c7 fix(ci): require factory auth for droid live docker 2026-05-23 12:20:26 +02:00
Vincent Koc
15d9134fc6 fix(e2e): prefer x64 MinGit on Windows 2026-05-23 11:46:25 +02:00
Peter Steinberger
07694c639d feat: add meeting notes plugin
Adds source-only external meeting notes plugin, SDK source-provider contract, CLI access, date-sharded storage, and Discord voice source.
2026-05-23 10:38:09 +01:00
Vincent Koc
6657b493e2 fix(e2e): scrub Windows update config on PowerShell 5.1 2026-05-23 11:24:36 +02:00
Vincent Koc
73c1e375e4 test(e2e): sample kitchen sink RSS on Windows 2026-05-23 09:07:31 +02:00
Vincent Koc
c298dfe013 test(plugins): fail gauntlet on load diagnostics 2026-05-23 08:55:44 +02:00
Vincent Koc
9ff1a4371f fix(build): preserve tsdown heap floor 2026-05-23 08:39:17 +02:00
Vincent Koc
743fd4c9db fix(ci): scope changed shrinkwrap checks 2026-05-23 08:17:56 +02:00
Vincent Koc
2edd6e2462 fix(installer): fail failed Windows git builds 2026-05-23 11:08:04 +08:00
Dallin Romney
6b52dff22d fix(github): preserve sufficient proof against negative relabel (#85567) 2026-05-22 19:13:33 -07:00
Vincent Koc
58e9628300 fix(testbox): preserve clean sparse checkouts 2026-05-23 07:51:55 +08:00
Gio Della-Libera
ad19dd8691 fix(ui): run ui script through junction paths (#85525)
* fix(ui): run ui script through junction paths

* test(ui): make junction direct-execution test portable

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-22 16:50:14 -07:00
Dallin Romney
423f525438 test: align release validation package acceptance check (#85515) 2026-05-22 14:30:35 -07:00
Peter Steinberger
dcfc7e58fa ci: unblock advisory Tideclaw alpha release checks 2026-05-22 22:09:18 +01:00
Vincent Koc
684a9b2e6e fix(installer): tolerate WSL UNC launch cwd 2026-05-23 04:59:08 +08:00
Dallin Romney
0a50cbdf34 Add TUI PTY integration coverage (#85485)
* test: add TUI PTY integration coverage

* test: stabilize TUI PTY CI

* test: speed up TUI PTY coverage

* test: bound TUI PTY local waits

* ci: keep TUI PTY gate fast

* test: route TUI PTY project in full suite

* ci: run TUI PTY on routing edits
2026-05-22 13:42:58 -07:00
Peter Steinberger
4b63502279 ci: run binding command escape in release checks 2026-05-22 20:12:53 +01:00
Peter Steinberger
d756e1c500 test: add docker proof for plugin binding command escape 2026-05-22 19:58:04 +01:00
Peter Steinberger
a26aba67a8 ci(release): harden node setup before pnpm cache 2026-05-22 19:27:56 +01:00
Peter Steinberger
a0702e195d build(pnpm): use packageManager as pnpm source
Recreated from #85108 because the original branch could not be updated by maintainers.

Preserves current-main pnpm install hardening while switching workflow pnpm setup to packageManager, and adds exact version-scoped release-age exclusions for already-locked packages that pnpm 11.2.2 audits during install.

Co-authored-by: Altay <altay@hey.com>
2026-05-22 19:17:43 +01:00
Peter Steinberger
5e97045345 fix(docker): accept single-object pnpm list output 2026-05-22 18:42:12 +01:00
Vincent Koc
5b90a48e9d fix(installer): persist portable Git on Windows 2026-05-23 00:20:34 +08:00