Use async ZIP APIs and improve loading screen UX for import/export#79
Closed
Use async ZIP APIs and improve loading screen UX for import/export#79
Conversation
- Replace synchronous ZipArchive constructor with ZipArchive.CreateAsync() in BackupFile.cs - Use entry.OpenAsync() instead of entry.Open() for non-blocking ZIP operations - Add "Please do not close the app" warning to the loading screen - Add Task.Yield() after StateHasChanged() to ensure spinner renders before heavy work - Update loading container CSS for proper vertical layout with warning text Co-authored-by: danielchalmers <7112040+danielchalmers@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Improve responsiveness of import/export loading screens
Use async ZIP APIs and improve loading screen UX for import/export
Feb 11, 2026
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.
Import/export blocks the UI thread during ZIP operations, causing the loading spinner to freeze and lag.
Async ZIP operations
Replace synchronous
ZipArchiveconstructor andentry.Open()with .NET 10 async equivalents:Loading screen improvements
await Task.Yield()afterStateHasChanged()inStartImport/StartExportso the renderer paints the spinner before heavy work begins.loading-containerCSS to vertical flex layout for the new warning elementOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.