Commit Graph

1086 Commits

Author SHA1 Message Date
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
Maurice Parker 4b54f19a38 Refactor CloudKit specific feed refreshing out into a standalone class 2020-04-25 15:09:03 -05:00
Maurice Parker 4a3205d74f Removed Test build configuration 2020-04-24 17:08:10 -05:00
Maurice Parker d1ca2cac79 Remove username from WebFeed and put it in the URL 2020-04-24 13:33:43 -05:00
Maurice Parker dedb207cae Fix Untitled feed bug 2020-04-23 19:20:35 -05:00
Maurice Parker f6a81c07fb Implement article status deleting for Feed Providers 2020-04-23 19:13:57 -05:00
Maurice Parker 530f06dfca Merge branch 'master' into extension-point 2020-04-23 16:40:41 -05:00
Maurice Parker a7ca5bfa79 Delete old articles and article statuses from CloudKit 2020-04-23 16:39:09 -05:00
Maurice Parker ac45ba57a9 Merge branch 'ios-release' 2020-04-23 15:32:55 -05:00
Brent Simmons c55d8c540e Implement revised retention policy for feed-based accounts. Keep all articles currently in the feed and all articles in the last 30 days. 2020-04-22 21:43:10 -07:00
Maurice Parker 62e91cfd26 Change to never link out to Twitter for photos that are inlined. 2020-04-22 22:13:55 -05:00
Maurice Parker 14156e3774 Sync the WebFeed username so that Feed Provider created feeds stay locked to their accounts. 2020-04-22 17:42:20 -05:00
Maurice Parker 3eecae95e1 Remove commented/debug code. 2020-04-22 14:21:38 -05:00
Maurice Parker 7b37f51f59 Disallow Twitter Feed Provider ability if the feed names explicitly don't match 2020-04-22 11:41:40 -05:00
Maurice Parker 0369d976fa Add twitter URL creation logic 2020-04-22 11:25:49 -05:00
Maurice Parker 575288b78e Merge branch 'master' into extension-point 2020-04-21 02:10:31 -05:00
Maurice Parker fc37472757 Fix source code warnings. 2020-04-21 02:09:59 -05:00
Maurice Parker 7268dcdd77 Merge branch 'ios-release' 2020-04-21 02:06:19 -05:00
Maurice Parker 0369bc5a45 Fix emoji unicode adjustment bug and made emoji detection more efficient 2020-04-21 01:26:58 -05:00
Maurice Parker 77fa966a23 Add hashtag support 2020-04-20 15:42:22 -05:00
Maurice Parker 5f8249ec54 Bump the number of items in the home timeline to 100. 2020-04-20 15:11:09 -05:00
Maurice Parker a535aced06 Add support for refreshing the mentions timeline. 2020-04-20 15:06:03 -05:00
Maurice Parker 91aa2b3a32 Fix bug that was causing duplicate media to be inlined 2020-04-20 14:24:14 -05:00
Maurice Parker e459fe92b0 Add TwitterMedia type to delete media URL's shown in tweets. 2020-04-20 12:05:57 -05:00
Maurice Parker 675165b4da Display quote and retweet entities. 2020-04-20 10:32:36 -05:00
Maurice Parker 56c8dad895 Improve tweet formatting when they contain emoji with multiple scalars 2020-04-20 10:21:29 -05:00
Maurice Parker 492e9ae065 Simplified html for tweet timestamp. 2020-04-20 07:37:06 -05:00
Maurice Parker 8fcc46191a Suppress any URL links that are just pointing to the quoted status. 2020-04-20 07:27:20 -05:00
Maurice Parker a54af07ec7 Make the retweet timestamp a link back to the original status. 2020-04-19 20:54:11 -05:00
Maurice Parker f305cc50e2 Implement twitter entities as html links 2020-04-19 20:29:43 -05:00
Maurice Parker 45f56f01e3 Sort returned entities 2020-04-19 19:27:37 -05:00
Maurice Parker bb61b15265 Stub out support for Twitter entities 2020-04-19 19:19:39 -05:00
Maurice Parker 19a6ff883d Fix CloudKit feed double counting in progress indicator. 2020-04-19 17:37:32 -05:00
Brent Simmons 75d2158163 Perform a one-time (per local account) cleanup made necessary by the retention policy change — mark articles older than the 90-day window as read. This way users won’t get a flood of old, unread articles when they run this new version. 2020-04-19 14:10:12 -07:00
Maurice Parker 6bd4c84c3c Fix article uniqueness bug caused by populating sync service id 2020-04-18 19:49:05 -05:00
Maurice Parker d66b2fd4fe Add support for Twitter search URL's 2020-04-18 19:14:08 -05:00
Kiel Gillard 🤪 5ab13ae705 Ensure token is refreshed at least once a day before syncing. 2020-04-19 08:45:51 +10:00
Maurice Parker 06d69eb05d Add exclude replies to user timelines. 2020-04-18 17:40:04 -05:00
Maurice Parker 4bfec2d550 Added animated gif as a video type. 2020-04-18 17:35:24 -05:00
Kiel Gillard 🤪 8973adbdbd Add lastCredentialRenewTime and honour it in FeedlyRefreshAccessTokenOperation 2020-04-19 08:31:20 +10:00
Maurice Parker ba73881f21 Add Feed Provider support to the CloudKit account type. 2020-04-18 17:30:58 -05:00
Maurice Parker 3e7a3b001b Add user timeline refresh support. 2020-04-18 16:48:37 -05:00
Maurice Parker ac41c7af69 Added timestamp to retweets 2020-04-18 16:27:19 -05:00
Maurice Parker b31e43419c Add support for retweeted retweets 2020-04-18 16:01:18 -05:00
Maurice Parker 41d14b4b46 removed some trash that Xcode's refactoring seems to leave behind now 2020-04-18 15:08:57 -05:00
Maurice Parker dd94212c9f Add inline video support to Tweets 2020-04-18 14:48:12 -05:00
Maurice Parker 8f71b09440 Add photo media showing for twitter. 2020-04-18 13:46:28 -05:00
Maurice Parker d9f6125561 Add twitter entities 2020-04-18 12:03:37 -05:00
Maurice Parker 8d64a96489 Add Twitter entities 2020-04-18 12:03:16 -05:00
Maurice Parker 2a0d75cf23 Add rendering as HTML 2020-04-18 10:41:18 -05:00
Maurice Parker 67434c2d0b Made the displayText a property of a Status. 2020-04-17 15:34:03 -05:00
Maurice Parker 07af483b36 Renamed Tweet to TwitterStatus since that matches the API better. 2020-04-17 15:31:13 -05:00
Maurice Parker 435c85218d Change to use retweet text for plain text when available. 2020-04-17 15:02:52 -05:00
Maurice Parker 2d61798457 Changed to using extended tweets. 2020-04-17 11:20:22 -05:00
Maurice Parker 687e1105f0 Change tweets to only show display text now. 2020-04-17 10:18:59 -05:00
Maurice Parker 984322453f Commented why we use BatchUpdate on RSS feed adds because I keep forgetting why. 2020-04-17 09:14:27 -05:00
Maurice Parker 655e30069f Refactor to make create feed code more readable. 2020-04-17 09:11:37 -05:00
Maurice Parker 8331d37dc1 Fix add new feed to keep sidebar consistent. 2020-04-17 08:58:06 -05:00
Maurice Parker 95f1f64aa7 Add Feed Provider refreshes to Local Account. 2020-04-17 05:32:52 -05:00
Maurice Parker a31db7e024 Change to use the user name for status timeline. 2020-04-17 04:30:54 -05:00
Maurice Parker de150ad281 Add author to tweets. 2020-04-17 04:30:06 -05:00
Maurice Parker 7dc34e9655 Fix web feed sidebar not showing sometimes bug. 2020-04-17 04:29:54 -05:00
Maurice Parker 9be641c094 Add initial tweet retrieval. 2020-04-16 20:18:47 -05:00
Maurice Parker 660cf29305 Add username storage on WebFeed 2020-04-16 18:19:49 -05:00
Maurice Parker d43bf5d57a Add new feed naming logic 2020-04-16 18:00:27 -05:00
Maurice Parker 9b39165018 Merge branch 'master' into extension-point 2020-04-16 16:37:18 -05:00
Maurice Parker afdfe5fe71 Merge branch 'ios-release' 2020-04-16 16:36:53 -05:00
Maurice Parker 3d1bfc0ca2 Integrate Feed Provider add feed into local account delegate. 2020-04-16 16:19:32 -05:00
Maurice Parker 49734e2bd9 Allow for username to be in the url on ability check 2020-04-16 15:17:22 -05:00
Maurice Parker d4b5d7bde4 Add FeedProviderManager 2020-04-16 15:06:56 -05:00
Maurice Parker a59cb3b79b Clean up the URL screen name extraction 2020-04-16 12:07:57 -05:00
Maurice Parker b3afee0252 Change Feed Provider interface to make it work better with refreshing WebFeeds. 2020-04-16 11:25:39 -05:00
Maurice Parker eb02568409 Made Feed Providers part of the Account project 2020-04-16 11:15:39 -05:00
Maurice Parker c414d22666 Merge branch 'master' into extension-point 2020-04-15 19:02:20 -05:00
Maurice Parker b66d0ef250 Change how we save the CloudKit token so that is won't save if the app is quit before processing its records 2020-04-15 18:30:39 -05:00
Maurice Parker 266c28d9be Add new OAuth1 credential requirements for Twitter 2020-04-14 10:15:24 -05:00
Maurice Parker 8ff0f23a55 Fix bug triggered by having no authors associated with a starred article. 2020-04-14 08:05:16 -05:00
Maurice Parker d07e282c6b Merge branch 'master' into extension-point 2020-04-14 02:03:07 -05:00
Maurice Parker 85d4cc352f Resolve issue where CloudKit articles were coming back as unread. 2020-04-14 01:25:35 -05:00
Maurice Parker d1765b3d0c Merge branch 'master' into extension-point 2020-04-13 10:22:29 -05:00
Maurice Parker 2ae511b818 Fix recursion bug in opml normalizer. 2020-04-13 07:11:03 -05:00
Maurice Parker 2ddc064696 Fix missing unread counts on OPML imports. 2020-04-13 05:25:07 -05:00
Maurice Parker fe9ade5e85 Tune the add CloudKit account process. 2020-04-13 04:59:41 -05:00
Maurice Parker 6f255e63b3 Fix missing callback that was hanging new accounts. 2020-04-13 04:26:28 -05:00
Brent Simmons 6d9eda442f Remove userDeleted support. The read-items filter seems to fill the need to hide things. We’re simplifying the backend by removing this unused feature. 2020-04-12 17:12:36 -07:00
Maurice Parker 6bd2c0dc06 Fix duplicate folder relationships caused by OPMLNormalizer 2020-04-12 18:29:34 -05:00
Maurice Parker ddc364f4d6 Changed CloudKit account processing to be batch based so that background additions download the articles. 2020-04-12 15:57:00 -05:00
Maurice Parker a131c01e77 Merge branch 'master' into extension-point 2020-04-11 18:14:30 -05:00
Maurice Parker 815cf31ab8 Make sure the network is reachable before trying to sync iCloud accounts. 2020-04-11 16:45:31 -05:00
Maurice Parker e6c5d2f199 Merge branch 'ios-release' 2020-04-11 15:59:37 -05:00
Maurice Parker 6f682aa3cd
Merge pull request #1981 from abilops/master
Avoid cached response when adding new feed
2020-04-11 12:30:05 -05:00
Maurice Parker d6a4005336 Separate refreshers so that we don't send out duplicate unread statuses for new records. 2020-04-11 12:22:28 -05:00
abilops 00d3249c86 Avoid cached response when adding new feed 2020-04-11 05:18:17 +05:30
Maurice Parker 6ec11119f8 Add external web feed to status so that it can prompt receiving system to pull down new articles. 2020-04-10 18:10:54 -05:00
Maurice Parker a8dcf3eeee Add the unread statuses on receipt to CloudKit. 2020-04-10 17:23:39 -05:00
Maurice Parker 983138366f Add code to process new article entries. 2020-04-10 16:25:58 -05:00
Maurice Parker 4418a4bb02 Add completion block that returns new status records when we are marking statuses asynchronously. 2020-04-10 15:19:33 -05:00
Maurice Parker 63c4d53ee9 Change LocalAccountRefresher to use a delegate so that it can better handle duplicate feed requests 2020-04-10 11:20:35 -05:00
Maurice Parker 3ba9ca8c8a Added new Secrets framework project 2020-04-09 21:07:56 -05:00
Maurice Parker e32af77e39 Merge branch 'master' into feed-provider 2020-04-09 19:30:49 -05:00
Maurice Parker 47cdef5c07 Fix hashable implementation that could have in theory had collisions. 2020-04-09 11:20:53 -05:00