* 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
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.
* 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
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.
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.
* 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.
* 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>
* 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
* 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>
* 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>
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.