Val Alexander
6cac87ccae
feat(ui): enhance layout and styling for config and topbar components
...
- Updated grid layout for the config layout to allow full-width usage.
- Introduced new styles for top tabs and search components to improve usability.
- Added theme mode toggle styling for better visual integration.
- Implemented tests for layout and theme mode components to ensure proper rendering and functionality.
2026-03-12 06:11:46 -05:00
Val Alexander
2150c6c8e2
fix(ui): restore control UI styling
2026-03-12 06:11:31 -05:00
Val Alexander
3cd34093d6
Merge branch 'main' into dashboard-v2-views-refactor
2026-03-10 20:39:34 -05:00
Val Alexander
d19c14176c
fix(ui): repair control-ui type drift
2026-03-10 20:37:10 -05:00
Josh Avant
a76e810193
fix(gateway): harden token fallback/reconnect behavior and docs ( #42507 )
...
* fix(gateway): harden token fallback and auth reconnect handling
* docs(gateway): clarify auth retry and token-drift recovery
* fix(gateway): tighten auth reconnect gating across clients
* fix: harden gateway token retry (#42507 ) (thanks @joshavant)
2026-03-10 17:05:57 -05:00
Val Alexander
0a14c5bd29
fix(ui): replay queued local slash commands
2026-03-10 16:54:33 -05:00
Val Alexander
e61fc75099
fix(ui): address review follow-ups
2026-03-10 16:51:22 -05:00
Val Alexander
45b99623d0
Merge branch 'main' into dashboard-v2-views-refactor
2026-03-10 09:08:29 -05:00
Austin
9d403fd415
fix(ui): replace Manual RPC text input with sorted method dropdown ( #14967 )
...
Merged via squash.
Prepared head SHA: 1bb49b2e64
Co-authored-by: rixau <112558420+rixau@users.noreply.github.com >
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Reviewed-by: @BunsDev
2026-03-10 01:30:31 -05:00
Val Alexander
210d24a144
fix(ui): address remaining chat review comments
2026-03-10 01:27:09 -05:00
Val Alexander
a0b6f5c25e
fix(ui): repair chat clear and attachment regressions
2026-03-10 01:23:09 -05:00
Val Alexander
c0a7cfdbb6
Merge branch 'main' into dashboard-v2-views-refactor
2026-03-10 01:01:04 -05:00
Benji Peng
989ee21b24
ui: fix sessions table collapse on narrow widths ( #12175 )
...
Merged via squash.
Prepared head SHA: b1fcfba868
Co-authored-by: benjipeng <11394934+benjipeng@users.noreply.github.com >
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Reviewed-by: @BunsDev
2026-03-09 23:14:07 -05:00
Val Alexander
3a35280f0e
UI: fix chat review follow-ups
2026-03-09 20:26:28 -05:00
Val Alexander
6b87489890
Revert "feat(ui): add chat infrastructure modules (slice 1 of dashboard-v2)"
...
This reverts commit 5a659b0b61 .
2026-03-09 18:47:44 -05:00
Val Alexander
9f0a64f855
Revert "Update ui/src/ui/chat/export.ts"
...
This reverts commit d648dd7643 .
2026-03-09 18:47:40 -05:00
Val Alexander
8e412bad0e
Revert "fix(ui): address review feedback on chat infra slice"
...
This reverts commit 8a6cd808a1 .
2026-03-09 18:47:37 -05:00
Val Alexander
8a6cd808a1
fix(ui): address review feedback on chat infra slice
...
- export.ts: handle array content blocks (Claude API format) instead
of silently exporting empty strings
- slash-command-executor.ts: restrict /kill all to current session's
subagent subtree instead of all sessions globally
- slash-command-executor.ts: only count truly aborted runs (check
aborted !== false) in /kill summary
2026-03-09 18:34:47 -05:00
Val Alexander
d648dd7643
Update ui/src/ui/chat/export.ts
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-09 18:34:47 -05:00
Val Alexander
5a659b0b61
feat(ui): add chat infrastructure modules (slice 1 of dashboard-v2)
...
New self-contained chat modules extracted from dashboard-v2-structure:
- chat/slash-commands.ts: slash command definitions and completions
- chat/slash-command-executor.ts: execute slash commands via gateway RPC
- chat/slash-command-executor.node.test.ts: test coverage
- chat/speech.ts: speech-to-text (STT) support
- chat/input-history.ts: per-session input history navigation
- chat/pinned-messages.ts: pinned message management
- chat/deleted-messages.ts: deleted message tracking
- chat/export.ts: shared exportChatMarkdown helper
- chat-export.ts: re-export shim for backwards compat
Gateway fix:
- Restore usage/cost stripping in chat.history sanitization
- Add test coverage for sanitization behavior
These modules are additive and tree-shaken — no existing code
imports them yet. They will be wired in subsequent slices.
2026-03-09 18:34:47 -05:00
Val Alexander
0dedb3251d
feat(ui): dashboard-v2 views refactor (slice 3 of dashboard-v2)
...
Complete views refactor from dashboard-v2-structure, building on
slice 1 (chat infra, #41497 ) and slice 2 (utilities/theming, #41500 ).
Core app wiring:
- app.ts: updated host component with new state properties
- app-render.ts: refactored render pipeline for new dashboard layout
- app-render.helpers.ts: extracted render helpers
- app-settings.ts: theme listener lifecycle fix, cron runs on tab load
- app-gateway.ts: refactored chat event handling
- app-chat.ts: slash command integration
New views:
- views/command-palette.ts: command palette (Cmd+K)
- views/login-gate.ts: authentication gate
- views/bottom-tabs.ts: mobile tab navigation
- views/overview-*.ts: modular overview dashboard (cards, attention,
event log, hints, log tail, quick actions)
- views/agents-panels-overview.ts: agent overview panel
Refactored views:
- views/chat.ts: major refactor with STT, slash commands, search,
export, pinned messages, input history
- views/config.ts: restructured config management
- views/agents.ts: streamlined agent management
- views/overview.ts: modular composition from sub-views
- views/sessions.ts: enhanced session management
Controllers:
- controllers/health.ts: new health check controller
- controllers/models.ts: new model catalog controller
- controllers/agents.ts: tools catalog improvements
- controllers/config.ts: config form enhancements
Tests & infrastructure:
- Updated test helpers, browser tests, node tests
- vite.config.ts: build configuration updates
- markdown.ts: rendering improvements
Build passes ✅ | 44 files | +6,626/-1,499
Part of #36853 . Depends on #41497 and #41500 .
2026-03-09 17:56:17 -05:00
Val Alexander
3db93c6c29
Merge branches 'dashboard-v2-chat-infra' and 'dashboard-v2-ui-utils' into dashboard-v2-views-refactor
2026-03-09 17:55:46 -05:00
Val Alexander
0e95903d38
feat(ui): add utilities, theming, and i18n updates (slice 2 of dashboard-v2)
...
UI utilities and theming improvements extracted from dashboard-v2-structure:
Icons & formatting:
- icons.ts: expanded icon set for new dashboard views
- format.ts: date/number formatting helpers
- tool-labels.ts: human-readable tool name mappings
Theming:
- theme.ts: enhanced theme resolution and system theme support
- theme-transition.ts: simplified transition logic
- storage.ts: theme parsing improvements for settings persistence
Navigation & types:
- navigation.ts: extended tab definitions for dashboard-v2
- app-view-state.ts: expanded view state management
- types.ts: new type definitions (HealthSummary, ModelCatalogEntry, etc.)
Components:
- components/dashboard-header.ts: reusable header component
i18n:
- Updated en, pt-BR, zh-CN, zh-TW locales with new dashboard strings
All changes are additive or backwards-compatible. Build passes.
Part of #36853 .
2026-03-09 17:54:07 -05:00
Val Alexander
9fca124c2c
feat(ui): add chat infrastructure modules (slice 1 of dashboard-v2)
...
New self-contained chat modules extracted from dashboard-v2-structure:
- chat/slash-commands.ts: slash command definitions and completions
- chat/slash-command-executor.ts: execute slash commands via gateway RPC
- chat/slash-command-executor.node.test.ts: test coverage
- chat/speech.ts: speech-to-text (STT) support
- chat/input-history.ts: per-session input history navigation
- chat/pinned-messages.ts: pinned message management
- chat/deleted-messages.ts: deleted message tracking
- chat/export.ts: shared exportChatMarkdown helper
- chat-export.ts: re-export shim for backwards compat
Gateway fix:
- Restore usage/cost stripping in chat.history sanitization
- Add test coverage for sanitization behavior
These modules are additive and tree-shaken — no existing code
imports them yet. They will be wired in subsequent slices.
2026-03-09 17:49:06 -05:00
Radek Sienkiewicz
f2f561fab1
fix(ui): preserve control-ui auth across refresh ( #40892 )
...
Merged via squash.
Prepared head SHA: f9b2375892
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-09 12:50:47 +01:00
Peter Steinberger
e0f80cf0e9
fix(ui): align control-ui device auth token signing
2026-03-08 05:41:03 +00:00
Ayaan Zaidi
930caeaafb
fix(chat): preserve sender labels in dashboard history
2026-03-08 09:17:02 +05:30
Vincent Koc
0125bd9639
Agents UI: complete config state test fixture
2026-03-07 18:24:41 -08:00
Vincent Koc
96f4f50f51
Agents UI: compose save state from config state
2026-03-07 18:24:41 -08:00
Peter Steinberger
c0a7c302f3
fix: preserve agents-page selection after config save
...
Landed from contributor PR #39301 by @MumuTW.
Co-authored-by: MumuTW <clothl47364@gmail.com >
2026-03-08 02:20:48 +00:00
Peter Steinberger
49261b0d82
fix: auto-create inherited agent override entries
...
Landed from contributor PR #39326 by @dunamismax.
Co-authored-by: dunamismax <dunamismax@tutamail.com >
2026-03-08 02:12:33 +00:00
Vincent Koc
73e510cdf4
Gateway UI: allowlist device key fixtures
2026-03-07 16:27:00 -08:00
Peter Steinberger
5f26970200
fix(ui): land #28608 from @KimGLee
...
Landed from contributor PR #28608 by @KimGLee.
Co-authored-by: Kim <150593189+KimGLee@users.noreply.github.com >
2026-03-07 23:26:09 +00:00
Altay
bfbe80ab7d
test(ui): reduce gateway client test mocking ( #39251 )
2026-03-08 01:58:44 +03:00
Peter Steinberger
3a74dc00bf
fix(gateway): land #38725 from @ademczuk
...
Source: #38725 / 533ff3e70b by @ademczuk.
Thanks @ademczuk.
Co-authored-by: ademczuk <andrew.demczuk@gmail.com >
2026-03-07 22:35:38 +00:00
Peter Steinberger
8ca326caa9
fix(ui): land #37382 from @FradSer
...
Separate shared gateway auth from cached device-token signing in Control UI browser auth. Preserves shared-token validation while keeping cached device tokens scoped to signed device payloads.
Co-authored-by: Frad LEE <fradser@gmail.com >
2026-03-07 22:33:24 +00:00
Peter Steinberger
a617cd7b79
fix(test): restore long dep for full vitest gate
2026-03-07 21:23:06 +00:00
Peter Steinberger
e3c21c913d
fix(ci): refresh secret baseline and UI state types
2026-03-07 21:17:57 +00:00
Altay
97f9e25525
fix(ci): restore strip-ansi and typecheck fixtures ( #39146 )
...
* fix: restore strip-ansi and typecheck fixtures
* test: normalize windows install path assertions
2026-03-07 23:13:13 +03:00
Peter Steinberger
de2ccffec1
fix(ui): stream tool events live in control chat ( #39104 )
...
Land #39104 by @jakepresent.
Co-authored-by: Jake Present <jakepresent@microsoft.com >
2026-03-07 19:27:17 +00:00
Peter Steinberger
10d0e3f3ca
fix(dashboard): keep gateway tokens out of URL storage
2026-03-07 18:33:30 +00:00
Vincent Koc
e4d80ed556
CI: restore main detect-secrets scan ( #38438 )
...
* Tests: stabilize detect-secrets fixtures
* Tests: fix rebased detect-secrets false positives
* Docs: keep snippets valid under detect-secrets
* Tests: finalize detect-secrets false-positive fixes
* Tests: reduce detect-secrets false positives
* Tests: keep detect-secrets pragmas inline
* Tests: remediate next detect-secrets batch
* Tests: tighten detect-secrets allowlists
* Tests: stabilize detect-secrets formatter drift
2026-03-07 10:06:35 -08:00
Ayaan Zaidi
4bf902de58
fix: flatten remote markdown images
2026-03-07 19:46:41 +05:30
Peter Steinberger
8db5d67768
chore: update dependencies except carbon
2026-03-07 10:55:18 +00:00
Peter Steinberger
997a9f5b9e
chore: bump version to 2026.3.7
2026-03-07 10:09:02 +00:00
Vincent Koc
42e3d8d693
Secrets: add inline allowlist review set ( #38314 )
...
* Secrets: add inline allowlist review set
* Secrets: narrow detect-secrets file exclusions
* Secrets: exclude Docker fingerprint false positive
* Secrets: allowlist test and docs false positives
* Secrets: refresh baseline after allowlist updates
* Secrets: fix gateway chat fixture pragma
* Secrets: format pre-commit config
* Android: keep talk mode fixture JSON valid
* Feishu: rely on client timeout injection
* Secrets: allowlist provider auth test fixtures
* Secrets: allowlist onboard search fixtures
* Secrets: allowlist onboard mode fixture
* Secrets: allowlist gateway auth mode fixture
* Secrets: allowlist APNS wake test key
* Secrets: allowlist gateway reload fixtures
* Secrets: allowlist moonshot video fixture
* Secrets: allowlist auto audio fixture
* Secrets: allowlist tiny audio fixture
* Secrets: allowlist embeddings fixtures
* Secrets: allowlist resolve fixtures
* Secrets: allowlist target registry pattern fixtures
* Secrets: allowlist gateway chat env fixture
* Secrets: refresh baseline after fixture allowlists
* Secrets: reapply gateway chat env allowlist
* Secrets: reapply gateway chat env allowlist
* Secrets: stabilize gateway chat env allowlist
* Secrets: allowlist runtime snapshot save fixture
* Secrets: allowlist oauth profile fixtures
* Secrets: allowlist compaction identifier fixture
* Secrets: allowlist model auth fixture
* Secrets: allowlist model status fixtures
* Secrets: allowlist custom onboarding fixture
* Secrets: allowlist mattermost token summary fixtures
* Secrets: allowlist gateway auth suite fixtures
* Secrets: allowlist channel summary fixture
* Secrets: allowlist provider usage auth fixtures
* Secrets: allowlist media proxy fixture
* Secrets: allowlist secrets audit fixtures
* Secrets: refresh baseline after final fixture allowlists
* Feishu: prefer explicit client timeout
* Feishu: test direct timeout precedence
2026-03-06 19:35:26 -05:00
Vincent Koc
0c08e3f55f
UI: hoist lifecycle connect test mocks ( #36788 )
2026-03-05 17:15:31 -05:00
Vincent Koc
999b7e4edf
fix(ui): bump dompurify to 3.3.2 ( #36781 )
...
* UI: bump dompurify to 3.3.2
* Deps: refresh dompurify lockfile
2026-03-05 17:08:42 -05:00
Bin Deng
edc386e9a5
fix(ui): catch marked.js parse errors to prevent Control UI crash ( #36445 )
...
- Prevent Control UI session render crashes when `marked.parse()` encounters pathological recursive markdown by safely falling back to escaped `<pre>` output.
- Tighten markdown fallback regression coverage and keep changelog attribution in sync for this crash-hardening path.
Co-authored-by: Bin Deng <dengbin@romangic.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 13:46:49 -06:00
Sid
3a6b412f00
fix(gateway): pass actual version to Control UI client instead of dev ( #35230 )
...
* fix(gateway): pass actual version to Control UI client instead of "dev"
The GatewayClient, CLI WS client, and browser Control UI all sent
"dev" as their clientVersion during handshake, making it impossible
to distinguish builds in gateway logs and health snapshots.
- GatewayClient and CLI WS client now use the resolved VERSION constant
- Control UI reads serverVersion from the bootstrap endpoint and
forwards it when connecting
- Bootstrap contract extended with serverVersion field
Closes #35209
* Gateway: fix control-ui version version-reporting consistency
* Control UI: guard deferred bootstrap connect after disconnect
* fix(ui): accept same-origin http and relative gateway URLs for client version
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-05 00:01:34 -06:00