Commit Graph

1086 Commits

Author SHA1 Message Date
Maurice Parker 40ec650476 Fixed a function comment 2020-05-07 19:07:29 -05:00
Maurice Parker ea5c06f3a7 Add subreddit name lookup and fix rate limit when one isn't returned 2020-05-07 15:39:02 -05:00
Maurice Parker 4aa0033270 Correct Feed Provider feed creation error handling 2020-05-07 15:09:26 -05:00
Jonathan Bennett a37bfd5d74 Adds an account behavior to disable folders
Some sync services (Feed Wrangler) don't support folders. This behavior removes the account from the UI when adding new folders.
2020-05-07 10:03:04 -04:00
Maurice Parker 3699889b87 Back out bad implementation of single threading access token renewal 2020-05-07 06:09:57 -05:00
Maurice Parker 26041a067f Serialize renewing the access token 2020-05-07 02:33:43 -05:00
Maurice Parker 48ceb655d6 Decode Twitter and Reddit on a background queue. 2020-05-07 02:17:01 -05:00
Maurice Parker 2324d652cd Add Twitter API rate limiting 2020-05-07 02:10:54 -05:00
Maurice Parker 44476c5d6d Implement Reddit API rate limiting 2020-05-07 01:58:43 -05:00
Maurice Parker 15dfd159da Add support for cross posts 2020-05-06 22:19:06 -05:00
Maurice Parker 9429f36095 Don't image zoom any previews that are just links out 2020-05-06 21:56:01 -05:00
Maurice Parker 0f06618c1f Changed video source so that we have audio track included 2020-05-06 21:40:20 -05:00
Maurice Parker a4560b6f99 Remove figure tags from images since they were unneeded 2020-05-06 13:59:09 -05:00
Maurice Parker 366d24711a Exclude imgur from embedded media object output 2020-05-06 13:40:13 -05:00
Maurice Parker 9e235564af Change media embed priority to be lower than video previews 2020-05-06 13:21:37 -05:00
Maurice Parker 73f9d750b7 Shorten link out URL's 2020-05-06 12:39:58 -05:00
Maurice Parker a8f6b27c48 Don't link to redd.it 2020-05-05 21:42:20 -05:00
Maurice Parker cce420b31d Add link out URL for link only reddit articles 2020-05-05 21:23:42 -05:00
Maurice Parker 6c698c5b94 Use video preview if available 2020-05-05 21:08:51 -05:00
Maurice Parker 00cb83559c Prefer media embed except for imgur.com 2020-05-05 20:42:34 -05:00
Maurice Parker 11bdc23bdf Make use of preview images and link out to originals. 2020-05-05 20:33:48 -05:00
Maurice Parker ceb0a0c423 Add image previews and size to videos. 2020-05-05 20:17:46 -05:00
Maurice Parker 97817cb13c Sync the homePageURL since we don't refigure it for all feeds 2020-05-05 18:25:33 -05:00
Maurice Parker 8c61a7a602 Change Feed Providers so that they supply a homePageURL now 2020-05-05 17:55:27 -05:00
Maurice Parker 9cf338f2d9 Simplify icon path parsing logic 2020-05-05 17:14:23 -05:00
Maurice Parker 2bb20832f8 Add support for media embed support 2020-05-04 19:57:35 -05:00
Maurice Parker 7d1820483f Add support for hosted videos 2020-05-04 19:42:10 -05:00
Maurice Parker 143c102454 Add support for Reddit feed icons 2020-05-04 18:13:15 -05:00
Maurice Parker cd4b3260b7 Created reusable fetch method instead of coding a new one for each Reddit fetch 2020-05-04 16:32:28 -05:00
Maurice Parker baf970745e Make RedditUser fetch reusable 2020-05-04 16:08:55 -05:00
Maurice Parker e8a2b54184 Add support for basic Reddit articles 2020-05-04 14:42:34 -05:00
Maurice Parker d763ca93f6 Delete commented code 2020-05-04 14:28:17 -05:00
Maurice Parker d3d246f8cb Make url parsing work better and request raw json. 2020-05-04 08:35:14 -05:00
Maurice Parker 10b24d92c5 Add basic get support for a hardcoded URL 2020-05-04 01:16:27 -05:00
Maurice Parker 018597aeef Specify correct NNW user agent on Feed Provider requests 2020-05-03 14:35:12 -05:00
Maurice Parker 5f05e945a8 Added Reddit extension point enablement 2020-05-03 14:10:21 -05:00
Maurice Parker ccd600b880 Make authorize endpoint async 2020-05-03 13:23:36 -05:00
Maurice Parker 578d22f3c2 Prevent newly added sync status records from being deleted and process them incrementally 2020-05-02 22:52:13 -05:00
Maurice Parker e681fd6402 Stub out Reddit Feed Provider / Extension Point 2020-05-02 19:38:57 -05:00
Maurice Parker da8482a53a Correct localized string comment for unknown error 2020-05-02 18:57:32 -05:00
Maurice Parker 19b01679f0 Change how statuses are processed 2020-05-02 14:54:09 -05:00
Maurice Parker 9d7d09a2a2 Notify on background thread to prevent main thread deadlock 2020-05-02 14:44:40 -05:00
Maurice Parker 7e86f3dec3 Show status sooner for importing OPML 2020-05-02 14:39:28 -05:00
Maurice Parker 85f7adaa0a Use MainThreadOperation to prevent article status updates from interleaving 2020-05-02 10:02:58 -05:00
Maurice Parker d7a9fc6de4 Fix not authenticated message 2020-05-02 08:17:20 -05:00
Maurice Parker 55eea27c8d Implement since id as a parameter to limit the number returned 2020-05-02 08:12:05 -05:00
Maurice Parker c2d418c9ed Make sure completion get called if our our database code errors out. 2020-05-01 16:50:18 -05:00
Maurice Parker 83e7975080 Changed to show article send status on progress bar when part of the sync process. 2020-04-30 17:42:56 -05:00
Maurice Parker eedcfd88d4 Don't send new articles that aren't really new to the account to the cloud. 2020-04-30 16:58:41 -05:00
Maurice Parker efda39dda3 Log the end of sending the statuses if we don't send any. 2020-04-30 15:55:02 -05:00
Maurice Parker 91a4c46003 Pull status single run code 2020-04-30 01:18:52 -05:00
Maurice Parker e01b34f9c9 Handle database getting suspended while processing articles 2020-04-30 00:54:41 -05:00
Maurice Parker 32a334bb1c Record article deletes that can happen when receiving article statuses from the cloud 2020-04-30 00:05:37 -05:00
Maurice Parker c9ad5fe4c0 Remove initial send status since we do it at the end now 2020-04-29 23:56:50 -05:00
Maurice Parker d27b0cb2a0 Don't try to insert if there are no articles. 2020-04-29 20:06:14 -05:00
Maurice Parker e83694ceb0 Prevent deletes if there are no records to delete 2020-04-29 19:17:02 -05:00
Maurice Parker 095c8575f3 Add CloudKit deletes 2020-04-29 19:13:50 -05:00
Maurice Parker 0b49acfabc Made sync status sequential so that we stop losing statuses when we automatically send them on exceeding 100 statuses 2020-04-29 16:14:18 -05:00
Maurice Parker f193b6da1a Prevent deadlocks by notifying group completion on background thread 2020-04-29 15:36:28 -05:00
Maurice Parker fbdbc19d0b Remove extra fetch zone changes call 2020-04-29 11:07:24 -05:00
Maurice Parker bedce4946f Allow for multiple sync status records in sync database. 2020-04-29 05:24:35 -05:00
Maurice Parker 41727a3ffd Restrict status sync so that new ones can't start while a long running one is in progress. 2020-04-28 12:31:53 -05:00
Maurice Parker 4f749cb381 Also chunk deleted record ids if limit exceeded for CloudKit modify 2020-04-28 12:17:11 -05:00
Maurice Parker 128fcbae5d Remove save if new process that was throwing us out of sync 2020-04-28 11:19:33 -05:00
Maurice Parker 616597231e Fix log formatting for wait message. 2020-04-28 10:59:01 -05:00
Maurice Parker beb63b289e Fix retry delay cast 2020-04-28 10:52:08 -05:00
Maurice Parker b1cced22c4 Send article statuses and articles at the end of refreshing 2020-04-27 23:50:03 -05:00
Maurice Parker aa383a8814 Modify updated records, not add them 2020-04-27 23:39:08 -05:00
Maurice Parker 06af9ef041 Send the status records when creating a feed 2020-04-27 23:22:49 -05:00
Maurice Parker 55cf36b8a1 Make sure updated content gets sync'd if it is unread or starred. 2020-04-27 23:12:57 -05:00
Maurice Parker 2766f118d3 Add status records on feed restore 2020-04-27 23:09:45 -05:00
Maurice Parker 3509d1a6f6 Delete the article not the status on read items 2020-04-27 19:34:33 -05:00
Maurice Parker 1ce63860cf Reset any sync statuses that may be left around after a crash or force quit 2020-04-27 19:21:49 -05:00
Maurice Parker 0944264326 Fix article status delete 2020-04-27 19:07:14 -05:00
Maurice Parker 5e18b2b569 Return back on the main thread 2020-04-27 19:06:50 -05:00
Maurice Parker bdc02f0b0b Switch back to having separate article and status records 2020-04-27 18:09:10 -05:00
Maurice Parker 6870133d60 Enhance SyncStatus so that it can communicate new, updated, and deleted 2020-04-27 16:41:45 -05:00
Maurice Parker e6b42a8e0a Call completion on feed restore 2020-04-27 02:18:49 -05:00
Maurice Parker 1381b5b24e Delete all the articles when a feed is deleted. 2020-04-27 02:11:20 -05:00
Maurice Parker 85fe4abc78 Only log errors for restore of articles as they aren't fatal 2020-04-27 01:28:00 -05:00
Maurice Parker 81d82aea78 Requery the database on feed adds in case the feed was previously added. 2020-04-27 01:17:15 -05:00
Maurice Parker b3b1dab522 Restore unread and starred articles to iCloud on webbed restore. 2020-04-27 01:04:38 -05:00
Maurice Parker ab69846e41 Split updated record processing from new record processing. 2020-04-27 00:52:53 -05:00
Maurice Parker 60e5ea1946 Remove debugging code that is probably throwing off the sync state 2020-04-26 17:15:31 -05:00
Maurice Parker b168cef88b Chunk the new articles in advance of sending them to the zone so that we can count them in the progress bar. 2020-04-26 14:05:57 -05:00
Maurice Parker 2efa939f25 Do a combined refresh on the initial refresh to get read article content. 2020-04-26 11:37:12 -05:00
Maurice Parker 48dbc4958f Rebuild the import OPML and initial device add processes. 2020-04-26 11:26:41 -05:00
Maurice Parker 09addec369 Correct number of download items to tick 2020-04-26 10:05:26 -05:00
Maurice Parker e68383da09 Don't send full article for updated articles if already read 2020-04-26 09:37:36 -05:00
Maurice Parker 4e2e4ef348 Don't try to sync article statuses if a sync is already in progress. 2020-04-26 06:23:40 -05:00
Maurice Parker e4f0a87a64 Fetch zone changes immediately after making them to keep us better in sync 2020-04-26 06:03:07 -05:00
Maurice Parker 4f54a21084 Ensure that no deleted articles are in the new and updated articles 2020-04-26 05:46:43 -05:00
Maurice Parker d0ace82d02 Add updated articles from the local account refresher 2020-04-26 05:35:35 -05:00
Maurice Parker 6cde860701 Include updated articles in those being synced 2020-04-26 05:05:26 -05:00
Maurice Parker cf2bed1e69 Delete all articles when the feed is deleted. 2020-04-26 04:54:39 -05:00
Maurice Parker 71788d8f69 Collapse the articles and statuses into a single CKRecord 2020-04-26 04:28:42 -05:00
Maurice Parker 9eef9ea8dc Delete or send article records based on article status 2020-04-26 03:19:20 -05:00
Maurice Parker 5de778f82c Added func documentation 2020-04-26 02:28:19 -05:00
Maurice Parker 4c499c2e98 Mark account as being refreshed when doing an initial refresh. 2020-04-26 02:21:34 -05:00
Maurice Parker 1d7cc4d828 Store article content in CloudKit 2020-04-25 20:20:56 -05:00