[PR #1274] [MERGED] Adopt asynchronous methods to avoid UI blocking #1844

Closed
opened 2026-03-03 19:09:15 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/PlayCover/PlayCover/pull/1274
Author: @Stv-X
Created: 12/15/2023
Status: Merged
Merged: 5/29/2024
Merged by: @TheMoonThatRises

Base: developHead: develop


📝 Commits (10+)

  • f39a1c5 Modify PlayTools injection/removal methods to execute asynchronously to prevent UI blocking
  • d4813cb Fix SwiftLint violations in AppSettingsView.swift
  • 8ce61cd Adjust the height of ProgressView to match the interface.
  • 1ed5169 Added async support for the two functionalities of "Insert Introspection libraries" and "Force Insert iOS Frameworks".
  • d6e8a2c Add async support for "Clear App Data" button.
  • 5539347 Merge branch 'PlayCover:develop' into develop
  • 9cd6cd4 Add async support for app uninstaller.
  • f8b9940 Polish the UI and simplify the code.
  • ac36d7e Fix the typo issue of UninstallVM.swift
  • b15d307 Use a single variable of enumeration type 'BlockingTask' to simplify the code.

📊 Changes

6 files changed (+139 additions, -52 deletions)

View changed files

📝 PlayCover/AppInstaller/Installer.swift (+1 -1)
📝 PlayCover/Model/PlayApp.swift (+4 -4)
📝 PlayCover/Utils/PlayTools.swift (+2 -3)
📝 PlayCover/Views/App Views/PlayAppView.swift (+4 -16)
📝 PlayCover/Views/AppSettingsView.swift (+91 -11)
📝 PlayCover/Views/Uninstaller.swift (+37 -17)

📄 Description

These changes avoid the stuck with macOS spinning beach ball caused by UI blocking while performing long-consuming work.

before:
before

after:
after


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/PlayCover/PlayCover/pull/1274 **Author:** [@Stv-X](https://github.com/Stv-X) **Created:** 12/15/2023 **Status:** ✅ Merged **Merged:** 5/29/2024 **Merged by:** [@TheMoonThatRises](https://github.com/TheMoonThatRises) **Base:** `develop` ← **Head:** `develop` --- ### 📝 Commits (10+) - [`f39a1c5`](https://github.com/PlayCover/PlayCover/commit/f39a1c58b2320981daae8431e31647987604b4a8) Modify PlayTools injection/removal methods to execute asynchronously to prevent UI blocking - [`d4813cb`](https://github.com/PlayCover/PlayCover/commit/d4813cb86fbfe2b4e0b54da2188f88c0e7c3444a) Fix SwiftLint violations in AppSettingsView.swift - [`8ce61cd`](https://github.com/PlayCover/PlayCover/commit/8ce61cd5b5c2f7bbd337db5bcecfadbf152c87e1) Adjust the height of ProgressView to match the interface. - [`1ed5169`](https://github.com/PlayCover/PlayCover/commit/1ed51691616292b2e1614f813ec8fc96bb86573a) Added async support for the two functionalities of "Insert Introspection libraries" and "Force Insert iOS Frameworks". - [`d6e8a2c`](https://github.com/PlayCover/PlayCover/commit/d6e8a2c388b2e145cc456158040f857b06d4f34f) Add async support for "Clear App Data" button. - [`5539347`](https://github.com/PlayCover/PlayCover/commit/5539347098f0220d20dd31bfbe3d9451d2d9aa56) Merge branch 'PlayCover:develop' into develop - [`9cd6cd4`](https://github.com/PlayCover/PlayCover/commit/9cd6cd408ba05b27da333edf5b8565fa939bd5e1) Add async support for app uninstaller. - [`f8b9940`](https://github.com/PlayCover/PlayCover/commit/f8b9940c7dc6edefe96b833238988538bdd13e43) Polish the UI and simplify the code. - [`ac36d7e`](https://github.com/PlayCover/PlayCover/commit/ac36d7eec6afabcb1ef79a0b09ffa6598d1f8978) Fix the typo issue of UninstallVM.swift - [`b15d307`](https://github.com/PlayCover/PlayCover/commit/b15d3076c415e2fabe267f0e06cb99cea08e9306) Use a single variable of enumeration type 'BlockingTask' to simplify the code. ### 📊 Changes **6 files changed** (+139 additions, -52 deletions) <details> <summary>View changed files</summary> 📝 `PlayCover/AppInstaller/Installer.swift` (+1 -1) 📝 `PlayCover/Model/PlayApp.swift` (+4 -4) 📝 `PlayCover/Utils/PlayTools.swift` (+2 -3) 📝 `PlayCover/Views/App Views/PlayAppView.swift` (+4 -16) 📝 `PlayCover/Views/AppSettingsView.swift` (+91 -11) 📝 `PlayCover/Views/Uninstaller.swift` (+37 -17) </details> ### 📄 Description These changes avoid the stuck with macOS spinning beach ball caused by UI blocking while performing long-consuming work. before: ![before](https://github.com/PlayCover/PlayCover/assets/30586070/3d62aba0-9b7e-4792-9f22-49853cddbe15) after: ![after](https://github.com/PlayCover/PlayCover/assets/30586070/9d018bf8-5a64-4e48-b153-5b0e6b9254db) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 19:09:15 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
starred/PlayCover#1844
No description provided.