Commit Graph

3133 Commits

Author SHA1 Message Date
Peter Steinberger
03d4b05593 style(ui): format tool card tests 2026-07-13 02:05:04 -04:00
Peter Steinberger
bebcf52d23 ci: isolate Control UI tool card tests 2026-07-13 02:00:58 -04:00
Jason (Json)
30cbc1118a fix(ui): keep restored prompts visible during runs (#106001) 2026-07-12 23:55:53 -06:00
Peter Steinberger
e4a17ee160 refactor(ui): split Workboard controller modules (#105995)
* refactor(ui): split Workboard controller modules

* chore(ui): track moved Workboard export

* chore(ui): avoid unrelated LOC baseline validation

* ci: refresh TypeScript LOC baseline

* ci: drop stale transcript export baseline
2026-07-12 22:55:07 -07:00
Peter Steinberger
bd7f3cffd3 fix(ci): stabilize QA and UI validation (#106061) 2026-07-12 22:34:38 -07:00
Peter Steinberger
2ecd485cd5 refactor(ui): deduplicate layout, clipboard, and polling scaffolds (#106003)
* refactor(ui): share dock panel layout

* refactor(ui): centralize clipboard writes

* refactor(ui): centralize polling lifecycle

* refactor(ui): reuse shared byte formatter

* chore(ci): refresh UI LOC ratchet

* fix(ui): keep dock layout type internal
2026-07-12 22:05:09 -07:00
Peter Steinberger
3bac8923e6 ci: clear unused export drift 2026-07-13 00:12:36 -04:00
Peter Steinberger
e43bd3d57b refactor(ui): localize lobster pet internals (#105955)
* refactor(ui): localize lobster pet internals

* chore(deadcode): reconcile current UI export drift
2026-07-12 21:08:24 -07:00
Peter Steinberger
156f4c89ed refactor(ui): fold sidebar More section into a popup menu (#105906)
The sidebar's expandable "MORE" section (uppercase header, chevron, persisted
sidebarMoreExpanded pref, dedicated "Edit pinned items" row) collapses into a
single More nav row that opens a transient popup menu with the unpinned
routes, dynamic plugin tabs, and the pin editor entry. Menu rows are real
anchors, so Cmd/middle-click keeps native link behavior; the More row carries
the active highlight when the current route lives inside the menu. The
sessions list gets the reclaimed vertical space, and one persisted setting is
gone (stale keys are ignored on load). The nav rows and menus move to
app-sidebar-nav-menus.ts to keep app-sidebar.ts under the TS LOC ratchet.

Docs: docs/web/control-ui.md sidebar-navigation section updated.

Fixes #105905
2026-07-12 20:33:51 -07:00
Peter Steinberger
b43e832fcc feat(ui): host the macOS dashboard titlebar buttons in the web UI (#105902)
* feat(ui): host the macOS dashboard titlebar buttons in the web UI

* style(ui): oxfmt macos titlebar controls

* fix(ui): bracket-access native web chrome globals for no-underscore-dangle

* docs(macos): note intentional no-fallback contract for non-web-chrome pages

* chore(ui): drop unused NativeHistoryStateEvent export

* chore(i18n): resync native inventory line metadata

* chore(i18n): translate nav.back/nav.forward across locales
2026-07-12 20:29:58 -07:00
Peter Steinberger
7761022048 fix(ui): explain skipped cron runs (#105858) 2026-07-12 20:05:11 -07:00
morluto
5f46433d62 fix(ui): bound stale-chunk recovery probes (#105795) 2026-07-12 19:59:12 -07:00
Peter Steinberger
e119d050e5 feat(ui): make the sidebar agent chip body the menu trigger (#105861)
* feat(ui): make the sidebar agent chip body the menu trigger

The footer chip's big name/avatar area now opens the agent menu directly
and the chevron toggle button is removed. New-session plus stays as the
only trailing action; the unread dot moves onto the chip body.

* chore(ui): prune removed agentChip.openConversation key from locale bundles

* fix(ui): keep the agent name in the chip menu trigger accessible name
2026-07-12 19:57:31 -07:00
Peter Steinberger
34bbd3820b test(ui): stabilize chat hover browser timeout 2026-07-12 22:44:54 -04:00
Peter Steinberger
a9761ab5af test(ui): align composer footer inset assertions with centered chip padding
PR #105866 split the footer block inset evenly (calc(inset/2) top/bottom)
but left chat-responsive.browser.test.ts asserting the full inset, breaking
checks-ui on main.
2026-07-12 19:35:06 -07:00
Peter Steinberger
2f756c70a6 fix(ui): center composer footer controls between divider and card edge (#105866)
* fix(ui): center composer footer controls between divider and card edge

* docs: add PR number to composer footer changelog entry
2026-07-12 19:13:17 -07:00
Peter Steinberger
6eae468d45 feat(ui): scope the sidebar sessions list to the chip-selected agent (#105832)
* feat(ui): scope the sidebar sessions list to the selected agent

* fix(ui): render the target agent's cached sessions during a chip switch

* fix(ui): key the sessions list off the chip-selected agent
2026-07-12 18:43:11 -07:00
Peter Steinberger
a948168690 fix(ui): restore logs auto-follow when re-enabled (#105809) 2026-07-12 18:13:09 -07:00
Peter Steinberger
462edb3373 fix(ui): scope usage insights to active filters (#105792) 2026-07-12 17:46:54 -07:00
Peter Steinberger
491e1f6f6d feat(ui): agent-centric sidebar footer chip with utility menu (#105777)
* feat(ui): agent-centric sidebar footer chip with utility menu

* feat(ui): agent chip menu anchoring, link styling, locale sync

* fix(ui): keep agent chip presence announcement out of the aria-hidden avatar

* fix(ui): resolve agent chip resume sessions against the target agent, not the route agent

* fix(ui): tie unprefixed session keys to the system default agent in chip resume

* style(ui): oxfmt layout.css
2026-07-12 17:25:41 -07:00
Peter Steinberger
0ba1e5ca2e fix(ui): honor session delete no-op results (#105778) 2026-07-12 17:17:05 -07:00
Vincent Koc
c9012f2037 refactor(ui): trim private API type exports (#105772) 2026-07-13 08:11:24 +08:00
Peter Steinberger
1c33c52f1b refactor(mcp): trim private app exports (#105771) 2026-07-12 17:07:58 -07:00
Peter Steinberger
1ffccaab94 fix(ui): omit blank cron delivery account ids (#105762) 2026-07-12 16:56:54 -07:00
Peter Steinberger
a6e87f7caf fix(ui): send idle stop aliases as normal messages (#105742)
* fix(ui): send idle stop aliases as messages

* chore: leave release notes to release automation
2026-07-12 16:36:57 -07:00
Jason (Json)
1663c8801d fix(ui): preserve MCP App previews across reloads (#105728)
* fix(mcp): harden app preview lifecycle

* fix(ui): defer MCP app initialization payload

* test(mcp): align current policy expectations

* fix(ui): preserve MCP app previews

* fix(mcp): reject disabled app restoration

* fix(mcp): preserve reconstructed app state

* fix(mcp): bind reconstructable app data

* fix(ui): deduplicate MCP app preview copies

* style(ui): format MCP app preview test

* fix(mcp): satisfy metadata access lint

* style(mcp): format metadata access
2026-07-12 17:30:34 -06:00
Peter Steinberger
f494f1579a fix(ui): align session PR rows with the composer width (#105604) 2026-07-12 16:03:05 -07:00
Peter Steinberger
c9ec723546 fix(ui): prevent New Session input loss during creation (#105702)
* fix(ui): lock pending new-session drafts

* chore: defer changelog to release generation
2026-07-12 15:28:39 -07:00
Peter Steinberger
95f142bf0c fix(ui): isolate retained test modules (#105711)
* fix(ui): isolate retained test elements

* test(ui): share terminal mock across retained modules

* refactor(ui): trim private search exports

* test(ui): type retained terminal mock

* test(ui): narrow terminal mock contract

* test(ui): isolate approval page modules

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-12 15:10:15 -07:00
Peter Steinberger
238c7973ad feat(chat): native session scroll-back with offset paging and import-aware history (#105688)
* feat(chat): native session scroll-back with import-aware history paging

* fix(chat): page imported session history

* fix(chat): restore terminal import snapshots

* fix(chat): gate cli import resolver on ignore flag to stop history recursion

* fix(chat): correct scroll-back types and drop orphaned recent-messages reader
2026-07-12 13:58:40 -07:00
Shakker
b640718204 fix: segment localized settings queries (#104675) 2026-07-12 21:46:50 +01:00
Shakker
89ccb5a90d fix: complete recursive settings search 2026-07-12 21:46:50 +01:00
Shakker
7d2694d7fc fix: contain settings config load failures 2026-07-12 21:46:50 +01:00
Shakker
378862e575 style: format settings search changes 2026-07-12 21:46:50 +01:00
Shakker
7d8b24a55f test: cover precise settings deep links 2026-07-12 21:46:50 +01:00
Shakker
8754e43dcc fix: guard settings search config loading 2026-07-12 21:46:50 +01:00
Shakker
327ec31d23 fix: search unconfigured array settings 2026-07-12 21:46:50 +01:00
Shakker
c14582f87d fix: tolerate malformed settings deep links 2026-07-12 21:46:50 +01:00
Shakker
763ea3ea6a fix: localize settings search blocks 2026-07-12 21:46:50 +01:00
Shakker
1b3ed0f670 refactor: separate settings navigation targets 2026-07-12 21:46:50 +01:00
Shakker
94f2b63d9f fix: preserve precise settings search results 2026-07-12 21:46:50 +01:00
vyctorbrzezowski
d5102107dc fix(ui): satisfy config section return lint 2026-07-12 21:46:50 +01:00
vyctorbrzezowski
f69219f768 feat(ui): search settings blocks 2026-07-12 21:46:50 +01:00
Peter Steinberger
f15a5e566b fix(ui): serialize Skills operations (#105671)
* refactor(ui): clarify skill edit value naming

* refactor(ui): clarify skill credential draft naming

* fix(ui): serialize Skills operations
2026-07-12 13:13:17 -07:00
Vincent Koc
1d0cc7e09c refactor(ui): trim private helper exports (#105663) 2026-07-12 22:09:24 +02:00
Peter Steinberger
29a7654b29 feat(ui): search session transcripts (#105635)
* feat(ui): add session transcript search

* chore(ui): keep release notes in pull request

* chore(ui): sync session search locales

* fix(ui): localize session transcript search

* chore(ui): refresh merged locale metadata
2026-07-12 12:49:06 -07:00
Peter Steinberger
a1c4ef189b fix(ui): explain grayed-out rows in the new-session folder picker (#105605)
* fix(ui): explain grayed-out rows in the new-session folder picker

Disabled device rows now carry a reason tooltip (device offline vs. no
folder-browsing support), the admin-gated folder trigger says it needs an
admin connection, and dimmed dot-directories are labeled as hidden folders.

* chore(i18n): sync locale bundles for new-session picker tooltips
2026-07-12 12:32:05 -07:00
Peter Steinberger
bf44810139 refactor(deadcode): privatize banner and menu internals (#105628) 2026-07-12 12:22:32 -07:00
Peter Steinberger
31b9f21a1a fix(ui): lock worktree create draft during save (#105626) 2026-07-12 12:07:54 -07:00
Peter Steinberger
36e81bf45e fix(ui): queued steers appear only above composer (#105603)
* fix(ui): keep queued steers out of transcript

* chore: leave release notes to release flow
2026-07-12 11:42:08 -07:00