feat: sync active providers to SSH remotes - #1834
Draft
hezhexi2002 wants to merge 2 commits into
Draft
Conversation
BigPizzaV3
requested changes
Aug 20, 2026
BigPizzaV3
left a comment
Owner
There was a problem hiding this comment.
远端 app-server 停止逻辑有一个阻塞性的进程安全问题。
脚本读取 $codex_home/app-server-control/app-server.pid 后,只要 kill -0 "$pid" 成功,就会枚举其后代并对整棵进程树发送 kill。PID 文件可能因为崩溃、机器重启后的残留或 PID 复用而指向完全无关的远端进程;当前没有校验该 PID 的可执行文件、命令行、启动时间或控制 socket 归属。启用“切换后自动同步”时,这可能在一次普通供应商切换中终止用户的其他服务。
请在终止前验证 PID 确实属于 Codex app-server(例如核对可执行文件/命令行和该 CODEX_HOME 的控制参数,并对无法验证的平台选择不终止而提示用户),同时补“过期 PID 指向无关进程时不得 kill”的测试。分支目前也与最新 main 冲突,修复后需要 rebase 并重新跑全平台 CI。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Security and recovery
CODEX_HOMEconfig.tomlandauth.jsononly through SSH standard input; credentials are never placed in command-line arguments or local staging files0600permissions, back up the previous files under the remoteCODEX_HOME, and roll back both files if apply or app-server shutdown failsValidation
cargo test -p codex-plus-core remote_relay_sync --lib(6 passed)cargo check -p codex-plus-managercargo clippy -p codex-plus-core -p codex-plus-manager --all-targets(passed with existing warnings)npm run checknpm run vite:buildnode --experimental-strip-types --test "src/*.test.ts"(47 passed)rustfmt --check;git diff --checkpasses0600permissions, backup creation, preserved remote configuration, and managed app-server shutdown/reconnect behaviorExisting test-suite issues observed locally
npm testcommand does not enable Node's TypeScript stripping on Node 22.17, while the equivalent command above passes all 47 tests