Commit Graph

626 Commits

Author SHA1 Message Date
Kiel Gillard b8f7e3f519 Use ASWebAuthenticationSession to authenticate Feedly users and grant NNW access tokens. 2019-11-09 21:44:13 +11:00
Maurice Parker 9846428071 Update Feedbin tests to match latest functionality. 2019-11-07 19:36:31 -06:00
Maurice Parker 6b2ecdaca0 Merge branch 'mac-release' 2019-11-07 19:17:53 -06:00
Maurice Parker e2434e620c Get extended subscription information from Feedbin. Issue #917 2019-11-07 19:07:10 -06:00
Kiel Gillard 4c9e98c150 Ensures refresh tokens occurs before syncing. Implements cancelAll for Feedly. 2019-11-07 20:44:51 +11:00
Kiel Gillard 6bef313937 Feedly accounts now refresh their access tokens on initialisation. 2019-11-07 18:55:05 +11:00
Kiel Gillard 434b11ed17 Ensures Feedly status operations finish at the right time. In part, this is achieved by adding and using completion handlers to the asynchronous ensure status API. 2019-11-06 13:26:12 +11:00
Kiel Gillard 1a1ee0fa17 Fixes an issue where sending article statuses to Feedly was finishing prematurely. 2019-11-06 11:22:10 +11:00
Maurice Parker 098f5050eb Cancel local account network activity when told to shutdown by the OS. Issue #1232 2019-11-04 20:41:08 -06:00
Maurice Parker c6e3ed6692 Cancel network activity when told to shutdown by the OS. Issue #1232 2019-11-04 20:24:21 -06:00
Maurice Parker 219e5751a1
Merge pull request #1144 from kielgillard/master
Syncs articles in pages, decouples article syncing from status syncin…
2019-11-04 14:29:22 -06:00
Maurice Parker 2f2efb5eac Change Feedbin to no longer clear lastFetchDate on errors. Issue #1233 2019-11-02 16:21:37 -05:00
Kiel Gillard 4f70cb6040 Improves test coverage in Feedly. Adds callbacks to SyncDatabase. Content is paged from Feedly. Unread status is set before articles are ingested. 2019-11-02 10:29:34 +11:00
Brent Simmons 4cb602f24a Merge mac-release. 2019-10-26 12:44:33 -07:00
Brent Simmons 3354d5a569 Delete articles and statuses from feeds no longer subscribed-to. At startup. Fix #899. 2019-10-24 22:28:26 -07:00
Jonathan Bennett 48e47ec40b Allow adding of feeds 2019-10-24 11:48:12 -04:00
Jonathan Bennett 77fc1bd8fe Merge branch 'master' into feature/feed-wrangler
# Conflicts:
#	submodules/RSCore
2019-10-23 21:10:57 -04:00
Ryan Dotson 48fb3ebc18 Curled some quotes 2019-10-22 19:58:05 +09:00
Maurice Parker af16731ecd Add the ability to specify folder in Add Feed shortcut 2019-10-20 18:49:17 -05:00
Brent Simmons 68687059d3 Avoid embedding frameworks in extensions and in Account.framework. Fix some Info.plist glitches. 2019-10-19 22:31:06 -07:00
Jonathan Bennett 4dea5e2cbb use URLQueryItem helper 2019-10-17 13:59:43 -04:00
Jonathan Bennett 2c150ae685 Merge branch 'master' into feature/feed-wrangler
# Conflicts:
#	Frameworks/Account/Account.xcodeproj/project.pbxproj
#	submodules/RSWeb
2019-10-17 13:34:54 -04:00
Maurice Parker 579717dd86 Move extensions for compositing query items to RSWeb 2019-10-17 06:01:08 -05:00
Jonathan Bennett d70c996c06 use the URLQueryItem helper 2019-10-17 01:56:42 -04:00
Jonathan Bennett ae014375ed QueryItem helper 2019-10-17 01:37:22 -04:00
Jonathan Bennett 09faf1a0c2 start supporting article sync 2019-10-17 01:05:18 -04:00
Jonathan Bennett c7d0d23146 add page size configuration option 2019-10-16 15:06:01 -04:00
Jonathan Bennett 81bffda093 allow removal of feeds 2019-10-16 11:43:49 -04:00
Jonathan Bennett 36861f2eb3 allow renaming of feeds 2019-10-16 11:32:22 -04:00
Jonathan Bennett d1b4c20494 append query items, don't overwrite everything 2019-10-16 11:12:55 -04:00
Jonathan Bennett d26b3b9917 Merge branch 'feature/feed-wrangler-refresh-feeds' into feature/feed-wrangler 2019-10-16 10:05:31 -04:00
Maurice Parker acbbee870e Rename Feedbin specific tests to reflect the specificity and move them to a Feedbin folder 2019-10-16 08:36:21 -05:00
Maurice Parker f17a278349 Fix randomly failing Feedbin test 2019-10-16 08:30:37 -05:00
Jonathan Bennett 1d6519cce9 Merge branch 'master' into feature/feed-wrangler 2019-10-16 09:24:14 -04:00
Jonathan Bennett 51dc82ffef use swiftier property names 2019-10-16 09:04:24 -04:00
Jonathan Bennett d80aeefdb3 Allow refreshing of Feed Wrangler subscriptions 2019-10-16 08:30:11 -04:00
Kiel Gillard 05cb3773de Follows the continuation until the starred articles stream has been consumed. 2019-10-16 22:12:37 +11:00
Jonathan Bennett 86caa869fc Merge branch 'master' into feature/feed-wrangler
# Conflicts:
#	Frameworks/Account/Account.xcodeproj/project.pbxproj
2019-10-16 05:48:03 -04:00
Kiel Gillard 16be64c440 Feedly: removes redundant mapping of articles to feed IDs. 2019-10-16 17:35:28 +11:00
Kiel Gillard 2b0413224a Fixes failing Feedly tests and improves debugging mock network responses. 2019-10-16 09:37:35 +11:00
Kiel Gillard 2ecdf92f40 Tweaking the logging to be more useful. 2019-10-15 18:39:09 +11:00
Kiel Gillard 0d20bccc55 Send and receive starred articles, refactoring status syncing code into operations for better code reuse. 2019-10-15 18:31:24 +11:00
Brent Simmons 7b09c86858 Use the new article saving function for both Feedly and ReaderAPI. 2019-10-13 19:32:46 -07:00
Brent Simmons c04322990c Merge branch 'mac-release' 2019-10-13 19:24:06 -07:00
Brent Simmons fcb0f0c439 Remove a no-longer-used Account.update function — we have a new one that’s way faster. Also: assert that we’re in the main thread in that new update function. 2019-10-13 19:23:36 -07:00
Brent Simmons c5e0d96adb Merge changes from mac-release, including performance fix. 2019-10-13 19:08:27 -07:00
Brent Simmons 1d0cacd5fc When syncing, update the database by articleIDs rather than by feeds — this means *far* fewer fetches and much less data pulled from the database. It should help app responsiveness dramatically during sync, and especially during an initial sync. 2019-10-13 19:02:56 -07:00
Brent Simmons 099172d9d2 Empty the database articles cache when NetNewsWire moves to the background. This helps prevent the cache from growing forever. 2019-10-12 15:06:21 -07:00
Maurice Parker ee1f26899c Add Test build configuration 2019-10-11 17:38:01 -05:00
Kiel Gillard 438338ac9f Refactor add and create feeds since they differ only by refreshing after adding. 2019-10-11 20:32:21 +11:00
Kiel Gillard e0b35d6854 Add feed request 2019-10-11 18:14:23 +11:00
Maurice Parker 02128b8b12 Add VerifyNoBS script on framework projects 2019-10-10 13:58:31 -05:00
Kiel Gillard d1e4c84a9e Refactoring create feed 2019-10-10 21:25:14 +11:00
Kiel Gillard 7cac3e6238 Simplifying operations to improve their reusability and composability 2019-10-10 21:25:14 +11:00
Maurice Parker df79422185 Remove provisioning profile 2019-10-10 00:32:18 -05:00
Maurice Parker 0b5be9057f Correct build configuration for CI build 2019-10-10 00:24:36 -05:00
Kiel Gillard 3089f2332e Show progress while fetching the content of a newly created feed. 2019-10-09 19:47:15 +11:00
Kiel Gillard 13197054bf Implement restore folders. Not sure how to test this. 2019-10-09 19:44:52 +11:00
Kiel Gillard dedce600a4 Implement restore feeds. Not sure how to test this. 2019-10-09 19:42:12 +11:00
Kiel Gillard a965677687 Fetch the contents of the feed when first adding it 2019-10-09 19:38:16 +11:00
Kiel Gillard 614628883f Use a suitable error for unexpectedly failing to add a feed 2019-10-09 19:15:48 +11:00
Kiel Gillard 92fa66f345 Refresh progress updates for changes which cannot be applied immediately and restored on failure 2019-10-09 19:06:59 +11:00
Kiel Gillard 41ca023c31 Implements creating, updating, moving and removing feeds. 2019-10-09 18:38:28 +11:00
Maurice Parker 590b2d5874 Remove explicit dependencies and fix iOS sync database dependency 2019-10-07 10:53:05 -05:00
Jonathan Bennett 0c2185ae25 fix db file extension 2019-10-07 10:22:10 -04:00
Maurice Parker 88f5ca24dd Remove problematic build settings 2019-10-06 19:29:43 -05:00
Brent Simmons 50276233d1 Add feeds all in one go when processing Feedbin subscriptions. This is a performance enhancement. 2019-10-06 12:37:46 -07:00
Kiel Gillard 39d3999a0d 2019-10-06 13:22:36 +11:00
Maurice Parker 0000e03083 Add the ability to handoff from iOS to Mac 2019-10-03 15:49:27 -05:00
Maurice Parker 0c9a1ba8d0 Add notification deep linking for iOS 2019-10-03 09:53:21 -05:00
Kiel Gillard e1b0e17b6a Allows folders to efficient add and remove many feeds. 2019-10-03 18:45:16 +10:00
Kiel Gillard 56a92e7938 Adds unit testing and implements fixes for unread counts, icons, missing metadata and more. 2019-10-03 18:06:49 +10:00
Brent Simmons 1cfafe3014 Add feeds from Feedbin all in one go, which helps performance by not triggering Account’s rebuilding of its feedDictionary. 2019-10-02 23:05:35 -07:00
Maurice Parker cc187875d9 Add initial support for per feed notifications 2019-10-02 19:42:16 -05:00
Maurice Parker aba0d15cb6 Modify background fetch so that it doesn't have to use a background process 2019-10-02 16:41:32 -05:00
Maurice Parker 281416eaee Make sure metadata gets saved if background fetch is performed. 2019-10-02 15:32:34 -05:00
Kiel Gillard 8f53916a79 Make Account framework tests compile and pass. 2019-09-30 17:17:58 +10:00
Brent Simmons 13eb6450c7 Merge branch 'mac-release' 2019-09-28 13:52:07 -07:00
Brent Simmons d7b45a1413 Change parseDatePublished() to a lazy var parsedDatePublished — it appeared that it was getting called more than once, and date parsing is expensive. Also: use RSDateWithString rather than an NSDateFormatter, since NSDateFormatter is so massively slow. 2019-09-27 23:01:31 -07:00
Jonathan Bennett 59c768abae externalize keys 2019-09-28 01:59:49 -04:00
Jonathan Bennett 50428f3179 Allow adding Feed Wrangler accounts 2019-09-28 01:59:49 -04:00
Kiel Gillard 060366f447 Implements creating, updating and deleting Folders/Collections. Issues #1044 #1048 2019-09-27 21:47:30 +10:00
Maurice Parker 6536dbf2a5 Use correct account method for adding folders 2019-09-27 06:38:43 -05:00
Kiel Gillard 465b6e789b Sends and receives unread statuses #1058. Also implements OMPL import #1043. 2019-09-27 08:26:18 +10:00
Maurice Parker e60ce37dc9 Merge branch 'mac-release' 2019-09-26 11:49:53 -05:00
Maurice Parker 90834fe6b1 Delete conditional get information for taggings if it looks like Feedbin may have renamed a folder. Issue #1050 2019-09-26 11:35:07 -05:00
Maurice Parker b721f74e17 Merge branch 'mac-release' 2019-09-25 17:09:21 -05:00
Maurice Parker c4ee1edb69 Add externalID to Folder and persist it to OPML file. Issue #1060 2019-09-25 17:01:09 -05:00
Maurice Parker 833a789e6e Merge branch 'mac-release' 2019-09-25 15:39:14 -05:00
Maurice Parker 08a8b8f6c2 Update to Swift 5.1 2019-09-25 15:32:30 -05:00
Maurice Parker e2a25e6239 Require 13.0 deployment target for iOS in frameworks 2019-09-25 10:13:15 -05:00
Maurice Parker 46c737c777 Make sure delegates get set even if a metadata file isn't found. Issue #1051 2019-09-24 06:56:39 -05:00
Maurice Parker cb394a2a61 add APPLICATION_EXTENSION_API_ONLY build setting 2019-09-23 19:56:16 -05:00
Maurice Parker eaf798991f Remove name from the feed metadata as we manage it using the OPML file instead 2019-09-23 12:29:48 -05:00
Maurice Parker 59991d0478 Save resource files immediately in the share extension 2019-09-23 11:09:40 -05:00
Maurice Parker de994a305e Remove dead code. 2019-09-23 10:35:48 -05:00
Maurice Parker 0424ba3bb7 Make unread counts show up for new feeds added by share extension 2019-09-23 10:27:17 -05:00
Maurice Parker 6f9d3953f1 Ensure that account metadata gets propagated to delegates when it reloads 2019-09-23 09:57:50 -05:00
Maurice Parker 0709b006f4 Add feed meta data did change notification 2019-09-22 21:42:49 -05:00
Maurice Parker 124997feca Reset feed to feed metadata relationship on reload 2019-09-22 21:20:01 -05:00
Maurice Parker 20fa5d9e48 Implement keychain groups 2019-09-22 16:00:06 -05:00
Maurice Parker 43bed44d46 Merge branch 'mac-release' 2019-09-20 11:42:06 -05:00
Maurice Parker ea13f911f1 Change to ignore unsupported accounts instead of crashing 2019-09-20 11:41:28 -05:00
Maurice Parker af0d6c9022 Implement AccountBehaviors so that we don't have to keep adding boolean flags to account 2019-09-20 11:34:31 -05:00
Maurice Parker f3a1b074ac Call download progress on the main queue 2019-09-20 10:16:51 -05:00
Kiel Gillard 1d965142d9 Initial implementation FeedlySyncStrategy and basic usability improvements to allow for downloading and reading articles without crashing. 2019-09-20 16:56:51 +10:00
Maurice Parker 5e48c45d78 Make article extract feed flag optional 2019-09-19 20:12:55 -05:00
Maurice Parker d67c9144f5 Add Reader View is always on preference for Feeds 2019-09-19 19:49:11 -05:00
Kiel Gillard 9cc5fa3608 Initial implementation allowing Feedly accounts to be added given the Feedly user's consent. 2019-09-19 10:11:53 +10:00
Maurice Parker 8e939e9942 Change Credentials to be a struct instead of an enum 2019-09-15 10:03:47 -05:00
Maurice Parker 530e9ca60f Change writing options for resource files to none 2019-09-13 16:58:10 -05:00
Maurice Parker 82d4e0e3b3 Fixed metadata name suffixes 2019-09-13 16:41:08 -05:00
Maurice Parker 7b29eaab7a Make feed metadata a managed resource file 2019-09-13 16:35:53 -05:00
Maurice Parker b24e6a4725 Make account metadata a managed resource file 2019-09-13 16:12:19 -05:00
Maurice Parker f7bb58ea4d Modify OPMLFile to use the new ManagedResourceFile utility class 2019-09-13 15:46:22 -05:00
Maurice Parker f924eb91ff Fix log category name 2019-09-13 14:56:24 -05:00
Maurice Parker 762e230200 Add file coordination for the OPML file 2019-09-13 10:48:04 -05:00
Maurice Parker 4d118d89db Move more OPML file management functions to the OPMLFile class 2019-09-13 10:15:11 -05:00
Maurice Parker 7de08e992e Add the ability to observe OPML file changes 2019-09-12 18:41:42 -05:00
Maurice Parker 83476baa5b Move OPML I/O functions into a separate OPMLFile class 2019-09-12 18:05:29 -05:00
Maurice Parker 5985b00480 Inject the Accounts folder name so that it can be in different locations between the iOS and Mac Apps. 2019-09-12 10:59:26 -05:00
Brent Simmons 03bf97df90 Fix parts of ReaderAPI implementation that I broke with an API change in Account. 2019-09-08 21:52:02 -07:00
Brent Simmons 2eccfbb90e Merge branch 'mac-release' 2019-09-08 21:44:28 -07:00
Brent Simmons 41c82eca15 Rename existingFeed(with:) to existingFeed(withFeedID:) to make it more clear. Make account.idToFeedDictionary private — callers should use existingFeed(withFeedID:). 2019-09-08 21:44:05 -07:00
Brent Simmons f5f306f60f Add comments to feed.iconURL and feed.faviconURL, explaining that these are set only if that info was part of the feed (which is a JSON-Feed-only feature). 2019-09-08 21:17:57 -07:00
Maurice Parker c4f7090b9c Automatically expand any activated accounts and clean up the expandedNodes table for inactivated accounts 2019-09-08 09:58:27 -05:00
Maurice Parker e61efbe47a Split AccountsDidChange notification into both add and delete notifications and automatically expanded new accounts on iOS 2019-09-08 09:43:51 -05:00
Maurice Parker d9ea35b6f6 Merge branch 'mac-release' 2019-09-08 04:29:37 -05:00
Maurice Parker 7ca2226669 Move credentials classes to the Account framework in NetNewsWire 2019-09-08 04:28:43 -05:00
Maurice Parker ab0ca49882 Added new OAuth credentials 2019-09-06 17:38:48 -05:00
Maurice Parker 6cf1e4539d Merge branch 'mac-release' 2019-09-01 10:51:22 -05:00
Maurice Parker e31dec7c44 Call completion handler when there are no feeds associated with the folder being removed. Issue #938 2019-09-01 10:49:35 -05:00
Maurice Parker fe2e0155da Add scoped searching of articles 2019-08-31 15:53:47 -05:00
Maurice Parker 995fca5d6a Updated FreshRSS to pull statuses before articles and to work with the new sync status API's 2019-08-30 11:47:08 -05:00
Maurice Parker ea1f21797c Merge branch 'mac-release' 2019-08-30 11:28:16 -05:00
Maurice Parker a69be4117a Retrieve statuses before articles during sync process and default starred articles to read if there isn't an unread status Issue #868 2019-08-30 10:39:52 -05:00
Daniel Jalkut a5a36e0986 Fix for #885: Include 403 status code in list of errors to prompt with 'update credentials' error message, and expand that message to cover the possibility an account is no longer valid with the service, i.e. in the case of an expired Feedbin subscription. 2019-08-28 11:40:12 -04:00
Brent Simmons 1ab0f7c25c Merge mac-candidate. 2019-08-21 21:44:07 -07:00
Brent Simmons bffda93700 Give has(feed) a default implementation in Container.swift. 2019-08-21 21:07:40 -07:00
Brent Simmons fe2d329301 Make has(feed) a Container protocol method. 2019-08-21 21:05:47 -07:00
Brent Simmons f513741ddb Start work on filtering timeline so that articles from deleted feeds never show up. 2019-08-21 13:23:46 -07:00
Brent Simmons 2027e83504 Merge branch 'mac-candidate' 2019-08-12 09:43:48 -07:00
Brent Simmons f8c8fc5f34 Fix crashing bug with marking all as read via contextual menu. Implement feed.fetchUnreadArticles. 2019-08-12 09:43:29 -07:00
Brent Simmons 4667e533fc Merge branch 'mac-candidate' 2019-07-24 09:27:34 -07:00
Brent Simmons 9edc726065 Make the Today smart feed show articles from the last 28 hours, so it doesn’t surprise people by emptying out at midnight. 2019-07-24 09:27:03 -07:00
Maurice Parker e263665a21 Merge branch 'mac-candidate' 2019-07-23 16:36:46 -05:00
Maurice Parker 4fc1998cf3 Make Account and AccountDelegate interfaces more consistent by requiring the container parameter on removeFeed. Resolves #802 2019-07-17 15:41:21 -05:00
Jeremy Beker 9b552d8003
Remove DispatchQueue.main.sync calls that are not appropriate anymore 2019-07-13 08:47:00 -04:00
Jeremy Beker fe9129ac4a
Use Feed Finder before attempting to add feed urls 2019-07-13 08:37:08 -04:00
Brent Simmons 0d5ebad782 Merge branch 'mac-candidate' 2019-07-08 23:10:41 -07:00