Commit Graph
2773 Commits
Author SHA1 Message Date
github-actions[bot] bdb7bdb101 chore(release): 7.61.1-dev.5 [skip ci] 2026-03-28 23:38:44 +00:00
Kai (Tam Nhu) TranandGitHub 73003a12a0 Merge pull request #835 from kaitranntt/kai/fix/834-docker-cliproxy-detection
fix(docker): CLIProxy detection, session lock, and binary guard for integrated stack
2026-03-28 19:37:12 -04:00
Tam Nhu Tran a517c506cb test(docker): add tests for health check port detection and ETXTBSY guard
Cover checkCliproxyPort() with all ProxyStatus branches (running,
starting, blocked with/without blocker, free). Cover deleteBinary()
ETXTBSY guard — verifies ETXTBSY throws clear message while other
errors (ENOENT, EACCES, EBUSY) are re-thrown.
2026-03-28 19:20:05 -04:00
Tam Nhu Tran e8b7ac730f fix(docker): wrap session registration in try-catch and narrow ETXTBSY guard
Session registration in spawn handler can throw on lock contention or
disk errors — wrap in try-catch to prevent silent proxy-untracked state.

Narrow EBUSY catch to ETXTBSY only since EBUSY on non-Linux platforms
can mean mount point or directory in use, not running binary. Fix
misleading "skip" comment to say "abort".
2026-03-28 19:00:54 -04:00
Tam Nhu Tran 7d410b26d0 fix(docker): address review findings — PID guard, deleteBinary guard, blocked fallback
- Guard child.pid falsy in bootstrap (PID 0 creates immortal phantom lock)
- Add ETXTBSY/EBUSY guard to deleteBinary() (same vuln as downloadAndInstall)
- Fix error message to suggest container restart (not circular ccs docker update)
- Tighten status.blocked guard to handle missing blocker gracefully
2026-03-28 18:12:18 -04:00
Tam Nhu Tran 5eac9c584a fix(cliproxy): guard binary install against ETXTBSY when running
In Docker, the dashboard tried to update the CLIProxy binary while
the bootstrap's instance was already executing it, causing ETXTBSY.
Now catches the error and throws a clear message instead of crashing.
2026-03-28 17:56:03 -04:00
Tam Nhu Tran a0f28f8807 fix(docker): register session lock from bootstrap for proxy discovery
Docker bootstrap spawns CLIProxy but never registered a session lock,
so the dashboard's fallback detection found nothing. Now registers on
spawn and unregisters on close.
2026-03-28 17:55:51 -04:00
Tam Nhu Tran d7a80ed38d fix(docker): use HTTP-first proxy detection in health checks
Health check used OS-level port detection (lsof/ss) which is
unavailable in minimal Alpine containers. Switched to the unified
detectRunningProxy() which tries HTTP first, then session lock,
then port-process as fallback.
2026-03-28 17:55:39 -04:00
github-actions[bot] 4536d1e5e3 chore(release): 7.61.1-dev.4 [skip ci] 2026-03-28 20:37:48 +00:00
Kai (Tam Nhu) TranandGitHub 119b08fa00 Merge pull request #833 from kaitranntt/kai/fix/832-docker-remote-deploy
fix(docker): remote env var syntax and build timeout
2026-03-28 16:36:16 -04:00
Tam Nhu Tran cbe93d4f76 test(docker): update executor tests for export syntax and build timeout
Align test assertions with the env var export pattern and the 5-minute
build timeout used by up and update operations.
2026-03-28 16:22:17 -04:00
Tam Nhu Tran 60167d3f2b fix(docker): use export for remote env vars and increase build timeout
Remote compose commands placed env vars directly before a compound
if/then statement which is invalid bash syntax. Changed to export
statements chained with &&.

Added REMOTE_DOCKER_BUILD_TIMEOUT_MS (5min) for up and update
operations that involve npm install inside the container. Quick
queries (status, config, down) keep the default 30s timeout.

