Hiren Thakore
193ad2f4f0
fix: handle PowerShell execution policy on Windows install ( #24794 )
...
* fix: add Arch Linux support to install.sh (GH#8051)
* fix: handle PowerShell execution policy on Windows install (GH#24784)
2026-03-02 11:09:01 -06:00
Peter Steinberger
a229ae6c3e
chore(lint): add registerHttpHandler usage guard script
2026-03-02 16:24:06 +00:00
Peter Steinberger
dbc78243f4
refactor(scripts): share guard runners and paged select UI
2026-03-02 14:36:41 +00:00
Peter Steinberger
4dcb16d696
ci: fix install smoke docker helper path
2026-03-02 11:01:56 +00:00
Peter Steinberger
756f9c9fef
refactor(scripts): dedupe installer CLI verification
2026-03-02 08:59:33 +00:00
Peter Steinberger
00a2456b72
refactor(scripts): dedupe guard checks and smoke helpers
2026-03-02 08:54:20 +00:00
Tyler Yust
f918b336d1
fix: agent-only announce path, BB message IDs, sender identity, SSRF allowlist ( #23970 )
...
* fix(agents): defer announces until descendant cleanup settles
* fix(bluebubbles): harden message metadata extraction
* feat(contributors): rank by composite score (commits, PRs, LOC, tenure)
* refactor(control-ui): move method guard after path checks to improve request handling
* fix subagent completion announce when only current run is pending
* fix(subagents): keep orchestrator runs active until descendants finish
* fix: prepare PR feedback follow-ups (#23970 ) (thanks @tyler6204)
2026-03-01 22:52:11 -08:00
Peter Steinberger
842deefe5d
test: split fast lane from channel and gateway suites
2026-03-02 05:33:07 +00:00
Peter Steinberger
d17f4432b3
chore: fix gate formatting and raw-fetch allowlist lines
2026-03-02 04:18:48 +00:00
Peter Steinberger
706cfcd54f
fix: isolate docker onboard e2e config env
2026-03-02 04:10:28 +00:00
Peter Steinberger
6c5633598e
fix(security): harden clawlog command execution
2026-03-01 23:33:13 +00:00
Vincent Koc
38da2d076c
CLI: add root --help fast path and lazy channel option resolution ( #30975 )
...
* CLI argv: add strict root help invocation guard
* Entry: add root help fast-path bootstrap bypass
* CLI context: lazily resolve channel options
* CLI context tests: cover lazy channel option resolution
* CLI argv tests: cover root help invocation detection
* Changelog: note additional startup path optimizations
* Changelog: split startup follow-up into #30975 entry
* CLI channel options: load precomputed startup metadata
* CLI channel options tests: cover precomputed metadata path
* Build: generate CLI startup metadata during build
* Build script: invoke CLI startup metadata generator
* CLI routes: preload plugins for routed health
* CLI routes tests: assert health plugin preload
* CLI: add experimental bundled entry and snapshot helper
* Tools: compare CLI startup entries in benchmark script
* Docs: add startup tuning notes for Pi and VM hosts
* CLI: drop bundled entry runtime toggle
* Build: remove bundled and snapshot scripts
* Tools: remove bundled-entry benchmark shortcut
* Docs: remove bundled startup bench examples
* Docs: remove Pi bundled entry mention
* Docs: remove VM bundled entry mention
* Changelog: remove bundled startup follow-up claims
* Build: remove snapshot helper script
* Build: remove CLI bundle tsdown config
* Doctor: add low-power startup optimization hints
* Doctor: run startup optimization hint checks
* Doctor tests: cover startup optimization host targeting
* Doctor tests: mock startup optimization note export
* CLI argv: require strict root-only help fast path
* CLI argv tests: cover mixed root-help invocations
* CLI channel options: merge metadata with runtime catalog
* CLI channel options tests: assert dynamic catalog merge
* Changelog: align #30975 startup follow-up scope
* Docs tests: remove secondary-entry startup bench note
* Docs Pi: add systemd recovery reference link
* Docs VPS: add systemd recovery reference link
2026-03-01 14:23:46 -08:00
Vincent Koc
94a5d28d26
CI: remove Vitest JSON report artifacts ( #30976 )
...
* CI: remove vitest JSON report upload steps
* Tests: stop injecting vitest JSON reporter
* Tests: remove vitest slowest report script
2026-03-01 13:03:06 -08:00
Vincent Koc
bdd59e0149
Scripts: add CLI startup benchmark harness
2026-03-01 12:56:56 -08:00
Onur
79fcc8404e
Scripts: add openclaw driver mode to discord ACP smoke
2026-03-01 20:39:24 +01:00
Charlie Niño
26db298d3e
fix: sed escaping and UID mismatch in Podman Quadlet setup ( #26414 )
...
* fix: sed escaping and UID mismatch in Podman Quadlet setup
Fix two bugs in the Podman/Quadlet installation path:
1. setup-podman.sh line 227: Remove `/` from sed escape character class.
The sed substitution uses `|` as delimiter, so `/` doesn't need
escaping. Including it causes paths like `/home/openclaw` to become
`\/home\/openclaw`, which Podman rejects as invalid volume names.
2. openclaw.container.in: Add `User=%U:%G` after `UserNS=keep-id`.
The Dockerfile sets `USER node` (UID 1000), but the `openclaw` system
user created by setup-podman.sh may get a different UID (e.g., 1001).
Without `User=%U:%G`, the container process runs as UID 1000 and
cannot read config files owned by the openclaw user.
Closes #26400
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* scripts: extract quadlet sed replacement escaping helper
* podman: document quadlet user mapping rationale
* scripts: correct sed replacement escaping for pipe delimiter
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-02-28 09:20:18 -08:00
Ayaan Zaidi
f29c642c13
fix(release): enforce lane floor for calver appcast entries
2026-02-28 10:28:53 +05:30
Ayaan Zaidi
83698bf13e
fix(macos): derive canonical APP_BUILD after deps install
2026-02-28 10:04:25 +05:30
Ayaan Zaidi
af9edc98e4
fix(release): unify sparkle build policy and defaults
2026-02-28 10:04:25 +05:30
Logan Pritchett
84adedd1cb
macos: treat empty APP_BUILD as fallback
2026-02-28 10:04:25 +05:30
Logan Pritchett
0332dce203
macos: parse calver month/day as decimal for Sparkle build
2026-02-28 10:04:25 +05:30
Logan Pritchett
e4ee585b73
release-check: align appcast floor with Sparkle build lanes
2026-02-28 10:04:25 +05:30
Logan Pritchett
08fd579412
macos: make derived Sparkle build unique for same-day releases
2026-02-28 10:04:25 +05:30
Logan Pritchett
3be12b9fc4
release-check: validate appcast sparkle version floor
2026-02-28 10:04:25 +05:30
Logan Pritchett
7237b4666b
macos: make default Sparkle build version monotonic
2026-02-28 10:04:25 +05:30
Sid
4221b5f809
fix: pass rootId to streaming card in Feishu topic groups (openclaw#28346) thanks @Sid-Qin
...
Verified:
- pnpm check
- pnpm test extensions/feishu/src/reply-dispatcher.test.ts
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-27 20:20:53 -06:00
Shakker
46d9605ef8
merge-pr: use short squash merge banner
2026-02-27 21:41:24 +00:00
Peter Steinberger
cb917b7f05
chore: silence onboard warning noise
2026-02-26 22:47:35 +01:00
Peter Steinberger
bce643a0bd
refactor(security): enforce account-scoped pairing APIs
2026-02-26 21:57:52 +01:00
Peter Steinberger
10481097f8
refactor(security): enforce v1 node exec approval binding
2026-02-26 18:09:01 +01:00
Peter Steinberger
cd80c7e7ff
refactor: unify dm policy store reads and reason codes
2026-02-26 17:47:57 +01:00
Peter Steinberger
273973d374
refactor: unify typing dispatch lifecycle and policy boundaries
2026-02-26 17:36:16 +01:00
Peter Steinberger
4894d907fa
refactor(exec-approvals): unify system.run binding and generate host env policy
2026-02-26 16:58:01 +01:00
Peter Steinberger
57334cd7d8
refactor: unify channel/plugin ssrf fetch policy and auth fallback
2026-02-26 16:44:13 +01:00
Peter Steinberger
051fdcc428
fix(security): centralize dm/group allowlist auth composition
2026-02-26 16:35:33 +01:00
Peter Steinberger
ecb2053fdd
chore(pr): guard against dropped changelog refs
2026-02-26 13:19:25 +01:00
Peter Steinberger
5df9aacf68
fix(podman): default run-openclaw-podman bind to loopback (land #27491 , thanks @robbyczgw-cla)
...
Co-authored-by: robbyczgw-cla <robbyczgw@gmail.com>
2026-02-26 12:13:20 +00:00
Onur Solmaz
a7d56e3554
feat: ACP thread-bound agents ( #23580 )
...
* docs: add ACP thread-bound agents plan doc
* docs: expand ACP implementation specification
* feat(acp): route ACP sessions through core dispatch and lifecycle cleanup
* feat(acp): add /acp commands and Discord spawn gate
* ACP: add acpx runtime plugin backend
* fix(subagents): defer transient lifecycle errors before announce
* Agents: harden ACP sessions_spawn and tighten spawn guidance
* Agents: require explicit ACP target for runtime spawns
* docs: expand ACP control-plane implementation plan
* ACP: harden metadata seeding and spawn guidance
* ACP: centralize runtime control-plane manager and fail-closed dispatch
* ACP: harden runtime manager and unify spawn helpers
* Commands: route ACP sessions through ACP runtime in agent command
* ACP: require persisted metadata for runtime spawns
* Sessions: preserve ACP metadata when updating entries
* Plugins: harden ACP backend registry across loaders
* ACPX: make availability probe compatible with adapters
* E2E: add manual Discord ACP plain-language smoke script
* ACPX: preserve streamed spacing across Discord delivery
* Docs: add ACP Discord streaming strategy
* ACP: harden Discord stream buffering for thread replies
* ACP: reuse shared block reply pipeline for projector
* ACP: unify streaming config and adopt coalesceIdleMs
* Docs: add temporary ACP production hardening plan
* Docs: trim temporary ACP hardening plan goals
* Docs: gate ACP thread controls by backend capabilities
* ACP: add capability-gated runtime controls and /acp operator commands
* Docs: remove temporary ACP hardening plan
* ACP: fix spawn target validation and close cache cleanup
* ACP: harden runtime dispatch and recovery paths
* ACP: split ACP command/runtime internals and centralize policy
* ACP: harden runtime lifecycle, validation, and observability
* ACP: surface runtime and backend session IDs in thread bindings
* docs: add temp plan for binding-service migration
* ACP: migrate thread binding flows to SessionBindingService
* ACP: address review feedback and preserve prompt wording
* ACPX plugin: pin runtime dependency and prefer bundled CLI
* Discord: complete binding-service migration cleanup and restore ACP plan
* Docs: add standalone ACP agents guide
* ACP: route harness intents to thread-bound ACP sessions
* ACP: fix spawn thread routing and queue-owner stall
* ACP: harden startup reconciliation and command bypass handling
* ACP: fix dispatch bypass type narrowing
* ACP: align runtime metadata to agentSessionId
* ACP: normalize session identifier handling and labels
* ACP: mark thread banner session ids provisional until first reply
* ACP: stabilize session identity mapping and startup reconciliation
* ACP: add resolved session-id notices and cwd in thread intros
* Discord: prefix thread meta notices consistently
* Discord: unify ACP/thread meta notices with gear prefix
* Discord: split thread persona naming from meta formatting
* Extensions: bump acpx plugin dependency to 0.1.9
* Agents: gate ACP prompt guidance behind acp.enabled
* Docs: remove temp experiment plan docs
* Docs: scope streaming plan to holy grail refactor
* Docs: refactor ACP agents guide for human-first flow
* Docs/Skill: add ACP feature-flag guidance and direct acpx telephone-game flow
* Docs/Skill: add OpenCode and Pi to ACP harness lists
* Docs/Skill: align ACP harness list with current acpx registry
* Dev/Test: move ACP plain-language smoke script and mark as keep
* Docs/Skill: reorder ACP harness lists with Pi first
* ACP: split control-plane manager into core/types/utils modules
* Docs: refresh ACP thread-bound agents plan
* ACP: extract dispatch lane and split manager domains
* ACP: centralize binding context and remove reverse deps
* Infra: unify system message formatting
* ACP: centralize error boundaries and session id rendering
* ACP: enforce init concurrency cap and strict meta clear
* Tests: fix ACP dispatch binding mock typing
* Tests: fix Discord thread-binding mock drift and ACP request id
* ACP: gate slash bypass and persist cleared overrides
* ACPX: await pre-abort cancel before runTurn return
* Extension: pin acpx runtime dependency to 0.1.11
* Docs: add pinned acpx install strategy for ACP extension
* Extensions/acpx: enforce strict local pinned startup
* Extensions/acpx: tighten acp-router install guidance
* ACPX: retry runtime test temp-dir cleanup
* Extensions/acpx: require proactive ACPX repair for thread spawns
* Extensions/acpx: require restart offer after acpx reinstall
* extensions/acpx: remove workspace protocol devDependency
* extensions/acpx: bump pinned acpx to 0.1.13
* extensions/acpx: sync lockfile after dependency bump
* ACPX: make runtime spawn Windows-safe
* fix: align doctor-config-flow repair tests with default-account migration (#23580 ) (thanks @osolmaz)
2026-02-26 11:00:09 +01:00
Josh Avant
72adf2458b
CI: shard Windows test lane for faster CI critical path ( #27234 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f7c41089e0
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com>
Reviewed-by: @joshavant
2026-02-26 00:33:36 -06:00
Peter Steinberger
e915b4c64a
refactor: unify monitor abort lifecycle handling
2026-02-26 04:36:25 +01:00
Nimrod Gutman
b3f46f0e28
fix(test): stabilize low-mem parallel runner and cron session mock ( #26324 )
...
* fix(test): stabilize low-mem parallel lane and cron session mock
* feat(android): make QR scanning first-class onboarding
* docs(android): update README for native Android workflow
* fix(android): stabilize chat composer ime and tab layout
* fix(android): stabilize chat ime insets and tab bar
* fix(android): remove tab bar gap above system nav
* fix(android): harden scanned setup code parsing
* test(android): cover non-string setupCode QR payload
* fix(test): add changelog note for low-mem test runner (#26324 ) (thanks @ngutman)
---------
Co-authored-by: Ayaan Zaidi <zaidi@uplause.io>
2026-02-25 12:16:17 +02:00
Peter Steinberger
52d933b3a9
refactor: replace bot.molt identifiers with ai.openclaw
2026-02-25 05:03:24 +00:00
Peter Steinberger
146c92069b
fix: stabilize live docker test handling
2026-02-25 04:35:05 +00:00
Peter Steinberger
7c59b78aee
test: cap docker live model sweeps and harden timeouts
2026-02-25 02:48:34 +00:00
Peter Steinberger
def993dbd8
refactor(tmp): harden temp boundary guardrails
2026-02-24 23:51:10 +00:00
Peter Steinberger
d3da67c7a9
fix(security): lock sandbox tmp media paths to openclaw roots
2026-02-24 23:10:19 +00:00
Peter Steinberger
e806b34779
chore: remove changelog add helper script
2026-02-24 15:33:09 +00:00
Peter Steinberger
d18ae2256f
refactor: unify channel plugin resolution, family ordering, and changelog entry tooling
2026-02-24 15:15:22 +00:00
Peter Steinberger
6c5ab543c0
refactor: tighten external-link policy and window.open guard
2026-02-24 15:05:31 +00:00
Peter Steinberger
069c56cd75
fix(ios): normalize team IDs before preferred match
...
Co-authored-by: Brian Leach <bleach@gmail.com>
2026-02-24 15:02:27 +00:00
Peter Steinberger
1ae8c0a589
fix(ios): make team-id python lookup cross-platform
...
Co-authored-by: Brian Leach <bleach@gmail.com>
2026-02-24 15:02:27 +00:00
Peter Steinberger
fd07861bc3
fix(ios): harden team-id profile fallback and tests
2026-02-24 15:02:27 +00:00
Brian Leach
73f526f025
fix(ios): support Xcode 16+ team detection and fix ntohl build error
...
Xcode 16+/26 no longer writes IDEProvisioningTeams to the preferences
plist, breaking ios-team-id.sh for newly signed-in accounts. Add
provisioning profile fallback and actionable error when an account
exists but no team ID can be resolved. Also replace ntohl() with
UInt32(bigEndian:) for Swift 6 compatibility and gitignore Xcode
build output directories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:02:27 +00:00
Shakker
e5836283ab
ui: centralize safe external URL opening
2026-02-24 14:48:10 +00:00
Peter Steinberger
31f2bf9519
test: fix gate regressions
2026-02-24 04:39:53 +00:00
Shakker
ef1ffacfb2
scripts: exclude unresolved clawtributors from README
2026-02-24 02:55:02 +00:00
Peter Steinberger
6c441ea797
fix: support legacy and beta prerelease version formats
2026-02-24 02:05:37 +00:00
Nimrod Gutman
420c18364e
fix(test): tier local vitest worker defaults by host memory
2026-02-23 21:19:21 +02:00
Peter Steinberger
89a4695020
test: consolidate shard tests for faster trigger/directive suites
2026-02-23 13:30:47 +00:00
Peter Steinberger
384a161bbc
test: consolidate media auto-detect coverage
2026-02-23 04:25:00 +00:00
Peter Steinberger
70cac824b1
perf(test): optimize parallel vitest worker budget
2026-02-22 21:59:22 +00:00
Peter Steinberger
95e85e627e
fix(feishu): restore group command fallback and plugin deps
2026-02-22 19:13:19 +01:00
Peter Steinberger
3a19b0201c
test(installer): drop legacy gum env from docker smoke
2026-02-22 18:44:21 +01:00
Peter Steinberger
48ddb1cc81
fix(ci): stabilize install smoke in docker
2026-02-21 20:39:34 +01:00
Peter Steinberger
549549f6a0
fix(ci): sync plugin versions and harden install smoke
2026-02-21 20:18:37 +01:00
Peter Steinberger
74e6c210c0
fix: ignore prerelease suffixes in release-check plugin version checks
2026-02-21 17:48:21 +01:00
Peter Steinberger
fa89ae8e9e
fix: stabilize swift protocol generation and flaky tests
2026-02-21 16:53:46 +01:00
Peter Steinberger
b520e7ac38
fix: stabilize docker live model and doctor-switch tests
2026-02-21 15:36:24 +01:00
Peter Steinberger
352b5262da
fix(ci): make docs spellcheck fallback deterministic
2026-02-21 15:08:28 +01:00
Peter Steinberger
f48698a50b
fix(security): harden sandbox browser network defaults
2026-02-21 14:02:53 +01:00
Peter Steinberger
621d8e1312
fix(sandbox): require noVNC observer password auth
2026-02-21 13:44:24 +01:00
Vincent Koc
f4a59eb5d8
Chore: harden A2UI bundle dependency resolution ( #22507 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: d84c5bde51
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-21 13:16:31 +05:30
Vincent Koc
55eab106ac
chore: remove root long and rolldown deps ( #22481 )
...
* chore(deadcode): add deadcode scanning and remove unused lockfile deps
* chore(changelog): mention deadcode CI scan pass
* ci: disable deadcode job temporarily
* docs(changelog): add PR ref and thanks for deadcode scan entry
* ci: comment out deadcode job condition while keeping it disabled
* Deps: remove dead root dependency from package manifest
* Changelog: reference PR for deadcode dependency cleanup
* Deps: remove unused root signal-utils
* Chore: remove unused lit context deps
* Chore: remove unused root lit dependency
* Chore: remove root long and rolldown deps
* Chore: add changelog for root long/rolldown removal
* Chore: fix a2ui bundling after root lit dependency removal
* Chore: simplify a2ui bundle script dependencies
2026-02-21 02:05:41 -05:00
Vincent Koc
3002be76e4
docs: add custom spellcheck dictionary and fix docs typos ( #22457 )
...
* docs: fix typos and add docs spellcheck workflow
* docs: add changelog entry for docs spellcheck updates
* docs: fix FAQ TOC fragment links for markdownlint
* docs: fix TOC nesting and spellcheck dictionary flags
2026-02-21 01:35:35 -05:00
Vincent Koc
e7eba01efc
Security: disable sandbox container --no-sandbox by default ( #22451 )
2026-02-21 01:23:49 -05:00
Shadow
84281abd4b
Docker: drop root in test images
2026-02-20 12:45:34 -06:00
Logan Pritchett
8f80e2a467
fix(macos): set release bundle ID so Sparkle auto-update works ( #19750 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: d16e61e35a
Co-authored-by: loganprit <72722788+loganprit@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-20 12:08:10 +05:30
Coy Geek
8ae2d5110f
fix(docker): pin base images to SHA256 digests ( #7734 )
...
* fix(docker): pin base images to SHA256 digests for supply chain security
Pin all 9 Dockerfiles to immutable SHA256 digests to prevent supply chain
attacks where a compromised upstream image could be silently pulled into
production builds.
Also add Docker ecosystem to Dependabot configuration for automated
digest updates.
Images pinned:
- node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
- node:22-bookworm-slim@sha256:3cfe526ec8dd62013b8843e8e5d4877e297b886e5aace4a59fec25dc20736e45
- debian:bookworm-slim@sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
- ubuntu:24.04@sha256:cd1dba651b3080c3686ecf4e3c4220f026b521fb76978881737d24f200828b2b
Fixes #7731
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* test(docker): add digest pinning regression coverage
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 12:42:07 -08:00
Peter Steinberger
9130fd2b06
ci: harden workflow action input handling
2026-02-19 15:27:48 +01:00
zerone0x
466a1e1cdb
fix(clawdock): include docker-compose.extra.yml in helper commands ( #17094 )
...
_clawdock_compose() only passed -f docker-compose.yml, ignoring the
extra compose file that docker-setup.sh generates for persistent home
volumes and custom mounts. This broke all clawdock-* commands for
setups using OPENCLAW_HOME_VOLUME.
Fixes #17083
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-19 03:40:47 -08:00
Nimrod Gutman
9bd2261c0f
fix(ios): auto-generate local signing overrides ( #20716 )
2026-02-19 15:48:46 +08:00
Gustavo Madeira Santana
b228c06bbd
chore: polish PR review skills
2026-02-18 22:24:41 -05:00
Nimrod Gutman
cb34e80f98
fix(ios): restore auto-selected team for local signing ( #19993 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6f375238f0
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-18 19:38:23 +08:00
Peter Steinberger
ca43efa965
fix(ci): force npm install path in smoke docker tests
2026-02-18 03:25:14 +00:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
Nimrod Gutman
98962ed81d
feat(ios): auto-select local signing team ( #18421 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: bbb9c3aa48
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-18 03:16:10 +08:00
cpojer
49bd9f75f4
chore: Fix types in tests 33/N.
2026-02-17 15:50:07 +09:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
Josh Avant
81741c37fd
fix(gateway): remove watch-mode build/start race ( #18782 )
2026-02-17 11:24:08 +09:00
Sebastian
bbb5fbc71f
fix(scripts): harden Windows UI spawn behavior
2026-02-16 20:49:09 -05:00
Gustavo Madeira Santana
37064e5cc6
Revert "feat(docker): add init script support via /openclaw-init.d/"
...
This reverts commit 53af9f7437 .
2026-02-16 20:25:46 -05:00
Gustavo Madeira Santana
09c82a1fbf
Revert "fix: capture init script exit codes instead of swallowing via pipe"
...
This reverts commit 8b14052ebe .
2026-02-16 20:25:46 -05:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Peter Steinberger
eaa2f7a7bf
fix(ci): restore main lint/typecheck after direct merges
2026-02-16 23:26:11 +00:00
boris
f70b3a2e68
refactor: bundle export-html templates instead of reading from node_modules
...
- Copy templates from pi-coding-agent into src/auto-reply/reply/export-html/
- Add build script to copy templates to dist/
- Remove fragile node_modules path traversal
- Templates are now self-contained (~250KB total)
2026-02-17 00:00:57 +01:00
Rob Dunn
ddea5458d0
cron: log model+token usage per run + add usage report script
2026-02-16 23:58:38 +01:00
JayMishra-github
8b14052ebe
fix: capture init script exit codes instead of swallowing via pipe
...
Address review feedback: the pipe to sed swallowed the script's exit
code. Now capture output in a variable and check exit status separately
so failures are logged as warnings in the entrypoint output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:52:26 +01:00
JayMishra-github
53af9f7437
feat(docker): add init script support via /openclaw-init.d/
...
Adds an ENTRYPOINT script that runs user-provided init scripts from
/openclaw-init.d/ before starting the gateway. This is the standard
Docker pattern (used by nginx, postgres, etc.) for customizing container
startup without overriding the entire entrypoint.
Usage:
docker run -v ./my-init-scripts:/openclaw-init.d:ro openclaw
Scripts must be executable. Non-executable files are skipped with a
warning. Scripts run in alphabetical order with output prefixed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:52:26 +01:00
OscarMinjarez
b9c45d003d
chore: format scripts/ui.js with oxfmt
2026-02-16 23:50:05 +01:00
OscarMinjarez
b60b44b42e
fix(scripts): fix spawn EINVAL error on Windows in ui.js
2026-02-16 23:50:05 +01:00
Peter Steinberger
7aa7b04fb0
test: rebalance isolated unit test lane
2026-02-16 05:22:00 +00:00
Peter Steinberger
f1654b4ba2
test: isolate telegram bot behavior suite from unit-fast lane
2026-02-16 04:50:19 +00:00
Peter Steinberger
510889d439
test: isolate slack slash and telegram bootstrap suites
2026-02-16 04:34:51 +00:00
Peter Steinberger
794808b169
test: isolate hook installer suite from unit-fast lane
2026-02-16 04:31:30 +00:00
Peter Steinberger
1b223dbdd8
test: isolate git-hooks integration and stabilize exec timeout
2026-02-16 04:24:00 +00:00
Peter Steinberger
e7ccbd1445
test: isolate block-streaming suite from unit-fast lane
2026-02-16 04:20:21 +00:00
Peter Steinberger
fbe6d7c701
ci: include a2ui sources in onboarding docker build
2026-02-16 02:45:00 +00:00
Peter Steinberger
c1655982d4
refactor: centralize pre-commit file filtering
2026-02-16 03:42:11 +01:00
Peter Steinberger
67bfe8fb80
perf(test): cut gateway unit suite overhead
2026-02-16 00:18:26 +00:00
Peter Steinberger
92f8c0fac3
perf(test): speed up suites and reduce fs churn
2026-02-15 19:29:27 +00:00
Tak Hoffman
df7fff8fd7
test: add serial macmini test profile
2026-02-15 07:40:55 -06:00
Peter Steinberger
3faf5ada2e
ci(test): raise node heap for CI vitest
2026-02-15 05:07:02 +00:00
Vignesh Natarajan
277b2de491
fix (cli): harden daemon compat shim for minimal bundle exports
2026-02-14 20:53:32 -08:00
Peter Steinberger
960850445b
fix(build): restore daemon-cli legacy shim
2026-02-15 04:52:55 +00:00
Peter Steinberger
3b08f3058b
perf(test): isolate imessage monitor tests from vmForks
2026-02-15 04:49:53 +00:00
Peter Steinberger
d355fecd4d
fix(ci): avoid Windows spawn EINVAL in test runner
2026-02-15 03:35:06 +00:00
Peter Steinberger
fef86e475b
refactor: dedupe shared helpers across ui/gateway/extensions
2026-02-15 03:34:14 +00:00
Peter Steinberger
2690dfa77b
test: quiet docker onboard e2e noise
2026-02-15 03:58:23 +01:00
Peter Steinberger
107cc03140
ci: reduce docker e2e log brittleness
2026-02-15 02:53:39 +00:00
Peter Steinberger
a7eb0dd9a5
fix(security): harden Windows child process spawning
2026-02-15 03:24:55 +01:00
Peter Steinberger
852c897956
refactor(sandbox): add sandbox-common dockerfile
2026-02-15 00:57:13 +01:00
artale
3189430ad0
fix(sandbox): switch to root user for package installation in sandbox-common-setup
...
The base image (Dockerfile.sandbox) sets USER sandbox at the end, so
when sandbox-common-setup.sh builds FROM it, apt-get runs as the
unprivileged sandbox user and fails with 'Permission denied'.
Add USER root before apt-get/npm/curl install steps, and restore
USER sandbox at the end to preserve the non-root runtime default.
Fixes #16420
2026-02-15 00:18:44 +01:00
Peter Steinberger
a429380e33
fix(scripts): harden clawtributors updater
2026-02-14 23:25:32 +01:00
Peter Steinberger
d9d321f94b
chore(security): bump qs and golang.org/x/net
2026-02-14 21:22:46 +01:00
Peter Steinberger
e03dc987e3
chore(test): keep gateway vitest on forks
2026-02-14 20:47:00 +01:00
Glucksberg
f537bd1796
fix(telegram): exclude plugin commands from setMyCommands when native=false (openclaw#15164) thanks @Glucksberg
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-14 13:22:58 -06:00
Tak Hoffman
3369ef5aef
test: add macmini low-cpu test profile
2026-02-14 12:16:23 -06:00
Peter Steinberger
709c225b2b
fix(podman): bootstrap config and token
2026-02-14 18:07:05 +01:00
Christoph Spörk
81b5e2766b
feat(podman): add optional Podman setup and documentation ( #16273 )
...
* feat(podman): add optional Podman setup and documentation
- Introduced `setup-podman.sh` for one-time host setup of OpenClaw in a rootless Podman environment, including user creation, image building, and launch script installation.
- Added `run-openclaw-podman.sh` for running the OpenClaw gateway as a Podman container.
- Created `openclaw.podman.env` for environment variable configuration.
- Updated documentation to include Podman installation instructions and a new dedicated Podman guide.
- Added a systemd Quadlet unit for managing the OpenClaw service as a user service.
* fix: harden Podman setup and docs (#16273 ) (thanks @DarwinsBuddy)
* style: format cli credentials
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-14 17:39:06 +01:00
Peter Steinberger
9fb48f4dff
refactor(scripts): make run-node main testable
2026-02-14 16:36:15 +00:00
Peter Steinberger
9a134c8a10
perf(test): tune parallel vitest worker split
2026-02-14 13:27:18 +00:00
Tanwa Arpornthip
c76288bdf1
fix(slack): download all files in multi-image messages ( #15447 )
...
* fix(slack): download all files in multi-image messages
resolveSlackMedia() previously returned after downloading the first
file, causing multi-image Slack messages to lose all but the first
attachment. This changes the function to collect all successfully
downloaded files into an array, matching the pattern already used by
Telegram, Line, Discord, and iMessage adapters.
The prepare handler now populates MediaPaths, MediaUrls, and
MediaTypes arrays so downstream media processing (vision, sandbox
staging, media notes) works correctly with multiple attachments.
Fixes #11892 , #7536
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(slack): preserve MediaTypes index alignment with MediaPaths/MediaUrls
The filter(Boolean) on MediaTypes removed entries with undefined contentType,
shrinking the array and breaking index correlation with MediaPaths and MediaUrls.
Downstream code (media-note.ts, attachments.ts) requires these arrays to have
equal lengths for correct per-attachment MIME type lookup. Replace filter(Boolean)
with a nullish coalescing fallback to "application/octet-stream".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(slack): align MediaType fallback and tests (#15447 ) (thanks @CommanderCrowCode)
* fix: unblock plugin-sdk account-id typing (#15447 )
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-02-14 14:16:02 +01:00
Peter Steinberger
ec399aaddf
perf(test): parallelize unit-isolated
2026-02-14 13:01:02 +00:00
Peter Steinberger
6543ce717c
perf(test): avoid plugin-sdk barrel imports
2026-02-14 12:42:19 +00:00
Peter Steinberger
d1f01de59a
perf(test): default to vmForks on Node 25; unstub envs
2026-02-14 03:38:55 +00:00
Peter Steinberger
38a157ff23
perf(test): reduce setup overhead; isolate sharp-heavy suites
2026-02-14 03:29:55 +00:00
Peter Steinberger
748d6821d2
fix(config): add forensic config write audit and watch attribution
2026-02-14 01:36:15 +00:00
Peter Steinberger
f86840f4df
perf(cli): reduce read-only startup overhead
2026-02-14 01:18:44 +00:00
Peter Steinberger
fecb3f326e
perf(test): trim models/browser suite overhead
2026-02-14 00:08:02 +00:00
Joseph Krug
4e9f933e88
fix: reset stale execution state after SIGUSR1 in-process restart ( #15195 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 676f9ec451
Co-authored-by: joeykrug <5925937+joeykrug@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-02-13 15:30:09 -05:00
Gustavo Madeira Santana
42eaee8b7e
chore: fix root_dir resolution/stale scripts during PR review
2026-02-13 15:09:39 -05:00
Nathaniel Kelner
66f6d71ffa
Update clawdock-helpers.sh compatibility with Zsh
...
Unlike Bash, Zsh has several "special" readonly variables (status, pipestatus, etc.) that the shell manages automatically. Shadowing them with local declarations triggers an error.
2026-02-13 13:47:16 -06:00
Peter Steinberger
8899f9e94a
perf(test): optimize heavy suites and stabilize lock timing
2026-02-13 13:29:07 +00:00
Sebastian
5d37b204c0
Tests: disable vmForks on Node 24 and document override
2026-02-13 08:15:25 -05:00
Peter Steinberger
78ec0a1edf
fix: stabilize test runner and daemon-cli compat
2026-02-13 04:45:04 +00:00
Peter Steinberger
ba7dccc49d
test: speed up test suite and trim redundant onboarding tests
2026-02-13 04:30:48 +00:00
Peter Steinberger
711597c02b
fix(update): repair daemon-cli compat exports after self-update
2026-02-13 04:08:13 +01:00
Peter Steinberger
f9e444dd56
fix: include plugin sdk dts tsconfig in onboard docker image
2026-02-13 02:37:28 +01:00