Brandon
2d65908f7f
fix(update): pipe post-core child stdio on Windows ( #78483 )
...
Fixes #78445 .
- Use piped stdio for the post-core update child on Windows so the child and descendants do not inherit the parent console handles.
- Relay child stdout/stderr back to the parent when piped so update output remains visible.
- Keep non-Windows behavior on inherited stdio.
- Add focused coverage for the stdio resolver.
Verification:
- `pnpm vitest run src/cli/update-cli/update-command.test.ts`
- `pnpm build`
- `pnpm exec oxlint src/cli/update-cli/update-command.ts src/cli/update-cli/update-command.test.ts`
- Full GitHub CI green at `321608e00ba118421ea65124f494458ed229defd`.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 01:52:28 -05:00
Peter Steinberger
955b025697
feat: add native sqlite Kysely dialect
...
Add an owned Kysely dialect for native node:sqlite, raise the Node 22 floor to 22.16+ for StatementSync.columns(), and cover select/returning/stale insert id behavior.
2026-05-07 13:07:03 +01:00
Alex Knight
77480212c7
fix(update): preserve pnpm custom global root ( #78393 )
...
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-05-06 22:46:21 +10:00
the sun gif man
d4b4660026
config: stop automatic writes and guard Nix mutators ( #78047 )
...
Keep startup-derived plugin enablement, gateway auth tokens, control UI origins, and owner-display secrets runtime-only instead of persisting them into openclaw.json.
Refuse config writers, mutating update/plugin lifecycle commands, and doctor repair/token generation in Nix mode with agent-first nix-openclaw guidance.
Verification:
- pnpm check
- pnpm build
- pnpm test -- src/config/io.write-config.test.ts src/config/mutate.test.ts src/config/io.owner-display-secret.test.ts src/gateway/server-startup-config.recovery.test.ts src/gateway/startup-auth.test.ts src/gateway/startup-control-ui-origins.test.ts src/cli/plugins-cli.install.test.ts src/cli/plugins-cli.policy.test.ts src/cli/plugins-cli.uninstall.test.ts src/cli/plugins-cli.update.test.ts src/cli/update-cli.test.ts src/auto-reply/reply/commands-plugins.install.test.ts src/auto-reply/reply/commands-plugins.test.ts src/commands/onboarding-plugin-install.test.ts src/commands/doctor.runs-legacy-state-migrations-yes-mode-without.e2e.test.ts src/commands/doctor/shared/codex-route-warnings.test.ts src/commands/doctor/repair-sequencing.test.ts src/agents/auth-profile-runtime-contract.test.ts src/auto-reply/reply/agent-runner-execution.test.ts
- GitHub CI green on 05a2c71b90
Co-authored-by: Codex <noreply@openai.com >
2026-05-06 14:43:32 +02:00
Vincent Koc
64ab50e42b
fix(update): preserve plugin warning context
2026-05-06 03:24:56 -07:00
Peter Steinberger
b85b1c68d1
Refactor file access to use fs-safe primitives ( #78255 )
...
* refactor: use fs-safe primitives across file access
* fix: preserve invalid managed npm manifests
* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +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
Vincent Koc
fcf0561da0
fix(cli): repair legacy config before update channel switch ( #77069 )
...
* fix(cli): repair legacy config before update channel switch
* docs(changelog): note update channel legacy config repair
* fix(update): keep legacy config repair doctor-owned
* fix(update): keep dry runs read-only
* fix(update): avoid include-flattening legacy repair
2026-05-05 17:54:53 -07:00
Vincent Koc
2014c2327b
fix(plugins): sync official plugin installs during update ( #78065 )
...
* fix(plugins): sync official npm installs during update
* fix(plugins): sync official clawhub installs during update
* test(update): mock official plugin sync helpers
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-05-05 17:27:32 -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
Vincent Koc
7c0f5463a5
fix(update): isolate plugin sync failures
...
Disable and skip plugins that fail package-update plugin sync so broken plugin packages do not fail an otherwise successful OpenClaw update.
2026-05-04 14:06:44 -07:00
Vincent Koc
fdaa5a0c3d
fix(update): exit post-core resume without result path
2026-05-04 14:06:18 -07:00
Vincent Koc
3af3fcfebe
fix(update): exit post-core package child
2026-05-04 13:16:02 -07:00
Vincent Koc
3fb8c405ed
fix(update): finish post-core package updates
2026-05-04 13:10:24 -07:00
jonathanlindsay
745c5bd772
fix: recover macos launchagent after updates
2026-05-03 17:55:02 +01:00
NVIDIAN
c81c0171cd
fix(cli): block gateway-owned package updates ( #75819 )
...
Merged via squash.
Prepared head SHA: acdf73e6d0
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-05-03 11:40:36 +08:00
Peter Steinberger
63a3a0e1ec
fix: recover missing plugin payloads during update
2026-05-02 21:53:37 +01:00
Peter Steinberger
f969ae45a3
fix(plugins): follow beta channel for plugin updates
2026-05-02 20:19:03 +01:00
Mason Huang
0b09cfb8cd
fix(cli): block package updates from inside running gateway service ( #75729 )
...
Merged via squash.
Prepared head SHA: 8f301c5632
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-05-02 21:48:38 +08:00
Vincent Koc
cad2cef0fb
fix(update): use service env for doctor
2026-05-01 05:06:14 -07:00
Vincent Koc
debb8ac76c
fix(update): verify daemon restart port
2026-05-01 05:06:14 -07:00
Peter Steinberger
067375cee3
fix: retry update channel persistence
2026-05-01 09:30:10 +01:00
Peter Steinberger
7475b27887
fix(update): tolerate legacy doctor metadata handoff
2026-04-29 04:16:06 +01:00
Peter Steinberger
180033eeae
fix(update): resume git post-update in updated process
2026-04-29 03:39:09 +01:00
Vincent Koc
43da089790
fix(update): skip disabled plugins during post-update sync ( #73970 )
...
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-04-28 19:36:11 -07:00
Peter Steinberger
d84ce5e419
fix(update): disable compile cache for post-update commands
2026-04-28 21:39:10 +01:00
Peter Steinberger
a6141a5a41
fix: harden macOS gateway updates
2026-04-28 05:58:05 +01:00
Samuel Rodda
6c252cc54c
fix(update): require applied gateway restarts
...
Require Control UI updates to observe a real gateway process replacement, surface skipped/error update outcomes, and verify the running gateway version after restart.\n\nAdds update.status restart-sentinel plumbing, docs, generated protocol model updates, and changelog attribution.\n\nLocal verification:\n- pnpm test src/gateway/server-methods/update.test.ts src/cli/gateway-cli/run-loop.test.ts src/infra/restart-sentinel.test.ts src/infra/process-respawn.test.ts src/infra/update-runner.test.ts ui/src/ui/app-gateway.node.test.ts ui/src/ui/controllers/config.test.ts\n- git diff --check\n- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/gateway/protocol.md docs/gateway/configuration.md docs/web/control-ui.md\n- pnpm docs:check-mdx
2026-04-27 04:07:43 -05:00
Tak Hoffman
560ddd2f9b
Fail package update on unhealthy restart ( #72422 )
2026-04-26 18:38:23 -05:00
Peter Steinberger
6077941d0b
fix: restart package updates through updated install
2026-04-26 23:51:51 +01:00
Peter Steinberger
6a00be5f90
fix(update): complete channel switch follow-up work
2026-04-26 11:38:44 +01:00
Peter Steinberger
1be39ac847
fix: increase update step timeout
2026-04-26 10:46:55 +01:00
Peter Steinberger
b67d9bf7f0
fix: propagate update timeout to plugin installs
2026-04-26 10:45:11 +01:00
Peter Steinberger
6cd047e7c2
refactor: clean up update and plugin uninstall helpers
2026-04-26 10:07:39 +01:00
Peter Steinberger
42487d0dac
fix(update): retry npm updates without optional deps
2026-04-26 09:50:27 +01:00
Peter Steinberger
832bdbc777
fix(update): repair package config after update
2026-04-26 09:50:19 +01:00
Peter Steinberger
a434133aac
fix: fail update on plugin sync errors
2026-04-26 09:01:18 +01:00
Peter Steinberger
b979f2964c
fix: warn on low disk before runtime dependency staging
2026-04-26 07:16:26 +01:00
Peter Steinberger
be8a3617d9
fix: verify updated gateway version after package restart
2026-04-26 06:37:26 +01:00
Peter Steinberger
73e2151107
fix: fail updates on activated plugin load errors
2026-04-26 05:57:31 +01:00
Peter Steinberger
427e485f76
fix(update): verify restarted gateway version
2026-04-26 05:35:45 +01:00
Shakker
e7c131d6de
fix: roll back plugin index for update channel writes
2026-04-26 01:25:26 +01:00
Shakker
c19f8a5223
refactor: consolidate plugin install index store
2026-04-26 01:03:12 +01:00
Vincent Koc
888448facc
feat(plugins): move install records to managed ledger
2026-04-25 11:37:10 -07:00
Vincent Koc
0abb2a571f
fix(plugins): derive bundled relocation from registry
2026-04-25 04:59:53 -07:00
Vincent Koc
0cc2b0e283
feat(plugins): refresh registry after plugin mutations
2026-04-25 04:59:53 -07:00
Peter Steinberger
8262735354
fix(plugins): harden runtime dependency repair
2026-04-25 02:07:19 +01:00
Peter Steinberger
f437d96ae2
fix(config): avoid false reload restarts
2026-04-23 00:44:54 +01:00
Peter Steinberger
a1319aaadd
fix(update): skip package no-op installs
2026-04-22 22:05:29 +01:00
Peter Steinberger
0f4ec84a2c
fix: fail closed on plugin integrity drift
2026-04-22 14:59:52 +01:00