Repository navigation
feat(installer): preserve Explorer context menu selections - #456
Open
WilliamWang1721 wants to merge 25 commits into
Open
WilliamWang1721 wants to merge 25 commits into
WilliamWang1721 wants to merge 25 commits into
Conversation
WilliamWang1721
marked this pull request as ready for review
October 3, 2026 09:04
3 of 4 tasks
1 of 4 tasks
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.
Result / 用户结果
Addresses #218:安装向导提供 Explorer 集成总开关、普通 Pebrel 入口及逐 WSL 发行版选择。重新运行安装器即可增删对应入口;升级和静默安装保留选择,总开关关闭时保留逐项偏好。沿用 main 已有的 WSL 子菜单,普通入口继续使用默认 shell。
Design / 设计边界
注册和选择由现有 Inno 安装器拥有;复用 Lxss 发现及 WSL 注册/归属机制。选择存入
HKCU\Software\Pebrel\ExplorerMenu;首次迁移保留原有全部入口,保存后新发行版默认不勾选。取消选择只删除精确归属的注册项,外部命令和未知子树保留,冲突注册显式报错。决策见architecture/notes/packaging/2026-10-03-explorer-menu-selection.md。范围为 Inno 安装渠道;不新增应用内设置或其他本地 shell 动词,不更改 MSIX/Scoop。旧 Inno 卸载日志中既有的
uninsdeletekey记录没有重写。Evidence / 验证依据
完成两轮代码与周边流程自审。新增隔离 HKCU fixture 覆盖选择往返、双注册根、升级顺序变化、新发行版、增删/总开关及外部项保留;原生输入 fixture 操作实际 checklist 的鼠标/键盘路径并保存截图。所有测试、编译、格式和架构验证仅在 GitHub Actions。
当前 head:
f559d14032050adbdce60b796037af1852acdebd,正在重新验证。此前d74d66b1的绿 CI 不计作当前 head 通过。独立审查发现 WSL 归属判断未检查动词及
command下未知子树,递归删除可能丢失用户内容。修复将普通入口、WSL 子菜单动词和旧平铺动词统一到结构检查:仅有command子键,且其下无子树;未知内容保留,重建冲突显式失败。d74d66b1+ 新增回归 fixture;两个隔离 HKCU 根、两层未知子树、四条路径的 16 个场景全部失败,证据为issue218-wsl-structure-before-d74d66b1/wsl-structure-result.txt。issue218-wsl-structure-after-f559d140包含source-head.txt和逐场景wsl-structure-result.txt。workflow commit7493a8d8checkout 完整 PR source head,无 regression overlay。验收边界:注册表测试只使用隔离根,原生输入操作生产 checklist。未执行完整真实安装渠道升级、Explorer 菜单实际启动或历史 Inno 卸载日志迁移。
AI assistance: GPT-6.1 SOL, reasoning effort high.
Required Review / 必须确认