Commit Graph

69 Commits

Author SHA1 Message Date
Brent Simmons 75d2158163 Perform a one-time (per local account) cleanup made necessary by the retention policy change — mark articles older than the 90-day window as read. This way users won’t get a flood of old, unread articles when they run this new version. 2020-04-19 14:10:12 -07:00
Brent Simmons b2b000dd2e Implement updated retention policy. 2020-04-18 20:18:32 -07:00
Brent Simmons d2812fa132 Delete old statuses at startup. 2020-04-18 16:59:13 -07:00
Brent Simmons 6d9eda442f Remove userDeleted support. The read-items filter seems to fill the need to hide things. We’re simplifying the backend by removing this unused feature. 2020-04-12 17:12:36 -07:00
Brent Simmons cf98ff49ea Implement retention policy for feed-based accounts (local, iCloud). 2020-03-29 23:20:01 -07:00
Brent Simmons 2c4ee99dc2 Create and use ArticlesDatabase.RetentionStyle enum. 2020-03-29 18:51:03 -07: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
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
Brent Simmons 3f4c84e442 Use the new FetchUnreadCountsForFeedsOperation. 2020-02-01 15:01:47 -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 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
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
Brent Simmons 47f3e863b6 Delete articles older than the 90-day window. 2020-01-08 22:07:03 -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
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
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 15184aa3f1 Finish changes mandated by DatabaseQueue changes. 2019-12-16 22:45:59 -08:00
Brent Simmons 67f65545b3 Continue changes mandated by DatabaseQueue changes. 2019-12-16 15:55:37 -08:00
Brent Simmons aa5859ff27 Use makeDatabaseCalls/switch pattern in ArticlesTable. 2019-12-16 12:49:46 -08:00
Brent Simmons e0f61c362b Switch to using the new DatabaseError. 2019-12-15 22:37:45 -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
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
Brent Simmons ebd7c68396 Merge mac-release — remove attachments. 2019-12-04 22:36:08 -08: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 45804a3d1a Use the new VoidCompletionBlock instead of (() -> ()). 2019-11-29 23:42:11 -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
Maurice Parker 43744ec128 Add folder read fetch query. 2019-11-22 10:21:30 -06:00
Maurice Parker 06bd5b3a6f Renamed Feed and related classes/instances to WebFeed 2019-11-14 20:11:41 -06: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
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 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 fe2e0155da Add scoped searching of articles 2019-08-31 15:53:47 -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
Brent Simmons f824be2f16 Change Today feed from 28 hours to 24 hours, since 24 hours is less weird and more easily explainable. 2019-07-27 12:30:13 -07:00