Commit Graph

1100 Commits

Author SHA1 Message Date
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