Brent Simmons
dc9243dcc7
Make fetching all unread counts an operation. Cancel it when the account is suspending. Turning things like this into operations goes to fixing the dreaded 0xdead10cc crashes.
2020-01-27 23:00:48 -08:00
Nate Weaver
b9bba7b614
Update RSWeb
2020-01-27 23:02:01 -06:00
Brent Simmons
e61d2620de
Merge branch 'ios-candidate' of https://github.com/Ranchero-Software/NetNewsWire into ios-candidate
2020-01-27 19:55:14 -08:00
Brent Simmons
5d38e79f38
Add FetchAllUnreadCountsOperation. Not using it yet, but we will be.
2020-01-27 19:55:10 -08:00
Maurice Parker
118ecd01b0
Fix option set bug in AccountBehaviors.
2020-01-27 20:05:07 -07:00
Brent Simmons
61ccf6fa1f
Replace use of Dictionary(uniqueKeysWithValues) with a separate function that can handle duplicate keys without crashing. Fix #1671 .
2020-01-21 22:03:33 -08:00
Kiel Gillard
fb69a2bc54
Fix the logging of Feedly errors. #1628 .
2020-01-21 18:31:41 +11:00
Brent Simmons
bca3c4216c
Merge branch 'ios-candidate' of https://github.com/Ranchero-Software/NetNewsWire into ios-candidate
2020-01-19 22:25:13 -08:00
Brent Simmons
70b57b9d4d
Disable files with failing Feedly tests. This is meant to be temporary.
2020-01-19 22:25:06 -08:00
Brent Simmons
f9f4d70868
Make Feedly tests build again.
2020-01-19 22:19:54 -08:00
Maurice Parker
531c40a059
Escape special XML characters for external folder id. Issue #1659
2020-01-19 22:52:45 -07:00
Brent Simmons
f76385ce64
Merge branch 'ios-candidate' of https://github.com/Ranchero-Software/NetNewsWire into ios-candidate
2020-01-19 16:55:46 -08:00
Brent Simmons
a2bcdb1cfd
Fix the progress indicator bug I had introduced in working on FeedlyOperation. Make sure FeedlyOperation calls downloadProgress.completeTask(), and make sure that all paths lead there.
2020-01-19 16:55:39 -08:00
Maurice Parker
53ba0bc9ac
Fix so that Feedbin correctly stores the perma link in the correct field.
2020-01-19 17:15:21 -07:00
Brent Simmons
6181f416a4
Revise FeedlyOperation to work with MainThreadOperation properly. We’re still using inheritance — FeedlyOperation is a base class. I tried and failed to come up with a better solution. Everything other solution resulted in a lot of boilerplate code being replicated.
2020-01-19 14:19:06 -08:00
Nate Weaver
7ee1f99962
Updates for Data+RSCore changes
2020-01-18 19:18:58 -06:00
Nate Weaver
b35215d03b
Update for pending RSCore String updates
2020-01-17 13:45:38 -06:00
Kiel Gillard
912a3acb35
Subscribing to a Feedly feed only downloads the first page worth of content, not each and every page. Maybe related to #1408 .
2020-01-17 17:16:52 +11:00
Brent Simmons
e2e9a66bc5
Merge pull request #1635 from kielgillard/ios-candidate
...
Let Feedly users add to the uncategorized collection/folder.
2020-01-16 22:01:47 -08:00
Kiel Gillard
02cfc384c4
Makes the Feedly models immutable because they are used to represent API responses only and it improves a developer's ability to reason about how they're used in the codebase. Fixes #1629 .
2020-01-17 16:47:21 +11:00
Kiel Gillard
c18575ea85
Let Feedly users add to the uncategorized collection/folder.
2020-01-17 15:25:57 +11:00
Maurice Parker
fb8d77fff1
Merge pull request #1631 from kielgillard/feedly-fix-tests-post-operations-surgery
...
Fix test failures by cancelling operations with the queue.
2020-01-16 13:45:36 -08:00
Kiel Gillard
f14ba07740
Fix test failures by cancelling operations with the queue. It seems operations no longer can cancel themselves.
2020-01-17 08:27:20 +11:00
Maurice Parker
4f36ec3b11
Add Update Credetials button to the error dialog when a Feedbin credentials error happens. Issue #1441
2020-01-16 13:50:30 -07:00
Maurice Parker
61b788a1de
Provide user friendly account error for 403 status code (FORBIDDEN)
2020-01-16 12:17:47 -07:00
Brent Simmons
80542bee12
Add missing calls to super.run() in FeedlyOperation subclasses.
2020-01-15 22:51:00 -08:00
Brent Simmons
57af7526da
Revise Feedly tests to use MainThreadOperationQueue; get them building again. They don’t pass, but at least they build.
2020-01-15 22:10:06 -08:00
Brent Simmons
39db00c022
Use MainThreadOperationQueue with Feedly syncing.
2020-01-15 21:30:37 -08:00
Nate Weaver
6eac3781ba
Update to latest RSCore
...
Update use of OMPLString().
2020-01-13 22:20:57 -06:00
Kiel Gillard
325f220181
Ignore the remote article status if the sync database contains a pending (and therefore more recent) status. Fixes #1516 .
2020-01-13 18:04:58 +11:00
Nate Weaver
e94985e7f2
Update to latest RSCore
2020-01-12 18:26:41 -06:00
Nate Weaver
42b4261793
Treat empty URLs as nil
...
Fixes #1612 .
2020-01-12 03:29:56 -06:00
Kiel Gillard
745b5d8cb8
Fetch article contents from Feedly by ids rather than paging through streams up until the last successful sync date. Issues #1453 #1398 #1408 #1429
2020-01-11 10:45:45 +11:00
Brent Simmons
4ab5c25844
Add createStatusesIfNeeded API to Account, to use with syncing. (Needed for Feedly syncing, and could very well be needed for other systems too.)
2020-01-09 22:27:29 -08:00
Nate Weaver
5cceebad9c
Set Mac deployment target to 10.14
...
Also remove duplicate declarations.
2020-01-09 19:16:19 -06:00
Brent Simmons
47f3e863b6
Delete articles older than the 90-day window.
2020-01-08 22:07:03 -08:00
Brent Simmons
c583c4d474
Fetch both read and unread orphaned statuses.
2020-01-06 18:18:27 -08:00
Maurice Parker
7824939c30
Make OPML generate in a consistent order when the Web Feed name is the same. Issue #1545
2020-01-06 13:58:51 -07:00
Kiel Gillard
6922b6ddec
Use string-based key paths instead of Swift key paths for FeedlyOperation. #1481
2020-01-06 08:59:08 +11:00
Maurice Parker
c3fbf88fbb
Add check so that we don't update article statuses for articles that we have pending statuses to send. Issue #1515
2020-01-02 18:21:18 -07:00
Brent Simmons
e773c11571
Merge pull request #1509 from timothyekl/account-test-api-updates
...
Update Account tests for new async API
2020-01-02 16:12:17 -08:00
Tim Ekl
44e920b18b
Don't explicitly name error variables
...
Following the resolution of #1512 , start using the implicit `error`
variable inside `catch` blocks instead of explicitly declaring `e`
everywhere.
2020-01-02 13:31:06 -08:00
Kiel Gillard
2ee50054dc
Indicate FeedlyOperations are asynchronous.
2020-01-02 10:00:09 +11:00
Kiel Gillard
f455bcec16
Models the feed website url of feedly articles as an optional since it seems the Feedly API will not always provide one. Issue #1449 .
2020-01-02 09:34:24 +11:00
Tim Ekl
5ac18b14a7
Add missing expectations to send statuses tests
...
f82be27666
flipped around calls to `selectPendingCount(_:)` so that it
respected the new async nature of the method; however, it neglected to
add enough XCTestExpectations to keep the test methods running through
the callbacks. Add those here.
2020-01-01 13:39:17 -08:00
Brent Simmons
cea34c9e49
Update RSCore.
2019-12-31 18:58:57 -08:00
Tim Ekl
e4c84bc501
Add two missing expectation fulfillments
...
It looks like two tests in FeedlySetStarredArticlesOperationTests
created but never referenced XCTestExpectation instances. Based on the
other nearby tests, add a call to `fulfill()` inside the associated
completion block after the rest of our test assertions are done.
2019-12-31 19:41:32 -06:00
Tim Ekl
6c10774c4a
Fix build errors stemming from FeedlyTestSupport
...
There was one call to a throwing function inside
`checkArticles(in:correspondToStreamItemsIn:)` which was not
appropriately marked with `try`. Add that keyword, and then bubble out
the chain of errors through additional layers of helpers to the
enclosing test:
* This `checkArticles` variant was called by two others
* …one of which was used in `testAddNewFeedSuccess()`
* …another of which was used in various `verify` sync helpers
* …which were referenced from `testSyncing()`, a test case method
None of these involved any particular async hoops to jump through, and
since the top-level callers were all test functions, we can count on
XCTest to handle any errors thrown — no additional `catch` or handling
on our part is necessary.
2019-12-31 19:36:42 -06:00
Tim Ekl
711aca3d1b
Fix build errors in Feedly test support
...
Two more cases of completion blocks taking Results, requiring a
do/catch/Result.get() to unwrap.
This commit deliberately leaves one build error for a more comprehensive
fix, since it occurs in a helper function that will have broader
fallout.
2019-12-31 19:29:44 -06:00
Tim Ekl
152b1f2b8a
Fix errors in Feedly sync unread operations tests
...
Yet more completion blocks with Results; apply the usual
do/catch/Result.get() dance.
2019-12-31 19:27:47 -06:00