Commit Graph

159 Commits

Author SHA1 Message Date
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
Maurice Parker
53ba0bc9ac Fix so that Feedbin correctly stores the perma link in the correct field. 2020-01-19 17:15:21 -07: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
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
Maurice Parker
236f581d95 Update Feedbin to use fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate for missing articles. 2019-12-17 17:43:08 -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
15184aa3f1 Finish changes mandated by DatabaseQueue changes. 2019-12-16 22:45:59 -08:00
Brent Simmons
3981312d6f Update sync code to handle async selectForProcessing. 2019-12-16 12:49:07 -08:00
Brent Simmons
7a134740ec Make SyncDatabase selectPendingCount async. 2019-12-16 10:50:13 -08:00
Maurice Parker
358f386c4b Change progress view to use the most recent last fetch end time. Issue #1383 2019-12-09 18:34:26 -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
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
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
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
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
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
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
Maurice Parker
c6e3ed6692 Cancel network activity when told to shutdown by the OS. Issue #1232 2019-11-04 20:24:21 -06:00
Maurice Parker
2f2efb5eac Change Feedbin to no longer clear lastFetchDate on errors. Issue #1233 2019-11-02 16:21:37 -05:00
Jonathan Bennett
d70c996c06 use the URLQueryItem helper 2019-10-17 01:56:42 -04: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
50276233d1 Add feeds all in one go when processing Feedbin subscriptions. This is a performance enhancement. 2019-10-06 12:37:46 -07: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
Brent Simmons
13eb6450c7 Merge branch 'mac-release' 2019-09-28 13:52:07 -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
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
6f9d3953f1 Ensure that account metadata gets propagated to delegates when it reloads 2019-09-23 09:57:50 -05:00
Maurice Parker
af0d6c9022 Implement AccountBehaviors so that we don't have to keep adding boolean flags to account 2019-09-20 11:34:31 -05:00
Maurice Parker
8e939e9942 Change Credentials to be a struct instead of an enum 2019-09-15 10:03:47 -05:00
Brent Simmons
2eccfbb90e Merge branch 'mac-release' 2019-09-08 21:44:28 -07:00
Brent Simmons
41c82eca15 Rename existingFeed(with:) to existingFeed(withFeedID:) to make it more clear. Make account.idToFeedDictionary private — callers should use existingFeed(withFeedID:). 2019-09-08 21:44:05 -07:00
Maurice Parker
6cf1e4539d Merge branch 'mac-release' 2019-09-01 10:51:22 -05:00
Maurice Parker
e31dec7c44 Call completion handler when there are no feeds associated with the folder being removed. Issue #938 2019-09-01 10:49:35 -05:00
Maurice Parker
ea1f21797c Merge branch 'mac-release' 2019-08-30 11:28:16 -05:00
Maurice Parker
a69be4117a Retrieve statuses before articles during sync process and default starred articles to read if there isn't an unread status Issue #868 2019-08-30 10:39:52 -05:00
Maurice Parker
e263665a21 Merge branch 'mac-candidate' 2019-07-23 16:36:46 -05:00
Maurice Parker
4fc1998cf3 Make Account and AccountDelegate interfaces more consistent by requiring the container parameter on removeFeed. Resolves #802 2019-07-17 15:41:21 -05:00
Brent Simmons
783477c58e Merge branch 'mac-candidate' 2019-07-07 15:07:21 -07:00
Brent Simmons
36791fc3ad Make fetching article IDs async — use a callback rather than a fetch sync and a returned value. 2019-07-07 15:05:36 -07:00
Brent Simmons
424daa0a5c Merge branch 'mac-candidate' 2019-07-07 14:26:05 -07:00
Brent Simmons
597c57e61c Remove references to DispatchQueue.main.sync and assert that we’re on the main thread. 2019-07-07 14:24:50 -07:00
Brent Simmons
a5bf148d82 Make Transport callbacks run on the main thread, which is consistent with NetNewsWire’s general pattern for these types of callbacks. This helps avoid situations where we touch model objects (which are main-thread-only) on a background thread. 2019-07-07 13:42:24 -07:00
Brent Simmons
3999c7b3c5 Merge branch 'mac-candidate' 2019-07-05 22:42:01 -07:00
Brent Simmons
7a204ad6ed Run database fetches async, in the timeline, when appropriate — for instance, when All Unread is selected and new articles come in. 2019-07-05 20:06:31 -07:00