Commit Graph

1086 Commits

Author SHA1 Message Date
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
Maurice Parker
ae091afb18 Allow for error on query when looking for existing starred records. 2020-04-07 19:02:25 -05:00
Maurice Parker
e4b03eebc2 Add FeedProvider project. 2020-04-06 17:05:47 -05:00
Maurice Parker
5ab62d3aad Gated the database suspend and resume calls so that the Mac app will compile. 2020-04-06 09:18:20 -05:00
Maurice Parker
a4c9a4b65f Remove bad download progress indicator tick. 2020-04-06 02:18:42 -05:00
Maurice Parker
6364539608 Handle edge case where the user deletes the iCloud data. 2020-04-06 02:15:28 -05:00
Maurice Parker
bada18a412 Make sure a scheduled refresh can't stack on top on one happening right for CloudKit only. 2020-04-05 15:23:11 -05:00
Maurice Parker
390173dcb4 Remove centralized CloudKit syncing code. 2020-04-05 15:05:08 -05:00
zgjie
bcfd75ff68 Replace the firstElementPassingTest function come from RSCore with the native function first(where:). 2020-04-06 02:06:24 +08:00
Maurice Parker
116a346b87 Make the remove feed process manage the progress indicator better. 2020-04-05 11:49:29 -05:00
Maurice Parker
449085b84a Fix bug that was causing duplicate downloads on OPML import. 2020-04-05 11:26:21 -05:00
Maurice Parker
f289735b50 Rework how feed subscriptions are managed. 2020-04-05 10:49:15 -05:00
Maurice Parker
0b87acec1e Add subscriptions to OPML imports. 2020-04-04 17:35:09 -05:00
Maurice Parker
5273187033 Put update to UserDefaults on main thread. 2020-04-04 16:05:52 -05:00
Maurice Parker
2a6e1078aa Add batch update so that feeds stop adding to the sidebar without their names populated. 2020-04-04 15:12:59 -05:00
Maurice Parker
3a228be142 Add user web feed subscription management. 2020-04-04 15:04:38 -05:00
Maurice Parker
231e3a12e2 Change web feed key to be an md5 has of the url. 2020-04-04 13:36:54 -05:00
Maurice Parker
71b5c8bc86 Add user feed subscription management. 2020-04-04 13:33:49 -05:00
Maurice Parker
79adb1f34a Stub out add subscription 2020-04-04 05:15:43 -05:00
Maurice Parker
adefcc7c3f Stub out subscription delete 2020-04-04 05:02:33 -05:00
Maurice Parker
cceec096a9 Added the public default zone. 2020-04-04 02:33:41 -05:00
Maurice Parker
4834399b8d Beefed up CloudKit error handling. 2020-04-03 21:20:55 -05:00
Maurice Parker
6daedbf6e2 Removed extraneous batch update end. 2020-04-03 21:06:20 -05:00
Maurice Parker
4d3e9b068f Add user deleted zone checks. 2020-04-03 20:39:50 -05:00
Maurice Parker
fc020c06e8 Make sure we clear the refresh progress on local accounts when it completes. 2020-04-03 20:25:21 -05:00
Maurice Parker
850577d6bc Change so that we only attempt to subscribe when creating new account. 2020-04-03 20:01:29 -05:00
Maurice Parker
4a2760ade3 Fix bug that could cause the progress indicator to not finish. 2020-04-03 17:29:26 -05:00
Maurice Parker
c454aa88b8 Fix feed handling that was causing starred article sharing to bug out. 2020-04-03 14:19:31 -05:00
Maurice Parker
260551ebb1 Added missing init param to test case. 2020-04-03 13:52:37 -05:00
Maurice Parker
f75e3e5ebf Added new initialization parameter for Parsed Items. 2020-04-03 13:42:59 -05:00
Maurice Parker
10a87ccfb6 Refactored starred article passing to make it more reliable 2020-04-03 13:26:08 -05:00
Maurice Parker
f143248e08 Enable passing starred articles between devices. 2020-04-03 11:25:01 -05:00
Maurice Parker
d6b094b37e Save starred articles to iCloud. 2020-04-02 18:06:47 -05:00
Maurice Parker
f97194b9be Removed long running operations support as I don't think we need it. 2020-04-02 14:13:57 -05:00
Maurice Parker
ef6a79489a Add missing completion block calls. 2020-04-02 12:25:23 -05:00
Maurice Parker
2924c0e6cc Rework download progress so that the delegate always manages it to make for smoother progress bar progressions. 2020-04-02 12:00:10 -05:00
Maurice Parker
40ea5243c6 Removed notification we no longer needed to use to refresh the Feeds and Sidebar. 2020-04-01 20:31:32 -05:00
Maurice Parker
ea78b5683d Fix background notification processing of CloudKit changes. 2020-04-01 20:21:14 -05:00
Maurice Parker
850d6b5623 Format code fix. 2020-04-01 17:15:00 -05:00
Maurice Parker
def48546a3 Change how initial refresh is triggered. 2020-04-01 16:45:29 -05:00
Maurice Parker
b3cf7ccdb7 Remove batch update blocks that were causing more harm than good. 2020-04-01 15:39:29 -05:00
Maurice Parker
39aecd84fe Fixed chunked record handling. 2020-04-01 15:39:07 -05:00
Maurice Parker
7e8892cda5 Beef up error handling for fetches. 2020-04-01 14:55:40 -05:00
Maurice Parker
9ffaa41d35 Add missing post sync database updates. 2020-04-01 14:55:22 -05:00
Maurice Parker
694be77e96 Add CloudKit status syncing 2020-04-01 14:10:07 -05:00
Maurice Parker
1ab21bd3e3 Added batch update capabilities. 2020-04-01 12:22:59 -05:00
Maurice Parker
44231937cd Add send statuses to CloudKit. 2020-04-01 11:46:37 -05:00
Maurice Parker
9a1b7f5225 Update precondition to make sure iCloud doesn't call the wrong update method. 2020-04-01 09:19:51 -05:00
Maurice Parker
9e2ba8a36b Delete dead code. 2020-04-01 08:00:24 -05:00
Maurice Parker
0ce1bf5ebc Added sync database integration 2020-03-31 20:56:34 -05:00
Maurice Parker
c3b5d337c5 Change to use 0 and 1 for boolean. 2020-03-31 20:42:39 -05:00
Maurice Parker
3f82a28d21 Add import OPML for CloudKit. 2020-03-31 18:10:35 -05:00
Maurice Parker
0cafee7f59 Renamed old name left over from refactoring. 2020-03-31 16:47:02 -05:00
Maurice Parker
cdde8e4b09 Refactored the OPML load code so that the normalization step is separate from the add step. 2020-03-31 15:21:53 -05:00
Maurice Parker
31e06cd24a Add batch update block to fetch to prevent the Feeds list from dancing around. 2020-03-31 11:18:52 -05:00
Maurice Parker
1be5dc8a54 Implemented feed and folder restore so that undo works. 2020-03-31 11:07:54 -05:00
Maurice Parker
218df326f4 Fix issue where out of order records was dropping web feeds. 2020-03-31 10:32:04 -05:00
Maurice Parker
90376dac03 Implement add, move, delete folder operations for feeds. 2020-03-31 03:30:53 -05:00
Maurice Parker
df1faa368f Refactored add feed code to be more reliable. 2020-03-31 02:20:47 -05:00
Maurice Parker
203b83d64d Enable adding feeds to folders. 2020-03-30 21:11:57 -05:00
Maurice Parker
6d3e6914df Fix account container lookup so that it doesn't keep creating records. 2020-03-30 18:14:07 -05:00
Maurice Parker
1ee3c3d85a Made sure the special account container didn't get created locally. 2020-03-30 18:03:56 -05:00
Maurice Parker
766eb507bf Add container handling code 2020-03-30 15:15:45 -05:00
Maurice Parker
53e947ee4c Rename addFolder to createFolder to be more consistent. 2020-03-30 13:35:02 -05:00
Maurice Parker
f68d523a15 Merge branch 'ios-release' 2020-03-30 11:50:58 -05:00
Maurice Parker
187121298e Added support for CloudKit push notifications (subscriptions). 2020-03-30 02:48:25 -05:00
Brent Simmons
cf98ff49ea Implement retention policy for feed-based accounts (local, iCloud). 2020-03-29 23:20:01 -07:00
Brent Simmons
85b24ff92d Add parentheses in the right places to make Xcode 11.4 happy with our tuples. 2020-03-29 18:53:15 -07:00
Brent Simmons
2c4ee99dc2 Create and use ArticlesDatabase.RetentionStyle enum. 2020-03-29 18:51:03 -07:00
Maurice Parker
e2d8db6f26 Added feed rename sync to iCloud. 2020-03-29 17:53:11 -05:00
Maurice Parker
4f425c9c86 Implement web feed sync between devices. 2020-03-29 17:12:34 -05:00
Maurice Parker
c0e1fbfff3 Add external id lookups for folders and web feeds. 2020-03-29 12:07:54 -05:00
Maurice Parker
2afdd26c9d Change function names using the find suffix to use the existing suffix to match precedent. 2020-03-29 12:00:02 -05:00
Maurice Parker
3b31f2562d Stub out fetching feed changes. 2020-03-29 11:53:52 -05:00
Maurice Parker
573cee0fd6 Added delete feed functionality. 2020-03-29 08:52:59 -05:00
Maurice Parker
6ce82fc28b Implement CloudKit feed add. 2020-03-29 03:43:20 -05:00
Maurice Parker
f59d6f712f Simplify record handling. 2020-03-28 08:53:03 -05:00
Maurice Parker
fe2297213d Add automatic zone creation. 2020-03-28 08:30:25 -05:00
Maurice Parker
f288e3d5d8 More infrastructure work on CloudKit. 2020-03-27 13:59:42 -05:00
Maurice Parker
d0680bcc73 Merge branch 'ios-release' 2020-03-24 12:21:32 -05:00
Brent Simmons
fb4f72ad18 Save articles from multiple web feeds at once — rather than doing it feed-by-feed — when syncing. (This makes syncing faster.) Fix #1794. 2020-03-22 19:25:53 -07:00
Maurice Parker
8105756ccb Add some work in progress for CloudKit syncing 2020-03-22 16:35:03 -05:00
Anh Do
bdbeced5d2
Initial feed download now retrieves entries in the last 90 days 2020-03-22 01:11:00 -04:00
Anh Do
cfaacd0ada
Fix starred story hashes being parsed incorrectly 2020-03-22 00:47:33 -04:00
Anh Do
59f3fb4b3d
Handle account-level folder when syncing 2020-03-22 00:47:33 -04:00
Anh Do
f0fe308c7b
Update last article fetch time 2020-03-22 00:47:33 -04:00
Anh Do
a784b11d1c
Fix feeds being returned without corresponding folder 2020-03-22 00:47:33 -04:00
Anh Do
1e5033febe
Restore feed and folder 2020-03-22 00:47:32 -04:00
Anh Do
1e66860f34
Move feed 2020-03-22 00:47:32 -04:00
Anh Do
fe7cbe3bd3
Fix feed deletion in folder triggering unexpected deletes 2020-03-22 00:47:32 -04:00
Anh Do
a9615560ae
Fix feed not showing up at account-level if it's also in another folder 2020-03-22 00:47:32 -04:00
Anh Do
51a4a2b3c8
Rename subscriptionID to externalID 2020-03-22 00:47:32 -04:00
Anh Do
20ff053335
Rename, delete web feed, fix adding feed directly under account not working 2020-03-22 00:47:31 -04:00
Anh Do
70302a425c
Refactoring, fix folder changes not working, add new web feed 2020-03-22 00:47:31 -04:00
Anh Do
ec855364bc
Remove feeds in folder 2020-03-22 00:47:31 -04:00
Anh Do
e6659eea10
Rename and remove folder 2020-03-22 00:47:31 -04:00
Anh Do
494ce5bab9
Add folder 2020-03-22 00:47:31 -04:00
Anh Do
08339606e9
Use secure version of story images 2020-03-22 00:47:30 -04:00
Anh Do
fb07cfe187
Handle refresh progress 2020-03-22 00:47:30 -04:00
Anh Do
0479bbd9f5
Parse story image and tags 2020-03-22 00:47:30 -04:00
Anh Do
1d3073c593
Add missing story fetching 2020-03-22 00:47:30 -04:00