Commit Graph

1273 Commits

Author SHA1 Message Date
Val Alexander
e622223bcd feat(control-ui): collapse cron new job panel
Add a collapsible Control UI cron New Job panel so operators can reclaim list space while keeping create/edit one click away.

Verification:
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md ui/src/styles/components.css ui/src/ui/controllers/cron.ts ui/src/ui/controllers/cron.test.ts ui/src/ui/views/cron.ts ui/src/ui/views/cron.test.ts ui/src/ui/app.ts ui/src/ui/app-render.ts ui/src/ui/app-view-state.ts
- pnpm test ui/src/ui/views/cron.test.ts ui/src/ui/controllers/cron.test.ts
- Browser preview at http://localhost:5173/cron
- Testbox check:changed passed guard/type lanes; lint:core hit unrelated existing origin/main sessionsShowArchived Boolean findings.
2026-05-04 02:46:48 -05:00
Vincent Koc
e8d0cf75ea test(ui): remove duplicate archived fixture key 2026-05-04 00:41:18 -07:00
Vincent Koc
87e3b1a241 fix(ui): clean archived session state reads 2026-05-04 00:41:18 -07:00
Vincent Koc
f2e7f33d69 fix(ui): cap responsiveness event logs 2026-05-04 00:41:18 -07:00
Val Alexander
cf03fe6b6a fix(control-ui): contain access settings fields (#77171)
* fix(control-ui): contain access settings fields

* docs: update changelog for access overflow fix

* fix(control-ui): preserve archived session defaults
2026-05-04 02:40:52 -05:00
Peter Steinberger
e11a8a84ac fix(control-ui): dismiss talk startup errors 2026-05-04 08:32:06 +01:00
github-actions[bot]
2484f37378 chore(ui): refresh fa control ui locale 2026-05-04 07:19:07 +00:00
github-actions[bot]
f8d7182f81 chore(ui): refresh nl control ui locale 2026-05-04 07:19:01 +00:00
github-actions[bot]
e23f3a859c chore(ui): refresh vi control ui locale 2026-05-04 07:18:15 +00:00
github-actions[bot]
573ecd8660 chore(ui): refresh th control ui locale 2026-05-04 07:18:03 +00:00
github-actions[bot]
17c05bbb21 chore(ui): refresh pl control ui locale 2026-05-04 07:17:55 +00:00
github-actions[bot]
b171f6e081 chore(ui): refresh id control ui locale 2026-05-04 07:17:50 +00:00
github-actions[bot]
92a00ebef5 chore(ui): refresh uk control ui locale 2026-05-04 07:17:00 +00:00
github-actions[bot]
54f243d696 chore(ui): refresh tr control ui locale 2026-05-04 07:16:52 +00:00
github-actions[bot]
49ab43477e chore(ui): refresh it control ui locale 2026-05-04 07:16:45 +00:00
github-actions[bot]
42abef0afb chore(ui): refresh ar control ui locale 2026-05-04 07:16:39 +00:00
github-actions[bot]
85e9af7767 chore(ui): refresh ko control ui locale 2026-05-04 07:15:44 +00:00
github-actions[bot]
dbde49f44e chore(ui): refresh fr control ui locale 2026-05-04 07:15:39 +00:00
github-actions[bot]
7c38f0997f chore(ui): refresh ja-JP control ui locale 2026-05-04 07:15:35 +00:00
github-actions[bot]
1cbe32ef23 chore(ui): refresh es control ui locale 2026-05-04 07:15:26 +00:00
github-actions[bot]
1621d9f27d chore(ui): refresh pt-BR control ui locale 2026-05-04 07:14:27 +00:00
github-actions[bot]
6e9c0bfbe4 chore(ui): refresh zh-TW control ui locale 2026-05-04 07:14:23 +00:00
github-actions[bot]
0dd1b11e83 chore(ui): refresh zh-CN control ui locale 2026-05-04 07:14:21 +00:00
github-actions[bot]
f409b093fd chore(ui): refresh de control ui locale 2026-05-04 07:14:19 +00:00
Val Alexander
a5dcf3d300 fix(control-ui): filter archived sessions (#77132)
Summary:
- Use sessions.list as the Control UI source of truth for available sessions.
- Hide archived sessions by default and keep the Sessions filter UI explicit, compact, and reversible.
- Preserve session-change behavior, checkpoint details, generated i18n output, and chat/session picker consistency.

Validation:
- pnpm ui:i18n:check
- pnpm test ui/src/styles/components.test.ts ui/src/ui/views/sessions.test.ts ui/src/ui/app-render.helpers.node.test.ts
- pnpm test ui/src/ui/controllers/sessions.test.ts ui/src/ui/app-gateway.sessions.node.test.ts ui/src/ui/views/sessions.test.ts ui/src/styles/components.test.ts ui/src/ui/app-render.helpers.node.test.ts
- pnpm tsgo:test:ui
- Blacksmith Testbox: pnpm check:changed -- <PR paths>
2026-05-04 02:12:16 -05:00
Val Alexander
5fe8cde28f feat(ui): show active agent in dashboard header
Show the active agent name in the Control UI dashboard breadcrumb without adding the current session key/name.

Verification:
- pnpm test ui/src/ui/app-render.helpers.node.test.ts
- node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json ui/src/ui/components/dashboard-header.ts ui/src/ui/app-render.helpers.ts ui/src/ui/app-render.ts ui/src/ui/app-render.helpers.node.test.ts
- git diff --check
- Testbox pnpm check:changed
2026-05-04 02:09:52 -05:00
Peter Steinberger
826786b114 feat: add control UI responsiveness diagnostics 2026-05-04 08:04:18 +01:00
Peter Steinberger
fa689295c6 fix: resolve small triage issues 2026-05-04 07:38:42 +01:00
Zander
8412b189df ui(chat): remove unsupported line-clamp declaration
Remove the unsupported unprefixed line-clamp CSS declaration from the chat queue text rule while keeping the existing -webkit-line-clamp truncation behavior.\n\nValidation:\n- git diff --check origin/main...HEAD\n- pnpm exec oxfmt --check --threads=1 CHANGELOG.md ui/src/styles/components.css\n- pnpm check:changelog-attributions\n- Testbox: OPENCLAW_TESTBOX=1 pnpm check:changed\n\nCI note: exact-SHA CI failed in unrelated plugin loader/plugin SDK jobs outside this PR's touched files.
2026-05-04 01:28:14 -05:00
Peter Steinberger
a9d77b3eb0 fix: scope Control UI assistant media tickets 2026-05-04 06:49:28 +01:00
Peter Steinberger
a4df85e55f fix(ui): render text-block tool results 2026-05-04 04:26:19 +01:00
Peter Steinberger
6f8b9bb573 fix(ui): render dream diary markdown 2026-05-04 04:26:19 +01:00
Peter Steinberger
143db94701 fix(ui): update tweakcn appearance link 2026-05-04 04:26:19 +01:00
Peter Steinberger
0872b505b0 fix(cron): clarify no-delivery previews 2026-05-03 22:49:31 +01:00
Jack Storment
bdd68a75ea fix(doctor): repair configured missing plugins
Fixes #76872.

Doctor now repairs configured-but-missing official plugins during update/doctor recovery, auto-enables the plugin after a successful repair, and preserves config when the download cannot complete. The plugin auto-enable path also honors disabled web search and only enables configured providers/channels when a manifest declares the matching capability.

Verification:
- git diff --check
- fallback-only Korean i18n check
- focused plugin auto-enable/config/doctor Vitest suite
- Crabbox published upgrade-survivor configured-plugin-installs E2E
- CI green on PR head 67ba8ac002

Co-authored-by: Jack Storment <crazycoder131@gmail.com>
2026-05-03 22:44:21 +01:00
github-actions[bot]
4b66a1f7f8 chore(ui): refresh ko control ui locale 2026-05-03 19:06:53 +00:00
Marvinthebored
a64b30705f fix(usage): serve usage from durable transcript aggregate cache
Serve usage.cost and sessions.usage from a durable transcript aggregate cache with guarded refreshes, cache-status UI localization, and regression coverage. Thanks @Marvinthebored.
2026-05-03 20:04:26 +01:00
Peter Steinberger
2805bbd3d7 feat(commands): add side alias for btw 2026-05-03 18:22:20 +01:00
VACInc
a0e526c163 fix(ui): avoid session list reloads for chat turns 2026-05-03 16:08:35 +01:00
Peter Steinberger
6aa4fb7a69 test(ui): cover deferred skills dialog opening 2026-05-03 15:23:18 +01:00
Nickmopen
e8227fd7b3 fix(ui): defer showModal until dialog is connected to DOM 2026-05-03 15:23:18 +01:00
Peter Steinberger
73be4ea901 ci: fix full release validation gates 2026-05-03 13:01:14 +01:00
Alex Knight
8a0e3b6422 test(ui): clean up navigation teardown (#76625) 2026-05-03 21:41:08 +10:00
Alex Knight
54a81e0080 fix: expose session-specific thinking levels (#76548)
* fix: expose session-specific thinking levels (#76482)

* fix: preserve lightweight sessions.list contract, fix consumer-side fallbacks only

* fix: include thinking levels in lightweight session rows for Control UI (#76482)

The Control UI cannot resolve provider-specific thinking levels client-side
(ui/src/ui/thinking.ts always returns base 5 levels). The gateway must
provide them even in lightweight rows. listThinkingLevelOptions is a cheap
in-memory lookup — negligible perf impact vs the transcript/cost/model ops
that the lightweight flag still skips.

Also update existing test assertions that expected thinkingOptions: [] for
lightweight rows (flagged by ClawSweeper review).

* test: add e2e regression tests for thinking level pipeline (#76482)
2026-05-03 21:38:32 +10:00
Vincent Koc
d69d610bf0 fix(ui): guard app custom element registration 2026-05-02 22:40:00 -07:00
Val Alexander
2810f1219a fix(ui): surface compaction checkpoints in chat history
Fixes #76415.

- Explains compacted history boundaries in WebChat.
- Adds an Open checkpoints action for pre-compaction recovery.
- Updates WebChat docs and changelog with Thanks @BunsDev.
- Validated targeted UI tests, formatting/diff checks, Testbox changed gate, and exact-head CI.

Security: UI/docs/tests/styles-only change that reuses existing checkpoint APIs; no new dependencies, filesystem reads, workflow changes, or secret handling.
2026-05-02 23:29:28 -05:00
clawsweeper[bot]
cb31616d88 fix(ui): clean up delete confirm popover listener (#76318)
Summary:
- The PR centralizes Control UI chat delete-confirm popover dismissal, adds listener-cleanup regression coverage and unit-UI test routing fixes, and records the fix in the changelog.
- Reproducibility: yes. Current-main source shows a high-confidence path: open the delete confirm, let `reques ... ncel, Delete, or same-button toggle; those paths remove the popover without removing the document listener.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(ui): clean up delete confirm popover listener
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-7559…
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-75590 with ma…
- PR branch already contained follow-up commit before automerge: fix(ui): repair delete confirm listener cleanup checks

Validation:
- ClawSweeper review passed for head 62240d8153.
- Required merge gates passed before the squash merge.

Prepared head SHA: 62240d8153
Review: https://github.com/openclaw/openclaw/pull/76318#issuecomment-4364990281

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Ricardo-M-L <69202550+Ricardo-M-L@users.noreply.github.com>
2026-05-03 02:21:10 +00:00
Val Alexander
05c9492bff fix: reduce WebUI session latency churn (#76277) thanks @BunsDev
Reduce WebUI/Gateway latency churn by avoiding redundant session reloads, carrying session keys through transcript update events, and deferring explicit media provider discovery. Includes changelog attribution and closes the referenced runtime latency issues.
2026-05-02 18:39:06 -05:00
Peter Steinberger
68359cacbf feat(webchat): add server-side dictation (#76021)
Summary:
- This PR adds WebChat server-side dictation through a new authenticated `chat.transcribeAudio` Gateway RPC, MediaRecorder composer controls, docs/changelog updates, and focused gateway/UI tests.
- Reproducibility: yes. Current main reproduces the missing feature by inspection: the Gateway method list, write scopes, docs, and WebChat voice-control test have no `chat.transcribeAudio` server-dictation path.

ClawSweeper fixups:
- Included follow-up commit: feat(webchat): add server-side dictation
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7602…

Validation:
- ClawSweeper review passed for head 850571380a.
- Required merge gates passed before the squash merge.

Prepared head SHA: 850571380a
Review: https://github.com/openclaw/openclaw/pull/76021#issuecomment-4363514226

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 23:09:23 +00:00
Peter Steinberger
cb9a97f211 test(ui): update home-relative media expectation 2026-05-02 22:30:03 +01:00