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