feat(desktop): add Windows portable .zip fallback and SmartScreen docs (LC-180) #452

Merged
vas2000-work merged 2 commits from feat/LC-180-windows-portable-zip into main 2026-06-28 01:01:32 +02:00
Member

LC-131 shipped the NSIS installer but its real-Windows install test, the WebView2 bootstrap firing, and a clean uninstall can only be verified on a Windows box (items 1 and 4 of LC-180, owned by this issue and performed by a human post-merge). This commit lands the code-side deliverables: the portable .zip fallback (item 2) and the unsigned-binary SmartScreen documentation (item 3, signing explicitly deferred per the 2026-05-26 decision).

The existing installer Dockerfile stage already has the cross-built exe and the bundled WebView2 Evergreen bootstrapper, so it now also emits lets-chat-desktop-windows-x86_64.zip containing the raw exe, the bootstrapper (run-once if the runtime is missing), and a user-facing README.txt that documents the "More info -> Run anyway" SmartScreen flow and the WebView2 one-time install. The windows workflow docker-cp's the zip from the same container and publishes it to Generic Packages next to the installer. The self-updater consumes the raw exe, so updates are unaffected; this is only the first-install delivery.

Built trivially from Linux (zip in the same Debian stage), no Windows host. Verified by building the installer Dockerfile stage: makensis and the zip step both succeed and the archive flattens to the three expected entries.

#LC-180

LC-131 shipped the NSIS installer but its real-Windows install test, the WebView2 bootstrap firing, and a clean uninstall can only be verified on a Windows box (items 1 and 4 of LC-180, owned by this issue and performed by a human post-merge). This commit lands the code-side deliverables: the portable .zip fallback (item 2) and the unsigned-binary SmartScreen documentation (item 3, signing explicitly deferred per the 2026-05-26 decision). The existing installer Dockerfile stage already has the cross-built exe and the bundled WebView2 Evergreen bootstrapper, so it now also emits lets-chat-desktop-windows-x86_64.zip containing the raw exe, the bootstrapper (run-once if the runtime is missing), and a user-facing README.txt that documents the "More info -> Run anyway" SmartScreen flow and the WebView2 one-time install. The windows workflow docker-cp's the zip from the same container and publishes it to Generic Packages next to the installer. The self-updater consumes the raw exe, so updates are unaffected; this is only the first-install delivery. Built trivially from Linux (zip in the same Debian stage), no Windows host. Verified by building the installer Dockerfile stage: makensis and the zip step both succeed and the archive flattens to the three expected entries. #LC-180
feat(desktop): add Windows portable .zip fallback and SmartScreen docs (LC-180)
Some checks failed
check-secrets / Nosey parker (push) Successful in 4s
check-secrets / Kingfisher (pull_request) Failing after 5s
check-secrets / Kingfisher (push) Failing after 6s
check-secrets / TruffleHog (push) Successful in 6s
check-secrets / Nosey parker (pull_request) Successful in 3s
check-secrets / TruffleHog (pull_request) Successful in 4s
Check / clippy + fmt + tests (pull_request) Failing after 2m2s
c36bf4dbd8
LC-131 shipped the NSIS installer but its real-Windows install test, the WebView2 bootstrap firing, and a clean uninstall can only be verified on a Windows box (items 1 and 4 of LC-180, owned by this issue and performed by a human post-merge). This commit lands the code-side deliverables: the portable .zip fallback (item 2) and the unsigned-binary SmartScreen documentation (item 3, signing explicitly deferred per the 2026-05-26 decision).

The existing installer Dockerfile stage already has the cross-built exe and the bundled WebView2 Evergreen bootstrapper, so it now also emits lets-chat-desktop-windows-x86_64.zip containing the raw exe, the bootstrapper (run-once if the runtime is missing), and a user-facing README.txt that documents the "More info -> Run anyway" SmartScreen flow and the WebView2 one-time install. The windows workflow docker-cp's the zip from the same container and publishes it to Generic Packages next to the installer. The self-updater consumes the raw exe, so updates are unaffected; this is only the first-install delivery.

Built trivially from Linux (zip in the same Debian stage), no Windows host. Verified by building the installer Dockerfile stage: makensis and the zip step both succeed and the archive flattens to the three expected entries.

#LC-180
Merge branch 'main' into feat/LC-180-windows-portable-zip
All checks were successful
check-secrets / TruffleHog (push) Successful in 21s
check-secrets / Nosey parker (push) Successful in 21s
check-secrets / Kingfisher (push) Successful in 1m14s
check-secrets / Nosey parker (pull_request) Successful in 1m15s
check-secrets / Kingfisher (pull_request) Successful in 1m16s
Check / clippy + fmt + tests (pull_request) Successful in 4m1s
Create release / Create release from merged PR (pull_request) Has been skipped
check-secrets / TruffleHog (pull_request) Successful in 1m17s
bb87deb075
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!452
No description provided.