Commit graph

1934 commits

Author SHA1 Message Date
Vincent Koc
3059b36306 fix(config): split command flag helpers 2026-04-12 00:05:01 +01:00
Vincent Koc
d7fcd23091 fix(runtime): split cli provider and abort seams 2026-04-11 21:16:50 +01:00
Vincent Koc
0f7d9c9570 fix(runtime): split approval and gateway client seams 2026-04-11 18:36:48 +01:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector (#64895)
* Add proxy capture core and CLI

* Expand transport capture coverage

* Add QA Lab capture backend

* Refine QA Lab capture UI

* Fix proxy capture review feedback

* Fix proxy run cleanup and TTS capture

* Fix proxy capture transport follow-ups

* Fix debug proxy CONNECT target parsing

* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Vincent Koc
81535d394d fix(cycles): repair broken type surfaces 2026-04-11 13:42:17 +01:00
Vincent Koc
74e7b8d47b fix(cycles): bulk extract leaf type surfaces 2026-04-11 13:26:50 +01:00
Peter Steinberger
cd89892b1f
fix(release): keep private QA bundles out of npm pack 2026-04-11 13:13:11 +01:00
Vincent Koc
636fe1c2db fix(qa): ship scenario pack and isolate completion cache 2026-04-11 12:53:56 +01:00
xieyongliang
e0a2c568b2
video_generate: support url-only delivery (#61988) (thanks @xieyongliang) (#61988)
Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-04-11 03:08:30 -07:00
Vincent Koc
7308e72fac fix(cycles): continue seam extraction 2026-04-11 10:43:22 +01:00
Peter Steinberger
2681bbd9e7
test: move plugin list formatting to pure tests 2026-04-11 08:22:36 +01:00
Peter Steinberger
7e66a8fcfe
test: move plugin uninstall selection to pure tests 2026-04-11 08:12:34 +01:00
Peter Steinberger
5ca92b0498
test: move plugin update selection to pure tests 2026-04-11 08:08:41 +01:00
ImLukeF
ddefce3c18
Config: align LLM idle timeout defaults 2026-04-11 15:48:58 +10:00
Ayaan Zaidi
d8ab47d6af refactor: remove qa cli pass-through wrapper 2026-04-11 10:41:19 +05:30
Coy Geek
192ee081e7
fix: Implicit latest-device approval can pair the wrong requester (#64160)
* fix: require confirmation before implicit device approval

Keep re-requested pairing entries from jumping the queue and force operators to confirm implicit latest-request approval so a refreshed attacker request cannot be silently approved.

* fix: require exact device pairing approval

* fix: stabilize reply CI checks

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-04-11 02:55:01 +01:00
sudie-codes
0f19271092
msteams: add message actions — pin, unpin, read, react, reactions (#53432)
* msteams: add pin/unpin, list-pins, and read message actions

Wire up Graph API endpoints for message read, pin, unpin, and list-pins
in the MS Teams extension, following the same patterns as edit/delete.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* msteams: address PR review comments for pin/unpin/read actions

- Handle 204 No Content in postGraphJson (Graph mutations may return empty body)
- Strip conversation:/user: prefixes in resolveConversationPath to avoid Graph 404s
- Remove dead variable in channel pin branch
- Rename unpin param from messageId to pinnedMessageId for semantic clarity
- Accept both pinnedMessageId and messageId in unpin action handler for compat

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* msteams: resolve user targets + add User-Agent to Graph helpers

- Resolve user:<aadId> targets to actual conversation IDs via conversation
  store before Graph API calls (fixes 404 for DM-context actions)
- Add User-Agent header to postGraphJson/deleteGraphRequest for consistency
  with fetchGraphJson after rebase onto main

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* msteams: resolve DM targets to Graph chat IDs + expose pin IDs

- Prefer cached graphChatId over Bot Framework conversation IDs for user
  targets; throw descriptive error when no Graph-compatible ID is available
- Add `id` field to list-pins rows so default formatters surface the pinned
  resource ID needed for the unpin flow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* msteams: add react and reactions (list) message actions

* msteams: fix reaction count undercount and remove unpin messageId fallback

* msteams: wire pinnedMessageId through CLI/tool schema, add channel pin beta warnings, add list-pins pagination

* msteams: address PR #53432 remaining review feedback

* fix(msteams): route channel actions via teamId/channelId path (#53432)

* msteams: add unpin pinnedMessageId test coverage (#53432)

* fix(msteams): keep graph routing scoped to graph actions

* fix(msteams): align graph routing context types

* msteams: route fetchGraphAbsoluteUrl through fetchWithSsrFGuard

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
2026-04-10 20:25:57 -05:00
Peter Steinberger
39d1a817fa
lint: enable small oxlint rules 2026-04-11 02:15:21 +01:00
Peter Steinberger
780e0898b0
test: simplify typed conversions 2026-04-11 01:34:25 +01:00
Peter Steinberger
1fb2e18f47
refactor: simplify cli conversions 2026-04-11 01:27:48 +01:00
Peter Steinberger
9e0d358695
refactor: simplify runtime conversions 2026-04-11 01:23:34 +01:00
Peter Steinberger
5c126dc6ac
refactor: simplify container tty defaults 2026-04-11 00:39:04 +01:00
Peter Steinberger
985ae5edca
refactor: simplify gateway discovery sort keys 2026-04-11 00:37:53 +01:00
Peter Steinberger
c05107adcb
refactor: simplify nodes notify inputs 2026-04-11 00:36:42 +01:00
Peter Steinberger
1a93b9cf03
refactor: simplify daemon status flags 2026-04-10 23:27:48 +01:00
Peter Steinberger
594a84cfa4
refactor: simplify nodes invoke option values 2026-04-10 23:26:29 +01:00
Peter Steinberger
1e72b11825
refactor: remove redundant canvas option conversions 2026-04-10 22:59:08 +01:00
Peter Steinberger
7c37de2d41
refactor: remove redundant location option conversions 2026-04-10 22:58:10 +01:00
Peter Steinberger
3a2dd52cf9
refactor: remove redundant screen option conversions 2026-04-10 22:56:41 +01:00
Shion Eria
552667271e
fix(cli): route gateway media sends through sendMedia (openclaw#64492)
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm test -- src/cli/send-runtime/channel-outbound-send.test.ts src/gateway/server-methods/send.test.ts

Representative verification note:
- pnpm check reached tsgo in this worktree and then failed locally without actionable diagnostics; treated as an unhealthy local tooling signal rather than a PR-specific regression.

Co-authored-by: ShionEria <267903315+ShionEria@users.noreply.github.com>
2026-04-10 16:33:46 -05:00
Peter Steinberger
9470b616c9
refactor: remove redundant camera CLI conversions 2026-04-10 21:53:47 +01:00
Peter Steinberger
0ebeee8b0d
chore: enable consistent-return 2026-04-10 20:56:43 +01:00
Peter Steinberger
04c8026d03
chore: enable no-unnecessary-type-arguments 2026-04-10 20:14:49 +01:00
Peter Steinberger
777c6f7580
refactor: split manifest command alias helpers 2026-04-10 17:37:31 +01:00
neo1027144
2cf9ed782d
fix(daemon): prevent systemd restart storm on config validation failure
Exit gateway configuration failures with EX_CONFIG and teach generated systemd units not to restart on that exit status.\n\nCo-authored-by: neo1027144-creator <neo1027144-creator@users.noreply.github.com>
2026-04-10 16:23:46 +01:00
Peter Steinberger
beaff3c553 fix: clarify plugin command alias diagnostics (#64242) (thanks @feiskyer) 2026-04-10 14:56:12 +01:00
Pengfei Ni
8cb45c051e fix(config): give actionable guidance when command names are used in plugins.allow (#64191)
When users put a runtime command name like "dreaming" into `plugins.allow`,
validation now explains that it is a command provided by a specific plugin
(e.g. "memory-core") and suggests using the plugin id instead, rather than
the generic "plugin not found" warning that previously created a circular
trap with the CLI error message.

Similarly, running `openclaw dreaming` from the CLI now explains that
`/dreaming` is a runtime slash command (not a CLI command) and points users
to `openclaw memory` for CLI operations or `/dreaming` in a chat session.

Fixes two related UX problems:
1. `plugins.allow: ["dreaming"]` → validation warned "plugin not found"
2. `openclaw dreaming status` → CLI said "add dreaming to plugins.allow"
   (which then triggered problem 1)

Root cause: "dreaming" is a slash command registered by the memory-core
plugin via `api.registerCommand()`, not a standalone plugin or CLI command.
2026-04-10 14:56:12 +01:00
Peter Steinberger
2ad451e91f
test: fix parallel full-suite exposed gates 2026-04-10 12:34:53 +01:00
Peter Steinberger
ef1694575d
fix: restore main type gates 2026-04-10 12:14:36 +01:00
Vincent Koc
0e54440ecc fix(cycles): remove browser cli and tlon runtime seams 2026-04-10 11:45:28 +01:00
Peter Steinberger
6c82a91d3d
refactor: tighten device pairing approval types 2026-04-10 10:22:00 +01:00
Vincent Koc
dfdc281f55 fix(cycles): split small runtime seams 2026-04-10 09:00:19 +01:00
Vincent Koc
78d2e9e2a8 fix(ci): repair main type drift 2026-04-10 08:13:02 +01:00
Tak Hoffman
4bf94aa0d6
feat: add local exec-policy CLI (#64050)
* feat: add local exec-policy CLI

* fix: harden exec-policy CLI output

* fix: harden exec approvals writes

* fix: tighten local exec-policy sync

* docs: document exec-policy CLI

* fix: harden exec-policy rollback and approvals path checks

* fix: reject exec-policy sync when host remains node

* fix: validate approvals path before mkdir

* fix: guard exec-policy rollback against newer approvals writes

* fix: restore exec approvals via hardened rollback path

* fix: guard exec-policy config writes with base hash

* docs: add exec-policy changelog entry

* fix: clarify exec-policy show for node host

* fix: strip stale exec-policy decisions
2026-04-10 01:16:03 -05:00
WarrenJones
40c5edb5b1
fix: preserve safe gateway env vars on reinstall (#63136) (thanks @WarrenJones)
* fix(daemon): preserve safe env vars on gateway reinstall

Pass the existing service environment into gateway reinstall planning so safe custom variables survive LaunchAgent rewrites and existing PATH entries are merged instead of being silently dropped.

Made-with: Cursor

* fix(daemon): track managed env keys on reinstall

* fix: preserve safe gateway env vars on reinstall (#63136) (thanks @WarrenJones)

* fix: validate preserved PATH entries on reinstall (#63136) (thanks @WarrenJones)

---------

Co-authored-by: WarrenJones <8704779+WarrenJones@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-09 14:29:54 +05:30
Vincent Koc
38100a098e fix(qa): route cli registration through facade 2026-04-09 09:27:55 +01:00
Vincent Koc
2a372577d4 fix(memory-core): route bundled helpers through facade 2026-04-09 09:21:33 +01:00
Peter Steinberger
719f06510c
chore: bump version to 2026.4.10 2026-04-09 03:56:22 +01:00
Peter Steinberger
a8c47db668
fix: repair Windows dev-channel updater 2026-04-09 01:26:28 +01:00
Mariano
b77db8c0b6
Reply: surface OAuth reauth failures (#63217)
Merged via squash.

Prepared head SHA: 68b7ffd59e
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-08 18:03:03 +02:00