Commit Graph

147 Commits

Author SHA1 Message Date
Maurice Parker
7d8e49a2ee Merge branch 'ios-release' 2020-05-18 03:05:59 -05:00
Stuart Breckenridge
6224dfad03
Notification Permission Requests
Fixes #2057

• On app launch, the app checks if notification permissions are granted and registers with APNS if that is the case. It will not request permissions as part of the app launch.

• When a user requests to be notified of new articles, the authorizationStatus is checked:
- if `notDetermined` or `provisional`, an authorization request is made, and if successful, the Notify of New Articles status is updated (otherwise it is reverted)
- if `denied`, an alert is thrown asking the user to enable in settings (and the change to notify of new articles is reverted)
- if `authorized` the update is made.

`WebFeedInspectorViewController` also monitors for the app entering the foreground so that it can get the latest notification auth settings.
2020-05-18 08:39:22 +08:00
Maurice Parker
85f7adaa0a Use MainThreadOperation to prevent article status updates from interleaving 2020-05-02 10:02:58 -05:00
Maurice Parker
6bdcd941ae Fix typo 2020-05-02 09:01:53 -05:00
Maurice Parker
d30987ca0a Use main thread operation to only allow one remote notification at a time to run. 2020-04-29 15:46:29 -05:00
Maurice Parker
5d5093d26d Merge branch 'master' into extension-point 2020-04-21 20:25:50 -05:00
Maurice Parker
f1357c0a23 Merge branch 'ios-release' 2020-04-21 20:25:14 -05:00
Maurice Parker
2454b807bb Always update the status sync timer when returning to the foreground. Issue #2005 2020-04-21 20:23:46 -05:00
Maurice Parker
d4b5d7bde4 Add FeedProviderManager 2020-04-16 15:06:56 -05:00
Maurice Parker
ea78b5683d Fix background notification processing of CloudKit changes. 2020-04-01 20:21:14 -05:00
Maurice Parker
187121298e Added support for CloudKit push notifications (subscriptions). 2020-03-30 02:48:25 -05:00
Maurice Parker
d615a0a894 Fix bug where clean up shortcut wouldn't clear articles if wrong setting was off. 2020-03-24 16:00:01 -05:00
Maurice Parker
07042b8a2a Implemented Clean Up keyboard shortcut. Issue #1915 2020-03-15 18:15:52 -05:00
Maurice Parker
49257970af Removed testing code. Issue #1810 2020-03-13 15:35:33 -05:00
Maurice Parker
9007ed4b06 Changed so that Feeds and Timeline clear read items if necessary on manual refresh commands. Issues #1834, #1856, and #1845 2020-03-11 14:47:00 -06:00
Maurice Parker
2ae021960b Move account files to the documents directory and out of the shared container. Issue #1784 2020-02-12 16:21:48 -08:00
Brent Simmons
4fe2a3134f Suspend the databases sooner when suspending the application. 2020-02-02 12:11:39 -08:00
Maurice Parker
3a99e6430f Make the article icon code specify the desired article so that it can't pull the wrong one by mistake. Issue #1707 2020-01-27 12:58:32 -07:00
Maurice Parker
9a3763f57a Change to resume database earlier for notifications and home screen shortcuts. Issue #1597 2020-01-10 16:32:06 -07:00
Maurice Parker
af76e44c0f Changed ArticleViewController to utilize UIPageViewController to provide gesture based navigation. 2019-12-31 16:55:39 -07:00
Maurice Parker
1e05238c54 Capture task to ensure it doesn't get deallocated 2019-12-06 15:47:25 -07:00
Maurice Parker
90b9ab7851 Change to rely on application state instead of scanning scenes to determine if application is in background. 2019-12-06 15:16:20 -07:00
Maurice Parker
2795de3452 Change check to see if any scenes are in the foreground rather than if any scenes are in the background. 2019-12-05 18:48:19 -07:00
Maurice Parker
910e06cf63 Don't try to suspend again if we suspended in the task expiration handler. 2019-12-05 17:43:38 -07:00
Maurice Parker
95c1b36fe7 Change order of suspending steps to prevent work from going to a suspended queue. Issue #1400 2019-12-04 17:27:39 -07:00
Maurice Parker
26f49d4b51 Change to call suspend on main thread when expiration handler called. Issue #1399 2019-12-04 16:56:09 -07:00
Maurice Parker
63428fb2a2 Change to ensure that the app gets suspended when running too long during a background refresh. 2019-12-02 14:44:52 -06:00
Maurice Parker
f159371967 Change to make sure all queue's get cleared before suspending the database. Issue #1389 2019-12-02 14:14:35 -06:00
Maurice Parker
d9f2e13732 Suspend and resume account resources when moving between the background and foreground. 2019-12-01 16:51:25 -06:00
Maurice Parker
33c487de85 Change to only suspend on application termination. 2019-12-01 13:28:11 -06:00
Maurice Parker
4e0fe7b5f1 Fix retain loop in background refresh. 2019-11-27 18:03:19 -06:00
Maurice Parker
06bd5b3a6f Renamed Feed and related classes/instances to WebFeed 2019-11-14 20:11:41 -06:00
Maurice Parker
48fef65bc4 Remove refresh interval setting. Issue #1293 2019-11-13 17:13:06 -06:00
Maurice Parker
62d7fe34f1 Unify the cache deletion code between iOS and Mac now that the Mac uses the caches directory. 2019-11-08 12:20:21 -06:00
Maurice Parker
238289ec5d Ignore Feed Icon in special cases. Issue #1265 2019-11-06 17:59:27 -06:00
Maurice Parker
b0f9d97650 Discard images that are too wide to be used as icons. Issue #1264 2019-11-06 17:36:05 -06:00
Maurice Parker
5ce45c8977 Remove background task scheduling when user defaults change. 2019-11-06 16:53:13 -06:00
Maurice Parker
461468e14f Dispatch the background task request on a dedicated serial queue. Issue #1180 2019-11-06 16:47:33 -06:00
Maurice Parker
84ab745e06 Launch BGTaskScheduler on a background thread 2019-11-05 19:14:26 -06:00
Maurice Parker
c6e3ed6692 Cancel network activity when told to shutdown by the OS. Issue #1232 2019-11-04 20:24:21 -06:00
Maurice Parker
105033db8e Correct logging categories 2019-11-02 12:29:01 -05:00
Maurice Parker
ebed17ed2f Tell iOS to wait while we are processing to allow us to try to finish 2019-10-31 19:20:52 -05:00
Maurice Parker
8ba15c6234 Cache favicon to homepage mappings 2019-10-31 14:04:34 -05:00
Maurice Parker
5bcb5a982f Cache home pages with no icon between launches 2019-10-31 13:38:38 -05:00
Maurice Parker
cf74da9ac0 Change to work with new DefaultFeedsImporter 2019-10-18 10:24:32 -05:00
Maurice Parker
0c9a1ba8d0 Add notification deep linking for iOS 2019-10-03 09:53:21 -05:00
Maurice Parker
cc187875d9 Add initial support for per feed notifications 2019-10-02 19:42:16 -05:00
Maurice Parker
aba0d15cb6 Modify background fetch so that it doesn't have to use a background process 2019-10-02 16:41:32 -05:00
Maurice Parker
281416eaee Make sure metadata gets saved if background fetch is performed. 2019-10-02 15:32:34 -05:00
Maurice Parker
486cec80d0 Move next/prev article buttons to top right and change to use chevrons instead of arrows. Issue #1070 2019-09-26 15:51:16 -05:00
Maurice Parker
80a5a539e8 Make it more clear that we are using shared defaults 2019-09-26 14:29:00 -05:00
Maurice Parker
394618a687 Rename DetailViewController to ArticleViewController to fix name collision 2019-09-24 04:29:15 -05:00
Maurice Parker
20fa5d9e48 Implement keychain groups 2019-09-22 16:00:06 -05:00
Maurice Parker
e14a75d515 Implement group app containers 2019-09-22 13:09:06 -05:00
Maurice Parker
3decd23c45 Convert iOS to use Javascript rendering 2019-09-20 20:33:28 -05:00
Maurice Parker
f977a5e0cb Remove favicon and feed icon image caches every 3 days 2019-09-16 17:09:49 -05:00
Maurice Parker
5985b00480 Inject the Accounts folder name so that it can be in different locations between the iOS and Mac Apps. 2019-09-12 10:59:26 -05:00
Maurice Parker
fafb7de868 Remove Refresh shortcut item 2019-09-02 16:05:55 -05:00
Maurice Parker
c5fed06581 Add refresh home screen shortcut. 2019-09-02 15:45:09 -05:00
Maurice Parker
2c4531f481 Add the Add scene as a home page quick action. 2019-09-02 15:14:26 -05:00
Maurice Parker
33882ab276 Add Home Page Quick Actions 2019-09-01 16:54:07 -05:00
Maurice Parker
a1c74a03d1 Update to work with the enhanced FeedIconDownloader 2019-08-26 19:48:12 -05:00
Maurice Parker
6c98abb289 Fix image and favicon caching 2019-08-26 16:58:06 -05:00
Maurice Parker
99e2a44eed Fix crash that could happen on launch because the background task wasn't registered before it was triggered 2019-08-14 19:48:18 -05:00
Maurice Parker
178e89b1fb Add basic multi window support to iOS 2019-06-28 10:28:02 -05:00
Maurice Parker
188bacee25 Move nav state ownership to MasterFeedViewController 2019-06-27 16:30:24 -05:00
Maurice Parker
5f045706e4 Removed usaged of UIApplication.present 2019-06-27 14:21:07 -05:00
Maurice Parker
b877e4dc83 Move NavState ownership to the AppDelegate 2019-06-25 12:10:07 -05:00
Stuart Breckenridge
3e54482952 Corrects issues related to PR #767 2019-06-20 07:09:42 +08:00
Stuart Breckenridge
449dde54c5 Merge remote-tracking branch 'upstream/master' 2019-06-19 23:26:11 +08:00
Stuart Breckenridge
ace8197814 Adds support for BGAppRefreshTask 2019-06-19 23:26:03 +08:00
Maurice Parker
716653c235 Implement NetNewsWire Blue for cell selection and tint. Issue #691 & #692 2019-06-18 18:31:37 -05:00
Maurice Parker
c61949bc04 Add account name to network error messages and prevent background iOS errors from displaying alerts 2019-05-26 11:54:32 -05:00
Maurice Parker
59ea5cadec Add status syncing to iOS 2019-05-20 13:51:08 -05:00
Maurice Parker
4bc7611721 Rename AccountManageer.localAccount to AccountManager.defaultAccount to make it different from other local accounts 2019-05-01 05:53:18 -05:00
Maurice Parker
2efbd44811 Fix to stop background refresh when interval set to manually. 2019-04-29 09:29:57 -05:00
Maurice Parker
ae63805479 Change property to have correct swift naming convention name 2019-04-27 16:16:46 -05:00
Maurice Parker
a5c065fcb9 Add debug statement for OS killing the process when it runs too long. 2019-04-27 13:59:57 -05:00
Maurice Parker
9400ea361e Add notification for downloaded article(s). 2019-04-27 13:54:52 -05:00
Maurice Parker
eae202a7ff Enable refresh if none has happened in 15 minutes when application becomes active 2019-04-26 15:24:39 -05:00
Maurice Parker
e10bfde6d9 Rollback code created to support background downloads that are no longer needed 2019-04-26 14:21:17 -05:00
Maurice Parker
a6370d2c79 Remove code duplication in background fetch. 2019-04-26 14:03:59 -05:00
Maurice Parker
7392d6111a Update to accurately report if data was received during background fetch or not. 2019-04-26 09:42:00 -05:00
Maurice Parker
284e713a9d Rework how background refresh works to eliminate background session usage. 2019-04-26 08:43:41 -05:00
Maurice Parker
fb9c1aa983 Add os.log for info messages. 2019-04-26 07:44:00 -05:00
Maurice Parker
f5941fda64 Add AccountRefreshMode to be able to choose between background and foreground download sessions 2019-04-25 09:25:13 -05:00
Maurice Parker
f3c2d8c1f8 Updated to lastest RSWeb 2019-04-25 07:13:14 -05:00
Maurice Parker
4135ba54fb Add debug statements 2019-04-24 16:29:32 -05:00
Maurice Parker
f58055ccd9 Change background completion logic to be more accurate. 2019-04-24 11:04:20 -05:00
Maurice Parker
f4c0fca6a8 Implement background downloading of feeds 2019-04-24 07:30:35 -05:00
Maurice Parker
84b8b04552 Comment non-working background refresh code. 2019-04-23 17:15:19 -05:00
Maurice Parker
2a839a3b92 Add background app refresh. 2019-04-23 10:29:14 -05:00
Maurice Parker
717d09b2be Add icon badge notification number. 2019-04-23 07:48:22 -05:00
Maurice Parker
e81defb934 Implement detail next and prev article buttons. 2019-04-21 17:42:26 -05:00
Maurice Parker
8526db8b4c Added initial POC version of NetNewsWire for iOS to use as a starting point for the actual app. 2019-04-15 15:03:05 -05:00
Maurice Parker
6b8524b70d Made frameworks cross platform and got generated iOS app to compile. 2019-04-15 13:30:10 -05:00
Brent Simmons
70312aa75c Major folder and project tree restructuring. 2019-04-13 16:18:54 -07:00