Commit Graph

5175 Commits

Author SHA1 Message Date
Peter Steinberger
f76e653776 fix: guard stale chat buffer sweep (#52428) (thanks @karanuppal) 2026-03-22 16:56:19 -07:00
Peter Steinberger
d73852ff21 fix: land plugin discovery missing-entry handling (#52491) (thanks @hclsys) 2026-03-22 23:22:48 +00:00
Peter Steinberger
e0463331bb fix: land gateway status hardening (#52195) (thanks @meng-clb) 2026-03-22 16:09:43 -07:00
Vincent Koc
5c8e1275a0 feat(minimax): add missing pi catalog models 2026-03-22 15:55:20 -07:00
Vincent Koc
b93a045a96 docs(agents): update steering semantics 2026-03-22 15:40:56 -07:00
Vincent Koc
6e7855fdf5 feat(xai): support fast mode 2026-03-22 15:40:56 -07:00
Vincent Koc
9c0983618e feat(models): sync pi provider catalogs 2026-03-22 15:40:56 -07:00
Peter Steinberger
4ed69e4314 fix: note browser blank-tab launch fix (#52451) (thanks @rogerdigital) 2026-03-22 15:39:34 -07:00
Peter Steinberger
91cd38f4d4 fix(test): repair main CI drift 2026-03-22 22:12:43 +00:00
Peter Steinberger
c0d4abc59e fix(gateway): suppress ciao interface assertions
Closes #38628.
Refs #47159, #52431.
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-03-22 15:02:43 -07:00
Peter Steinberger
3faaf8984f fix(gateway): guard interface discovery failures
Closes #44180.
Refs #47590.
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-03-22 15:02:43 -07:00
Vincent Koc
f7bc9818b5 feat(minimax): support fast mode and sync pi defaults 2026-03-22 14:54:30 -07:00
Felix
57267b23d5 fix(acp): restore inline delivery for run-mode spawns from main sessions (#52426)
* fix(acp): restore inline delivery for run-mode spawns from main sessions

* test: restore matrix ACP spawn coverage (#52426) (thanks @distractedCoding)

---------

Co-authored-by: Felix <distractedCoding@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-03-22 14:54:09 -07:00
Peter Steinberger
ef3f64952a fix: bound session manager cache growth (#52427) (thanks @karanuppal) 2026-03-22 14:54:04 -07:00
Peter Steinberger
abd948f2b7 fix(whatsapp): preserve watchdog message age across reconnects 2026-03-22 21:52:15 +00:00
Vincent Koc
f85cfc8b6c fix(gateway): harden first-turn startup readiness (#52387)
* fix(gateway): harden first-turn startup readiness

* fix(gateway): scope startup model retry
2026-03-22 12:12:08 -07:00
Peter Steinberger
aa80b1eb7c feat(cli): unify hook pack installs under plugins 2026-03-22 11:20:50 -07:00
Peter Steinberger
8d9686bd0f feat!: prefer clawhub plugin installs before npm 2026-03-22 18:17:45 +00:00
Kaneki
d551d8b8f7 fix: make Android current-location callback cancellation-safe (#52318) (thanks @Kaneki-x)
* Android: make current-location callback cancellation-safe

* fix: make Android current-location callback cancellation-safe (#52318) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 22:40:45 +05:30
Peter Steinberger
6c2a3b74e3 fix(exec): harden jq safe-bin policy 2026-03-22 10:04:40 -07:00
Peter Steinberger
91b2800241 feat: add native clawhub install flows 2026-03-22 17:03:49 +00:00
Kaneki
c7788773bf fix: serialize TalkModeManager player cleanup (#52310) (thanks @Kaneki-x)
* Android: fix MediaPlayer double-release race in TalkModeManager

* Android: guard currentPosition read against concurrent player release

* fix: serialize TalkModeManager player cleanup

* fix: serialize TalkModeManager player cleanup (#52310) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 22:31:30 +05:30
Peter Steinberger
42f23619e3 fix(hooks): harden workspace hook loading 2026-03-22 09:38:09 -07:00
Peter Steinberger
1ee9611079 fix(nostr): enforce inbound dm policy before decrypt 2026-03-22 09:37:40 -07:00
Peter Steinberger
a94ec3b79b fix(security): harden exec approval boundaries 2026-03-22 09:35:25 -07:00
Peter Steinberger
ce19a41f52 fix(synology-chat): scope DM sessions by account 2026-03-22 09:21:05 -07:00
Vincent Koc
b9e71240ed refactor(doctor): centralize channel capability metadata (#52325)
* refactor(doctor): centralize channel capabilities

* fix(doctor): preserve msteams sender warnings
2026-03-22 08:47:16 -07:00
Vincent Koc
d3a0a623a3 fix(gateway): trim startup plugin imports (#52326)
* fix(gateway): trim startup plugin imports

* fix(gateway): follow up startup import reviews
2026-03-22 08:43:54 -07:00
Vincent Koc
4685fc7e77 fix(doctor): align matrix and zalouser allowlist semantics (#52096)
* fix(doctor): align extension allowlist semantics

* fix(doctor): skip generic zalouser group warning
2026-03-22 08:19:24 -07:00
CharZhou
a07dcfde84 fix: pass clientTools to runEmbeddedAttempt in /v1/responses agent path (#52171)
Merged via squash.

Prepared head SHA: 74519e7da6
Co-authored-by: CharZhou <17255546+CharZhou@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
2026-03-22 22:05:00 +08:00
Bartok9
c70ae1c96e fix(poll-params): treat zero-valued numeric poll params as unset (#52150)
Merged via squash.

Prepared head SHA: 189e695b7c
Co-authored-by: Bartok9 <259807879+Bartok9@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
2026-03-22 18:39:31 +08:00
Bob
aa6b962a3a Discord/ACP: forward abort signals into ACP turns (#52148)
* Discord/ACP: forward abort signals into ACP turns

* ACP: abort queued turns before actor start
2026-03-22 10:04:32 +01:00
Vincent Koc
c96a12aeb9 Agents: add per-agent defaults and safe model fallback (#51974)
* Agents: add per-agent defaults and safe model fallback

* Docs: add per-agent thinking/reasoning/fast defaults to config reference and thinking docs

* Format get-reply directives

* Auto-reply: guard agent reasoning defaults

* Docs: update config baseline
2026-03-21 22:27:24 -07:00
Vincent Koc
2b210703a3 fix(models): cache models.json readiness for embedded runs (#52077)
* fix(models): cache models.json readiness for embedded runs

* fix(models): harden readiness cache inputs
2026-03-21 21:58:10 -07:00
Felippe Mercurio
8790c54635 fix(android): use scheme default port for gateway setup URLs (#43540)
* fix(android): use scheme default port for gateway setup URLs

* test(android): cover gateway endpoint default ports

* fix(android): preserve direct gateway default port

* fix(android): preserve explicit cleartext port display

* fix: preserve Android gateway setup URL ports (#43540) (thanks @fmercurio)

---------

Co-authored-by: clawdia <clawdia@fmercurio.tech>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 10:21:38 +05:30
Peter Steinberger
7ac312b8fe fix(agents): migrate remaining media artifacts 2026-03-21 21:05:33 -07:00
Goweii
e7e4c68caf Android: update status bar appearance in OpenClawTheme (#51098)
* Android: update status bar appearance in OpenClawTheme

* fix: update Android status bar appearance (#51098) (thanks @goweii)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 09:33:24 +05:30
Kaneki
1e98dbcad3 Android: fix Bitmap memory leaks in PhotosHandler (#41888)
* Android: fix Bitmap memory leaks in PhotosHandler

Bitmaps created by decodeScaledBitmap and intermediate scaled copies
inside encodeJpegUnderBudget were never recycled, leaking native memory
on every photos.latest invocation (up to 20 bitmaps per call).

- latest(): wrap bitmap usage in try/finally to guarantee recycle
- decodeScaledBitmap(): recycle the decoded bitmap after scaling
- encodeJpegUnderBudget(): use try/finally to recycle intermediate
  scaled bitmaps on all exit paths (success, compress failure, and
  cannot-shrink-further early returns)

Made-with: Cursor

* Android: guard decodeScaledBitmap against scale() exceptions

* fix: note Android photos bitmap cleanup (#41888) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 08:53:26 +05:30
Kaneki
2909d8cd12 Android: fix Bitmap memory leaks in CanvasController snapshots (#41889)
* Android: fix Bitmap memory leaks in CanvasController snapshots

snapshotPngBase64() and snapshotBase64() create bitmaps via
captureBitmap() and scaleForMaxWidth() but never recycle them,
leaking native memory on every canvas snapshot invocation.

Wrap both methods in nested try/finally blocks:
- outer: always recycles the captured bitmap
- inner: recycles the scaled bitmap only when it differs from the
  captured one (scaleForMaxWidth returns `this` when no scaling needed)

Made-with: Cursor

* fix: note Android canvas snapshot bitmap leak in changelog (#41889) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 08:50:42 +05:30
Kaneki
88da51d91b Android: fix temp file leak in CameraHandler.handleClip (#41890)
* Android: fix temp file leak in CameraHandler.handleClip

When readBytes() throws (IOException, OOM, etc.), the recorded clip
file was never deleted because delete() only ran on the success path.

Move file.delete() into a finally block so the temp file is cleaned up
regardless of whether readBytes() succeeds or fails.

Made-with: Cursor

* fix: Android camera clip cleanup (#41890) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 08:49:50 +05:30
Ayaan Zaidi
506861efd0 fix: Android contacts search wildcard escaping (#41891) (thanks @Kaneki-x) 2026-03-22 08:48:29 +05:30
Ayaan Zaidi
eea84bc6ec fix: land Android camera bitmap leak (#41902) (thanks @Kaneki-x) 2026-03-22 08:44:06 +05:30
Kaneki
e7814f7ba0 Android: fix incomplete JS string escaping in A2UI action status (#43784)
* Android: fix incomplete JS string escaping in A2UI action status

* escape U+2028/U+2029 Unicode line terminators in JS strings

* refactor(android): serialize A2UI action status strings

* fix: serialize Android A2UI action status strings (#43784) (thanks @Kaneki-x)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-22 08:39:53 +05:30
Val Alexander
14237aa6c0 refactor(usage): drop empty detail placeholder state (#52013)
* refactor(usage): drop empty detail placeholder state

* docs(changelog): add entry for usage detail cleanup
2026-03-21 21:58:55 -05:00
Tak Hoffman
d6c05c1941 ci: surface hidden failures in smoke helpers (#51954)
* ci: surface hidden failures in smoke helpers

* changelog: add ci smoke failure-signal note
2026-03-21 20:21:48 -05:00
Val Alexander
a5309b6f93 feat(usage): improve usage overview styling and localization (#51951)
* feat(usage): add usage page styles and localization

- Introduced a new `usage.css` file for styling the usage overview page.
- Updated `en.ts` localization file to include new usage-related translations.
- Refactored the usage rendering components to utilize the new localization strings for improved user experience.
- Enhanced the `app-render-usage-tab.ts` to better structure the data passed to the rendering function.

* feat(ui): enhance styling and functionality for usage overview and chat components

- Updated `package.json` to include new built dependencies.
- Refined CSS styles across various files to improve UI consistency and accessibility, including adjustments to color themes and layout structures.
- Introduced new responsive grid layouts for usage overview and chat components, enhancing the user experience on different screen sizes.
- Added functionality to hide context notices based on token freshness in chat view.
- Implemented new rendering functions for usage statistics, improving data presentation and user interaction.

* feat(usage): enhance usage overview styling and rendering options

- Added new CSS classes for improved layout and styling of usage insight cards and error lists.
- Updated rendering functions to support customizable class names for usage insight cards and error lists, enhancing flexibility in UI presentation.
- Implemented a wide card layout and specific styling for error lists to improve visual clarity and user experience.

* fix(ui): address review feedback on usage and chat layout

* docs(changelog): add entry for usage UI improvements
2026-03-21 20:07:51 -05:00
Vincent Koc
2b4c3c2057 fix(plugin-sdk): remove relative extension boundary escapes (#51939)
* fix(plugin-sdk): remove relative extension boundary escapes

* Gate new plugin-sdk subpaths on host version

* Add changelog entry for #51939

* Fix local staging for plugin-sdk host version gate

* Raise host floor for line and googlechat plugins

---------

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-21 20:03:18 -05:00
Vincent Koc
80441baa15 perf(core): trim provider and inbound startup imports (#51927)
* fix(telegram): fail fast on stuck getUpdates

* perf(core): trim provider and inbound startup imports
2026-03-21 16:20:42 -07:00
Vincent Koc
5024967e57 fix(core): trim inbound startup churn (#51899)
* perf(core): narrow sandbox status imports for error helpers

* fix(core): trim inbound startup churn

* fix(auth): expire cached external cli sync state

* test(auth): avoid mtime sleep race in cache test
2026-03-21 15:55:19 -07:00
Vincent Koc
805aaa4ee8 fix(agents): avoid model catalog startup tax on telegram replies 2026-03-21 15:03:55 -07:00