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