Tam Nhu Tran
0ce01d4c65
chore(ui): bump bundle size guard for CodeMirror editor upgrade
...
Total dist/ui gzipped grew from ~1.5MB to ~1.6MB after the CodeEditor
switch from react-simple-code-editor + prism-react-renderer to
CodeMirror 6. The verify-bundle script preamble notes the cap is a
sanity check for accidental large dependencies, not a hard
performance target; this is an intentional editor upgrade to restore
native selection/copy in the codex config.toml viewer.
2026-05-14 17:27:19 -04:00
Tam Nhu Tran
420494e0e0
fix(ui): make codex config.toml viewer selectable
...
Replace the hand-rolled textarea+Prism overlay in CodeEditor with
CodeMirror 6. The overlay hid the textarea selection with
`selection:bg-transparent` and `WebkitTextFillColor: transparent` as a
workaround for wrap drift between the highlight layer and the textarea,
which left Ctrl+A / drag-select / Ctrl+C with no visible result.
CodeMirror handles selection, copy, undo, and wrap natively. Custom
themes match the previous prism-react-renderer github (light) and
nightOwl (dark) palettes; background is transparent so the surrounding
bg-muted/30 still shows; font, font-size, line-height, padding, and
gutter-less layout are preserved.
Public CodeEditor props are unchanged (value, onChange, language,
readonly, exactText, className, minHeight, heightMode) so all seven
call sites keep working. The sensitive-key blur is reimplemented as a
CodeMirror Decoration and stays gated behind the existing Eye toggle.
Test setup gets a Range.getClientRects polyfill so CM mounts cleanly in
JSDOM, and shared-page.test.tsx checks .cm-content text directly.
Closes #1247
2026-05-14 17:22:26 -04:00
semantic-release-bot
aba15d8646
chore(release): 7.79.1 [skip ci]
...
## [7.79.1](https://github.com/kaitranntt/ccs/compare/v7.79.0...v7.79.1 ) (2026-05-14)
### Hotfixes
* **codex:** tolerate BOM in Codex TOML config ([5b664d2 ](https://github.com/kaitranntt/ccs/commit/5b664d2105b81ec263c05a37c4549a4a6c409bb3 ))
2026-05-14 17:24:12 +00:00
Kai (Tam Nhu) Tran
e1a34ce056
Merge pull request #1246 from kaitranntt/kai/hotfix-codex-toml-bom
...
hotfix(codex): tolerate BOM in Codex TOML config
2026-05-14 13:20:58 -04:00
Tam Nhu Tran
5b664d2105
hotfix(codex): tolerate BOM in Codex TOML config
2026-05-14 13:13:55 -04:00
semantic-release-bot
1773586d4d
chore(release): 7.79.0 [skip ci]
...
## [7.79.0](https://github.com/kaitranntt/ccs/compare/v7.78.1...v7.79.0 ) (2026-05-14)
### Features
* **dispatcher:** pass through Claude subcommands without interactive-session args ([c2b00b7 ](https://github.com/kaitranntt/ccs/commit/c2b00b7ad6f01f5d83db6d19e2ceb4e3d10d741b ))
### Bug Fixes
* **ci:** run pull request validation on hosted runners ([e7174d6 ](https://github.com/kaitranntt/ccs/commit/e7174d63bb2ed8b2cf9f013aa69ad178ebbcee4f ))
* clarify CLIProxy setup actions ([ac333dd ](https://github.com/kaitranntt/ccs/commit/ac333dd1d50538e8164d921099f8ac85cd914999 ))
* **cliproxy:** explain headless Codex OAuth recovery ([29da75c ](https://github.com/kaitranntt/ccs/commit/29da75c0d42ed473029d1222c7fe4e5e655f5b03 )), closes [#1213 ](https://github.com/kaitranntt/ccs/issues/1213 )
* **codex:** require local access for dashboard config routes ([bd588a2 ](https://github.com/kaitranntt/ccs/commit/bd588a271df8be95149d6e87eb302139cb2b4cb9 ))
* **codex:** self-heal ccsxp cliproxy provider ([#1243 ](https://github.com/kaitranntt/ccs/issues/1243 )) ([4748c45 ](https://github.com/kaitranntt/ccs/commit/4748c452bd8bc0c18a0a1267324d5ec015a7a578 ))
* **config:** bind dashboard to loopback by default ([d61469e ](https://github.com/kaitranntt/ccs/commit/d61469edcbdd162d9fce04b0aefe6c0506568974 ))
* ignore internal instance directories in health scans ([667b1d1 ](https://github.com/kaitranntt/ccs/commit/667b1d1e1f0db7f56f88bb88feaee9e2ce994f5c )), closes [#1236 ](https://github.com/kaitranntt/ccs/issues/1236 )
* **proxy:** avoid exposing local auth token in daemon argv ([#1230 ](https://github.com/kaitranntt/ccs/issues/1230 )) ([a840793 ](https://github.com/kaitranntt/ccs/commit/a840793a9b091b911afc7aa6ee91666a1c258366 ))
* **proxy:** strip stale encoding from upstream error responses ([1932b2c ](https://github.com/kaitranntt/ccs/commit/1932b2ca61f084629654941efdd09fd1b971efed ))
* **proxy:** strip stale encoding from upstream error responses ([#1239 ](https://github.com/kaitranntt/ccs/issues/1239 )) ([54f1aa7 ](https://github.com/kaitranntt/ccs/commit/54f1aa70c0f16a965608f935ce4a39128e829688 ))
* **security:** constrain image fallback hook to workspace ([#1232 ](https://github.com/kaitranntt/ccs/issues/1232 )) ([40300c2 ](https://github.com/kaitranntt/ccs/commit/40300c286ec9f40e89cb2b040a416cba04680930 ))
* **security:** protect dashboard WebSocket upgrades ([f09cdfc ](https://github.com/kaitranntt/ccs/commit/f09cdfcf2ba0b14ffd20f69a1c0923343f245a39 ))
* **settings:** confine dashboard settings paths ([#1231 ](https://github.com/kaitranntt/ccs/issues/1231 )) ([349db83 ](https://github.com/kaitranntt/ccs/commit/349db830dfbc1f91b44f287a2aa40426756338a9 ))
* support Claude subcommands and background sessions ([35b6210 ](https://github.com/kaitranntt/ccs/commit/35b6210cd2ef3b79d317cd76926b55a126084b1d ))
* **ui:** keep codex toml tokens inline ([#1219 ](https://github.com/kaitranntt/ccs/issues/1219 )) ([5138741 ](https://github.com/kaitranntt/ccs/commit/5138741b5c0fdc0da87982bd59227fad56f8a046 ))
* **ui:** render codex config as exact text ([#1215 ](https://github.com/kaitranntt/ccs/issues/1215 )) ([225401c ](https://github.com/kaitranntt/ccs/commit/225401ceca433705d11c119b3373913c95129c56 ))
* **ui:** restore codex config highlighting ([#1216 ](https://github.com/kaitranntt/ccs/issues/1216 )) ([e177724 ](https://github.com/kaitranntt/ccs/commit/e1777247b371749ac717373f0d4299415990413c ))
* **ui:** wrap codex config highlight editor ([#1217 ](https://github.com/kaitranntt/ccs/issues/1217 )) ([ba761a0 ](https://github.com/kaitranntt/ccs/commit/ba761a0d1e75dac9090f58848bf1f0f10d855519 ))
* **windows:** pin cmd shell for wrapper launches ([#1229 ](https://github.com/kaitranntt/ccs/issues/1229 )) ([9c5d497 ](https://github.com/kaitranntt/ccs/commit/9c5d4976c51696a86251c507902ea03e4d78a8b0 ))
2026-05-14 16:55:30 +00:00
Kai (Tam Nhu) Tran
78c5c85e2b
Merge pull request #1244 from kaitranntt/dev
...
feat: promote dev to main
2026-05-14 12:52:25 -04:00
github-actions[bot]
e694f3cd38
chore(release): 7.78.1-dev.8
2026-05-14 16:38:52 +00:00
Kai (Tam Nhu) Tran
4748c452bd
fix(codex): self-heal ccsxp cliproxy provider ( #1243 )
2026-05-14 12:35:31 -04:00
github-actions[bot]
9748ba4ee0
chore(release): 7.78.1-dev.7
2026-05-14 14:21:39 +00:00
walker1211
35b6210cd2
fix: support Claude subcommands and background sessions
...
Squash merge PR #1240.\n\nValidated locally from the PR head because trusted-author GitHub CI was skipped for this fork PR:\n- bun run validate\n- bun run build:all\n- bun run test:all\n- CCS_E2E_SKIP_BUILD=1 bun run test:e2e
2026-05-14 10:18:23 -04:00
github-actions[bot]
e87b627764
chore(release): 7.78.1-dev.6
2026-05-13 13:38:07 +00:00
Kai (Tam Nhu) Tran
54f1aa70c0
fix(proxy): strip stale encoding from upstream error responses ( #1239 )
2026-05-13 09:31:43 -04:00
Tam Nhu Tran
1932b2ca61
fix(proxy): strip stale encoding from upstream error responses
2026-05-13 09:13:28 -04:00
github-actions[bot]
ab096ac37e
chore(release): 7.78.1-dev.5
2026-05-13 02:23:37 +00:00
Kai (Tam Nhu) Tran
667b1d1e1f
fix: ignore internal instance directories in health scans
...
Closes #1236
2026-05-12 22:17:16 -04:00
github-actions[bot]
ac00ba4f00
chore(release): 7.78.1-dev.4
2026-05-12 23:27:59 +00:00
Kai (Tam Nhu) Tran
ac333dd1d5
fix: clarify CLIProxy setup actions
...
Make account setup the primary CLIProxy CTA, keep advanced variant creation secondary, and contain setup dialogs across narrow viewports.
2026-05-12 19:23:59 -04:00
github-actions[bot]
26311f7752
chore(release): 7.78.1-dev.3
2026-05-12 22:18:38 +00:00
Kai (Tam Nhu) Tran
40300c286e
fix(security): constrain image fallback hook to workspace ( #1232 )
2026-05-12 18:13:32 -04:00
Kai (Tam Nhu) Tran
349db830df
fix(settings): confine dashboard settings paths ( #1231 )
2026-05-12 18:13:26 -04:00
Kai (Tam Nhu) Tran
a840793a9b
fix(proxy): avoid exposing local auth token in daemon argv ( #1230 )
2026-05-12 18:13:20 -04:00
Kai (Tam Nhu) Tran
9c5d4976c5
fix(windows): pin cmd shell for wrapper launches ( #1229 )
2026-05-12 18:13:13 -04:00
github-actions[bot]
2e5439290e
chore(release): 7.78.1-dev.2
2026-05-12 20:49:48 +00:00
Kai (Tam Nhu) Tran
d9b6abf134
Merge pull request #1233 from kaitranntt/kai/feat/1218-claude-subcommand-passthrough
...
feat(dispatcher): pass through Claude subcommands without interactive-session args
2026-05-12 16:46:12 -04:00
Tam Nhu Tran
c2b00b7ad6
feat(dispatcher): pass through Claude subcommands without interactive-session args
...
Closes #1218 .
When the user invokes `ccs <profile> agents` (and other Claude subcommands
like `mcp`, `doctor`, `plugin`, ...), CCS was unconditionally injecting
session-only Claude flags (`--append-system-prompt`, `--disallowedTools`,
`--settings`, official-channels plugin specs) and forwarding the
`DISABLE_TELEMETRY=1` env var from profile settings. Each of those
either errored out the subcommand (`error: unknown option
'--append-system-prompt'`) or silently flipped Claude into
non-interactive list mode, so the new `claude agents` agent view never
opened under CCS.
Add a small `claude-subcommand-detector` that recognizes the documented
Claude subcommand set after skipping known value-taking flags, then have
the three steering-prompt injectors (websearch, image-analysis, browser),
the cliproxy and settings launchers, and the official-channels plan
short-circuit when a subcommand invocation is detected. Also strip
`DISABLE_TELEMETRY` from the spawned env only for subcommand
invocations — upstream Claude Code uses that var as a kill switch for
the subcommand TUIs, and the user's telemetry preference still applies
to every normal interactive session.
Verified end-to-end against `ccs glm agents` and `ccs ck agents`: the
agent view opens correctly, no `unknown option` error, and all 1938
existing tests pass.
2026-05-12 16:35:37 -04:00
github-actions[bot]
72f2f9993d
chore(release): 7.78.1-dev.1
2026-05-12 16:50:48 +00:00
Tam Nhu Tran
4c0aa83c82
chore(sync): merge main into dev after release
...
# Conflicts:
# .github/workflows/ci.yml
# package.json
2026-05-12 12:43:02 -04:00
semantic-release-bot
4099dfc3ca
chore(release): 7.78.1 [skip ci]
...
## [7.78.1](https://github.com/kaitranntt/ccs/compare/v7.78.0...v7.78.1 ) (2026-05-12)
### Bug Fixes
* **ci:** harden self-hosted workflow trust boundaries ([2273757 ](https://github.com/kaitranntt/ccs/commit/2273757c837254edd2277c785530835d6db2a977 ))
2026-05-12 16:37:30 +00:00
Kai (Tam Nhu) Tran
2273757c83
fix(ci): harden self-hosted workflow trust boundaries
...
Keep active CCS workflows on self-hosted runners, gate self-hosted PR execution to trusted authors, and scope privileged release credentials to the exact git operations that need them.
2026-05-12 12:34:15 -04:00
github-actions[bot]
9afb09aad3
chore(release): 7.78.0-dev.10
2026-05-12 15:04:01 +00:00
Kai (Tam Nhu) Tran
d61469edcb
fix(config): bind dashboard to loopback by default
2026-05-12 10:59:49 -04:00
github-actions[bot]
837f7f46e3
chore(release): 7.78.0-dev.9
2026-05-12 14:45:34 +00:00
Kai (Tam Nhu) Tran
f09cdfcf2b
fix(security): protect dashboard WebSocket upgrades
2026-05-12 10:42:05 -04:00
github-actions[bot]
25e21d311c
chore(release): 7.78.0-dev.8
2026-05-12 14:37:27 +00:00
Kai (Tam Nhu) Tran
e7174d63bb
fix(ci): run pull request validation on hosted runners
2026-05-12 10:33:47 -04:00
github-actions[bot]
f830115dcc
chore(release): 7.78.0-dev.7
2026-05-12 14:27:56 +00:00
Kai (Tam Nhu) Tran
bd588a271d
fix(codex): require local access for dashboard config routes
2026-05-12 10:24:25 -04:00
github-actions[bot]
1ad8a54aa1
chore(release): 7.78.0-dev.6
2026-05-12 13:01:00 +00:00
Kai (Tam Nhu) Tran
eb4bbfddf3
security(browser-mcp): restrict model-callable local file uploads/downloads to safe roots and deny sensitive paths ( #1220 )
...
* fix(browser): restrict file transfer paths
* fix(browser): normalize safe transfer paths
* fix(browser): reject sensitive transfer roots
2026-05-12 08:57:33 -04:00
github-actions[bot]
f7d5d08bbf
chore(release): 7.78.0-dev.5
2026-05-12 11:56:16 +00:00
Kai (Tam Nhu) Tran
5138741b5c
fix(ui): keep codex toml tokens inline ( #1219 )
2026-05-12 07:51:59 -04:00
github-actions[bot]
e5a10c9ed9
chore(release): 7.78.0-dev.4
2026-05-12 02:02:48 +00:00
Kai (Tam Nhu) Tran
ba761a0d1e
fix(ui): wrap codex config highlight editor ( #1217 )
2026-05-11 21:58:55 -04:00
github-actions[bot]
a3e8e2e58c
chore(release): 7.78.0-dev.3
2026-05-12 01:37:02 +00:00
Kai (Tam Nhu) Tran
e1777247b3
fix(ui): restore codex config highlighting ( #1216 )
2026-05-11 21:33:33 -04:00
github-actions[bot]
46b8ac2560
chore(release): 7.78.0-dev.2
2026-05-12 00:46:52 +00:00
Kai (Tam Nhu) Tran
225401ceca
fix(ui): render codex config as exact text ( #1215 )
2026-05-11 20:43:26 -04:00
github-actions[bot]
56d5493a61
chore(release): 7.78.0-dev.1
2026-05-11 18:29:03 +00:00
Kai (Tam Nhu) Tran
29da75c0d4
fix(cliproxy): explain headless Codex OAuth recovery
...
Closes #1213
2026-05-11 14:25:34 -04:00