Commit Graph

667 Commits

Author SHA1 Message Date
Angelo Stavrow
cf78484147
Merge branch 'refactor-collection-fetch'
# Conflicts:
#	Shared/PostCollection/CollectionListModel.swift
#	Shared/PostCollection/CollectionListView.swift
#	WriteFreely-MultiPlatform.xcodeproj/project.pbxproj
2022-07-27 10:23:37 -04:00
Angelo Stavrow
a51bbd3abc
Alert on error: shared code (#207)
* 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 b1a8b8b29c.
2022-07-27 09:56:32 -04:00
Angelo Stavrow
b790c9ff49
Bump writefreely-swift package minimum version (#208) 2022-06-27 13:21:26 -04:00
Angelo Stavrow
2eba4c5c04
Remove commented-out code 2022-05-28 07:22:27 -04:00
Angelo Stavrow
230f7a1076
Delete CollectionListModel in favour of FetchRequest in CollectionListView 2022-05-28 07:17:33 -04:00
Angelo Stavrow
15f84b04c0
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
2022-05-26 08:08:12 -04:00
Angelo Stavrow
c5b611b39e
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.
2022-05-26 07:31:11 -04:00
Angelo Stavrow
b017e21e06
Handle purging post errors 2022-05-23 15:52:20 -04:00
Angelo Stavrow
11d2e41ab5
Add default values for some error strings 2022-05-23 15:12:33 -04:00
Angelo Stavrow
dfb3a08608
Move User Defaults errors to ErrorConstants file 2022-05-13 08:44:13 -04:00
Angelo Stavrow
223ebf5b7c
Set current error on API call handlers 2022-05-13 08:33:32 -04:00
Angelo Stavrow
faa557c2b4
Set current error on API call failures 2022-05-13 08:01:11 -04:00
Angelo Stavrow
a3b805a319
Add error handling to top-level content view 2022-05-13 07:20:47 -04:00
Angelo Stavrow
3a53bec184
Clean up WriteFreelyModel’s published vars 2022-05-09 08:55:43 -04:00
Angelo Stavrow
aefcd0d799
Fix for temporary debugging 2022-05-08 10:18:21 -04:00
Angelo Stavrow
bf35738957
Handle errors on logout 2022-05-08 09:17:05 -04:00
Angelo Stavrow
01ba57ae75
Move Account-related error handling up the hierarchy 2022-05-08 09:16:46 -04:00
Angelo Stavrow
11200a01a0
Initial work on presenting alert on error 2022-05-01 12:06:36 -04:00
Angelo Stavrow
185567dfed
Update change log and bump version 2022-04-02 09:43:53 -04:00
Angelo Stavrow
3c0bc81fec
Only ignore safe area at bottom edge (#206) 2022-04-02 08:07:03 -04:00
Angelo Stavrow
549ad3039f
Clean up project warnings (#199)
* Set "recommended project settings" for Mac app

* Add default fallback for font typingAttribute

* Clean up linter errors

* Update extension iconset

* Fix spm errors and upgrade sparkle (#203)

* Switch WriteFreely package import from ssh to https

* Sign macOS project target for Development

This fixes a crash-on-launch bug when running Product > Run from Xcode (Product > Archive should work correctly). See https://github.com/sparkle-project/Sparkle/issues/2056 for more details.

Bug introduced by commit:
671b0540ac

* Update Sparkle to v2.0 from official repo

Previously, we forked the repo to the WriteFreely org because Sparkle didn't support tag-based SPM updates. We therefore had to pull from the `master` branch, so forking insulated us from unexpected changes.

As of 2.x Sparkle now allows for tag-based updating via SPM; we'll allow patch updates but stop short of 2.1 until we can vet changes.

* Add MacUpdatesViewModel ObservableObject

* Use MacUpdatesViewModel to handle Sparkle update logic
2022-04-02 08:04:50 -04:00
Angelo Stavrow
77822cbc63
Update change log and bump build number for release 2021-12-03 15:17:42 -05:00
Angelo Stavrow
43e4756195
Merge pull request #198 from writefreely/add-extension
Add action extension for Safari
2021-12-03 14:07:06 -05:00
Angelo Stavrow
d926a9fbca
Merge pull request #197 from writefreely/move-defaults-to-app-group
Move user defaults to App Group
2021-11-28 08:38:05 -05:00
Angelo Stavrow
92e31902f8
Add padding to prevent keyboard occlusion 2021-11-28 08:05:04 -05:00
Angelo Stavrow
dff18e9d36
Refresh post list view when app becomes active 2021-11-28 08:01:54 -05:00
Angelo Stavrow
8a3017d46f
Fix plist data type for action extension 2021-11-19 16:10:39 -05:00
Angelo Stavrow
378229c71a
Bump build number 2021-11-19 15:51:37 -05:00
Angelo Stavrow
3752b85414
Add action extension 2021-11-19 15:41:54 -05:00
Angelo Stavrow
2dccaf7196
Initial work fetching URL, title, and selected text from webpage 2021-11-05 15:40:36 -04:00
Angelo Stavrow
849a4fa44f
Add action extension template for iOS 2021-11-05 15:12:04 -04:00
Angelo Stavrow
7db11172c0
Move user defaults to App Group 2021-11-05 14:18:36 -04:00
Angelo Stavrow
6693a83bd1
Merge pull request #195 from writefreely/migrate-store-to-group-container
Migrate persistent store to App Group
2021-10-22 16:23:16 -04:00
Angelo Stavrow
c0e0b6184f
Remove diff tool backup file 2021-10-22 16:23:01 -04:00
Angelo Stavrow
590bd0014d
Merge pull request #193 from writefreely/macos-fix-navigation
Adapt new navigation to Mac app
2021-10-15 16:46:19 -04:00
Angelo Stavrow
d2ed73ca51
Bump build and version number for internal TestFlight release 2021-10-15 15:08:08 -04:00
Angelo Stavrow
8a3a835d44
Refactor LocalStorageManager and add migration of persistent store to App Group 2021-10-15 15:06:35 -04:00
Angelo Stavrow
8ba016d917
Add App Group entitlement 2021-10-15 15:05:51 -04:00
Angelo Stavrow
f55ae3c621
Implement initial store-migration functionality 2021-10-08 17:16:01 -04:00
Angelo Stavrow
2f1b895df5
Rename 'persistentContainer' to 'container' 2021-10-08 17:15:38 -04:00
Angelo Stavrow
11ad3bc2ff
Use LocalStorageManager 'standard' singleton 2021-10-08 17:07:06 -04:00
Angelo Stavrow
ba898b6ac6
Adapt new navigation to Mac app 2021-10-08 14:29:18 -04:00
Angelo Stavrow
0c41416314
Bump build number and update changelog 2021-10-01 14:05:38 -04:00
Angelo Stavrow
6ba6e39e68
Merge pull request #192 from writefreely/ios15-beta-testing
Fix three-column navigation and various iOS 15 glitches
2021-09-30 15:13:46 -04:00
Angelo Stavrow
ff7e7c3c0e
Re-enable launch-to-last-draft policy 2021-09-24 15:29:20 -04:00
Angelo Stavrow
3c1e04e3bf
Use view model for CollectionListView 2021-09-24 14:45:28 -04:00
Angelo Stavrow
28856eb434
Display Settings sheet on iOS 15 and above 2021-09-10 14:11:03 -04:00
Angelo Stavrow
badf80ef5c
Bump build/version number and update change log 2021-09-03 14:21:20 -04:00
Angelo Stavrow
b523606f6f
Merge pull request #191 from writefreely/throw-keychain-errors-instead-of-crashing
Throw (and handle) Keychain error instead of crashing
2021-08-30 09:19:55 -04:00
Angelo Stavrow
184835b68c
Bump build and version number for internal TestFlight release 2021-08-27 14:22:29 -04:00