Commit Graph

1528 Commits

Author SHA1 Message Date
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
Brent Simmons e93bec3114 Fix bug where local account could delete starred items if they’ve older and have fallen off the feed. 2020-04-25 18:25:00 -07: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 86fb98c17b
Revert "WIP: Title tags" 2020-04-24 20:24:24 -05:00
Maurice Parker 8b584d0000
Merge pull request #2016 from Wevah/title-tags
WIP: Title tags
2020-04-24 18:41:06 -05:00
Maurice Parker 4a3205d74f Removed Test build configuration 2020-04-24 17:08:10 -05:00
Nate Weaver db166ba0d7 Disable ruby tags for now 2020-04-24 16:20:41 -05:00
Nate Weaver 4ddb6c8d4f Only allow certain inline tags to remain in the title; HTML-encode the rest 2020-04-24 16:20:40 -05:00
Nate Weaver 2708a608c5 Compile frameworks for 10.15+ 2020-04-24 16:20:40 -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
Brent Simmons b2b000dd2e Implement updated retention policy. 2020-04-18 20:18:32 -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
Brent Simmons d2812fa132 Delete old statuses at startup. 2020-04-18 16:59:13 -07: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 55bc7eae0b Fix release config for new project 2020-04-16 13:42:40 -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 d168658e05 Add Extension Point maintenance to the iOS app. 2020-04-16 08:25:40 -05:00
Maurice Parker c44759fdb2 Add web feed icon downloader support for Feed Providers. 2020-04-15 20:17:33 -05:00
Maurice Parker ca28faa8b5 Added OAuthSwift dependency to Secrets 2020-04-15 19:26:53 -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 266e136787 Design and stub out FeedProvider protocol 2020-04-15 16:35:09 -05:00
Maurice Parker d883981afd Move oauth1 provider implementation fo main TwitterFeedProvider class. 2020-04-15 14:14:33 -05:00
Maurice Parker e15462fd61 Persist twitter tokens in the keychain. 2020-04-14 23:19:06 -05:00
Maurice Parker 9e0248c494 Correctly save Twitter ExtensionPoints 2020-04-14 23:03:08 -05:00
Maurice Parker df79da291f Change how ExtensionPoint titles are handled. 2020-04-14 22:33:05 -05:00
Maurice Parker e206909237 Refactor ExtensionPoints to make them easier to create in the future. 2020-04-14 16:47:05 -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
Brent Simmons 22c2a7a72e Delete old articles in a graduated way, so as not to block the database for too long. Also: don‘t delete old unread articles in accounts that use an external sync service. 2020-04-12 16:36:35 -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