* chore(deps): refresh compatible dependencies with a seven-day cutoff
Audit all tracked dependency ecosystems against 2026-10-09T02:37:10Z. Regenerate owner-managed locks, align the Codex protocol and release-tool integrity guards, and retain documented incompatible candidates.
* test(linux): align staged OpenAI fixture with audited version
* test: repair scheduler, restart and navigation CI fixtures
* test: preserve restart context and measure live skill elements
The desktop runtime prune allowlist (scripts/lib/desktop-runtime-prune.mjs)
now audits only openai 7.30.0, but the Linux App staging test still installed
a 7.28.0 fixture. The unknown-version safeguard therefore kept
node_modules/openai/src/index.ts and both "stages same-commit Codex and
{linux,windows} dependencies" cases failed on main (Linux App workflow).
Bump the fixture to the audited version; test-stage-package.mjs passes 5/5 on
Node 24 and Node 26.
* feat: start fresh Tauri installs with a local Gateway
* test: align Tauri startup proof with automatic local setup
* test: rely on native proof for automatic Tauri startup
* feat: connect Tauri first run to shared native setup card
* test: align native setup card fixture with lint rules
* feat: support the Windows desktop local Gateway runtime
* fix: admit signed Windows runtime pin metadata
* fix: close the runtime manifest before Windows publication
* fix: use supported Bun flags for Windows installation
* fix: isolate Windows package setup and admit fresh services
* fix: normalize Windows installer temporary paths
* fix: use native Windows paths for Gateway service installation
* test: reacquire replaced Gateway controls before clicking
* fix: recognize Windows runtime paths during setup
* docs: align Windows runtime and release guidance
* docs: distinguish Windows desktop troubleshooting
* docs: scope existing runtime adoption to Linux
Co-authored-by: Peter Steinberger <steipete@gmail.com>
* refactor: deslop small lane leftovers (qa-lab, linux, worker environments)
Combine the d16, l427, and d15 cleanup lanes, removing 717 net production
lines while preserving existing lifecycle, authority, platform, and public
contracts. Publish the Parallels timeout fixture PID atomically after
installing its signal handler.
Keep main's rewritten Slack readiness handling, Rust authorization expression,
and worker-store dispatcher. Record complete local proof, conservative
exclusions, and unresolved baseline-comparison failures in the PR; exact-head
hosted CI supplies the final Linux and integration gates.
* fix(gateway): preserve serialized worker placement field order
Drop the placement-projector cleanup from the bundle. Spreading workspace
fields moved activeOwnerEpoch after the workspace fields and changed the
serialized base-row hash. Keep main's explicit property order and the golden
expectation unchanged.
The golden-row and placement-projector suites pass all 17 tests. Fresh review,
core types, typed lint, and both zero-cycle checks pass. The bundle now removes
713 net production lines across 72 paths.
Share guarded window and RPC operations, native browser/widget placement, and identical presentation declarations while preserving public contracts and visual output. Remove 592 net production lines after a largest-first deep pass.
Also preserve early Quick Chat visibility intent across renderer initialization, with regressions that fail the original startup race. Validate Cargo build/test/clippy on macOS and Linux, six native Linux scenarios, browser and style parity, focused and full subsystem tests, changed-file checks, cycles, and independent review.
Remove one-use factories and forwarding layers, fixed private options,
unconsumed projections, and duplicate owner state across iOS, Android,
Wear, and the Linux companion. Preserve native layouts, persisted keys,
wire payloads, permissions, and lifecycle fencing.
Fix Android attachment bitmap retention after successful or failed JPEG
encoding, with an original-defect regression and owner-level cleanup.
Validation: remote native Rust suites, Android phone/Wear/SMS tests,
Android lint, changed checks, import-cycle gates, and independent review.
The two Linux node:test suites matched the global Vitest inventory without a Vitest owner. Rename them to the established test-*.mjs convention and explicitly run both in the Linux App Node test step. Test bodies and inventory assertions are unchanged.
Verified the exact inventory assertion fails before and passes after; all 13 Linux Node tests, workflow validation, formatting, and independent P2 review pass.
Embed the shared, verified OpenClaw Bun runtime in the Linux companion without automatically replacing existing Gateway services. Fresh setup and the confirmed Use bundled runtime action delegate to canonical CLI installation with the observed runtime pin and service definition; the writer also preserves an intervening operator pause under its native lock.
Remove automatic migration, pending recovery, rollback and Node restoration ownership. Retain immutable runtime directories, document explicit CLI recovery, and keep Tauri on macOS unchanged.
Proof: dual Node 24/e167 suites and final 47-case writer/CLI replay; P2 scoped-clean branch review; x64/ARM Cargo, AppImage/deb and ABI smoke; Node-hidden Bun-only smoke; native fresh/adoption/update/pause/reassignment/lock-race and published-CLI compatibility flows. Exact-head CI failures are retained and independently attributed through the native admin exception; see the PR evidence for unresolved main-side test causes.
* feat: support inline browser panels in the Tauri companion
* test: cover inline browser proof in companion CI routing
* fix: register the native browser validation entry point
Fix Linux AppImage startup failures caused by recursive GStreamer dependency collection.
- stage only the required media plugin set
- verify direct FUSE and extracted startup, shell ABI isolation, media playback, and onboarding
- document explicit Linux packaging prerequisites
Related: https://github.com/openclaw/openclaw/issues/136148