Tim Ekl
6583688e38
Fix errors in Feedly unread operations tests
...
Most fetch completion blocks took a parameter that was expected to be
some result data type, but is now a Result. Rename these parameters;
wrap their existing bodies in do/catch blocks; and recreate the original
underlying variable using the result of `Result.get()`.
Prepend a few synchronous calls that started throwing with `try` along
the way.
2019-12-31 19:06:10 -06:00
Tim Ekl
ae1651fad1
Fix errors in Feedly update-feeds operation tests
...
Mark some throwing calls with `try`; mark the enclosing test functions
with `throws`, letting the XCTest framework handle error reporting for
us.
2019-12-31 15:55:59 -06:00
Tim Ekl
f82be27666
Resolve errors in Feedly statuses operation tests
...
Add `error` parameters to completion blocks which now pass them. Assert
these errors are always nil in the existing tests.
Flip calls to `selectPendingCount()` so they are async, with a
completion block that asserts about the results instead of asserting
about the return value. Since the closure takes a Result, unwrap it in a
do/catch block at each site; `XCTAssertNoThrow` doesn't help us bubble a
value out from `Result.get()`, and I'd rather not use `try!` here. There
might be a stylistic discussion to be had about this unwrapping, though.
2019-12-31 15:52:54 -06:00
Kiel Gillard
3b47edfba7
Models the feed identifier of feedly articles as an optional since it seems the Feedly API will not always provide one (despite the API documentation).
...
Additional, more elegantly handle the failure to parse an article when Feedly does not provide a matching feed.
2019-12-31 08:47:27 +11:00
Brent Simmons
3a33c38d5c
Use an inner function in FeedbinAccountDelegate.refreshMissingArticles. I like this pattern because 1) it keeps the switch statement and its cases near each other, and 2) it puts all the actual processing in a single function, which makes it easier to see where processing happens.
2019-12-17 21:24:17 -08:00
Brent Simmons
db564d9cf9
Remove all references to fetchArticleIDsForStatusesWithoutArticles. Use fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate instead.
2019-12-17 21:15:20 -08:00
Maurice Parker
236f581d95
Update Feedbin to use fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate for missing articles.
2019-12-17 17:43:08 -07:00
Kiel Gillard
40dacd6522
Update set starred articles operation to honour database errors.
2019-12-18 09:45:30 +11:00
Kiel Gillard
5a9b138a9d
Update set unraed articles operation to honour database errors.
2019-12-18 09:42:08 +11:00
Kiel Gillard
7ddcb2fc8e
Add optional completions to avoid race conditions involving these marked statuses.
2019-12-18 09:41:45 +11:00
Kiel Gillard
6fb0e2e0d0
Honour the error case when ingesting read and star statuses
2019-12-18 09:32:58 +11:00
Kiel Gillard
bd307cbb6c
Give the FeedlySyncStarredArticlesOperation a delegate so that if the database becomes suspended, the remainder of the sync operation cancels.
2019-12-18 09:26:57 +11:00
Kiel Gillard
311f5b2e81
Check the account update error when update a Feedly account and finish with an error, indicating to its delegate that remaining operations should cancel.
2019-12-18 09:19:00 +11:00
Maurice Parker
b637a6f01b
Process the article downloads in smaller transaction groups to make possible to interrupt. Issue #1437 .
2019-12-17 14:28:04 -07:00
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