Commit Graph

1559 Commits

Author SHA1 Message Date
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
Anh Do bde6a607ba
Fix starred story parsing using incorrect JSON field 2020-03-22 00:47:30 -04:00
Anh Do b7e7e17656
Update unread/starred status 2020-03-22 00:47:29 -04:00
Anh Do b8c7e8c1c6
Fix typo 2020-03-22 00:47:29 -04:00
Anh Do e1d5288d3d
Implement status change 2020-03-22 00:47:29 -04:00
Anh Do 8f64f7230d
Add network suspension support 2020-03-22 00:47:29 -04:00
Anh Do bf1a732e8f
Add missing story fetching handler 2020-03-22 00:47:29 -04:00
Anh Do 299619703c
Ignore "everything" folder 2020-03-22 00:47:29 -04:00
Anh Do a913b65700
Fix failing login when credentials include &= 2020-03-22 00:47:28 -04:00
Anh Do 7453e397d5
Read published date from timestamp directly 2020-03-22 00:47:28 -04:00
Anh Do 6b38c07654
Put feeds in folders (code taken from Feedbin) 2020-03-22 00:47:28 -04:00
Anh Do 8e99f8deea
Display flat feed list 2020-03-22 00:47:28 -04:00
Anh Do f4a0c56a54
Use NewsBlur terminologies in models (Feed, Story) 2020-03-22 00:47:28 -04:00
Anh Do 175cd0e798
Parse articles from story river 2020-03-22 00:47:27 -04:00
Anh Do d37f70d2dd
Add unread story hashes query 2020-03-22 00:47:27 -04:00
Anh Do 9727219b09
Add feed list query 2020-03-22 00:47:27 -04:00
Anh Do b7fe991b7b
Retrieve session id for later requests 2020-03-22 00:47:27 -04:00
Anh Do 034aabbfff
Add login/logout support 2020-03-22 00:47:26 -04:00
Maurice Parker f2d9552c85 Renamed subscriptionID to externalD on WebFeed so that it matches what we did with Folder. 2020-03-21 11:33:13 -05:00
Maurice Parker 0d56226146 Fix delegate name. 2020-03-20 17:48:57 -05:00
Maurice Parker e3d46960fd Add CloudKit syncing add account UI. 2020-03-18 15:48:44 -05:00
Maurice Parker 5b5eaf6bb7 Merge branch 'ios-release' 2020-03-14 17:13:25 -05:00
Nate Weaver 1a930c4407 Simplify .utf8 2020-03-14 12:09:00 -05:00
Nate Weaver 6ad6fe46ad Make sure POST body is properly URL-encoded 2020-03-14 12:09:00 -05:00
Maurice Parker 8384725b01
Revert "Make sure POST body is properly URL-encoded" 2020-03-14 02:48:37 -05:00
Nate Weaver aed6858043 Simplify .utf8 2020-03-13 22:16:24 -05:00
Nate Weaver 3af70f5c7c Make sure POST body is properly URL-encoded 2020-03-13 22:12:36 -05:00
Maurice Parker cc0fd50ea2 Make podcast URL's have a lower priority than other URL's. Issue #1897 2020-03-13 12:57:43 -05:00
Maurice Parker fe31ca8076 Normalize the URL if it was found in the HTML metadata. Issue #1896 2020-03-13 12:15:35 -05:00
Maurice Parker 229aada857 Normalize the URL if it was found in the HTML metadata. 2020-03-13 12:11:38 -05:00
Maurice Parker 7d8feba24b Remove file coordinator usage from account files. Issue #1821 2020-03-03 11:39:04 -08:00
Maurice Parker 0e72811429 Implement mark as unread window for accounts that need it. Issue #1407 2020-02-18 13:49:29 -08:00
Maurice Parker 2ae021960b Move account files to the documents directory and out of the shared container. Issue #1784 2020-02-12 16:21:48 -08:00
Nate Weaver 4ac8107f27 Don't unwrap now-non-optionals, and unwrap now-explicit optionals 2020-02-08 18:22:35 -06:00
Brent Simmons c679d92e09 Make the Feedly tests build again — fix references to addOperation. 2020-02-05 22:37:43 -08:00
Brent Simmons 01fc60916e Move the operation queue from Account to ArticlesDatabase, which is the rightful owner. 2020-02-05 22:17:32 -08:00
Brent Simmons d40eaed1f5 Begin moving the MainThreadOperationQueue from Account to ArticlesDatabase. 2020-02-05 21:23:23 -08:00
Brent Simmons 2d33de1205 Fix references to addOperation, which is now just add. 2020-02-05 21:18:29 -08:00
Maurice Parker 2017a2138f Change to only send the unread counts init notification once during program load. Issue #1772 2020-02-03 10:28:34 -08:00
Brent Simmons 0b2ec6473a Call the correct fetchUnreadCounts methd. 2020-02-01 15:16:24 -08:00
Brent Simmons 3f4c84e442 Use the new FetchUnreadCountsForFeedsOperation. 2020-02-01 15:01:47 -08:00
Brent Simmons 9628b3021b Create FetchUnreadCountsForFeedsOperation. 2020-02-01 15:00:59 -08:00
Brent Simmons 30cf8c6a08 Add, as a micro-optimization, a custom hash function for FeedIdentifier. 2020-02-01 15:00:36 -08:00
Kiel Gillard b87882a919 Log failures attempting to add new feeds to a Feedly account to help debug #1691 2020-01-31 17:00:30 +11:00
Kiel Gillard e5e7163f8e Improve the test coverage and add some documentation. 2020-01-31 07:55:50 +11:00
Kiel Gillard a339b05bf8 Santizes right to left div elements from Feedly content. 2020-01-31 07:55:50 +11:00
Brent Simmons dc4850b777 Merge branch 'ios-candidate' of https://github.com/Ranchero-Software/NetNewsWire into ios-candidate 2020-01-29 23:09:44 -08:00
Brent Simmons 35adaa7a8c Fetch the unread count for just one feed when that’s all that’s needed. Helps performance. 2020-01-29 23:09:38 -08:00
Brent Simmons 99fcfbfef5 Create FetchFeedUnreadCountOperation to fetch the unread count for a single feed. 2020-01-29 22:47:01 -08:00
Brent Simmons 26efb8895c Close the resultSet in FetchAllUnreadCountsOperation. 2020-01-29 22:45:55 -08:00
Maurice Parker b53cbfcf2c Make sure completion handler is called when there are no active accounts. Issue #1727 2020-01-28 16:24:35 -07:00
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
Tim Ekl 13b227a461 Fix errors in Feedly set starred operations tests
More of the same: completion blocks which take Results need
do/catch/Result.get().
2019-12-31 19:24:36 -06:00
Tim Ekl f12e8b4a4a Fix errors in starred articles operations tests
Pull the same do/catch/Result.get() trick as previously for completion
blocks which now take Results. `try` a few throwing calls.
2019-12-31 19:11:37 -06:00
Tim Ekl 6a4f3fb11e Fix build errors in sync stream operations tests
Prefix two throwing calls with `try`. Label the enclosing test functions
with `throws` so the XCTest machinery helps us with error reporting.
2019-12-31 19:08:29 -06:00
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
Brent Simmons 51faf77e59 Update isExecuting and isFinished in a way that should make NSOperationQueue happy. Hopefully this fixes a mystery crash bug. 2019-12-31 15:40:05 -08: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 388886a355 Base our active articles window on dateArrived instead of datePublished. This reverses a recent change that led to some bugs. 2019-12-28 22:20:13 -08:00
Brent Simmons ac519c5c90 Add new and updated articles to the in-memory cache when saving articles. 2019-12-28 21:19:02 -08:00
Brent Simmons 26bb2b8eaf Remove references to Article.bannerImageURL. We can bring it back if/when we start using it. 2019-12-28 20:53:36 -08:00
Brent Simmons aeaeac61fc Get rid of DatabaseArticle entirely. Cache Article objects. This will make fetches faster *and* save memory. 2019-12-27 22:47:02 -08: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 73d6d5f5d5 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-12-17 14:29:53 -07:00
Brent Simmons 948d366a4e Created fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate — this gets articleIDs of articles we care about. They’re not deleted. They’re either (starred) or (unread and newer than cutoffDate). Also: it’s async. Use this instead of fetchArticleIDsForStatusesWithoutArticles, which is deprecated. 2019-12-17 13:28:48 -08: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 e2db7b4a5d Fix bug where completion wasn’t getting called on the main thread. 2019-12-16 22:56:38 -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
Brent Simmons 908652df51 Make just one database call in fetchUnreadCounts — use fetchAllUnreadCounts and process the UnreadCountDictionary. 2019-12-16 14:43:11 -08:00
Maurice Parker 9dad3f0540 Pass the account metadata to delegate on initialization 2019-12-16 14:19:55 -07:00
Brent Simmons aa5859ff27 Use makeDatabaseCalls/switch pattern in ArticlesTable. 2019-12-16 12:49:46 -08:00
Brent Simmons 3981312d6f Update sync code to handle async selectForProcessing. 2019-12-16 12:49:07 -08:00
Brent Simmons 7b7346d010 Make selectForProcessing async. 2019-12-16 11:08:47 -08:00
Brent Simmons 7a134740ec Make SyncDatabase selectPendingCount async. 2019-12-16 10:50:13 -08:00
Brent Simmons 894d3909a3 Make SyncDatabase work with DatabaseQueue changes. 2019-12-15 23:07:28 -08:00
Brent Simmons e0f61c362b Switch to using the new DatabaseError. 2019-12-15 22:37:45 -08:00
Brent Simmons 1f65b3fc87 Remove isSuspended property; add a try! when creating tables. 2019-12-15 22:28:48 -08:00
Brent Simmons df45484205 Update Articles.framework to use revised DatabaseQueue — use Result types and throwing functions. 2019-12-15 22:09:27 -08:00
Brent Simmons 9cb0bcbc94 Make ArticlesDatabase.swift compatible with the DatabaseQueue revisions. 2019-12-15 17:26:45 -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 e90c6d1395 Guard against empty queries. Issue #1431 2019-12-11 13:19:22 -07: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
Maurice Parker 5872893293 Prevent calls to database while it is suspended. Issue #1424 2019-12-09 14:06:03 -07:00
Kiel Gillard 2401b0be1b Fix compilation issues with tests after Account API changes. 2019-12-09 18:54:29 +11:00
Brent Simmons e3e07e771d Remove maximumArticleCutoffDate; just use articleCutoffDate. 2019-12-08 22:38:00 -08:00
Brent Simmons cf84021fab Make NetNewsWire’s article display window 90 days. It was 93 days, which is weird, even though there was a good reason (3 * 31). 2019-12-08 22:21:53 -08:00
Brent Simmons 03fd162d37 Use datePublished when fetching articles for a feed for display in the UI. This defines the window instead of dateArrived — though dateArrived is still the fallback when datePublished is nil. 2019-12-08 22:17:25 -08:00
Brent Simmons 03f95e4788 Make article indexing more efficient. 2019-12-08 17:14:20 -08:00
Brent Simmons f7bc920f11 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-12-08 11:49:09 -08:00
Brent Simmons cb96fe64ed Fix bug where search indexing wasn’t actually happening. 2019-12-08 11:49:02 -08: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 0759c303cc Don't query unread counts if database is suspended 2019-12-07 16:57:21 -07: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 ffaa630f34 Improve performance of finding updated articles by improving performance of comparing articles by improving performance of comparing authors. 2019-12-07 14:23:51 -08: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 66c7a9532c Remove references to attachments in a couple more spots. 2019-12-04 22:45:15 -08:00
Brent Simmons ebd7c68396 Merge mac-release — remove attachments. 2019-12-04 22:36:08 -08: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
Brent Simmons 3ead2c63bc Remove attachments from the app, since we’re not using attachments in any way. We could always add it back later. 2019-12-03 23:03:15 -08:00
Brent Simmons 5725e94414 Fix threading violation with indexing articles. 2019-12-03 22:46:50 -08:00
Brent Simmons d03b2b0277 Check if the queue is suspended before attempting to index articles in the database. 2019-12-03 21:56:52 -08: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 9dc3ed03c7 Adopt DatabaseQueue. 2019-11-29 21:49:44 -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 16da609fa9 Restore Smart Feed or Folder path if possible when restoring an Article. Issue #1241 2019-11-15 18:26:52 -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 f6e48bddbe Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-11-04 20:24:27 -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
Kiel Gillard bfac176372 Modifies SyncDatabase to synchronously create tables so clients can reliably use an instance immediately after initialisation. 2019-11-05 10:03:29 +11: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
Brent Simmons cd4135bf9a Remove old, comment-out update method in ArticlesTable. 2019-10-24 21:48:24 -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
Daniel Jalkut 79d641e6ee Remove the binary Sparkle framework and add newer sandboxing-compatible Sparkle branch as a submodule dependency. Update to get it roughly building and working with the direct build. 2019-10-21 23:41:57 -04: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
Maurice Parker c43599d4c9 Fix default team for framework projects 2019-10-06 18:58:28 -05:00
Maurice Parker 6d2667de24 Remove build settings from sync database project file 2019-10-06 18:36:39 -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 37c9818cad Create and use a cache for DatabaseArticle — this will make fetches faster, since we can skip pulling the same data from the database over and over. Articles in the cache are removed when articles are updated, so the cache is never stale. 2019-09-28 13:51:33 -07:00
Brent Simmons 2b491217f3 Create statusWithRow(_ row: FMResultSet, articleID: String) — it allows us to avoid pulling articleID from the row twice every time we’re creating a DatabaseArticle. 2019-09-28 12:18:08 -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 8b5cc817c6 Override code_sign_identity 2019-09-25 10:49:55 -05:00
Maurice Parker d096c44ef5 Fixed Articles xcconfig parameters 2019-09-25 10:38:13 -05:00
Maurice Parker e2a25e6239 Require 13.0 deployment target for iOS in frameworks 2019-09-25 10:13:15 -05:00