Commit Graph
617 Commits
Author SHA1 Message Date
Tam Nhu Tran f61cc87aa2 feat(dashboard): show all provider presets by default in Create API Profile modal
Remove collapsible "More Presets" toggle. All alternative providers are
now always visible in a labeled section below Featured Providers,
improving discoverability for users like Minimax, GLM, DeepSeek.

Closes #892
2026-04-02 12:52:17 -04:00
Tam Nhu Tran 7a783d0714 fix(settings): restore image tab scrolling and dev websocket routing
- route dashboard WebSocket traffic through /ws to avoid Vite HMR collisions

- run the dev entrypoint with node so bun run dev stays stable in this repo

- restore the Image settings scroll container contract and add regression coverage
2026-04-01 16:57:30 -04:00
Tam Nhu Tran 36acf9f190 Merge remote-tracking branch 'origin/dev' into kai/feat/867-image-analysis-backend-status 2026-04-01 16:49:21 -04:00
Tam Nhu Tran e8520133f9 fix(account-flow): restore grouped quota hover details 2026-04-01 16:29:27 -04:00
Tam Nhu Tran c1ab210095 feat(codex-dashboard): refine control center boundary card 2026-04-01 16:14:16 -04:00
Tam Nhu Tran 7fd2acadbe docs(codex-dashboard): streamline Codex guidance copy 2026-04-01 15:44:06 -04:00
Tam Nhu Tran 982ffc5895 feat(image): add native-read controls and autosave settings
- add per-profile native image preferences and native-capability detection
- redesign Settings -> Image around compact sections with Web-style autosave
- expose richer backend/profile status and update Gemini Flash defaults
2026-04-01 15:32:37 -04:00
Tam Nhu Tran 9d1d281e34 feat(image-analysis): add dedicated dashboard settings 2026-04-01 15:32:37 -04:00
Tam Nhu Tran 0246e327fe feat(ui): clarify image-analysis target status 2026-04-01 15:32:37 -04:00
Tam Nhu Tran 1a01c6fc68 fix(image-analysis): surface runtime readiness 2026-04-01 15:32:37 -04:00
Tam Nhu Tran d394772f7c fix(image-analysis): preview backend status safely 2026-04-01 15:32:37 -04:00
Tam Nhu Tran 9277b4a087 test(image-analysis): cover resolver and dashboard status 2026-04-01 15:32:37 -04:00
Tam Nhu Tran ae459fc3d7 feat(image-analysis): resolve backend status per profile 2026-04-01 15:32:37 -04:00
Tam Nhu Tran 7dd0edb8cd fix(packaging): restore prepack contract 2026-04-01 15:13:08 -04:00
Tam Nhu Tran 3246c40319 feat(codex-dashboard): add manual long-context controls 2026-04-01 14:57:56 -04:00
Kai (Tam Nhu) TranandGitHub e226a4d161 Merge pull request #866 from kapdon/review/docker-cliproxy-cors
fix(docker): proxy CLIProxy management panel through dashboard to avoid cross-origin errors
2026-04-01 11:52:59 -04:00
Kai (Tam Nhu) TranandGitHub 526e48cd58 Merge pull request #872 from simonsmh/patch-1
Update Kiro models to version 4.6
2026-04-01 11:04:37 -04:00
Simon ShiandGitHub 99d0d88441 Update Kiro models to version 4.6 2026-04-01 19:44:41 +08:00
Tam Nhu Tran ca54bad2aa fix(codex): harden native runtime detection 2026-04-01 01:39:14 -04:00
UserandClaude Opus 4.6 6471cc55d7 fix(docker): harden cliproxy local proxy with auth guard, dynamic port, and body handling
Move reverse proxy under /api/cliproxy-local so it sits behind auth
middleware. Enforce localhost-only access when dashboard auth is disabled.
Resolve the target port from unified config instead of hardcoding 8317.
Re-serialize parsed JSON bodies before forwarding so writes still work
behind express.json(). Clean up proxy connections on client abort.

On the frontend, point the iframe and health check at the new same-origin
API path, probe the proxy directly, and tighten iframe origin/path
validation before sending the auto-login secret.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:33:32 -07:00
Tam Nhu Tran 498448a431 fix(ui): normalize grouped account audience order 2026-03-30 15:30:11 -04:00
Tam Nhu Tran 22f091689f fix(codex): harden duplicate-email account actions 2026-03-30 15:30:11 -04:00
Tam Nhu Tran 80341f18c3 feat(ui): unify duplicate-email account surfaces 2026-03-30 15:30:11 -04:00
Tam Nhu Tran c73f33872a feat(cliproxy): support duplicate-email codex accounts
- keep Codex team and personal auth files as separate identities

- resolve quota and live monitor stats by token file-backed account id

- surface duplicate-aware account labels across the dashboard and variant UI
2026-03-30 15:30:11 -04:00
UserandClaude Opus 4.6 881b061dfe fix(docker): proxy CLIProxy management panel through dashboard to avoid cross-origin errors
In Docker, the browser cannot directly reach the container-internal CLIProxy
port (8317). This adds a reverse proxy at /cliproxy-local/* that forwards
requests through the dashboard Express server to 127.0.0.1:8317 internally.
The control panel embed now uses same-origin API endpoints for health checks
and the proxy path for the management iframe.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 06:25:14 -07:00
Tam Nhu Tran 4ab51945a4 test(dashboard): add regression tests for connection timeline event generation
Covers the shared-base-time fix to prevent one account from
dominating the timeline. 9 test cases: multi-account interleaving,
sort order, empty inputs, missing lastUsedAt, future-timestamp guard.
2026-03-30 09:21:39 -04:00
Tam Nhu Tran d76ef5bcb3 fix(dashboard): use shared base time for connection timeline events
Connection Timeline sidebar showed only one account because
generateConnectionEvents() used per-account lastUsedAt as the base
timestamp. Accounts with more recent lastUsedAt dominated the
recency-sorted 100-event cap.

Use the maximum lastUsedAt across all accounts so events interleave
proportionally.

Closes #856
2026-03-30 09:12:54 -04:00
Tam Nhu Tran bd1ff02521 fix(codex): align cliproxy guidance with runtime behavior 2026-03-29 21:04:59 -04:00
Tam Nhu Tran 0ffde4f3a2 feat(codex-ui): surface cliproxy setup guidance 2026-03-29 19:44:02 -04:00
Tam Nhu Tran 9e43beec40 feat(codex): harden runtime targeting and dashboard editing 2026-03-29 14:18:51 -04:00
Tam Nhu Tran 09b7f66c0b style(codex): use monochrome sidebar icon
- add a dedicated monochrome Codex sidebar asset

- keep the existing colored Codex icons unchanged elsewhere
2026-03-29 13:14:15 -04:00
Tam Nhu Tran ebc9acf8e4 fix(codex): harden dashboard config editing 2026-03-29 13:14:15 -04:00
Tam Nhu Tran b47aa0d28d feat(codex): add dashboard control center
- add guided editors for top-level settings, trust, profiles, providers, MCP, and features

- refresh raw snapshots after patch saves to avoid stale mtime conflicts

- block structured saves while raw TOML is dirty and add route plus hook coverage
2026-03-29 13:14:15 -04:00
Tam Nhu Tran 3c52b1ab6d fix(codex): align runtime compatibility and dashboard types 2026-03-29 13:14:15 -04:00
Tam Nhu Tran 8c5da9f9e8 feat: add codex dashboard parity 2026-03-29 13:14:15 -04:00
Tam Nhu Tran f9c1238483 feat(profiles): expose codex runtime across surfaces
- update CLI, API, route, and dashboard surfaces to recognize the Codex runtime target

- normalize persisted codex targets back to claude so runtime-only behavior stays truthful

- add regression coverage for help text, route parsing, and profile storage normalization

Refs #773
2026-03-29 13:14:15 -04:00
Tam Nhu Tran 5a09547532 fix(auth): signal auth-required for remote access in /api/auth/check
The auth check endpoint always returned authRequired=false when auth
was disabled, even for remote clients. This caused the UI to render
the dashboard directly, where all data API calls return 403 silently.

Now detects remote access via isLoopbackRemoteAddress and sets
effectiveAuthRequired=true, so the UI properly redirects to the login
page. Also fixes misleading catch handler comment in auth-context.
2026-03-29 10:54:44 -04:00
Tam Nhu Tran e9fceed807 fix(ui): redirect to login when auth check fails from remote access
When the auth check API call fails (e.g., 403 from the localhost
security middleware), the catch block assumed no auth was needed and
marked the user as authenticated. This caused a silently broken
dashboard with no providers and no error feedback.

Now treats auth check failure as auth-required, redirecting to the
login page where users get a clear prompt to configure credentials.
2026-03-28 21:22:20 -04:00
Tam Nhu Tran efe6953da0 fix(ui): hide version badge when API fails instead of showing v5.0.0
HeroSection defaulted to '5.0.0' when version prop was undefined,
causing a misleading version badge when the overview API fails (e.g.,
403 from remote access without auth). Now hides the badge entirely
until a real version is loaded.
2026-03-28 21:22:20 -04:00
Tam Nhu Tran 2423864817 fix(cliproxy): align gemini flash pricing and dashboard imports 2026-03-28 09:54:26 -04:00
Tam Nhu Tran 2251312411 fix(cliproxy): centralize gemini compatibility and fallback hints 2026-03-27 17:38:31 -04:00
Tam Nhu Tran 934e6ab52b fix(cliproxy): resolve gemini presets from live models 2026-03-27 17:08:58 -04:00
Tam Nhu Tran 5ac91e0cac fix(cliproxy): align gemini 3.1 preset compatibility 2026-03-27 16:39:40 -04:00
Tam Nhu Tran 5782edf627 fix(settings): prevent config panel flash on refresh 2026-03-27 13:25:26 -04:00
Tam Nhu Tran d883951c9e fix(websearch): narrow provider key summary access 2026-03-27 13:25:26 -04:00
Tam Nhu Tran a3ca496fa8 fix(websearch): narrow provider key handlers for build 2026-03-27 13:25:26 -04:00
Tam Nhu Tran 1c8246a60e style(ui): format files for enforced prettier rules 2026-03-27 13:25:26 -04:00
Tam Nhu Tran 20c48c6105 feat(websearch): manage provider API keys in dashboard
- add masked dashboard-managed API key state for Exa, Tavily, and Brave
- persist WebSearch keys through global_env while keeping WebSearch as the UX surface
- treat dashboard-managed keys as ready in status checks and cover the flow with route/UI tests
2026-03-27 13:25:26 -04:00
Tam Nhu Tran 4d49d13931 fix(ui): clarify antigravity and gemini power mode copy 2026-03-26 17:13:11 -04:00
Kai (Tam Nhu) TranandGitHub d08b4a2293 Merge pull request #802 from kaitranntt/kai/fix/789-opus-long-context
fix: preserve Claude long-context intent across CLI and dashboard
2026-03-26 17:09:32 -04:00