Closes #832
2026-03-28 16:22:17 -04:00
github-actions[bot] 23fd673fee chore(release): 7.61.1-dev.3 [skip ci] 2026-03-28 20:12:53 +00:00
Kai (Tam Nhu) TranandGitHub c6bdf4d39c Merge pull request #827 from kaitranntt/kai/fix/websearch-hook-install-settings-profiles
fix(websearch): install hook for settings profiles
2026-03-28 16:11:14 -04:00
Tam Nhu Tran 836c485095 Merge remote-tracking branch 'origin/dev' into kai/fix/websearch-hook-install-settings-profiles 2026-03-28 15:47:22 -04:00
github-actions[bot] 2c52fe614f chore(release): 7.61.1-dev.2 [skip ci] 2026-03-28 19:41:27 +00:00
Kai (Tam Nhu) TranandGitHub d3f0acc59c Merge pull request #826 from kaitranntt/kai/fix/gemini-3-1-presets
fix(cliproxy): resolve gemini presets from live models
2026-03-28 15:39:56 -04:00
github-actions[bot] 27cd473c97 chore(release): 7.61.1-dev.1 [skip ci] 2026-03-28 19:36:55 +00:00
Kai (Tam Nhu) TranandGitHub e9cddabc4a Merge pull request #828 from kaitranntt/kai/chore/ccs-backlog-project-automation
chore: automate CCS backlog project sync
2026-03-28 15:35:20 -04:00
Tam Nhu Tran 0821c68559 fix(websearch): restore hook recovery and force register 2026-03-28 10:37:20 -04:00
Tam Nhu Tran ed37a2a513 Merge remote-tracking branch 'origin/dev' into kai/fix/websearch-hook-install-settings-profiles 2026-03-28 10:26:47 -04:00
Tam Nhu Tran cc55b9d794 Merge remote-tracking branch 'origin/dev' into kai/chore/ccs-backlog-project-automation-refresh 2026-03-28 10:17:56 -04:00
github-actions[bot] 92042697b0 chore(sync): merge main into dev after release [skip ci]
# Conflicts:
#	package.json
2026-03-28 14:15:12 +00:00
semantic-release-bot 91b800003b chore(release): 7.61.1 [skip ci]
## [7.61.1](https://github.com/kaitranntt/ccs/compare/v7.61.0...v7.61.1) (2026-03-28)

### Bug Fixes

