Repository navigation
Document update prompts and project restoration - #52
Merged
Merged
Conversation
JamieW105
added a commit
to Rustic-Game-Engine/engine
that referenced
this pull request
Oct 21, 2026
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).
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.
Document the one-time update prompt, persistent top-right Update button, graceful save/review/close, and restoration of windows and projects after a successful in-app update. Explain normal-exit and failed-installation behavior.
Validation: documentation lint with zero warnings, production build, TypeScript check and npm audit (zero vulnerabilities) passed.
Engine implementation: Rustic-Game-Engine/engine#42