Tam Nhu Tran
a94de010db
fix(codex): prefer cmd wrappers over powershell on windows
...
- keep Windows Codex detection on the npm cmd shim when available
- add regression tests for cmd-first and ps1-to-cmd fallback selection
2026-04-14 17:35:30 -04:00
Tam Nhu Tran
be9a481e75
fix(ui): use i18n singleton in claude extension status card
2026-04-13 23:35:55 -04:00
Tam Nhu Tran
f067f39245
fix: apply api-key updates during token regeneration
2026-04-13 22:57:27 -04:00
Tam Nhu Tran
87899a489c
fix(ui): finish dashboard i18n follow-up pass
2026-04-13 22:55:13 -04:00
Tam Nhu Tran
4e15ec5387
fix(cliproxy): degrade gracefully on GitHub release 403s
...
- fall back to stale CLIProxy version caches instead of surfacing 500s
- remove duplicate dashboard update-check fetches and disable retry/focus refetch
- add backend and UI regressions for the degraded-path behavior
2026-04-13 22:19:16 -04:00
Tam Nhu Tran
c3401f0a91
feat(ui): complete dashboard i18n coverage across 162 files
...
Replace all remaining hardcoded English strings with t() calls across
the CCS dashboard UI. Add zh-CN, vi, ja translations for all new keys.
- 162 files updated (components, hooks, pages, lib utilities)
- 7 domains covered: layout/shared, accounts/auth, CLIProxy,
compatible CLI (Codex/Cursor/Droid/Copilot), logs/monitoring,
analytics, and lib utilities
- 4 locales: en, zh-CN, vi, ja with natural (not literal) translations
- Fix duplicate customPresetDialog key shadowing in en/zh-CN
- Fix missing ja nav.logs and providerModelSelector keys
- Fix openrouter-banner count type (string → number)
- Fix add-account-dialog double setLocalError call
- Fix codex-model-providers-card missing useTranslation
Closes #983
2026-04-13 20:52:30 -04:00
Tam Nhu Tran
394d7d94fc
test(update): isolate current-install command deps
...
- load a fresh update-command module instance per test via query-string import
- prevent Bun mock.module leakage from command-router tests from masking handleUpdateCommand in CI
2026-04-13 15:09:35 -04:00
Tam Nhu Tran
3103f3f293
test(hooks): harden cross-platform MCP coverage
...
- replace the Windows-brittle chmod read-error setup with a directory-based failure case
- force the browser installed-copy regression through the non-global WebSocket path
2026-04-13 13:10:05 -04:00
Tam Nhu Tran
d30f5803a7
fix(browser): harden browser MCP websocket startup
...
- fall back across globalThis.WebSocket, undici, and ws for installed runtimes
- normalize socket event handling for both WHATWG and ws implementations
- add an installed-copy regression test for missing ws in Bun global layouts
2026-04-13 12:56:22 -04:00
Tam Nhu Tran
2868dcdaae
perf(hooks): shorten feature-branch pre-push gate
2026-04-13 12:18:23 -04:00
Tam Nhu Tran
4525df2c1b
Merge remote-tracking branch 'origin/dev' into kai/fix/980-ci-and-prepush
2026-04-13 12:12:18 -04:00
Tam Nhu Tran
5c799e68e9
hotfix: stop auto-enabling stale Chrome DevTools reuse
2026-04-13 12:06:06 -04:00
Tam Nhu Tran
33f57d3cac
hotfix: stop auto-enabling stale Chrome DevTools reuse
2026-04-13 12:02:22 -04:00
Tam Nhu Tran
66e29691b0
test(ci): harden cursor models oversized-body fallback
2026-04-13 12:02:18 -04:00
Tam Nhu Tran
b148d1ba66
fix(ci): stabilize update-command tests under parallel runners
2026-04-13 11:56:30 -04:00
Tam Nhu Tran
72d8f36b5d
test(ci): update ai-review workflow runtime assertions
2026-04-13 11:38:09 -04:00
Tam Nhu Tran
026ff6cedd
refactor(ci): make ai-review model/endpoint configurable via repository variables
...
- replace hardcoded GLM endpoint with vars.AI_REVIEW_BASE_URL
- replace hardcoded model with vars.AI_REVIEW_MODEL
- use secrets.AI_REVIEW_API_KEY for auth token
- add configuration reference in header comment
2026-04-13 11:27:15 -04:00
Tam Nhu Tran
6cfb171514
hotfix: restore bun types for stable release CI
2026-04-13 11:11:53 -04:00
Tam Nhu Tran
1d65ba7eb3
chore: merge latest dev into pr-976 branch
2026-04-13 09:42:36 -04:00
Tam Nhu Tran
31c464a3c5
chore: merge dev into pr-976 branch
2026-04-13 09:40:10 -04:00
Tam Nhu Tran
d74b514dc5
test(image-analysis): cover circular dependency regression
2026-04-13 08:45:42 -04:00
Tam Nhu Tran
99a01bbf36
Merge remote-tracking branch 'origin/dev' into kai/fix/pr-974-browser-mcp-ci
2026-04-13 08:44:19 -04:00
Tam Nhu Tran
7b337e2f7d
Merge remote-tracking branch 'origin/dev' into kai/fix/pr-974-browser-mcp-ci
2026-04-13 08:41:32 -04:00
Tam Nhu Tran
a68bc46caf
fix(test): isolate chrome reuse home env expectations
2026-04-13 08:41:19 -04:00
Tam Nhu Tran
7fc39f7c03
fix(cli): match managed prompt files by exact path
2026-04-13 08:39:59 -04:00
Tam Nhu Tran
a63417e567
fix(ci): sync bun.lock for browser MCP types
2026-04-13 08:33:29 -04:00
Tam Nhu Tran
18e5cd5d94
feat(ui): persist paused account toggle state in localStorage
2026-04-12 16:59:04 -04:00
Tam Nhu Tran
8d8f4469b6
fix(websearch): reject blank searxng status urls
2026-04-12 14:46:56 -04:00
Tam Nhu Tran
54791b5cca
Merge remote-tracking branch 'origin/dev' into kai/fix/958-searxng-pr-review
2026-04-12 06:32:27 -04:00
Tam Nhu Tran
8b553c35c1
fix(websearch): harden searxng url handling
2026-04-12 06:31:20 -04:00
Tam Nhu Tran
2719d7a6f7
fix(cursor): align auto-detect status and CI coverage
2026-04-12 04:42:28 -04:00
Tam Nhu Tran
cf5df0630a
fix(cursor): resolve PR review findings
2026-04-12 02:14:26 -04:00
Tam Nhu Tran
e1049e38d4
feat(cursor): harden live probe and runtime contracts
2026-04-12 01:51:26 -04:00
Tam Nhu Tran
898e7a6321
hotfix: detect bun-owned installs through symlinked ccs path
2026-04-12 01:33:48 -04:00
Tam Nhu Tran
5076b212af
fix(ui): clarify Gemini quota tooltip labels
2026-04-12 01:24:40 -04:00
Tam Nhu Tran
5f8e66ec1e
hotfix: detect bun-owned installs through symlinked ccs path
2026-04-12 01:22:15 -04:00
Tam Nhu Tran
7776715eba
fix(docker): delegate restart/install to supervisorctl in Docker deployments
...
The dashboard restart button and install service used local-mode process
management (stopProxy + ensureCliproxyService) which conflicts with
supervisord in Docker deployments. Killing the CLIProxy binary caused the
bootstrap wrapper to exit, supervisord to attempt a restart, but
ensureCliproxyService already spawned an orphaned process on :8317
resulting in EADDRINUSE and supervisord entering FATAL state.
Detect supervisord via /var/run/supervisor.sock and delegate to
supervisorctl restart, matching the pattern already used by
ccs docker update.
Closes #964
2026-04-11 17:50:11 -04:00
Tam Nhu Tran
ef751723f5
test(ci): stop leaking update-command module mocks
2026-04-10 23:57:58 -04:00
Tam Nhu Tran
b8aa59a8f0
test(ci): isolate config env and cli entry fallbacks
2026-04-10 23:26:12 -04:00
Tam Nhu Tran
4b9fa4e457
test(cliproxy): isolate session tracker config env
2026-04-10 23:19:49 -04:00
Tam Nhu Tran
94bcad2d1a
fix(update): align no-update dependency injection
2026-04-10 23:06:37 -04:00
Tam Nhu Tran
a4496ff1d9
fix(update): harden install verification flow
2026-04-10 22:44:46 -04:00
Tam Nhu Tran
59e04cb56f
fix(update): isolate updater test dependencies
2026-04-10 22:27:07 -04:00
Tam Nhu Tran
2aaabb2deb
fix(update): target the current CCS installation
2026-04-10 21:39:50 -04:00
Tam Nhu Tran
c078a96337
fix(ui): type shared AGY compatibility lookup
2026-04-10 18:08:28 -04:00
Tam Nhu Tran
9458c432d8
chore: merge origin/dev into feature branch
2026-04-10 18:07:28 -04:00
Tam Nhu Tran
25dd9ab9e1
fix(cliproxy): align AGY preset aliases
2026-04-10 18:07:22 -04:00
Tam Nhu Tran
34d70442bf
fix(cliproxy): keep new live provider models selectable
2026-04-10 18:07:22 -04:00
Tam Nhu Tran
0e4677f558
fix: sanitize cliproxy provider model pickers
2026-04-10 18:07:22 -04:00
Tam Nhu Tran
01c1193a99
fix(ui): guard optional raw model fields
...
- trim nullable alias and name fields safely in the raw model formatter
- satisfy strict TypeScript checks for partial raw config records
Refs #941
2026-04-10 17:47:37 -04:00
Tam Nhu Tran
42d5724f34
fix(ui): accept partial raw model records
...
- allow raw JSON model arrays with partial fields to format safely
- keep the requested=upstream review fixes compatible with raw editor input
Refs #941
2026-04-10 17:46:18 -04:00
Tam Nhu Tran
52ac29e7a8
fix(api): constrain preset target defaults
...
- limit preset default targets to persisted API profile targets
- add regression coverage for preset target resolution and profile target persistence
2026-04-10 17:44:25 -04:00
Tam Nhu Tran
92a769d773
fix(ui): harden provider model alias editing
...
- keep raw JSON model mappings aligned with requested=upstream semantics
- block malformed mapping lines instead of coercing them on save
- render saved mappings as requested to upstream and add regression coverage
Refs #941
2026-04-10 17:44:15 -04:00
Tam Nhu Tran
e090c8b0d4
fix(image-analysis): preserve default runtime deps
2026-04-10 17:40:27 -04:00
Tam Nhu Tran
414e8c80f5
docs(roadmap): record Hugging Face preset support
2026-04-10 17:29:46 -04:00
Tam Nhu Tran
83255f4771
feat(api): add Hugging Face provider preset
...
- add the huggingface preset and hf alias to the shared preset catalog
- default the preset to Factory Droid because the documented path is generic chat completions
- cover the CLI and dialog behavior with preset metadata and UI tests
2026-04-10 17:29:25 -04:00
Tam Nhu Tran
49c4338f28
fix(ui): preserve requested provider model aliases
...
- keep requested=upstream semantics stable in the AI Providers editors
- preview the client-visible ANTHROPIC_MODEL instead of the upstream target
- add UI coverage for alias parsing and formatting helpers
Refs #941
2026-04-10 17:28:18 -04:00
Tam Nhu Tran
2f02ddfb74
fix(image-analysis): tolerate missing auth init dependency
2026-04-10 17:21:26 -04:00
Tam Nhu Tran
92a24786d6
fix(cliproxy): use type-only account provider import
2026-04-10 14:32:45 -04:00
Tam Nhu Tran
b56b58c067
fix(cliproxy): preserve entitlement evidence on agy failures
2026-04-10 14:28:32 -04:00
Tam Nhu Tran
506b61eca6
fix(cliproxy): propagate agy entitlement failure metadata
2026-04-10 14:19:02 -04:00
Tam Nhu Tran
7c4545eb1b
fix(cliproxy): attach entitlement evidence to agy failures
2026-04-10 13:42:51 -04:00
Tam Nhu Tran
7330fdbf28
fix(cliproxy): prefer live entitlement tier in account badges
2026-04-10 13:24:00 -04:00
Tam Nhu Tran
f9c61e0fac
docs(cliproxy): clarify gemini and agy tier semantics
2026-04-10 13:18:18 -04:00
Tam Nhu Tran
bb331ff5d8
feat(cliproxy): add entitlement evidence for gemini and agy
2026-04-10 13:17:50 -04:00
Tam Nhu Tran
5f9bafe9cd
fix(ui): address provider lane review notes
2026-04-10 06:31:58 -04:00
Tam Nhu Tran
ad70f93b1b
feat(ui): reposition providers around quality and local lanes
2026-04-10 05:50:26 -04:00
Tam Nhu Tran
63b67f1c1c
feat(profiles): add local runtime readiness checks
2026-04-10 05:49:38 -04:00
Tam Nhu Tran
d87a126938
test(cliproxy): cover managed pinned route hints
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
eaddfc467f
fix(cliproxy): dedupe variant prefix sync
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
40c4816acf
fix(cliproxy): harden pinned routing follow-up
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
b6aa6fb0d4
fix(cliproxy): cover managed prefix review follow-up
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
0c10cb6f47
fix(cliproxy): harden routing prefix sync and UI pinning
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
b8a8f84153
docs(roadmap): note cliproxy routing prefix clarity
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
4d5e52828b
feat(cliproxy): add pinned model routing prefixes
2026-04-10 01:16:31 -04:00
Tam Nhu Tran
aedccec041
refactor(ui): align visible provider flow data
2026-04-09 18:31:49 -04:00
Tam Nhu Tran
94eda996e3
fix(ui): clarify filtered flow viz metrics
2026-04-09 17:51:37 -04:00
Tam Nhu Tran
3687de0625
fix(ui): add paused filter locale strings
2026-04-09 17:48:51 -04:00
Tam Nhu Tran
7b2743b845
test(ui): cover paused account flow viz filtering
2026-04-09 17:44:20 -04:00
Tam Nhu Tran
a169917692
feat(ui): add paused filter to account flow viz
2026-04-09 17:44:15 -04:00
Tam Nhu Tran
7ac6d0a4d4
fix(review): harden quota retry and tooltip edge cases
2026-04-09 00:14:51 -04:00
Tam Nhu Tran
b6fb443f57
fix(cliproxy): refresh non-default gemini quota tokens
2026-04-08 23:55:55 -04:00
Tam Nhu Tran
a70eae558e
fix(ui): restore searchable-select dropdown scrolling
...
- replace the popover list scroll area with a native overflow container
- keep keyboard navigation behavior while restoring wheel scroll in long dropdowns
2026-04-08 18:02:05 -04:00
Tam Nhu Tran
87f00c524d
fix(ui): gate preset catalog reuse on query readiness
...
- only reuse provider catalogs after /api/cliproxy/catalog has resolved
- avoid passing synthesized static fallback catalogs into preset application
- cover quick-setup and cliproxy add-account flows with regression tests
2026-04-08 18:01:30 -04:00
Tam Nhu Tran
564ed3def7
fix(ui): reuse cached cliproxy catalogs for presets
...
- let applyDefaultPreset accept a caller-provided provider catalog
- pass cached catalog data from cliproxy and quick-setup flows
- add regression coverage for skipping the extra catalog fetch
2026-04-08 17:52:45 -04:00
Tam Nhu Tran
002b7feb1e
docs(roadmap): record upstream cliproxy picker sync
2026-04-08 17:23:35 -04:00
Tam Nhu Tran
7bbf32ae9a
feat(cliproxy): source model pickers from upstream catalogs
...
- fetch live provider model definitions through /api/cliproxy/catalog
- overlay CCS preset metadata without keeping UI dropdowns as the source of truth
- wire /cliproxy and quick setup to the upstream-backed catalog path
2026-04-08 17:23:35 -04:00
Tam Nhu Tran
1923fce2ed
fix(logging): harden log storage and cleanup
2026-04-08 16:34:36 -04:00
Tam Nhu Tran
a47cf022c6
test(logging): stabilize log reader cache refresh coverage
2026-04-08 16:06:45 -04:00
Tam Nhu Tran
6e39f338ce
fix(logs-ui): stabilize the dashboard log layout
2026-04-08 15:57:15 -04:00
Tam Nhu Tran
42481c0bb9
fix(logging): address review feedback on cleanup and log reader
2026-04-08 15:57:15 -04:00
Tam Nhu Tran
382aa04ca0
feat(logs-ui): redesign the log viewer workspace
...
- reshape the page into a management-center style control surface
- add activity and CLIProxy error tabs with denser list/detail ergonomics
- switch filters to practical chip groups and update the page tests
Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran
4c15a072dc
fix(ci): track dashboard logs components
...
- unignore the new ui logs component directory
- add the missing logs viewer components required by ui build
Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran
6c799b2e58
feat(logging): unify CCS runtime logs and dashboard viewer
...
- add a shared structured logging service with bounded retention
- expose native /api/logs endpoints and the dashboard /logs route
- wire focused runtime emitters, cleanup support, and feature tests
Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran
548edda58b
docs(logging): document structured logs workspace
...
- add roadmap note for the new CCS logging surface
- record logging architecture and codebase ownership
- add logging standards for bounded, redacted runtime logs
Refs #926
2026-04-08 15:57:14 -04:00
Tam Nhu Tran
5d1880abf5
docs(image-analysis): update MCP-first behavior docs
2026-04-08 13:36:45 -04:00
Tam Nhu Tran
64ecd8b3dc
feat(image-analysis): make MCP-first provisioning self-healing
2026-04-08 13:36:05 -04:00
Tam Nhu Tran
103f0547c9
fix(recovery): harden shared commands startup recovery
2026-04-08 11:00:18 -04:00
Tam Nhu Tran
5bb5faa4b7
fix(cliproxy): tighten sidebar routing presentation
2026-04-07 19:48:07 -04:00
Tam Nhu Tran
fabf3d4ad3
fix(cliproxy): streamline sidebar routing control
2026-04-07 18:22:05 -04:00