Repository navigation
Conversation
Owner
|
感谢!看过了:和 main 无冲突,三平台 CI 全绿。合入前想先对齐两点:
|
Contributor
Author
|
已推送
默认 MSIX 主实例「停止 → 重启」的完整运行验收尚未完成,已在正文明确保留此边界,不作为通过项。沙盒中官方签名包安装成功,但管理器遇到测试环境缺少运行库,尚未进入主实例启停。另有一轮主停止入口作用于隔离多开实例的场景未通过,也已写入正文,不能作为自定义主实例链路通过的证据。 PR 正文已同步最终实现、验证结果与上述限制。 |
Owner
|
核验链做得很扎实:持句柄比对身份、三次复核、按原句柄终止和等待,误杀其他实例和其他用户进程的路径基本堵住了,非 Windows 行为也保持不变。合并前想请处理几处可用性问题:
|
Contributor
Author
|
已按这次回复处理并推送
验证结果:Windows 主停止模块 29 项通过(1 项由父测试显式驱动的集成用例保持 ignored)、launcher 38 项通过、管理器重启回归 8 项通过,Windows release 构建和 官方 Store/MSIX 默认主实例完整“停止 → 重启”按本轮范围不再测试,因此不作为通过项。 |
This branch has not been deployed
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.
现象与原因
Windows 上 Codex 窗口消失后,主进程可能仍然存活,但调试端口没有可注入的主页面。原停止入口会据此提前返回“没有在运行”;重启还可能复用 ready 状态的旧 launcher 会话,继续使用旧启动参数。
停止逻辑还需要区分多个用户、Windows 会话、APPDATA、用户数据目录和 Codex 子进程,不能因为同名进程、坏 argv 或其他实例占用端口而扩大停止范围。
修复
ProcessIdToSessionId过滤,再核对映像、用户、登录会话、APPDATA、用户数据目录和持有句柄;其他会话或已确认无关的坏 argv 不再阻断当前实例。Codex 没有在运行;存在同映像、同用户但 APPDATA、用户数据目录或其他隔离上下文不一致的主进程时返回明确错误,不静默报告成功。--key=value形式;分离参数、空值、重复或歧义值会明确拒绝。SettingsStore,避免启动后设置编辑导致停止错误实例。--user-data-dir与CODEX_ELECTRON_USER_DATA_PATH继续支持,并按实际目录精确匹配;不恢复全局同名进程兜底,也不影响其他目录或 agent 实例。验证
git diff --check通过。cleanup_failed,随后确认端口已释放、正式实例和保护文件未变化。验证边界