Commit Graph

10 Commits

Author SHA1 Message Date
Vyctor H. Brzezowski 02be7fea97 improve(ui): unify resize handles (#125066)
* improve(ui): unify resize handles

* perf(ui): trim resize handle startup cost

* fix(ui): stop resize drags on blur

* perf(ui): absorb resize blur cleanup

* perf(ui): unify resize drag listener target

* refactor(ui): unify resize drag state

* perf(ui): remove duplicate resize styles

* refactor(ui): let layouts own resize edges

* fix(ui): preserve resize interaction contracts

* test(ui): satisfy resize event lint
2026-08-19 21:11:39 -03:00
Peter Steinberger be7f3225f7 fix: auth-cold gateways hide all models and dead-end the operator (#123130)
* fix(control-ui): recover auth-cold model pickers

Keep configured auth-cold models visible but disabled in chat and new-session, block submission, and link Model Setup. Fixes #123080.

* fix(control-ui): preserve rebased model picker behavior

* fix(ui): split composer model picker under the lint size cap

Repairs main's red check-lint caused by the #123090 restore.

* fix(ui): align auth-cold picker CI contracts
2026-08-13 14:09:35 -07:00
Peter Steinberger 983af028cf fix(ui): restore the composer model picker dialog (#123090)
* fix(ui): restore the composer model picker dialog

Partial revert of #122964: the chat/new-session composer returns to the
rich searchable model picker dialog (provider groups, CLI-agent targets
folded inside). Settings pages keep the shared unified picker.

* test(ui): restore chat-model-picker in the Web Awesome ownership inventory

The restored composer picker legitimately owns its details-menu and ARIA
combobox usage; #122964 had removed it from both expected lists.

* test(ui): stop leaking pairing-prompt modals into document.body

view.pairing.test.ts mounted containers (including an open
openclaw-modal-dialog from the approve-prompt tests) into document.body
without cleanup, poisoning later dialog-owning test files in the same
worker. Surfaced by this branch's changed test scheduling in checks-ui;
input-dialog.test.ts then saw the leaked 'Approve DM access' dialog.

* fix(ui): keep a persisted model override selectable when the catalog drops it

Port #122964's synthesized-override row into the restored composer
picker: a session pinned to a retired/unavailable model gets its row in
the dialog so the selection stays visible and escapable. An entirely
empty catalog keeps its no-models state.

* fix(ui): reconcile #123085 with the restored composer picker

The rebase merged #123085's wa-select label-width mechanics into the
restored dialog picker: its chat/layout.css hunks dropped the old
trigger reservation while its tests asserted the new geometry, and its
new-session e2e block targeted a wa-select that no longer exists there.
Restore the pre-#122964 chat layout CSS and responsive test, and drop
the unified-picker label block from the new-session e2e. #123085's
shared select-picker fix stays for the settings surfaces that use it.
2026-08-13 03:45:55 -07:00
Peter Steinberger edcf197483 improve: one channel picker and one model picker across the Control UI (#122964)
* fix(ui): unify channel pickers with icons

Preserve channel values and mutation ownership across Automations, pairing, setup, and Workboard while sharing accessible picker rendering and artwork.

* refactor(ui): unify model pickers

Share provider-aware model selection across chat, new sessions, Automations, Agents, model defaults, Session Observer, Talk, and Memory while preserving owner-specific values and locks.

* fix(ui): keep picker change callbacks value-only

Keep the Web Awesome element private to model-picker custom-mode handling while preserving one-argument callbacks for every picker consumer.

* fix(ui): satisfy model picker types

Keep custom sentinel options within the shared model option shape and guard optional Memory placeholder translation keys.

* refactor(ui): remove obsolete model option template import

Drop the Lit import after Agents model options became pure shared-picker data.

* fix(ui): satisfy picker lint gates

Use explicit model option mapping, remove stale E2E locals, and keep the Cron behavior suite within its enforced line budget.

* test(ui): target unified session model picker
2026-08-12 21:32:51 -07:00
Peter Steinberger 205753eef7 feat(ui): split model picker into searchable model + effort popovers (#120495)
* refactor(ui): remove fake token estimate

* feat(ui): split model picker into model and effort popovers

* fix(ui): hide filtered-out model rows under the flex option style

* fix(ui): drop unused model locator in cloud-startup e2e

* fix(ui): restore focus and expose active model option to assistive tech
2026-08-08 03:47:32 -07:00
Peter Steinberger 7bae24760b refactor(ui): make sessions and navigation reliable across reconnects (#117103)
* refactor(ui): consolidate connection ownership and split control shell

* fix(ui): keep terminal session contract with reconciliation owner
2026-07-31 16:36:47 -07:00
Peter Steinberger 7fa95e2656 feat(ui): add composable skill references (#116330)
* feat(ui): add composable skill references

* fix(ui): align skill reference CI contracts

* fix(ui): scope skill references to WebChat
2026-07-30 04:07:02 -07:00
Peter Steinberger 049a17860c refactor(ui): split chat composer (#113338)
* refactor(ui): split chat composer

* refactor(ui): align composer split ownership

* test(ui): clarify custom combobox inventory
2026-07-24 08:11:54 -07:00
Peter Steinberger acd92f6a3d chore(deps): refresh repository dependencies (#112453)
* build(deps): update QA broker dependency

* build(deps): refresh repository dependencies

* build(deps): reconcile rebased shrinkwraps

* test(plugins): remove stale loader test state

* test(deps): stabilize updated dependency coverage

* fix(swift): use caller-isolated TaskLocal overload

* build(deps): regenerate rebased shrinkwraps

* test(msteams): preserve DNS validation in fetch helper

* fix(deps): avoid vulnerable optional image stack

* test(deps): validate generated LRU override

* refactor(ui): extract chat resizable divider

* test(ui): update divider ownership path

* fix(matrix): retain restart-compatible SDK

* style(cron): format update test
2026-07-23 16:17:13 +00:00
Peter Steinberger 8590655190 refactor(ui): use Web Awesome controls throughout Control UI (#106865)
* refactor(ui): add Web Awesome foundation

* refactor(ui): migrate shared menus and chat controls

* refactor(ui): migrate page controls to Web Awesome

* refactor(ui): migrate workboard controls to Web Awesome

* fix(ui): harden Web Awesome interactions

* test(ui): type Web Awesome dropdown state

* fix(ui): preserve menu focus and selection

* fix(ui): restore agent picker focus

* fix(ui): track keyboard menu dismissal

* fix(ui): ignore stale session menu closes

* fix(ui): complete Web Awesome keyboard migration

* fix(ui): repair Web Awesome lockfile graph

* docs(ui): keep release note in PR body

* fix(ui): satisfy Web Awesome migration gates

* perf(ui): keep Web Awesome theme in startup stylesheet

* fix(ui): replace reopened Web Awesome session menus

* fix(ui): keep replacement session menus open
2026-07-13 17:46:28 -07:00