Peter Steinberger
129e2795ae
fix: stabilize SwiftFormat 0.62 lint ( #103098 )
2026-07-09 21:48:14 +01:00
Peter Steinberger
71f7fef7a2
fix(ci): isolate OpenWebUI release smoke ( #103095 )
...
* fix(ci): isolate OpenWebUI release smoke
* docs: format release validation table
2026-07-09 21:38:33 +01:00
Vincent Koc
ee9d9ea6db
fix(ci): verify live provider traffic in performance runs ( #103073 )
...
* fix(diagnostics): emit provider request timeline events
* fix(ci): verify Kova live provider evidence
2026-07-09 12:39:41 -07:00
Peter Steinberger
d64b9a30cb
fix(ci): remove duplicate Kova gate helper ( #103082 )
2026-07-09 20:28:35 +01:00
Vincent Koc
266ca5b3a2
fix(providers): publish Meta provider ( #103070 )
2026-07-09 12:11:56 -07:00
Peter Steinberger
11fa0cf2d5
fix(ci): honor Kova performance report contracts ( #103030 )
2026-07-09 20:08:25 +01:00
Vincent Koc
a9578436de
fix(ci): accept valid Kova PASS records without violations ( #103002 )
2026-07-09 11:05:32 -07:00
Gio Della-Libera
9f248969f6
Verify signed marketplace feed refresh ( #98338 )
...
* feat: verify signed marketplace feed refresh
* test: fix signed marketplace feed CI
* Guard signed feed refresh trust state
* test(feeds): sign decoded hosted feed payloads
* fix(feeds): make signed snapshot writes monotonic
---------
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
Co-authored-by: Gio Della-Libera <giodl@microsoft.com >
2026-07-09 10:46:06 -07:00
Vincent Koc
d18e48c928
fix(ci): ignore profiling-only resource gate failures ( #102894 )
2026-07-09 09:22:11 -07:00
Kyle Klouzal
2e160718d4
test(gateway): harden watch regression diagnostics ( #95473 )
...
Co-authored-by: kklouzal <kklouzal@users.noreply.github.com >
2026-07-09 16:36:31 +01:00
Peter Steinberger
8985598302
fix(gateway): stop paired-device duplication and redesign the Nodes page ( #102810 )
...
* fix(gateway): prune superseded silent device pairings on auto-approve
* feat(ui): unified nodes & devices inventory with dedupe and cleanup
* docs: nodes page inventory + silent pairing supersede cleanup
* refactor(gateway): run silent-pairing prune after approval broadcast
* fix(ui): surface node list errors on the nodes inventory card
* fix(gateway): restrict pairing auto-prune to same-host silent approvals
* fix(gateway): report live device connections and guard pairing prune races
* docs(ui): document bulk-cleanup name-collision tradeoff
* fix(gateway): avoid map-spread when marking live device connections
* docs: regenerate docs map
2026-07-09 15:40:30 +01:00
Peter Steinberger
2f013382a0
feat(ui): add settings profile page with lifetime token stats, streaks, and activity heatmap ( #102842 )
...
* feat(ui): add settings profile i18n strings and regenerated locale bundles
* feat(ui): add settings profile page with token stats, streak heatmap, and top tools
* chore(ui): record intentional OpenClaw brand string in raw-copy baseline
2026-07-09 15:03:12 +01:00
Peter Steinberger
07a7d596ff
feat(providers): add Qwen 3.6 Flash and Gemini 3.1 Live ( #102791 )
...
* feat(providers): add current Qwen and Gemini Live models
* fix(google): align live thinking enum type
* fix(google): align live thinking enum type
2026-07-09 13:37:16 +01:00
Vincent Koc
0535679083
fix(release): validate exact prepared npm package sets ( #102759 )
...
* fix(release): validate prepared npm package sets
Forward-port the beta3 package-set preflight, Telegram, and Parallels validation to main while preserving main's existing Bun install smoke. Recompute decoded proxy response lengths and require artifact tarballs to exactly match the verified manifest.
* fix(release): lock fixture registry proxy origin
2026-07-09 05:19:24 -07:00
Peter Steinberger
292e1cfa1b
feat(cli): refresh startup taglines ( #102750 )
2026-07-09 12:42:31 +01:00
Sally O'Malley
e595a8c0ac
Add Vault SecretRef plugin ( #89255 )
...
* Add Vault SecretRef plugin
Signed-off-by: sallyom <somalley@redhat.com >
* expand Vault setup to registered SecretRef targets
Signed-off-by: sallyom <somalley@redhat.com >
* fix(vault): use sdk secret target seam
* fix(vault): preserve auth profile target paths
* docs(vault): document plugin enable step
* fix(vault): make status provider-alias aware
* fix(vault): reject noncanonical secret ids
* fix(vault): separate resolver timeout deadlines
* fix(vault): forward private CA trust settings
* fix(secrets): preserve plugin policy boundaries
---------
Signed-off-by: sallyom <somalley@redhat.com >
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-07-09 05:30:12 -05:00
qingminlong
a5f5282816
fix(scripts): report startup help stream errors when pipes fail ( #102436 )
...
* fix(scripts): fail startup help rendering on stream errors
* fix(scripts): preserve startup render failure provenance
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-09 09:43:40 +01:00
Peter Steinberger
42a8679c4d
fix: restore release validation on main ( #102516 )
...
* test(qqbot): assert approval fence exactly
* fix(release): wait for ClawHub publish logging
* fix(ci): repair Bun global install smoke
* test(slack): fix app identity fixture
2026-07-09 09:39:08 +01:00
joshavant
f163f32f85
fix(android): make release screenshots deterministic
2026-07-09 01:32:13 -05:00
Peter Steinberger
5533d979d4
feat: add follow-up task suggestions ( #102422 )
...
* feat(tools): add follow-up task suggestions
* chore: leave changelog to release flow
* fix(tools): add task suggestion display metadata
* fix(tools): update task suggestion display snapshot
* docs: format task suggestion tool table
* test(gateway): expect compaction worktree workspace
* test(gateway): preserve configured compaction workspace
* fix(ui): translate task suggestions
2026-07-09 06:30:01 +01:00
Tobias Oort
0307deacfa
feat(github-copilot): support GitHub Enterprise data-residency Copilot auth ( #99221 )
...
Adds GitHub Enterprise data-residency support to the existing bundled GitHub Copilot provider.
Maintainer proof:
- GitHub CI green on head 54010a6538
- `check-lint`, `check-additional-extension-bundled`, and `check-shrinkwrap` passed in CI
- local `pnpm lint:extensions:bundled`, `pnpm lint`, and focused GitHub Copilot Vitest passed
- AWS Crabbox proof passed
- live microsoft.ghe.com device-flow/token-exchange/model-catalog proof passed
Co-authored-by: Tobias Oort <tobias.oort@ict.nl >
Co-authored-by: Gio Della-Libera <235387111+giodl73-repo@users.noreply.github.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-07-08 18:59:41 -07:00
Vincent Koc
eac4214ff8
fix(ci): stabilize npm shrinkwrap metadata
2026-07-08 15:55:50 -07:00
Vincent Koc
e8c1780999
fix(ci): rewrite workspace deps for OCM installs
2026-07-08 14:33:33 -07:00
Vincent Koc
b63317d07e
fix(ci): install workspace packages for Kova
2026-07-08 14:22:22 -07:00
Kevin Lin
9eeebf7cb1
feat(release): preflight all extended-stable npm packages ( #101757 )
...
* feat(release): preflight all extended-stable npm packages
* fix(release): install packed ai runtime in smoke
* fix(release): install sibling tarballs before core
* fix(release): verify unpublished tarballs locally
* fix(release): declare local preflight dependencies
* fix(release): pack workspace dependencies for smoke
* fix(release): accept pnpm pack artifact path
* fix(release): seed ai in sdk smoke
* fix(release): preserve prepublish verifier compatibility
2026-07-08 08:01:00 -07:00
Peter Steinberger
4bf70be01a
feat(secrets): egress-time credential injection with process-local sentinels ( #102009 )
...
* feat(secrets): resolve SecretRef model credentials at egress via process-local sentinels
SecretRef-managed model-provider credentials now travel as opaque
oc-sent-v1 sentinels through auth storage, stream options, and SDK
config; the guarded model fetch injects real values into headers and
URLs immediately before the SSRF-guarded send and fails closed on
unknown sentinels. packages/ai adapters converge on the host guarded
fetch where the SDK supports custom fetch and unwrap at construction
where it does not. Resolved values (and their percent-encoded forms)
register for exact-value log redaction. Kill switch:
OPENCLAW_SECRET_SENTINELS=off. Also fixes a pre-existing unhandled
rejection race in capNonOkResponseBodyLazily (pipeThrough writer leak).
* test(plugin-sdk): update public surface budget
2026-07-08 12:56:41 +01:00
Peter Steinberger
83ebbcb3ac
fix(crabbox): retry cold metadata probes so a slow run --help does not block validation ( #102159 )
...
The wrapper probes `crabbox --version` and `crabbox run --help` once each with a
snappy 5s timeout to enumerate providers before delegating. A cold Crabbox — the
first call right after a version bump, or one on a loaded machine — can exceed
that timeout while rendering `run --help` (52KB, emitted on stderr in 0.36) or
doing first-run init, and can emit nothing on that first call. When that happens
both guards fire and hard-exit the wrapper ("selected binary failed basic
--version/--help sanity checks" or "could not parse provider list from --help;
refusing to run"), which blocks ALL remote validation (`pnpm check:changed`,
remote `pnpm test` lanes) even though the binary is fine.
Retry each metadata probe once with a generous 20s timeout when the first attempt
is killed or returns empty. The warm path is unchanged (one ~instant probe); only
a slow/empty first probe pays for the retry, after which the sanity/provider-list
guards judge the recovered result. Add a regression test: a fake Crabbox whose
`run --help` is slower than the default probe timeout (and, like 0.36, writes help
to stderr) is now recovered by the retry instead of hard-failing.
2026-07-08 12:53:48 +01:00
Jason (Json)
2fbd4cdcba
fix(installer): complete first-run onboarding ( #101901 )
...
* fix(installer): complete first-run onboarding
* docs(installer): document finalization paths
* fix(installer): honor verify without tty
* fix(installer): align config finalization
2026-07-07 18:23:56 -06:00
Vincent Koc
3bbc2732c0
refactor(deadcode): localize script helper types ( #101917 )
2026-07-07 16:59:51 -07:00
Vincent Koc
3dbe98a1f7
refactor(deadcode): localize release tooling declarations ( #101904 )
2026-07-07 16:13:55 -07:00
Vincent Koc
ba7af36306
refactor(deadcode): localize script constants ( #101892 )
2026-07-07 15:17:41 -07:00
Vincent Koc
e7365d41d3
refactor(deadcode): localize Parallels helpers ( #101889 )
2026-07-07 14:53:20 -07:00
Vincent Koc
d563101a82
refactor(deadcode): localize test and tooling helpers ( #101875 )
2026-07-07 13:45:26 -07:00
Vincent Koc
7ff3f2dbf9
refactor(deadcode): localize UI and script symbols ( #101858 )
2026-07-07 11:55:57 -07:00
Josh Lehman
a68caa185b
refactor(sessions): move parent-session forking behind the accessor boundary ( #101699 )
...
* refactor(sessions): move parent-session forking behind the accessor boundary
* fix(sessions): lazy-load fork transcript runtime to keep accessor imports lean
* test(sessions): align parent fork mock shape
2026-07-07 10:47:02 -07:00
Josh Lehman
453f5968bb
refactor(gateway): route chat transcript injection through the session accessor ( #101688 )
...
* refactor(gateway): route chat transcript injection through the session accessor
* fix(gateway): avoid map-spread in source reply mirror rewrite results
* perf(sessions): find injected transcript duplicates with a reverse early-exit scan
2026-07-07 09:10:30 -07:00
Peter Steinberger
ed28c57e20
fix(codex): validate maintained app-server types ( #101726 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-07 15:48:08 +01:00
Kevin Lin
72ca911e3c
fix(release): allow SHA-only extended-stable preflight ( #101466 )
2026-07-07 07:45:55 -07:00
Vincent Koc
b9a3db13f1
test(e2e): parse corrupt plugin timeouts as decimal
2026-07-07 12:03:11 +02:00
Vincent Koc
a9c0592831
test(e2e): align corrupt plugin update timeout
2026-07-07 12:03:10 +02:00
brokemac79
037412ec7d
ci(mantis): add web UI chat proof lane ( #100472 )
...
* ci(mantis): add web ui chat proof lane
* ci(mantis): tighten web ui proof candidate parsing
* ci: tighten Mantis Web UI proof lane
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 10:54:35 +01:00
Peter Steinberger
bc5a82b26d
fix(android): auto-detect the Android SDK when fresh worktrees lack local.properties ( #101273 )
2026-07-07 10:22:07 +01:00
Vincent Koc
202d90041d
test(e2e): authorize doctor install switch repairs
2026-07-07 11:15:05 +02:00
Peter Steinberger
48e77b6abf
feat(ios): render inline LaTeX math in completed chat prose ( #101388 )
2026-07-07 08:46:31 +01:00
xingzhou
de152b1f65
fix(plugin-sdk): align speech runtime packaging ( #89899 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 07:38:41 +01:00
Vincent Koc
6e6d1aac4c
test(openai): add focused realtime live smoke
2026-07-06 23:22:33 -07:00
Vincent Koc
c43e020f47
feat(openai): default realtime voice to gpt-realtime-2.1
2026-07-06 23:22:33 -07:00
Josh Lehman
5d9a2b114f
feat(context-engine): report compaction successors as typed session targets ( #101182 )
2026-07-06 22:14:46 -07:00
cxbAsDev
325cdb7f1a
fix(infra): swallow mid-stream read errors in session-cost readJsonlRecords ( #101062 )
...
* fix(infra): swallow mid-stream read errors in session-cost readJsonlRecords
* fix(infra): keep usage cache strict on read errors
---------
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-06 21:23:30 -07:00
Peter Steinberger
a78538dc2a
perf(test): reuse extension test inventory
2026-07-06 23:23:09 -04:00