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