Commit Graph

67697 Commits

Author SHA1 Message Date
Peter Steinberger
6def44a2fe fix(plugin-sdk): preserve allowlist compatibility export 2026-07-13 00:35:08 -07:00
Peter Steinberger
b4122f0c19 refactor(agents): remove dead lifecycle alias 2026-07-13 00:35:08 -07:00
Peter Steinberger
224d02ad71 fix(plugin-sdk): preserve deprecated public exports 2026-07-13 00:35:08 -07:00
Peter Steinberger
2d5d30e047 style: format deprecated sweep changes 2026-07-13 00:35:08 -07:00
Peter Steinberger
9f158ed00b refactor(channels): remove internal compatibility aliases 2026-07-13 00:35:08 -07:00
Peter Steinberger
4638b06454 refactor(runtime): remove deprecated timing aliases 2026-07-13 00:35:08 -07:00
Peter Steinberger
3302c3f5f9 refactor(agents): drop dead compatibility members 2026-07-13 00:35:08 -07:00
Peter Steinberger
45961b357d refactor(infra): remove internal deprecated helpers 2026-07-13 00:35:08 -07:00
Peter Steinberger
29781ab39e feat(android): generate gateway protocol models (#106011)
* feat(android): generate gateway protocol models

* fix(ci): recognize generated Kotlin event constants

* fix(android): normalize generated event catalog

* fix(ci): type Kotlin event coverage exports

* fix(ci): satisfy Kotlin codegen gates
2026-07-13 00:34:57 -07:00
Peter Steinberger
2237196871 refactor(extensions): remove dead QA and utility exports (#105914)
* refactor(extensions): remove dead QA and utility exports

* refactor(extensions): trim Matrix QA internal exports

* chore(deadcode): refresh extension export baseline

* chore(ci): reconcile deadcode and LOC baselines

* chore(deadcode): refresh baseline after main advance

* chore(deadcode): refresh baseline after main advance

* refactor(plugins): keep channel snapshot type private

* fix(ci): align Linux deadcode baseline
2026-07-13 00:34:46 -07:00
Peter Steinberger
afe907f8f5 improve(ui): friendlier panel load error state with reload prompt for stale chunks (#106033) 2026-07-13 00:34:32 -07:00
Peter Steinberger
af7379bceb fix(docs): localize Russian plugin terminology 2026-07-13 03:34:26 -04:00
Peter Steinberger
5d86f9dcaf fix(ui): allow session creation during refresh (#106045) 2026-07-13 00:34:12 -07:00
Peter Steinberger
afdc29c3dd fix(ci): reduce release validation polling load (#106139)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-13 15:32:27 +08:00
mushuiyu886
4200745a98 fix(matrix): handle event decryption errors during sync (#94416)
Co-authored-by: mushuiyu886 <mushuiyu886@users.noreply.github.com>
2026-07-13 00:32:05 -07:00
Peter Steinberger
73da94f06f improve(ui): move Sessions from the sidebar More menu into Settings (#106032)
Sessions is session management, not a day-to-day workspace destination.
It now lives in Settings under Agents & Tools at /settings/sessions,
with the old /sessions path kept as a route alias; stale pinned-route
prefs drop automatically via normalizeSidebarPinnedRoutes. Also repairs
the sidebar-customization e2e that #105777 broke on main by opening
Settings through the agent-chip menu.
2026-07-13 00:30:20 -07:00
Vincent Koc
90d2a47faa refactor(gateway): remove transcript archive re-export (#106097) 2026-07-13 15:25:16 +08:00
Peter Steinberger
32c84b0f41 feat(skills): capture reusable techniques from successful work (#105674)
* feat(skills): capture reusable experience safely

* feat(skills): review completed work for reusable learning

* docs(skills): explain self-learning

* docs: clarify self-learning runtime scope

* fix(skills): harden autonomous workshop reviews

* test(skills): align review prompt fixture
2026-07-13 00:22:06 -07:00
Peter Steinberger
b2b87e956e fix(macos): center dashboard traffic lights with the hosted titlebar buttons (#106099)
* fix(macos): center dashboard traffic lights with the hosted titlebar buttons

Give the dashboard window an empty unified toolbar so its titlebar grows
to 52pt, vertically centering the macOS traffic lights against the row of
web-hosted titlebar buttons (sidebar toggle, back/forward) instead of
hugging the top edge. Bump the injected --openclaw-native-titlebar-height
to match, and nudge the hosted controls' left offset from 78px to 92px so
the traffic-light cluster and the first web button read as separate groups.

The toolbar exists only to size the titlebar, so View > Hide Toolbar (and
the corresponding shortcut) are refused; hiding it would collapse the
titlebar while the web inset stays pinned at 52pt, resurrecting the
misalignment. Smoke tests cover toolbar presence/style, hide refusal, and
the exact injected height.

* chore(i18n): resync native inventory line metadata
2026-07-13 00:17:13 -07:00
Peter Steinberger
b5273e78d6 fix(ui): restore app-sidebar content with IconName type import
The previous commit accidentally truncated app-sidebar.ts to an empty
file while fixing the missing IconName import from #105850. This
restores the full component with the corrected icons import.
2026-07-13 00:15:43 -07:00
Peter Steinberger
08843c74de fix(ui): restore IconName type import in app-sidebar
#105850 added AGENT_MENU_LINKS typed with IconName without importing
the type, breaking check-prod-types/check-test-types on main.
2026-07-13 00:14:34 -07:00
Peter Steinberger
b57e7b74e6 feat: add native Skills management parity (#105814)
* feat(apps): add native skills management parity

* chore(i18n): refresh native skills inventory

* style(apps): apply canonical Swift formatting

* style(ios): wrap skills status message

* chore(i18n): refresh native skill locales

* refactor(apps): trim native skills review surface

* chore(i18n): regenerate native app resources

* chore: keep release changelog owner-only

* fix(ios): remove dead gateway and watch wrappers
2026-07-13 00:11:11 -07:00
Peter Steinberger
78c190814f fix(ci): dedupe read-only state allowlist (#106132) 2026-07-13 00:09:55 -07:00
Peter Steinberger
3c30634de4 fix(ui): order model-dependent chat settings (#106095)
* fix(ui): order model-dependent chat settings

* fix(ui): serialize picker model transitions

* chore: remove release-owned changelog edit
2026-07-13 00:08:15 -07:00
Peter Steinberger
00e8ca6676 fix(ci): dedupe read-only state DB entry in kysely raw-sqlite allowlist
Three concurrent unbreak commits (#106124, #106126, a4467f1971) each
added src/state/openclaw-state-db-readonly.ts, so the guard now dies on
its own duplicate-path assertion before checking anything. Keep the
dedicated read-only shared-state group entry.
2026-07-13 00:06:27 -07:00
Peter Steinberger
6b506e9070 improve(gateway): reduce context-cache startup delay (#106117)
* perf(gateway): defer context cache prewarm

* refactor(gateway): keep prewarm internals private
2026-07-13 00:06:18 -07:00
Peter Steinberger
cb1b5779ea feat(ui): docs, help, Discord, and changelog links in the agent chip menu (#105850)
* feat(ui): docs, help, Discord, and changelog links in the agent chip menu

* chore(i18n): normalize locale bundle metadata after rebase

* refactor(ui): move the agent menu links into the nav-menus module for the LOC ratchet

* Revert "refactor(ui): move the agent menu links into the nav-menus module for the LOC ratchet"

This reverts commit 0e4d72f4c6.
2026-07-13 00:05:42 -07:00
Ben Badejo
2725742cad fix(memory): respect QMD timeout for memory_search (#95757)
* fix(memory): scope qmd search deadline

Preserve the phase-scoped QMD timeout semantics on current main.

Co-authored-by: Peter Steinberger <58493+steipete@users.noreply.github.com>

* docs: refresh generated docs map

* test(memory): reconcile manager mock with current main

* test(memory): isolate deadline mock import

* style(memory): format search test mocks

* test(memory): decouple mock from deadline symbol

* chore(memory): refresh reviewed pull request head

---------

Co-authored-by: Benjamin Badejo <ben@benbadejo.com>
Co-authored-by: Peter Steinberger <58493+steipete@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Peter Steinberger <peter@steipete.me>
2026-07-13 00:05:13 -07:00
Peter Steinberger
d614920c3e fix(ci): allow read-only state database boundary (#106126)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-12 23:59:39 -07:00
Peter Steinberger
a4467f1971 ci: allowlist read-only state DB opener in kysely guardrails 2026-07-12 23:57:56 -07:00
Peter Steinberger
ad1b4d9731 fix(ci): classify read-only shared state SQLite (#106124) 2026-07-12 23:57:30 -07:00
Jason (Json)
4e1224ddbe fix(agents): follow through on promised asynchronous work (#105958)
* fix(agents): close promised asynchronous work loops

* fix(agents): close promised asynchronous work loops

* refactor(agents): keep promised work policy focused

* refactor(agents): preserve prompt module documentation

* style(agents): keep prompt renderer within LOC ratchet

* fix(agents): close promised asynchronous work loops

* fix(agents): close promised asynchronous work loops
2026-07-13 00:56:04 -06:00
Peter Steinberger
f1076c23d4 fix(ci): isolate macOS node restart notifications 2026-07-13 02:54:10 -04:00
Peter Steinberger
0cdb13abfc docs(gateway): dedicated 1Password integration page (#106109) 2026-07-12 23:52:33 -07:00
Jason (Json)
7d9fbb1db8 docs(coding-agent): secure worktree preparation (#106121) 2026-07-13 00:51:49 -06:00
Peter Steinberger
4cbbb86d5e refactor(zalouser): share offset-preserving text chunk ranges (#105842)
* refactor(zalouser): share text chunk ranges

* chore(plugin-sdk): refresh combined API baseline
2026-07-12 23:46:16 -07:00
Ben Badejo
be7241b656 fix: deliver completed replies when post-turn compaction fails (#105156)
* fix(agents): preserve final replies across compaction failures

* test(agents): normalize nullable pending final

* chore(deadcode): drop used outbound payload export baseline

* refactor(agents): clarify pending final compaction delivery guard

* fix(agents): preserve media in pending final recovery

* fix(agents): require persisted final marker before compaction

* fix: keep pending final marker result internal

* test: update plugin SDK surface budget

---------

Co-authored-by: Benjamin Badejo <ben@benbadejo.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 23:46:04 -07:00
Jason (Json)
9c94864746 docs(coding-agent): require fresh project worktrees (#105993)
* improve(agents): require fresh canonical worktrees

* fix(agents): scope fresh worktrees to project coding

* chore(agents): preserve prompt LOC baseline

* fix(skills): exempt scratch Codex scaffolds

* docs: refresh agent template map

* fix(agents): scope worktree policy to prepared workers

* fix(skills): require launcher-prepared worktrees

* fix(skills): sandbox untrusted contributor refs
2026-07-13 00:39:56 -06:00
Peter Steinberger
adf6b08ab4 refactor: consolidate duration parsing and formatting (#105988)
* refactor: consolidate duration handling

* docs: leave release notes to release workflow

* fix: preserve build timing precision

* ci: align plugin sdk surface budgets
2026-07-12 23:38:22 -07:00
Peter Steinberger
8a1201aa7b fix(docs-i18n): restore nested postprocess masks 2026-07-13 02:37:54 -04:00
Vincent Koc
bfa2eff32a fix(ci): refresh plugin SDK API baselines (#106108)
* fix(ci): refresh plugin SDK API baselines

* fix(ci): refresh plugin SDK API baselines

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 23:37:29 -07:00
Vincent Koc
4ea758dcf9 fix(sqlite): keep plugin index reads read-only (#106103) 2026-07-13 14:37:18 +08:00
Peter Steinberger
24ad2484e4 refactor(gateway): split websocket message handler (#106030)
* refactor(gateway): split websocket message handler

* chore(gateway): refresh dead export baseline

* fix(gateway): satisfy websocket handler checks

* fix(gateway): keep transcript read target internal

* fix(gateway): refresh plugin surface budget
2026-07-12 23:36:32 -07:00
Colin Johnson
6242842722 fix(ios): focus missing gateway credentials (#98189)
* fix(ios): focus missing gateway credentials

Co-authored-by: Colin <colin@solvely.net>

* test(macos): let main actor polling suspend

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 23:36:29 -07:00
Peter Steinberger
82d53fd91d fix(ci): stabilize CLI startup memory gate 2026-07-13 02:31:44 -04:00
Peter Steinberger
71295851d7 docs: refresh config baseline 2026-07-12 23:29:02 -07:00
Peter Steinberger
ab8cbfd73c fix(ui): allow manual folders on exec-only nodes (#106012)
* fix(ui): allow manual folders on exec-only nodes

* test(ui): type exec-node request params

* style(ui): format exec-node request assertion
2026-07-12 23:23:06 -07:00
Peter Steinberger
404651d9e8 docs: add HealthKit glossary terms 2026-07-12 23:15:20 -07:00
Peter Steinberger
8a375c4500 docs: document HealthKit summaries 2026-07-12 23:15:19 -07:00
Jason (Json)
3375e30d9c chore(ci): remove TypeScript LOC ratchet (#106096)
Remove the hard 500-line TypeScript LOC ratchet from CI and local check planning, along with its package commands, implementation, baseline, and dedicated tests. Keep the remaining pull-request temp-creation report on its own pr-base fetch.\n\nVerification: 99 focused tooling tests; actionlint; zizmor; workflow guards; exact-head autoreview.
2026-07-13 00:15:00 -06:00