improve networking, updates, ux - #10
Merged
Merged
Conversation
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.
Description
This PR makes significant changes to the update management and network monitoring components of the project, as well as some project configuration updates. The main focus is on replacing the old update mechanism with a new GitHub-based update client, introducing new models and views for update handling, and cleaning up related tests and references. Additionally, the project now includes a network monitoring utility and makes minor changes to the app’s Info.plist.
Update system overhaul:
UpdateChecker.swiftand related references, replacing it with a new set of update-related files:UpdateState.swift,GitHubRelease.swift,GitHubAsset.swift,GitHubUpdateClient.swift, andUpdatePromptSheet.swift. This modernizes the update flow to use GitHub Releases and introduces new models and a prompt sheet for update notifications. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]UpdateCheckerTests.swiftwithUpdateStateTests.swiftto align with the new update logic. [1] [2] [3] [4]Network monitoring:
NetworkMonitor.swiftutility, included in both the project and build phases, to provide network monitoring capabilities. [1] [2] [3] [4]Project and configuration updates:
Info.plistto add theLSUIElementkey (making the app a UIElement/background app) and removed unused or unnecessary usage description keys.These changes modernize the update-handling infrastructure, improve test coverage for the new logic, add network monitoring, and streamline the app’s configuration.
UX updates:
Future work
How to test
Author checklist
This PR: