Peter Steinberger
7bc994aee8
fix(install): avoid success after incomplete lifecycle changes ( #125992 )
...
* fix(install): make lifecycle mutations transactional
Standalone installers now apply npm-version-aware lifecycle approval. Updates verify and repair the installation before reporting success and preserve the prior install owner during method switches. Uninstall now exits nonzero when requested cleanup is only partially completed. Plugin update behavior is unchanged.
Closes #125925
* test(uninstall): assert aggregated live-owner failure
* fix(install): satisfy standalone shell checks
* fix(update): scan PATH for prior Git wrapper
* test(hooks): await Gmail watcher descendant exit
* fix(install): verify Windows npm candidate
* fix(ci): normalize package acceptance version
* fix(update): preserve staged local package links
* test(update): fold staged symlink coverage
* fix(update): retire every legacy Git wrapper
* test(docs): align consolidated ownership checks
2026-08-18 20:50:15 -07:00
Peter Steinberger
076a8cc616
fix(install): avoid unusable checkout directories after failed clones ( #124872 )
...
* fix(install): publish fresh git clones transactionally
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(installer): preserve empty clone destinations transactionally
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(update): satisfy transactional clone lint
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(update): type recovery directory assertion
* fix(installer): retain canonical clone checkout
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(update): retain published checkout root
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(update): cover package preflight before clone
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-17 02:40:07 -07:00
Peter Steinberger
a917c99e92
fix(runtime): classify Node releases consistently across install and launch ( #124812 )
...
* fix(runtime): align Node release version guards
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(runtime): include Node version helper in source fixture
* fix(install): align Node release checks across boundaries
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix: keep node version guard legacy-compatible
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(runtime): exercise legacy launcher preflight
* fix(installer): validate installed Node release versions
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(installer): compare Node version parts numerically
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(installer): cover 17-digit Node major
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-17 00:42:23 -07:00
Peter Steinberger
2b2c11e748
fix(install): keep stable channel when npm install retries ( #124778 )
...
* fix(installer): keep npm channel target immutable
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(install): fail after repeated CLI package install errors
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(installer): verify npm package publication
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(install): satisfy shellcheck for entry validation
* fix(installer): link the packaged OpenClaw launcher
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(installer): keep retry fixture version-valid
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-17 00:17:26 -07:00
Peter Steinberger
3ac267fdd1
fix(installer): reject unusable prefix installs ( #123716 )
...
* fix(installer): reject unusable prefix installs
* test(installer): clean invalid package fixtures
* fix(installer): require successful version probe
2026-08-14 09:44:54 -07:00
Peter Steinberger
cc99d99f24
fix(installer): resolve relative CLI install paths ( #122626 )
2026-08-12 06:32:15 -07:00
Peter Steinberger
915c25d713
fix(macos): complete ChatGPT subscription setup ( #120782 )
...
Fresh Dev installs now preflight disk space and stream honest stages, while Codex activation probes the refreshed request-scoped registry.
Closes #120779
Closes #120780
2026-08-08 17:16:00 -07:00
Patrick Erichsen
355c107c09
fix(macos): unblock first-launch gateway setup ( #119831 )
...
* fix(macos): stop writing retired config metadata
* fix(macos): guard packaged CLI bootstrap versions
* chore(macos): refresh native i18n inventory
* fix(macos): repair retired metadata before gateway start
2026-08-05 22:25:17 -07:00
ooiuuii
807506381a
fix(install): reject commit-less git checkouts ( #113809 )
...
* fix(install): reject commit-less git checkouts
* test(install): fix incomplete-checkout coverage
* fix(install): pin incomplete checkout validation
* test(install): update pinned checkout stub
* fix(install): require checkout HEAD commit object
2026-08-02 08:05:42 -07:00
Peter Steinberger
902cc53279
refactor: batch of independent dedup wins ( #113535 )
...
* refactor(config): reuse session parent fork types
* refactor(channels): reuse setup adapter type
* refactor(discord): share model preference primitives
* refactor(whatsapp): share reaction eligibility
* test(auto-reply): deduplicate dispatch scenarios
* test(scripts): share scenario fixtures
* test: share process and registry fixtures
* test: satisfy dedup fixture lint
* fix(plugin-sdk): keep setup adapter contract acyclic
2026-07-25 02:56:05 -07:00
ooiuuii
396194b96b
fix(install): reject PATH runtimes with broken npm ( #107825 )
...
* fix(install): reject runtimes with broken npm
* test(installer): use real Node for npm selection
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 17:17:07 -07:00
lybnnnn
02f494b51e
fix: clarify SQLite version error message to prevent user confusion ( #108382 )
...
* fix: clarify SQLite version error message to prevent user confusion
The error message "3.44.6+" was misinterpreted by users as meaning "3.44.6 and above",
when it actually means "3.44.6+ for the 3.44.x series only". This commit clarifies the
error message to explicitly state that only specific patched versions (3.44.6+, 3.50.7+,
and 3.51.3+) are safe, and that SQLite 3.46.1 is not among them.
Changes:
- Update error message in src/infra/node-sqlite.ts to clarify version requirements
- Update test expectations in src/infra/node-sqlite.test.ts to match new error format
- Fix unnecessary template literal expressions flagged by oxlint
The code logic remains unchanged - SQLite 3.46.1 is correctly rejected as unsafe.
* fix: clarify SQLite version error message to prevent user confusion
The previous error message stated '3.44.6+' which users misinterpreted as
'3.44.6 and above', leading to confusion when versions like 3.46.1 were rejected.
The new message explicitly states '3.44.6+ in the 3.44.x series' and
'3.50.7+ in the 3.50.x series' to make it clear that only specific
minor version series received the WAL-reset bug fix.
This matches the SQLite team's actual fix announcement which only
backported the fix to 3.44.x and 3.50.x series, plus 3.51.3+.
* fix(sqlite): align unsafe version diagnostics
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 05:24:14 -07:00
Alix-007
5f2828b50a
fix(installer): time out stalled runtime downloads ( #108619 )
...
* fix(installer): bound curl download stalls
* chore: format installer timeout tests
* fix(installer): limit timeout to true download stalls
* fix(installer): scope timeout to transfer stalls
2026-07-15 23:01:31 -07:00
Peter Steinberger
2bbf5e6ca0
fix(macos): prevent clipped and stalled onboarding ( #107598 )
...
* fix(macos): harden onboarding on short screens
* chore: keep release notes in PR body
* chore(i18n): refresh macOS onboarding inventory
2026-07-14 10:07:41 -07:00
Vincent Koc
f33ab243cf
fix(sqlite): reject runtimes vulnerable to WAL corruption ( #106065 )
...
* fix(sqlite): require WAL-reset-safe Node runtime
* docs(sqlite): document safe Node runtime floor
* fix(sqlite): defer runtime library validation until use
* fix(ci): align startup memory with Node 24.15
2026-07-13 13:59:00 +08:00
Peter Steinberger
4b7a5a4e8b
fix(installer): default to Node 22.22.2 ( #104073 )
2026-07-10 19:28:49 -07:00
Sebastien Tardif
95b205eac2
fix(installer): clean temporary files on failure ( #103725 )
2026-07-10 17:53:23 -07:00
Jason (Json)
cccc856b82
fix: reject incompatible Node 23 runtimes ( #99832 )
...
* fix: reject incompatible Node 23 runtimes
* fix: repair installer CI coverage
* docs: clarify supported Node ranges
* fix: fail closed on unreadable runtime versions
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-04 00:03:49 -07:00
Peter Steinberger
6a7b62889e
feat(macos): install and run the local Gateway automatically ( #99767 )
...
* feat(macos): automate local gateway setup
* fix(macos): auto-approve the local Mac node
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
2026-07-03 22:09:56 -07:00
Vincent Koc
bd74a62118
fix(install): use repo pnpm for git installs
2026-06-21 15:34:56 +02:00
Vincent Koc
00a06eab44
refactor(test): dedupe installer npm fixtures
2026-06-18 20:38:29 +08:00
Peter Steinberger
58c663920d
docs: document script tests
2026-06-04 20:49:50 -04:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Vincent Koc
49d605ece7
fix(installer): reject stale cli node runtimes
2026-05-27 05:31:03 +02:00
Vincent Koc
6c5b39291f
fix(installer): reject invalid shell options
2026-05-26 08:51:50 +02:00
Peter Steinberger
c1a026a976
fix: stabilize tests and reduce plugin memory churn
2026-05-26 00:01:30 +01:00
Peter Steinberger
b9f975b64e
Replace Sharp image backend with Photon ( #86437 )
...
* refactor: replace sharp image backend with photon
* refactor: remove whatsapp jimp dependency
* chore: remove stale sharp install workarounds
* test: keep image fixtures off photon
* test: use valid prompt image fixtures
* test: account for optimized PNG fixtures
* test: use valid minimax image fixtures
2026-05-25 15:04:44 +01:00
Peter Steinberger
316d97c938
fix: handle npm min-release-age in installers
...
Replays #84749 because the contributor fork branch became conflicted and was no longer maintainer-writable.
Co-authored-by: TeodoroRodrigo <rodrigoteodoro.90@gmail.com >
2026-05-25 08:13:47 +01:00
Vincent Koc
f68ed721b1
fix(installer): support alpine cli installs
2026-05-25 01:28:13 +02:00
Andy Ye
4742db6c31
fix(installer): avoid before with npm release-age configs ( #85491 )
...
Summary:
- The PR updates the Unix installers to avoid emitting npm `--before` when raw npm config contains `min-releas ... records a changelog fix, and widens an internal model-catalog test helper type to accept sync auth checks.
- PR surface: Source +1, Tests +421, Docs +1, Other +150. Total +573 across 7 files.
- Reproducibility: yes. The linked report at https://github.com/openclaw/openclaw/issues/84743 gives an isolat ... exclusivity, and current main still has the source path that can generate the conflicting `--before` flag.
Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(installer): avoid before with npm release-age configs
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8549…
Validation:
- ClawSweeper review passed for head fb0762f468 .
- Required merge gates passed before the squash merge.
Prepared head SHA: fb0762f468
Review: https://github.com/openclaw/openclaw/pull/85491#issuecomment-4522229812
Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com >
2026-05-24 21:18:58 +00: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
Vincent Koc
15a0156a8c
fix(update): reject openclaw source package targets
2026-05-22 07:35:57 +08:00
Peter Steinberger
97d1f5fd15
fix: bypass npm freshness filters during updates
...
Bypass npm min-release-age/before quarantine for OpenClaw-managed package installs and update installer scripts/tests/docs.\n\nFixes #82630 .
2026-05-16 18:17:18 +01:00
Peter Steinberger
a9aafc84b1
fix: fetch git installer branch refs without tags
2026-05-15 05:11:35 +01:00
Keshav's Bot
b26dcb3390
fix: scope git installer lockfile refresh
2026-05-15 05:11:35 +01:00
Peter Steinberger
d1fdd6e186
fix(installer): honor git install versions
2026-05-13 13:17:29 +01:00