Vincent Koc
49161dee60
fix(release): unblock deferred Telegram beta validation ( #120630 )
...
* fix(release): allow deferring package Telegram validation
* fix(qa): mount taxonomy in package Telegram harness
* fix(release): restrict Telegram deferral to beta
2026-08-09 01:03:02 +08:00
Peter Steinberger
7ecdef6e2e
fix: prefer Crabbox inspect SSH host ( #120611 )
2026-08-08 08:30:07 -07:00
Peter Steinberger
d9080cfff8
fix(agents): transfer requester wake ownership across yield and deflake survivor registry setup ( #120538 )
2026-08-08 01:42:33 -07:00
Peter Steinberger
733512b612
fix(e2e): expose beta companions in survivor registries and unbind ReDoS timing from shell startup ( #120479 )
2026-08-07 22:12:00 -07:00
Peter Steinberger
fb0812c857
fix(qa): prevent false update-restart package failures ( #120300 )
...
* test(qa): expose update restart process exits
* test(qa): supervise update restart gateway
* test(qa): isolate supervised gateway environment
* test(qa): diagnose restart plugin convergence
* test(qa): mount trusted upgrade harness
* test(qa): include upgrade runtime companions
* test(qa): remove temporary restart diagnostics
* test(qa): enforce systemd restart budget
* test(qa): honor systemd stop timeout
* test(qa): tighten package fixture ownership
* test(qa): preserve unrelated lane shapes
* test(qa): complete service fixture boundaries
2026-08-07 14:46:59 -07:00
Peter Steinberger
2fa9a29c77
test(plugins): add Agent Plugins gateway e2e with model-driven MCP tool call ( #120303 )
...
* test(plugins): add Agent Plugins gateway e2e with model-driven MCP tool call
* fix(test): wire Agent Plugins gateway E2E and assert activation
2026-08-07 11:47:07 -07:00
Vincent Koc
a0deb8edae
fix(release): provide prerelease plugin companions to package QA ( #120107 )
2026-08-07 13:31:41 +08:00
Vincent Koc
2013123472
fix(release): isolate private Telegram QA harness ( #120088 )
2026-08-07 10:03:14 +08:00
sinner
c7de4413a9
fix(cron): reject unsupported generic timeout edits ( #119899 )
...
Co-authored-by: zyw02 <zyw02@users.noreply.github.com >
Punchcard-Session: cobalt-willow-summit-z1
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-06 19:45:59 +08:00
Vincent Koc
beda1e97c6
fix(onboarding): honor external gateway supervision ( #119846 )
...
Punchcard-Session: quiet-meadow-timber-mj
2026-08-06 17:26:43 +08:00
Peter Steinberger
d6233c29b9
fix(browser): preserve locale, timezone, and device overrides ( #119695 )
...
* fix(browser): make device emulation transitions atomic
* test(browser): verify device presets in packaged profile
* fix(browser): retain page emulation overrides
2026-08-05 12:29:26 -07:00
qingminlong
cb2965ddde
fix(scripts): use direct-run helper for Windows guards ( #110877 )
...
* fix(scripts): normalize Windows direct-run guards
* test(scripts): cover direct-run routing
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-04 23:11:12 +08:00
Vincent Koc
12beeb7b29
test(qa): cover packaged browser profiles ( #119043 )
2026-08-04 11:13:05 +08:00
Vincent Koc
b4faa5aa5e
chore(gateway): cover update and setup RPCs
...
* test(gateway): cover update and setup RPCs
* test(gateway): cover target wizard lifecycle
* test(gateway): normalize QA fixture ownership
* test(gateway): include historical dist closure
* test(gateway): isolate historical update fixture
* test(qa): align target wizard lifecycle proof
* test(qa): read structured gateway call errors
2026-08-04 09:15:55 +08:00
Vincent Koc
ee397f0c59
test(qa): prove ClawHub catalog discovery ( #118934 )
...
* test(qa): prove ClawHub catalog discovery
* test(qa): use shared temp cleanup
2026-08-04 09:07:35 +08:00
Vincent Koc
a85d3bbc5c
test(qa): prove container health endpoints ( #119012 )
2026-08-04 08:49:51 +08:00
Vincent Koc
15b23cfc2d
fix(docker): use authenticated gateway health command ( #118996 )
...
* fix(docker): use authenticated gateway health command
* test(docker): prove documented compose health command
2026-08-04 07:10:36 +08:00
Vincent Koc
06b5f0b2ff
test(qa): cover CLI onboarding and plugin install sources ( #118882 )
...
* test(qa): cover CLI onboarding and plugin sources
* test(qa): assert npm file plugin source
* test(qa): redact onboarding password assertion
* test(qa): retain onboarding evidence log
2026-08-04 06:54:42 +08:00
Vincent Koc
1d446ad2cc
fix(plugins): remove stale load paths during uninstall ( #118930 )
...
* test(qa): prove marketplace plugin updates
* fix(plugins): clean exact install load paths on uninstall
* fix(ci): register marketplace lifecycle assertions
2026-08-03 21:57:54 +00:00
Vincent Koc
5b1b1e0632
test(qa): cover CLI distribution workflows ( #118948 )
2026-08-04 05:09:39 +08:00
Vincent Koc
819c241406
fix(parallels): keep provider keys out of POSIX job logs ( #118840 )
2026-08-04 02:26:22 +08:00
Shakker
b8f5aa8ec8
fix: keep skip-ui onboarding on guided flow ( #118737 )
...
Keep `openclaw onboard --skip-ui` and `openclaw setup --skip-ui` on guided onboarding while suppressing browser and terminal handoffs.
Refs #118388 and #118038 .
Prepared head SHA: 4e284c4523
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-08-03 18:03:01 +01:00
Peter Steinberger
b132ceba1a
fix(parallels): preserve real Windows launch outcomes after setup timeouts ( #118765 )
...
* fix(parallels): preserve real launch outcomes after setup consumes its deadline
* fix(parallels): drain completed launches before enforcing setup deadlines
2026-08-03 10:01:33 -07:00
Vincent Koc
8987e93c65
fix(parallels): recover Windows poll transport failures ( #118479 )
2026-08-03 23:38:08 +08:00
Peter Steinberger
a613ec3383
refactor: consolidate kitchen sink RPC walk helpers ( #118486 )
...
* refactor(e2e): consolidate kitchen sink RPC helpers
* fix: bind kitchen sink process signaling
2026-08-02 22:30:38 -07:00
Peter Steinberger
9b8e50b9f6
refactor(scripts): consolidate redundant tooling paths ( #118259 )
2026-08-02 16:20:09 -07:00
Peter Steinberger
7866ecae4b
fix(release): keep npm 12 pack checks working ( #118209 )
...
* fix(release): accept npm 12 pack json
* fix(release): share npm pack normalizer in plugin workflow
2026-08-02 14:57:49 -07:00
Vincent Koc
b35b8e286d
fix(plugins): unblock prerelease validation ( #118103 )
...
* fix(plugins): align compatibility registry identity
* fix(slack): compact response URL native fallbacks
* test(plugins): stabilize prerelease runtime checks
* fix(packaging): include CUA driver in root package
* fix(packaging): declare CUA runtime dependency
* fix(cua): defer native driver loading
2026-08-03 04:48:05 +08:00
Dallin Romney
44dc286ce7
fix(qa): use canonical service identity for update restart ( #117814 )
2026-08-02 17:18:01 +08:00
Vincent Koc
263741b1f0
fix(ci): align release validation fixtures ( #117494 )
...
* fix(release): align beta 6 e2e fixtures
* fix(doctor): preserve missing state startup signal
* test(release): align beta e2e contracts
* test(agents): use canonical empty auth store
* test(agents): isolate prompt cooldown scheduling
* test(release): align main validation fixtures
* test(release): accept Code Mode plugin tool evidence
* fix(test): repair release validation checks
* test(cron): assert structured session targets
2026-08-02 00:39:36 +08:00
Dallin Romney
f1f53f49b3
fix(release): accept legacy Codex follow-through delivery ( #117458 )
...
* fix(release): accept legacy Codex follow-through delivery
* docs(release): explain extended-stable Codex validation
2026-08-01 23:30:47 +08:00
Vincent Koc
f5a8cb02ea
test(release): repair full validation regressions ( #116931 )
...
* test(discord): mock thread delete listener
* test(qa): expect blocked update evidence
* test(telegram): preserve recovered context body
* fix(test): configure kitchen-sink personality
* test(browser): expect canonical staged upload paths
* test(browser): canonicalize macOS download roots
* test(feishu): seed legacy session rows offline
* test(telegram): isolate message context session stores
* test(qqbot): expect canonical media paths
* test(anthropic): match canonical transcript paths
* test(qa): expect canonical session store keys
* test(gateway): isolate rewind media reads
* test(release): review plugin child spawns
* test(plugins): expect process-stable manifest metadata
* test(google): retire usage telemetry contracts
2026-08-01 15:42:50 +08:00
Vincent Koc
b45ca07ec9
fix(ci): keep full release validation aligned with runtime state ( #116653 )
...
Align Telegram artifact reuse and packaged Docker validation with current GitHub Actions and runtime state contracts. Refresh affected regression fixtures and isolate test state.
2026-07-31 23:03:02 +08:00
Vincent Koc
c45c318848
fix(plugins): enforce conformance probe diagnostics ( #116676 )
2026-07-31 13:20:33 +08:00
Vincent Koc
39156a99cd
fix(ci): restore beta release harnesses ( #116596 )
...
* test(release): model systemd ownership probes
* fix(ci): restore release Docker package probes
* fix(release): preserve Windows setup-node runtime
* fix(release): isolate Windows service validation
* fix(release): strip isolated Windows service identity
2026-07-31 09:17:35 +08:00
Peter Steinberger
e604cf5b77
fix(release): trust update restart harness ( #116301 )
...
* fix(release): trust update restart harness
* fix(release): preserve candidate harness root
2026-07-30 05:19:16 -07:00
Ayaan Zaidi
4bd56b8ad8
test(e2e): tag the mock Responses preamble with its wire phase
...
The mock streamed pre-tool assistant text on the Responses path without `phase: "commentary"`, the field the API sets and the transport reads, so the draft-proof scenario ran green while never exercising the preamble lane on that transport. Proven live on Telegram: the preamble now renders as the status headline, and as a commentary line when progress.commentary is on.
2026-07-30 16:34:38 +09:00
Peter Steinberger
3e67671d92
fix(e2e): apply default service identity per flow ( #116265 )
2026-07-30 00:00:14 -07:00
Peter Steinberger
62cbbcc800
fix(e2e): align service account state ( #116254 )
2026-07-29 23:00:16 -07:00
Ayaan Zaidi
d8d77ffbae
test(e2e): delay the draft-proof final answer past the start gate
...
A progress draft only exists while the agent is working, and OpenClaw's exec
returns instantly for a mock tool call, so the whole turn finished in ~86ms —
inside the 1.5s draft gate. No draft was created, which is correct behavior but
proves nothing about rendering.
The draft-proof scenario now holds its final answer (MOCK_DRAFTPROOF_FINAL_DELAY_MS,
default 6s) so the turn straddles the gate. That is what made the live Discord
recording possible: draft created, edited with the status headline above the
tool line, replaced by the final answer, then deleted.
2026-07-30 13:36:21 +09:00
Ayaan Zaidi
dcb0ad5c29
fix(ci): satisfy docs formatting, lint, and the SDK API baseline
...
Three gates my own changes broke:
- docs/channels/telegram.md needed a blank line before </Note>; I formatted the
TypeScript but never ran the docs formatter over the pages I edited.
- The mock harness matched a literal with a regex, which oxlint's prefer-includes
rejects.
- Widening resolveChannelPreviewStreamMode's defaultMode to StreamingMode and
adding rendersRollingLinesNatively changes the exported plugin-SDK surface, so
the API baseline hash had to be regenerated.
2026-07-30 13:36:21 +09:00
Ayaan Zaidi
436557b8e9
test(e2e): add a progress-draft scenario to the mock provider
...
Proving headline-plus-tool-line composition needs assistant text emitted
*before* a tool call: that leading text is what gets tagged as commentary and
rendered as the draft's status headline. The mock could only echo a single token,
so the draft path was unreachable without a live model.
Trigger `OPENCLAW_E2E_DRAFTPROOF` now serves two turns — preamble plus a shell
call, then the final answer — on both /v1/responses and /v1/chat/completions.
Only the completions transport tags commentary today, which is why the
completions path matters here.
Used to record the draft live on real Telegram: one message carrying the
headline above the tool line, the final answer, then the draft edited to its
receipt.
2026-07-30 13:36:21 +09:00
Vincent Koc
16baaff90f
fix(e2e): align doctor switch with service ownership ( #116209 )
2026-07-30 12:31:39 +08:00
Peter Steinberger
4430f8ecfd
fix(e2e): use account home for daemon switch ( #116217 )
2026-07-29 21:06:38 -07:00
Peter Steinberger
9c3503a443
fix(e2e): use default state for daemon switch ( #116190 )
2026-07-29 20:02:19 -07:00
Vincent Koc
6ef0beaa60
Merge pull request #115951 from openclaw/refactor/isrecord-cleanup-final-20260729
...
refactor: reuse canonical record guards
2026-07-30 02:36:19 +08:00
Peter Steinberger
d16e33e08e
fix: restore trustworthy end-to-end QA and cross-channel delivery ( #115404 )
...
* fix(qa): repair verified end-to-end and channel regressions
* fix(gateway): make interrupted restart recovery lifecycle-safe
* test(heartbeat): target the canonical recovery session store
* fix(gateway): prioritize durable restart recovery before heartbeat
* fix(qa): preserve safe restart recovery and channel expiry
* fix(qa): fail closed and fence restart recovery
* test(agents): isolate restart recovery timing
* test(agents): prove actual restart retry timing
* fix(qa): report incompatible profile scenarios
* fix(scripts): resolve symlinked docker scheduler entrypoints
* fix(qa): require fresh native test evidence
* fix(heartbeat): fence active restart recovery delivery
* fix(gateway): consume untargeted restart acknowledgements
* fix(qa): satisfy exhaustive hosted validation gates
* fix(agents): fence stopped restart recovery dispatch
* style(agents): format restart recovery lifecycle regression
* test(gateway): isolate context prewarm sidecar lifecycle
* test(qa): make scenario process timeout cleanup deterministic
* fix(qa): stamp synthetic gateway configs with current version
* fix(openai): preserve vision capabilities in stale model catalogs
* test(qa): align profile channel rejection with current main
* fix(openai): forward supported moderation for image edits
* fix: restore latest-main CI and image edit documentation
* fix(qa): retain relocated code-mode evidence validation
* fix(openai): expose GPT-5.4 vision in static catalog
* fix(pricing): honor explicit model cost overrides
* test(pricing): keep isolated provider regressions deterministic
* fix(openai): inherit transport for discovered static models
* fix(gateway): honor agent-owned static image capabilities
* test(gateway): preserve prepared-snapshot attachment races
* test(gateway): isolate subagent persistence failure injection
* test(gateway): exercise concurrent voice replay admission
* fix(gateway): restore stale model image capabilities
* fix(agents): publish configured model vision capabilities
* fix(agents): isolate detached media transcript ownership
* test(agents): preserve generic transcript lock regression
* fix(gateway): require proven static model route identity
* fix(qa): accept bounded full-size generated image attachments
* fix(qa): require fresh script producer evidence
* test(qa): prove native E2E scenario execution
2026-07-29 12:45:27 -04:00
Vincent Koc
ee8f60d38a
refactor(scripts): reuse shared record guard
2026-07-29 16:42:12 +02:00
Vincent Koc
38abf500ba
fix(update): stabilize cross-version dev upgrades ( #115651 )
...
* fix(e2e): stabilize cross-version Parallels upgrades
* fix(e2e): avoid inline macOS guest probes
* fix(e2e): detach Windows dev updates
* fix(e2e): detach macOS guest updates with Node
* fix(e2e): initialize skipped upgrade config
* fix(update): use partial clone for dev checkout
* fix(update): keep Windows dev checkouts clean
* fix(e2e): pin Parallels dev update targets
* fix(e2e): own Parallels gateway restarts
* fix(e2e): verify pinned Parallels checkouts
* fix(e2e): forward Parallels update budgets
* fix(e2e): use canonical provider auth choices
* chore: leave changelog to release automation
* test(ui): stabilize route waits on loaded runners
2026-07-29 19:52:34 +08:00
qingminlong
ba26595aaa
fix(e2e): bound Docker stats sample lines ( #109262 )
...
* fix(e2e): bound Docker stats sample lines
* fix(e2e): format Docker stats line cap proof
* fix docker stats CRLF line cap
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-29 07:30:29 -04:00