Sally O'Malley
91adc5e718
feat(cli): support targeting running containerized openclaw instances ( #52651 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-03-24 10:17:17 -04:00
Val Alexander
cb58e45130
fix(security): resolve Aisle findings — skill installer validation, terminal sanitization, URL scheme allowlisting ( #53471 ) thanks @BunsDev
...
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Co-authored-by: Nova <nova@openknot.ai >
2026-03-24 01:43:48 -05:00
Val Alexander
a710366e9e
feat(ui): Control UI polish — skills revamp, markdown preview, agent workspace, macOS config tree ( #53411 ) thanks @BunsDev
...
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Co-authored-by: Nova <nova@openknot.ai >
2026-03-24 01:21:13 -05:00
Peter Steinberger
fd0fa97952
refactor: centralize plugin install config policy
2026-03-23 23:07:40 -07:00
Catalin Lupuleti
cbb11b3662
fix(plugins): address review feedback for Matrix recovery paths ( #52899 )
2026-03-23 22:16:10 -07:00
Catalin Lupuleti
489797ceaf
fix(plugins): address review feedback for Matrix recovery paths ( #52899 )
...
1. Narrow loadConfigForInstall() to catch only INVALID_CONFIG errors,
letting real failures (fs permission, OOM) propagate.
2. Assert allow array is properly cleaned in stale-cleanup test.
3. Add comment clarifying version-resolution is already addressed via
the shared VERSION constant.
4. Run cleanStaleMatrixPluginConfig() during install so
persistPluginInstall() → writeConfigFile() does not fail validation
on stale Matrix load paths.
2026-03-23 22:16:10 -07:00
Catalin Lupuleti
3ae100a8d7
fix(plugins): make Matrix recovery paths tolerate stale plugin config ( #52899 )
2026-03-23 22:16:10 -07:00
Peter Steinberger
5c9e4cd30a
refactor: clarify doctor repair flow
2026-03-23 22:12:56 -07:00
Peter Steinberger
2e1c88b728
refactor: tighten embedded prompt and sidecar guards
2026-03-23 22:09:22 -07:00
Peter Steinberger
0857447a5d
fix: reject nonexistent zoned cron at-times
2026-03-23 21:14:55 -07:00
Peter Steinberger
ce49d8bca9
fix: verify global npm correction installs
2026-03-23 21:04:08 -07:00
Peter Steinberger
3ae5d33799
refactor: extract cron schedule and test runner helpers
2026-03-23 19:53:43 -07:00
Peter Steinberger
0cbf6d5fed
fix: land cron tz one-shot handling and prerelease config warnings ( #53224 ) (thanks @RolfHegr)
2026-03-23 19:38:04 -07:00
Rolfy
9aac5582d6
fix(cron): make --tz work with --at for one-shot jobs
...
Previously, `--at` with an offset-less ISO datetime (e.g. `2026-03-23T23:00:00`)
was always interpreted as UTC, even when `--tz` was provided. This caused one-shot
jobs to fire at the wrong time.
Changes:
- `parseAt()` now accepts an optional `tz` parameter
- When `--tz` is provided with `--at`, offset-less datetimes are interpreted in
that IANA timezone using Intl.DateTimeFormat
- Datetimes with explicit offsets (e.g. `+01:00`, `Z`) are unaffected
- Removed the guard in cron-edit that blocked `--tz` with `--at`
- Updated `--at` help text to mention `--tz` support
- Added 2 tests verifying timezone resolution and offset preservation
2026-03-23 19:38:04 -07:00
Peter Steinberger
d25ad66069
fix: resolve catalog-backed channel login
2026-03-23 18:25:44 -07:00
Val Alexander
6c44b2ea50
fix(cli): guard channel-auth against prototype-chain pollution and control-char injection
...
- Use hasOwnProperty + isBlockedObjectKey in isConfiguredAuthPlugin to
prevent __proto__/constructor/prototype keys from matching config
- Sanitize plugin IDs with sanitizeForLog in ambiguity error messages
- Add regression test for __proto__ plugin ID
2026-03-23 19:58:16 -05:00
Val Alexander
c8f4b8533d
fix(cli): auto-select login-capable auth channels ( #53254 ) thanks @BunsDev
...
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Co-authored-by: Nova <nova@openknot.ai >
2026-03-23 19:54:46 -05:00
Peter Steinberger
a921b5bdff
test: fix update-cli default path assertion
2026-03-23 23:05:25 +00:00
Peter Steinberger
47bdc36831
test: make update-cli checkout path assertion platform-safe
2026-03-23 22:54:32 +00:00
Vincent Koc
c1131ba7e0
fix(plugins): accept clawhub uninstall specs
2026-03-23 13:52:27 -07:00
Vincent Koc
8fa91d283b
fix(cli): preserve posix default git dir
2026-03-23 11:49:55 -07:00
Peter Steinberger
ffb287e1de
fix: harden update dev switch and refresh changelog
2026-03-23 10:56:35 -07:00
Nimrod Gutman
041c47419f
fix(channels): preserve external catalog overrides ( #52988 )
...
* fix(channels): preserve external catalog overrides
* fix(channels): clarify catalog precedence
* fix(channels): respect overridden install specs
2026-03-23 18:08:17 +02:00
Vincent Koc
beadd4c553
fix(gateway): harden supervised lock and browser attach readiness
2026-03-23 08:42:00 -07:00
Julia Bush
e94ebfa084
fix: harden gateway SIGTERM shutdown ( #51242 ) (thanks @juliabush)
...
* fix: increase shutdown timeout to avoid SIGTERM hang
* fix(telegram): abort polling fetch on shutdown to prevent SIGTERM hang
* fix(gateway): enforce hard exit on shutdown timeout for SIGTERM
* fix: tighten gateway shutdown watchdog
* fix: harden gateway SIGTERM shutdown (#51242 ) (thanks @juliabush)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-23 15:01:42 +05:30
Peter Steinberger
abf2157b18
fix: sync agent and autoreply e2e updates
2026-03-23 01:33:40 -07:00
Peter Steinberger
9105b3723d
test: harden no-isolate test module resets
2026-03-23 01:02:16 -07:00
Peter Steinberger
3fd5d13315
test: fix ci docs drift and bun qr exit handling
2026-03-23 07:41:23 +00:00
Peter Steinberger
fe5819887b
refactor(gateway): centralize discovery target handling
2026-03-23 00:38:31 -07:00
Peter Steinberger
deecf68b59
fix(gateway): fail closed on unresolved discovery endpoints
2026-03-23 00:27:37 -07:00
Peter Steinberger
72e58ca260
test(models): refresh example model fixtures
2026-03-22 23:00:18 -07:00
Peter Steinberger
6b9915a106
refactor!: drop legacy CLAWDBOT env compatibility
2026-03-22 22:13:39 -07:00
Peter Steinberger
97e4f37171
fix: keep status --json stdout clean ( #52449 ) (thanks @cgdusek)
2026-03-22 21:51:08 -07:00
Charles Dusek
0e1da034c2
fix(cli): route plugin logs to stderr during --json output
2026-03-22 21:51:08 -07:00
Peter Steinberger
54213b587f
refactor: reuse shared cli runtime test mocks
2026-03-23 01:53:28 +00:00
Peter Steinberger
2e6f2b0f07
test: centralize cli runtime capture helpers
2026-03-23 01:53:28 +00:00
Peter Steinberger
75835fc664
test: restore runtime-aware cli mocks
2026-03-22 18:35:37 -07:00
Peter Steinberger
c43bfcbbec
refactor: split best-effort network display discovery
2026-03-22 18:35:37 -07:00
Vincent Koc
e3c7a05cb5
fix(cli): remove duplicate test runtime keys
2026-03-22 17:52:05 -07:00
Peter Steinberger
976eefe373
test: align cli runtime mocks with output runtime
2026-03-22 17:32:20 -07:00
Peter Steinberger
7bd12f4b37
test: fix rebased directory runtime mock ( #52428 ) (thanks @karanuppal)
2026-03-22 16:56:19 -07:00
Peter Steinberger
aaa6068c08
test: stabilize json runtime captures ( #52428 ) (thanks @karanuppal)
2026-03-22 16:56:19 -07:00
Peter Steinberger
797f3cc377
fix: stabilize stale buffer sweep landing ( #52428 ) (thanks @karanuppal)
2026-03-22 16:56:19 -07:00
Peter Steinberger
165aeccd24
test: align memory cli json assertions
2026-03-22 23:46:54 +00:00
Peter Steinberger
4e531d382b
fix(ci): restore cli runtime mocks and timeout exits
2026-03-22 23:43:58 +00:00
Peter Steinberger
4ee41cc6f3
refactor(cli): separate json payload output from logging
2026-03-22 23:19:17 +00:00
Codex
8c7d603f25
fix(gateway): keep status helpers resilient to netif failures
2026-03-22 16:09:43 -07:00
Peter Steinberger
1ad47b8fa1
test: harden path resolution test helpers
2026-03-22 22:47:58 +00:00
Charles Dusek
ebb4cc0128
fix(cli): route logs to stderr in --json mode to keep stdout clean
2026-03-22 15:43:48 -07:00
Peter Steinberger
58c3f8673a
test: fix full gate after runtime lazy-load
2026-03-22 22:33:07 +00:00