Commit Graph

727 Commits

Author SHA1 Message Date
Maurice Parker 7192a6893e Change Feedbin to always check the error from Account.update. 2019-12-17 13:25:01 -07:00
Brent Simmons 567a971a1c Remove no-longer-used fetchStatuses functions. 2019-12-16 23:09:46 -08:00
Brent Simmons 704ccb2927 Remove no-longer-used ensureStatuses functions. 2019-12-16 23:06:21 -08:00
Brent Simmons e8045b0e8b Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-12-16 22:46:24 -08:00
Brent Simmons 15184aa3f1 Finish changes mandated by DatabaseQueue changes. 2019-12-16 22:45:59 -08:00
Brent Simmons 3c8097404f Make progress on update ArticleFetcher to handle DatabaseQueue changes. 2019-12-16 17:04:00 -08:00
Brent Simmons 51393967e2 Finish making Account and AccountManager compatible with DatabaseQueue changes. 2019-12-16 17:03:41 -08:00
Brent Simmons 9516392c61 Make two more Feedly operations compatible with DatabaseQueue changes. 2019-12-16 17:03:05 -08:00
Brent Simmons 3883d24ebe Simplify FeedlySetUnreadArticlesOperation. 2019-12-16 16:26:35 -08:00
Brent Simmons 67f65545b3 Continue changes mandated by DatabaseQueue changes. 2019-12-16 15:55:37 -08:00
Brent Simmons e700da9410 Mark appropriate functions as throws. 2019-12-16 15:32:08 -08:00
Brent Simmons f2052f110f Make updateUnreadCounts compatible with database changes. 2019-12-16 14:59:15 -08:00
Brent Simmons 9a36051d8a Remove a reference to database.isSuspended. 2019-12-16 14:43:25 -08:00
Maurice Parker 9dad3f0540 Pass the account metadata to delegate on initialization 2019-12-16 14:19:55 -07:00
Brent Simmons 3981312d6f Update sync code to handle async selectForProcessing. 2019-12-16 12:49:07 -08:00
Brent Simmons 7a134740ec Make SyncDatabase selectPendingCount async. 2019-12-16 10:50:13 -08:00
Maurice Parker 58b24f3349 Rename callback: to completion: 2019-12-14 18:01:34 -07:00
Maurice Parker 43bf65b7a6 Rename occurrences of completionHandler to completion. 2019-12-14 17:14:55 -07:00
Brent Simmons 45cdb7bea3 Create a fetchStatuses method that will optionally create statuses if needed. Callback gets Set<ArticleStatus> — or nil if the app is suspended. 2019-12-11 22:28:01 -08:00
Maurice Parker e303d64c1d Refresh feeds and sidebar when downloaded articles update all their unread counts. Issue #1430 2019-12-10 18:17:54 -07:00
Maurice Parker b8ef6c7549 Don't process OPML file if it hasn't changed since it was last produced. Issue #1428 2019-12-10 14:10:07 -07:00
Maurice Parker 358f386c4b Change progress view to use the most recent last fetch end time. Issue #1383 2019-12-09 18:34:26 -07:00
Kiel Gillard 2401b0be1b Fix compilation issues with tests after Account API changes. 2019-12-09 18:54:29 +11:00
Maurice Parker a3dc787fb0 Change to call completion when exiting early. Issue #1421 2019-12-08 10:00:20 -07:00
Brent Simmons 0b87531f2f Make fetchStarredArticles an async call. Also have it respect subscribed-to feed IDs. 2019-12-07 22:23:44 -08:00
Brent Simmons a561ea9484 Fetch unread article IDs async. Also: fetch only for feeds currently subscribed-to. Fix #1218. 2019-12-07 20:57:23 -08:00
Maurice Parker a75ce688d9 Update to latest RSWeb so that refreshAll completion handler no longer gets called early 2019-12-07 16:26:38 -07:00
Brent Simmons b61cd3a869 Hash just the webFeedID in WebFeed’s hash function. This will almost always be unique, and it helps performance because 1) string hashing is slow, and 2) we update sets of WebFeeds kind of often. 2019-12-07 12:05:58 -08:00
Maurice Parker d4722f766f Make sure local accounts can't initiate processing after suspendNetwork is called. Issue #1401 2019-12-06 16:06:54 -07:00
Kiel Gillard d5331c08c8 Improve Feedly's suspension support. #1396 2019-12-07 07:59:45 +11:00
Brent Simmons 66c9d287bb
Merge pull request #1403 from kielgillard/feedly-report-crawled
Feedly articles report the crawled and recrawled date…
2019-12-05 21:52:43 -08:00
Kiel Gillard f58bb38e8f Remove unused code. 2019-12-05 19:02:40 +11:00
Kiel Gillard d9a2ca8e7e Adds unit tests for adding a new feed with Feedly. #1300 2019-12-05 19:02:40 +11:00
Kiel Gillard 7563d1b2c6 Search Feedly for the best feed (and its identifier) for the URL entered when adding a new feed. #1300 2019-12-05 19:02:40 +11:00
Kiel Gillard fcd6d15b4c Feedly articles report the crawled and recrawled date for the date published and updated values. 2019-12-05 18:55:28 +11:00
Brent Simmons a5c1341b0c Resume databases for all accounts before resuming anything else, so that notifications don’t trigger database calls. 2019-12-04 22:11:20 -08:00
Maurice Parker 95c1b36fe7 Change order of suspending steps to prevent work from going to a suspended queue. Issue #1400 2019-12-04 17:27:39 -07:00
Kiel Gillard 3fdab4a288 Feed titles in Feedly seem to be optional despite what the API documentation says, possibly fixing #1326 if there are no other required keys that should be optional. 2019-12-04 09:33:10 +11:00
Kiel Gillard f7375a9c8e Update public Feedly sandbox OAuth secrets. 2019-12-04 09:29:43 +11:00
Maurice Parker dad8b39ea9 Remove cancellAll for FeedWrangler. 2019-12-02 15:59:45 -06:00
Maurice Parker f159371967 Change to make sure all queue's get cleared before suspending the database. Issue #1389 2019-12-02 14:14:35 -06:00
Maurice Parker 7a8155f58f Add suspend and resume to managed files 2019-12-01 17:16:52 -06:00
Maurice Parker d9f2e13732 Suspend and resume account resources when moving between the background and foreground. 2019-12-01 16:51:25 -06:00
Brent Simmons 45804a3d1a Use the new VoidCompletionBlock instead of (() -> ()). 2019-11-29 23:42:11 -08:00
Brent Simmons ed5db537f8 Fix warning in in-progress code. 2019-11-29 23:04:29 -08:00
Brent Simmons b5f1c69f8e Add AccountManager.resumeAll, Account.resume. Add suspend() and resume() to AccountDelegate and to individual AccountDelegate instances. 2019-11-29 22:57:14 -08:00
Brent Simmons 2dd239d5ee Merge changes from mac-release — adopt DatabaseQueue. 2019-11-29 22:17:32 -08:00
Brent Simmons 6fdaf773cd Add SyncDatabase to referenced frameworks in project settings. 2019-11-29 21:49:24 -08:00
Kiel Gillard 5cd90a9be7 Fix syncing of unread articles with Feedly when adding new or existing feeds to folders. #1289 #1332 2019-11-30 10:14:58 +11:00
Kiel Gillard 757c469e00 Improves the test coverage of syncing and progress reporting, identifying and fixing a bug when cancelling. #1328 2019-11-30 08:00:46 +11:00
Maurice Parker 7d39933ba4 Add article exception fetcher to always restore article to timeline regardless of timeline state. 2019-11-29 14:31:15 -06:00
Kiel Gillard 52d2121553 Fixes race conditions in FeedlyOperation progress reporting unit tests. 2019-11-29 18:33:32 +11:00
Maurice Parker 30f560be4d Convert Feedly and Mercury to use the new Secrets system. 2019-11-27 17:20:09 -06:00
Maurice Parker 748f4e64d3
Merge pull request #1364 from jbennett/manage-secrets
Generalize handling of secrets and keys
2019-11-27 16:54:24 -06:00
Maurice Parker 81c4756f97 Persist article read filters across application launches. Issue #1349 2019-11-27 11:43:36 -06:00
Jonathan Bennett eda98d166d remove FeedWrangler build scripts 2019-11-27 11:17:46 -05:00
Maurice Parker 991ecf2a71
Merge pull request #1363 from kielgillard/1326-missing-data
Adds public logging of the Feedly errors…
2019-11-27 09:55:22 -06:00
Kiel Gillard 1891523d0d Adds public logging of the Feedly errors to help identify the missing key in #1326. 2019-11-27 19:04:55 +11:00
Kiel Gillard 2f96e8b8a6 Feedly operations can optionally report their progress. #1328 2019-11-27 18:32:18 +11:00
Maurice Parker ebd7f4904d Persist the Feeds Read filter across application launches. Issue #1349 2019-11-26 20:23:12 -06:00
Maurice Parker 4a9e79cd1e Persist and restore container expanded state across application launches. Issue #1361 2019-11-26 16:33:11 -06:00
Jonathan Bennett 9d0034576d start extracting secrets 2019-11-26 08:58:16 -05:00
Jonathan Bennett ce51e4e632 Merge branch 'master' into feature/feed-wrangler 2019-11-24 20:41:43 -05:00
Maurice Parker 6a56936850 Moved expanded state away from Node so that it won't get lost on rebuilds. Issue #1346 2019-11-24 18:29:00 -06:00
Maurice Parker 43744ec128 Add folder read fetch query. 2019-11-22 10:21:30 -06:00
Maurice Parker eea5d6f327 Change ReadFilter to ReadFilterType and differentiate the ReadFilter from the query filter. 2019-11-22 09:40:39 -06:00
Maurice Parker a5b4d570af Change ReadFilter case unavailable to alwaysRead 2019-11-22 09:32:27 -06:00
Maurice Parker 6d8fca01ea Filter async requests based on ReadFilter. 2019-11-21 19:54:35 -06:00
Maurice Parker e8826130a4 Add timeline filter button 2019-11-21 18:22:43 -06:00
Jonathan Bennett 0f105c8421 logout when deleting account 2019-11-21 01:17:41 -05:00
Jonathan Bennett b3c053964c handle new feeds better
this is in prep for the initial acount/feeds changes
2019-11-21 01:09:09 -05:00
Jonathan Bennett d3c168a12e use add_feed_and_wait endpoint
The add_feed endpoint does not return feed info. The _and_wait endpoint can be slower (up to 10 seconds) but will make sure we gett the right URL if available.
2019-11-20 17:26:27 -05:00
Jonathan Bennett 85d54c17cc allow cancelling of network requests 2019-11-20 16:33:56 -05:00
Jonathan Bennett 93595ab745 bubble transport errors up 2019-11-20 16:33:12 -05:00
Jonathan Bennett 36c2aabe38 rename Feed to WebFeed 2019-11-20 16:02:25 -05:00
Jonathan Bennett 29a0608288 pbxproj merge fixes 2019-11-20 14:51:07 -05:00
Jonathan Bennett b4a862d207 Merge branch 'master' into feature/feed-wrangler
# Conflicts:
#	Frameworks/Account/Account.swift
#	Frameworks/Account/Account.xcodeproj/project.pbxproj
#	NetNewsWire.xcodeproj/project.pbxproj
#	submodules/RSCore
2019-11-20 14:01:04 -05:00
Jonathan Bennett 82d7631694 treack refresh progress better 2019-11-20 12:27:21 -05:00
Jonathan Bennett ac33bf982e cleanup code
most network calls follow the same structure
2019-11-20 12:09:42 -05:00
Jonathan Bennett e867991ec8 use transport.send(request, resultType, completion) 2019-11-20 11:48:03 -05:00
Jonathan Bennett f4bee1d0b9 retrieve missing articles 2019-11-20 06:13:30 -05:00
Maurice Parker 5ce5175bc0 Change to not suggest root folder for Accounts that don't support it. Issue #1287 2019-11-16 13:25:55 -06:00
Maurice Parker 91a3e4fd73 Change Add Web Feed folder selection to be a separate controlling instead of the picker wheel. Issue #1270 2019-11-16 12:02:58 -06:00
Maurice Parker 5283d2efbe Implement Feed protocol. 2019-11-15 06:19:14 -06:00
Kiel Gillard 55faf550d7 Implements logout for Feedly accounts. 2019-11-15 19:09:14 +11:00
Maurice Parker afd9783711 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-11-14 20:11:50 -06:00
Maurice Parker 06bd5b3a6f Renamed Feed and related classes/instances to WebFeed 2019-11-14 20:11:41 -06:00
Kiel Gillard bec80922ce Enables accounts and their delegates to prepare to be deleted. Provides a variation of the Account Inspector on iOS for Feedly. 2019-11-15 09:47:39 +11:00
Kiel Gillard b317a99594 Fix failing Feedly tests. 2019-11-15 09:32:02 +11:00
Maurice Parker a96c5f34ce
Merge pull request #1295 from kielgillard/cancellation-improvements
Improves the behaviour and fixes some issues…
2019-11-14 15:40:28 -06:00
Maurice Parker 0d66259650 Add ArticleFetcherType and change state restoration to use new type. 2019-11-14 15:06:32 -06:00
Kiel Gillard 3ed5a43de3 Improves the behaviour and fixes some issues with cancelling of Feedly operations. 2019-11-15 07:59:44 +11:00
Maurice Parker 96dbd96527 Change keychain accessiblity to allow access when the device is locked. Issue #1292 2019-11-12 19:24:07 -06:00
Maurice Parker 3b3dd9f1bd Always use cloud environment for Feedly. 2019-11-11 18:18:59 -06:00
Maurice Parker 4c97d099ea Add ProjectSettings.xcconfig to be included in the Account build. 2019-11-11 17:57:49 -06:00
Maurice Parker 2617744d49 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-11-11 13:52:52 -06:00
Maurice Parker 866988edcf Correct deep link comments. 2019-11-11 13:47:28 -06:00
Kiel Gillard c87f8c974a Store the last article fetch when articles were successfully fetched. 2019-11-11 17:42:14 +11:00
Kiel Gillard a4bcbf5c36 Automatically refreshes a new Feedly account after its creation. 2019-11-11 08:10:39 +11:00
Kiel Gillard 8c27187ad8 Make the OAuthAuthorizationClient an implementation detail the Account.framework. 2019-11-09 21:44:13 +11:00
Kiel Gillard 39c7bdb5e2 Give this test a bit more time to execute on a stressed system. 2019-11-09 21:44:13 +11:00
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