a51bbd3abc
* Initial work on presenting alert on error
* Move Account-related error handling up the hierarchy
* Handle errors on logout
* Fix for temporary debugging
* Clean up WriteFreelyModel’s published vars
* Add error handling to top-level content view
* Set current error on API call failures
* Set current error on API call handlers
* Move User Defaults errors to ErrorConstants file
* Add default values for some error strings
* Handle purging post errors
* Add FIXME to track silent failure on fetching collections
As collections are fetched and added to the `list` property in the CollectionListModel’s initializer, it’s tricky to throw an error here: we call it as a property initializer in CollectionListView, which cannot throw.
Consider refactoring this logic such that we’re using, for example, a @FetchRequest in CollectionListView instead.
* Handle errors in (most) shared code
Two outliers to come back to are:
- the LocalStoreManager, where we can’t set a current error in the WriteFreelyModel in methods that can’t throw
- the CollectionListModel, where the initializer can’t throw because we use it as a property initializer in CollectionListView
* Add error handling to Mac app
* Revert "Add error handling to Mac app"
This reverts commit
|
||
---|---|---|
ActionExtension-iOS | ||
iOS | ||
macOS | ||
Shared | ||
Technotes | ||
Tests iOS | ||
Tests macOS | ||
WriteFreely-MultiPlatform.xcodeproj | ||
.gitignore | ||
.swiftlint.yml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
README.md | ||
WFACollection+CoreDataClass.swift | ||
WFACollection+CoreDataProperties.swift | ||
WFAPost+CoreDataClass.swift | ||
WFAPost+CoreDataProperties.swift | ||
WriteFreely-MultiPlatform (iOS).entitlements |
WriteFreely SwiftUI MultiPlatform Client
A multiplatform (iOS, iPadOS, and macOS) client for WriteFreely, built in SwiftUI.
How To Get The Apps
The iOS app is now available on the App Store for iPhones and iPads running iOS 14. Check out this help forum topic for a guide on using the app.
The Mac app is still under development.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
⚠️ Building and testing the iOS targets will work on any version of macOS that supports Xcode 12, but building and testing the macOS target requires macOS 11 (Big Sur).
- Xcode 12
- SwiftLint
SwiftLint is run as a build phase for all targets, so that linting warnings and errors are shown in Xcode.
Running the tests
To run the tests, select the scheme you want to test (iOS or macOS) and choose Product → Test from the Xcode menu.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Need help getting started? Find out more about the project's office hours.
Versioning
We use SemVer for versioning and track changes in CHANGELOG.md. For the versions available, see the tags on this repository.
Authors
- Angelo Stavrow - Initial work - AngeloStavrow
See also the list of contributors who participated in this project.
License
This project is licensed under the GPL v3 License. See the LICENSE.md file for details.