Commit Graph
691 Commits
Author SHA1 Message Date
Tam Nhu Tran 1923d87a84 chore: merge dev into openai provider routing 2026-04-15 20:36:03 -04:00
Tam Nhu Tran 546ba01c38 Merge remote-tracking branch 'origin/dev' into kai/feat/1016-missing-provider-integration 2026-04-15 17:48:55 -04:00
Tam Nhu Tran 58c2c46ed7 fix(cursor): migrate legacy settings and validate gitlab urls 2026-04-15 17:48:33 -04:00
Tam Nhu Tran 3b5941c60b feat(cursor): split legacy bridge from cliproxy provider 2026-04-15 17:04:37 -04:00
Tam Nhu Tran 2293368e31 fix(shared-manager): prune transient and malformed marketplace entries 2026-04-15 16:29:25 -04:00
xuhaodong 5b262f0139 fix(shared-manager): exclude .staging dirs from marketplace registry sync
Claude Code's marketplace auto-update uses a three-step atomic rename:
clone to <name>.staging → rename old dir to <name>.bak → rename staging
to the final name. On Windows, EPERM errors can interrupt the rename-dance
and leave a <name>.staging directory permanently on disk.

CCS scanned physical directories to discover marketplaces, so a lingering
.staging directory was registered as a bare { installLocation } entry in
known_marketplaces.json. Claude Code's Zod schema requires each entry to
also have `source` and `lastUpdated` fields, so the corrupt entry caused
the /plugin command to throw a validation error.

Fix (two layers of defence):

- discoverMarketplaceEntries: skip any directory whose name starts with
  '.' or ends with '.staging'. This filters all hidden dirs including
  .staging and .bak left behind by interrupted rename operations.

- buildMarketplaceRegistryContent: invert the loop direction. Instead of
  iterating discoveredEntries and adding to the registry (which could
  introduce bare entries for disk-only directories with no registry
  record), iterate the merged registry and only keep entries that also
  exist on disk. Disk-only directories are now silently ignored.

Adds two regression tests: one for .staging pollution, one for orphan
registry entries whose physical directory has been removed.
2026-04-15 15:02:54 +08:00
Tam Nhu Tran 841eeb497c fix(proxy): keep stream guards active through sse piping 2026-04-15 02:52:29 -04:00
Tam Nhu Tran 7f1c23607d fix(gitlab): sanitize PAT auth failures across cli and web 2026-04-15 02:01:39 -04:00
Tam Nhu Tran a3407093d7 refactor(proxy): internalize sse translation and cleanup handlers 2026-04-15 01:44:01 -04:00
Tam Nhu Tran 4e738ee021 fix(cli): document gitlab shortcut flags and harden cursor routing 2026-04-15 01:39:31 -04:00
Tam Nhu Tran 87d93b651b fix(cursor): deprecate legacy bridge and harden gitlab auth 2026-04-15 01:23:15 -04:00
Tam Nhu Tran 17187c4abd feat(proxy): complete openai routing scope 2026-04-15 00:55:11 -04:00
Tam Nhu Tran 2d9f8c9695 feat(cliproxy): integrate missing provider support 2026-04-15 00:26:12 -04:00
Tam Nhu Tran a6aa576d5a fix(proxy): detect dashscope compatible-mode profiles 2026-04-14 23:49:34 -04:00
Tam Nhu Tran 050b41bb55 fix(cliproxy): harden Claude OAuth quota window parsing 2026-04-14 23:09:18 -04:00
Tam Nhu Tran 9e880825e7 fix(cliproxy): fetch Claude OAuth quota from usage endpoint 2026-04-14 23:01:16 -04:00
Kai (Tam Nhu) TranandGitHub 23d45b7f19 Merge pull request #1007 from kaitranntt/kai/fix/972-claude-team-reauth
fix: clear stale cliproxy reauth badge after oauth
2026-04-14 21:20:19 -04:00
Kai (Tam Nhu) TranandGitHub d5ec3a5923 Merge pull request #1012 from kaitranntt/kai/fix/990-codex-windows-wrapper-config-overrides
fix(codex): prefer cmd wrappers over powershell on windows
2026-04-14 19:30:14 -04:00
Tam Nhu Tran 5c66c1f121 test(proxy): cover proxy lifecycle and routing 2026-04-14 19:27:19 -04:00
Tam Nhu Tran 4c63f1a0db feat(ci): make PR-Agent reviews more verbose 2026-04-14 17:59:01 -04:00
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 4bd16b89ce fix(ci): restore PR-Agent reviewer bot identity 2026-04-14 17:22:50 -04:00
Tam Nhu Tran c4ad2cae10 fix(ci): raise PR-Agent custom model budget 2026-04-14 15:41:25 -04:00
Tam Nhu Tran 769b54fb4f fix(cliproxy): clear stale auth quota cache
- invalidate per-account quota cache entries after successful OAuth account registration

- add regression coverage for the Claude stale-reauth dashboard path
2026-04-14 15:11:34 -04:00
Tam Nhu Tran 9a91901a9b fix(ci): allow PR-Agent dispatch bot reruns 2026-04-14 14:19:28 -04:00
Tam Nhu Tran cb1d78bd9d test(tokens): isolate auth rotation from mocked handlers 2026-04-14 13:58:30 -04:00
Tam Nhu Tran 0d2ce7d1b3 fix(ci): restore trusted PR review dispatch 2026-04-14 13:47:55 -04:00
Tam Nhu Tran d6ec5eeebd fix(ci): preserve AI review variable contract 2026-04-14 13:28:29 -04:00
Tam Nhu Tran e1271e2dbf fix(ci): restrict self-hosted PR-Agent comment triggers 2026-04-14 12:43:25 -04:00
Tam Nhu Tran 25216eaf33 feat(ci): migrate AI review to self-hosted PR-Agent 2026-04-14 12:39:52 -04:00
Kai (Tam Nhu) TranandGitHub 9545499487 Merge pull request #989 from kaitranntt/kai/fix/984-tokens-api-key-regenerate-secret
fix: apply api-key updates during token regeneration
2026-04-14 11:34: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 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 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 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 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
github-actions[bot] d2e10ed576 chore(sync): merge main into dev after release [skip ci]
# Conflicts:
#	package.json
2026-04-13 13:53:45 +00: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 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
Kai (Tam Nhu) TranandGitHub 0394281480 Merge pull request #963 from sgaluza/fix/test-isolation-ccs-managed-env
test(ci): isolate CCS-managed env vars from host session
2026-04-13 08:40:30 -04:00
Tam Nhu Tran 7fc39f7c03 fix(cli): match managed prompt files by exact path 2026-04-13 08:39:59 -04:00
Yehor Baklanov 45c231a717 feat(cli): add --append-system-prompt-file support 2026-04-13 06:37:19 +00:00
walker1211 2527889d1d test(ui): 修复彩色输出下的脆弱断言 2026-04-13 11:19:16 +08:00