Repository navigation
feat(desktop): signed Windows NSIS updates on the main channel #6854
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
huangruiteng
merged 23 commits into
loopx-project:main
from
JasonBuildAI:codex/desktop-windows-signed-updates
Oct 22, 2026
+1,987
−110
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
24b5372
feat(desktop): ship signed Windows NSIS updates on the main channel
JasonBuildAI a3ec8bc
docs(desktop): describe the Windows signed-update journey
JasonBuildAI 331742d
fix(desktop): keep the Windows boot surface inside the navigation fence
JasonBuildAI d9c3e29
fix(desktop): fail closed on invalid updater signatures and pin the w…
JasonBuildAI c75fa94
fix(desktop): keep Windows install failures out of the macOS journal …
JasonBuildAI f20a4fd
fix(desktop): keep updater copy off controls Windows does not offer
JasonBuildAI afb6932
fix(desktop): align the published signature and journal gates with th…
JasonBuildAI 1c533b8
test(desktop): keep the Windows signature rejection the actual failur…
JasonBuildAI 9ac94e3
ci: retrigger desktop checks after a transient bundling failure
JasonBuildAI 857d66f
fix(desktop): reclaim the App's services across the Windows update ha…
JasonBuildAI 4897576
test(desktop): drive the pinned updater's verified-but-unlaunchable h…
JasonBuildAI 76eddca
fix(desktop): carry the reviewed Windows journey through main's autom…
JasonBuildAI 83969f6
ci(desktop): run the Windows update lifecycle regressions on a native…
JasonBuildAI e8f5249
test(desktop): align the update panel smoke with the merged automatic…
JasonBuildAI 1c2576b
ci(desktop): prepare the bundled runtime before the Windows update tests
JasonBuildAI c3d75ec
fix(desktop): scope the update promise to the channel that publishes it
JasonBuildAI f3fcd46
test(desktop): align update smoke with runtime node telemetry
JasonBuildAI d0b8c25
ci(desktop): keep the stable feed independent of the Windows build
JasonBuildAI ea28cc8
fix(desktop): skip absent Windows artifacts on stable upload
JasonBuildAI da9f0c9
test(desktop): restore the shared update-failure smoke coverage
JasonBuildAI 49811dd
fix(desktop): keep the rebased service files aligned with main
JasonBuildAI 27c3d26
fix(desktop): keep restore debt for late services in update handoff
JasonBuildAI 59c90c7
Merge branch 'main' into codex/desktop-windows-signed-updates
huangruiteng File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P2] Skip absent Windows artifacts on the stable publishing path. Stable now intentionally skips build-windows, leaving no .exe. With no nullglob/file guard, Bash passes the literal dist/updater/*.exe to gh, which exits with no matches; set -e stops before feed/pointer publication. The exact base upload script succeeds for the same Darwin-only fixture; head stable fails, while head main and a nullglob-only control succeed. Enumerate only existing artifacts and execute the full stable/main upload loop in the regression test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
已修复于
dcbc04589d5f487bc24537a0d7e49e71a027168a(rebase 到c97f921e2f18fbd7e155495b7eb5029031c97fe3)。.gz/.sig/.exe前启用shopt -s nullglob。stable 的 Darwin-only 产物现在会跳过不存在的.exe,继续上传 immutable feed 和desktop-stable指针;main 仍要求 Windows 构建,缺少.exe时前置 feed builder 在上传前 fail closed。gh调用日志覆盖 stable Darwin-only 与 main 完整产物:stable 不传.exe或字面量 glob,main 会传 Windows installer,feed 上传先于指针上传。28 passed;Windowsservice_lifecycle6 passed;PR CI 的validate与windows-desktop-tests均通过。canary premerge为 18/19:唯一失败是hot-path-interface-budget-smoke在 Windows 上的既有 extension doctorentrypoint_missing(相关readiness.py不在本 diff),public boundary 通过。cargo fmt --check仍报告 main 上同样存在的services.rs格式差异,未声称已修复。请按 exact head
dcbc04589复审;本轮不合并。