* **ci:** require explicit /review command for AI review reruns ([3ebf17f](https://github.com/kaitranntt/ccs/commit/3ebf17f1701f9d7fd60aade0ec6bd8147b91e761))
2026-03-28 14:14:56 +00:00
Kai (Tam Nhu) TranandGitHub 114e19f7de Merge pull request #831 from kaitranntt/kai/hotfix-ai-review-comment-trigger
fix(ci): require explicit /review command for AI review reruns
2026-03-28 10:13:20 -04:00
Tam Nhu Tran 3ebf17f170 fix(ci): require explicit /review command for AI review reruns 2026-03-28 10:10:31 -04:00
github-actions[bot] 228ed3b036 chore(release): 7.61.0-dev.1 [skip ci] 2026-03-28 14:03:00 +00:00
Kai (Tam Nhu) TranandGitHub f4673389e4 Merge pull request #830 from kaitranntt/kai/fix/829-docker-assets-missing
fix(docker): include docker/ assets in npm package
2026-03-28 10:01:23 -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 e6617726cb fix: harden CCS backlog sync pagination and recovery 2026-03-28 09:51:53 -04:00
Tam Nhu Tran 0e6965d205 fix(websearch): harden settings-profile hook setup
- fail enabled settings-profile create and launch flows when hook preparation is still unusable

- refresh stale shared hook binaries without rewriting unchanged installs or failing benign races

- add rollback and regression coverage for disabled, stale, invalid, copy, import, and launch paths
2026-03-28 09:51:13 -04:00
Tam Nhu Tran 13254f28a6 test(docker): add regression test for bundled asset availability
Verify all four integrated Docker assets (compose file, Dockerfile,
supervisord config, entrypoint script) resolve and exist on disk.
Prevents silent exclusion from future packaging changes.
2026-03-28 09:47:37 -04:00
Tam Nhu Tran 50b56600dd fix(docker): include docker/ assets in npm package
The docker/ directory was missing from package.json files array,
causing all ccs docker commands to fail after npm install with
"Missing bundled Docker asset" error. Also add .npmignore exception
for docker/*.sh since the blanket *.sh exclusion stripped the
entrypoint script.

Closes #829
2026-03-28 09:47:23 -04:00
Tam Nhu Tran b3b3853db0 chore: automate CCS backlog project sync 2026-03-27 17:52:34 -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 fbbdd80830 fix(websearch): avoid partial settings-hook migration
- verify the hook binary before migrating global WebSearch hook state

- centralize migration-marker helpers in hook-installer exports

- expand regression coverage for existing-hook, disabled, invalid-name, and failed-install paths
2026-03-27 17:22:56 -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 39a3e9dfc0 fix(websearch): install hook for settings profiles
- ensure profile hook injection installs the transformer binary before writing the command

- keep migration marker cleanup in the installer to avoid a circular import

- add a regression test for isolated CCS_HOME settings profiles
2026-03-27 17:05:41 -04:00
Tam Nhu Tran 5ac91e0cac fix(cliproxy): align gemini 3.1 preset compatibility 2026-03-27 16:39:40 -04:00
semantic-release-bot fcc5fad601 chore(release): 7.61.0 [skip ci]
## [7.61.0](https://github.com/kaitranntt/ccs/compare/v7.60.1...v7.61.0) (2026-03-27)

### Features

* **docker:** add integrated deployment commands ([23f767b](https://github.com/kaitranntt/ccs/commit/23f767b0c557affd2cdaaf20226a530db252b558)), closes [#812](https://github.com/kaitranntt/ccs/issues/812)

### Bug Fixes

* **docker:** bound blocking command execution ([5ad4303](https://github.com/kaitranntt/ccs/commit/5ad430334539356b2a5805ee02d7178d3ee0aa16))
* **websearch:** align provider validation metadata ([dff40b5](https://github.com/kaitranntt/ccs/commit/dff40b5e24bd26cb103fae53e7746456bf38d996))
* **websearch:** restrict dashboard secrets routes ([4ccc3ed](https://github.com/kaitranntt/ccs/commit/4ccc3edcbbfeb5d148c9ff505f9cad26c80f441b))

### Documentation

* **docker:** document integrated deployment flow ([6ac8f59](https://github.com/kaitranntt/ccs/commit/6ac8f59a78675c35dd6be3cd76365ce16101716c)), closes [#812](https://github.com/kaitranntt/ccs/issues/812) [#812](https://github.com/kaitranntt/ccs/issues/812)

### Tests

* **docker:** cover docker subcommand rendering paths ([5b9954c](https://github.com/kaitranntt/ccs/commit/5b9954cfad2dfdb8c7857083252ff6eb512db4c1))
* **websearch:** assert parser-layer null body errors ([1fd7f81](https://github.com/kaitranntt/ccs/commit/1fd7f8122181f84eb585f7809e75325462729b8b))
2026-03-27 19:31:19 +00:00
Kai (Tam Nhu) TranandGitHub 7722c9755a Merge pull request #825 from kaitranntt/dev
feat(release): promote dev to main
2026-03-27 15:29:44 -04:00
github-actions[bot] 2225bacec2 chore(sync): merge main into dev after release [skip ci]
# Conflicts:
#	package.json
2026-03-27 19:28:57 +00:00
semantic-release-bot f0375c5294 chore(release): 7.60.1 [skip ci]
## [7.60.1](https://github.com/kaitranntt/ccs/compare/v7.60.0...v7.60.1) (2026-03-27)

### Hotfixes

* add hotfix commit type to semantic-release config ([0473f63](https://github.com/kaitranntt/ccs/commit/0473f636237a4e7e808a576eb75525d7ed8d929b))
* **ci:** fix AI review performance — bypass permissions, cap turns, reduce thinking ([0a7fef0](https://github.com/kaitranntt/ccs/commit/0a7fef0368b10701737d0f54f50fd1b4ed5d46f6)), closes [#818](https://github.com/kaitranntt/ccs/issues/818)
* **ci:** increase max-turns to 30 and enforce Write tool for review output ([179fa33](https://github.com/kaitranntt/ccs/commit/179fa338b8da2b62853931218df8ce1ed34836dd)), closes [#818](https://github.com/kaitranntt/ccs/issues/818)
2026-03-27 19:28:40 +00:00
Tam Nhu Tran c32fbdac5d Merge remote-tracking branch 'origin/main' into dev 2026-03-27 15:27:41 -04:00
Kai (Tam Nhu) TranandGitHub 67711dc748 Merge pull request #824 from kaitranntt/kai/hotfix-releaserc-hotfix-type
hotfix: add hotfix commit type to semantic-release config
2026-03-27 15:27:01 -04:00
github-actions[bot] 4cbb142703 chore(release): 7.60.0-dev.4 [skip ci] 2026-03-27 19:24:49 +00:00
Kai (Tam Nhu) TranandGitHub 508c96e289 Merge pull request #820 from kaitranntt/kai/feat/812-docker-command
feat: add ccs docker deployment commands
2026-03-27 15:23:12 -04:00
github-actions[bot] cf63f67413 chore(release): 7.60.0-dev.3 [skip ci] 2026-03-27 19:08:50 +00:00
Kai (Tam Nhu) TranandGitHub c7744a37c3 Merge pull request #822 from kaitranntt/kai/fix/821-websearch-validation-followup
fix(websearch): align provider validation metadata
2026-03-27 15:07:14 -04:00
Tam Nhu Tran 5b9954cfad test(docker): cover docker subcommand rendering paths
- add handler-level coverage for up, down, logs, config, update, and status

- exercise success, validation, follow-mode, and boxed error output paths
2026-03-27 15:05:17 -04:00