Commit graph

18 commits

Author SHA1 Message Date
Peter Steinberger
dab1f08376
feat: give every plugin a compact chat activity icon (#147333)
* feat: give every plugin a compact chat activity icon

Separate package-owned activity SVGs from plugin identity artwork. Ship 154 defaults and seven exact tool overrides, preserving Echo and the progress claw. Include authenticated bounded delivery, safe mask rendering, packaging, and authoring guidance.

* test: declare Vite types for the activity asset browser test

* refactor: keep plugin artwork selection with catalog presentation facts

* test: scope activity browser types and simplify fixture copies
2026-09-13 13:49:51 -07:00
Peter Steinberger
d13f07b1c2
chore(deps): advance cooled dependencies and major upgrades (#146258)
* chore(deps): advance cooled dependencies and major upgrades

* test(logging): migrate failed-sink regression to tslog 5

* test: retain dependency upgrade coverage within lint limits

* fix(deps): preserve compiler launches, Matrix sync and chat metadata

Keep copied script harnesses independent of declaration modules and preserve
Windows executable prefixes after admission. Audit the Matrix sync guard for
42.3, align CI toolchain/cache pins, and refresh session facts after accepted
model-catalog invalidation without relying on picker timing.

* fix(ui): preserve scoped session reconciliation after catalog refresh
2026-09-12 13:28:12 -07:00
RoboClaw
c677baebc9
chore(release): close out 2026.9.4 on main (#144708)
Forward-port the shipped updater, Doctor, schema, and skill snapshot fixes.
Align package metadata and the exact tagged release notes without changing
mobile release versions or any published artifact.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
2026-09-11 18:46:37 +08:00
Patrick Erichsen
8ea617359f
feat(plugins): assign one purpose category to every bundled plugin (#142760)
* feat(plugins): reclassify bundled plugin manifests

* feat(plugins): assign one purpose category per bundled plugin

* feat(plugins): classify native agent execution runtimes
2026-09-10 20:44:20 -07:00
Patrick Erichsen
cb0fcf6b5e
feat(plugins): define package-owned categories (#142710)
* feat(plugins): define manifest category contract

* chore(plugins): classify bundled manifests

* chore(plugins): classify team reports

* test(ui): update wizard catalog fixture
2026-09-09 19:05:40 -07:00
Patrick Erichsen
864dce3768
fix(ui): clarify plugin setup states and icons (#142624)
* fix(ui): complete plugin catalog interaction states

* fix(ui): align installed plugin empty states

* fix(plugins): use dark default icon artwork

* test(ui): preserve plugin routing coverage
2026-09-09 19:05:40 -07:00
Peter Steinberger
58fcf69cad
chore(release): close out 2026.9.3 on main (#142240)
Align root, native source, plugin and companion version metadata with the published stable release. Preserve newer main code and translations, regenerate the channel catalog, and copy the exact tagged release-note section without adding another release train. Native appcast and locale refreshes remain with their independent owners.
2026-09-08 09:39:38 -07:00
Peter Steinberger
74ad6ba4f2
chore(release): bring 2026.9.2 release state to main (#139369)
* chore(release): carry shipped 2026.9.2 state onto main

Align main and official plugin versions with the published stable release and
preserve the exact tagged changelog. All ten canonical runtime/qualification
fix commits are already on main; retain its newer SQLite worker and Watch UI.

Refresh generated UI and native locale artifacts through their canonical
owners after provider failures left main's current inventories out of sync.
The release tag and published package bytes remain unchanged.

* chore(release): isolate generated locales from version closeout

Keep release version metadata and the exact published changelog in this PR.
Generated UI locales are covered by #139382; native locales use #139364.
2026-09-05 14:25:55 -07:00
Peter Steinberger
0229a108fe
chore(release): close out 2026.9.1 on main (#137506)
Set main to the shipped stable version 2026.9.1 (root, apps, plugins, and
version-owned generated metadata via `pnpm release:prepare`), make the
`## 2026.9.1` changelog section identical to the tagged release branch, and
carry the native locale refresh that the release preflight requires.

Release: https://github.com/openclaw/openclaw/releases/tag/v2026.9.1
npm: openclaw@2026.9.1 (latest, beta); 89 @openclaw/* plugins at 2026.9.1.
2026-09-04 17:40:27 -07:00
Patrick Erichsen
1233e5b077
feat(plugins): bundle all plugin icons and update channel gallery (#131511)
* feat(channels): bundle local channel icons

* feat(ui): render channel plugin metadata

* test(channels): isolate bundled icon contract

* refactor(ui): isolate channel plugin presentation

* fix(channels): use verified official artwork

* fix(ui): align channel wizard mock with selection

* fix(ui): load icons only for displayed channels

* feat(plugins): bundle icons for every plugin

* test(ui): serve bundled icons in visual mock

* feat(plugins): add visitor access icon

* fix(ui): satisfy channel gallery lint

* fix(ui): reconcile late channel plugin icons

* fix(plugins): normalize bundled icon artwork

* fix(ui): satisfy channel icon reconciliation checks

* test(ui): narrow channel wizard mock match

* test(ui): target configured channel rows

* test(ui): target channel detail triggers

* test(ui): provide plugin catalog mock

* fix(plugins): improve bundled icon contrast

* test(ui): preserve direct channel setup selection

* fix(plugins): normalize OpenClaw channel artwork

* test(active-memory): assert transient workspace cleanup

* fix(ui): use plugin icons in channel details

* fix(ui): contain package icons in channel covers
2026-09-02 22:41:08 -07:00
Peter Steinberger
6530948812
fix(location): reject future-dated cached fixes (#128591) 2026-08-24 00:57:04 -07:00
Peter Steinberger
964c8c84c1
refactor: consolidate coercion ownership (#122299)
* refactor: consolidate coercion ownership

Centralize four canonical coercion helpers, migrate exact core and plugin duplicates through narrow Plugin SDK facades, and enforce declaration and plugin-normalization ownership boundaries.

The sweep adds eight focused SDK exports while deleting more production and tooling code than it adds. User-visible behavior is unchanged except for safer equivalent object and UI parsing at existing boundaries.

* fix: guard integer option ownership

Register resolveIntegerOption with the canonical function owner and extend the declaration-guard fixture so future local duplicates fail validation.

* fix: keep integer helpers on numeric facade

Remove the unshipped duplicate string-coerce exports and route every affected plugin consumer through the existing number-runtime contract.

* fix: point numeric coercion to number runtime

Make boundary and declaration diagnostics recommend the canonical numeric facade, with failing-before coverage for both guidance paths.
2026-08-11 17:14:53 -07:00
Peter Steinberger
cad77fb39c
refactor: consolidate remaining coercion helpers (#122020) 2026-08-11 10:22:01 -07:00
Peter Steinberger
620fcd0e27
refactor(plugins): make manifests own config ui hints (#121329) 2026-08-09 18:48:49 -07:00
Peter Steinberger
48639663b0
chore(release): prepare 2026.8.1 (#120375) 2026-08-07 18:44:12 -07:00
Leon-SK668
9a8ed45935
fix(linux-node): keep command errors UTF-16 safe (#107717) 2026-07-15 00:16:39 -07:00
Peter Steinberger
58cca1d98a
refactor(linux-node,oc-path): trim internal exports (#107753)
* refactor(linux-node): privatize internal plugin surfaces

* refactor(oc-path): test commands through CLI registration

* chore(deadcode): refresh unused-export baseline
2026-07-14 13:34:00 -07:00
Peter Steinberger
92cca9343e
feat(linux): headless node device capabilities (camera, location, notifications) (#107193)
* feat(linux): add node device capabilities

* fix(linux-node): actionable pending-approval error + node-host advertise integration test

* fix(linux-node): map geoclue access-denied to LOCATION_DISABLED; floor camera maxWidth to avoid zero-height scale

* fix(linux-node): clamp small camera maxWidth to 2 instead of default

* docs(linux-node): clarify where-am-i -t is a process timeout, not update throttle

* refactor(gateway): extract legacy-node filter + rejection hint to fit LOC ratchet; docs-map + deadcode baseline

* fix(gateway): drop now-unused DEFAULT_DANGEROUS_NODE_COMMANDS import after hint extraction

* test(node-host): drop imports orphaned by removed error-code test
2026-07-14 02:30:36 -07:00