Skip to content

Add desktop updates with one-time prompts and project restoration - #42

Merged
JamieW105 merged 2 commits into
mainfrom
codex/github-release-auto-updates
Oct 21, 2026
Merged

JamieW105 merged 2 commits into
mainfrom
codex/github-release-auto-updates

Conversation

@JamieW105

@JamieW105 JamieW105 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Installed Windows builds check GitHub Releases on launch and hourly while open, including pre-alpha releases. A newer x64 installer downloads in the background and must match GitHub's size and SHA-256 metadata. The app asks once per release whether to install; dismissing the prompt leaves a small Update button in the top-right title bar, immediately left of the window controls. The prompt decision persists across windows and app restarts.

Choosing Install update or Update gracefully closes the desktop windows. Editors ask to save unsaved scenes and review stopped Play-session changes first; cancellation leaves the update available. After Setup succeeds, the original user's Project Manager and editors reopen using the newly installed executables, restoring each editor's original project, including Unicode/spaced paths. A normal app exit can install automatically without reopening windows. Failed installs clear restart requests. Other standalone Rustic games/workers must close before Setup starts; the updater never force-closes processes or reboots Windows.

Shared desktop chrome provides the requested title-bar position while retaining dragging, resizing and minimize/maximize/close controls. The installer records its exact build commit to identify releases independently of Cargo's package version and retains the previous installation scope, directory and selections. Older builds need one manual upgrade to receive this feature; all-users updates can require Windows elevation.

Validation:

  • PowerShell regression suite passed for release ordering/pagination, integrity checks, network and Setup failures, process waiting, verified UI status, and restoration of matching sessions exactly once.
  • Headless egui tests passed for title-bar button placement at multiple window widths, visibility and click behavior.
  • Platform tests passed for one-time prompts across windows, release-specific install requests, session records and cancellation.
  • Cargo formatting and Clippy with warnings denied passed for the desktop applications on Linux and the shared desktop/platform crates on the Windows MSVC target.
  • A live GitHub check selected a newer release, downloaded its 22 MB installer and verified its size/SHA-256 successfully without executing it.
  • Documentation lint, production build, TypeScript check and npm audit passed (zero vulnerabilities).
  • All repository CI checks passed on this revision, including the full Windows/Linux suites, rendering, startup smoke checks, dependency/secret scans and Windows installer qualification: https://github.com/Rustic-Game-Engine/engine/actions/runs/39528504877.
  • Windows produced a fresh dist/RusticGameEngine-Setup-0.1.0-x64-20261021-015451.exe; the updater suite passed on Windows PowerShell 5.1 and all packaged Setup cases passed. The installer is uploaded as the windows-installer artifact. The required local installer command could not run on this Linux host; qualification used the repository's Windows CI job.
  • An isolated local platform test run reproduced the pre-existing RON i128 is not supported crash-marker failure on the original commit; the full workspace suites passed on both platforms.
  • Packaged Setup regression cases now also verify the updater and installed commit/scope files.

Companion documentation PR: Rustic-Game-Engine/docs#52 (prompt, button and session restoration; initial update documentation merged in Rustic-Game-Engine/docs#50).

@JamieW105
JamieW105 force-pushed the codex/github-release-auto-updates branch from e8223b0 to f973840 Compare October 21, 2026 01:12
@JamieW105 JamieW105 changed the title Automatically install verified GitHub releases after Rustic closes Add desktop updates with one-time prompts and project restoration Oct 21, 2026
@JamieW105
JamieW105 marked this pull request as ready for review October 21, 2026 01:56
@JamieW105
JamieW105 merged commit d1e61de into main Oct 21, 2026
8 checks passed
@JamieW105
JamieW105 deleted the codex/github-release-auto-updates branch October 21, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants