Repository navigation
feat(app): show an animated startup splash while disks load - #244
Merged
Merged
Conversation
AggregateProgress.Combined returns the last combined fraction so a progress display that takes over midway can continue from it, and MainViewModel.AutoMountCompleted exposes how many disks the startup auto-mount has finished with.
Show a splash window at startup (also for a minimized start, where only the main window stays hidden) while the saved disks are auto-mounted in the background. It shows the loading progress, a pulsing logo, randomized drifting background circles and a scrolling list of key features, and hands over to the main window once loading is done. - SplashLifecycle sequences the end of the splash (minimum display time, close, main window) and StartupCompletion releases queued CLI commands before the splash closes; both are WPF-free and unit tested - StartUi is split into chunks that yield to the dispatcher, so the splash keeps rendering while the UI is built - The splash stays on top only for a few seconds, does not take focus, has a taskbar button (except for a minimized start), refuses Alt+F4 and follows the Windows animation setting - A password prompt hands over to the main window and its busy overlay first - The WinFsp check runs once, before the splash
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
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.
Summary
Show a splash window at startup while the saved disks are auto-mounted in the background, instead of showing the main window with a busy overlay.
StartUiis nowStartUiAsyncand yields to the dispatcher between chunks, so the splash keeps rendering while the UI is built. The WinFsp check runs once, before the splash.Splash behaviour details:
ShutdownModeis switched toOnExplicitShutdownonly while the splash is the sole window, andApplication.MainWindowis set explicitly to the main window.The ordering rules (
SplashLifecycle,StartupCompletion), the topmost state, the scroll helpers and the animation parameter planner are free of WPF types and unit tested.AggregateProgress.CombinedandMainViewModel.AutoMountCompletedare small additions used by the password hand-over (first commit).Test plan
dotnet build(0 warnings, 0 errors)dotnet test tests/ManagedDrive.Tests(1739 passed)mdrive exitduring startup exits cleanly; WinFsp missing shows the warning and exits without a splash