Commit Graph

93 Commits

Author SHA1 Message Date
Maurice Parker
ac45ba57a9 Merge branch 'ios-release' 2020-04-23 15:32:55 -05:00
Brent Simmons
c55d8c540e Implement revised retention policy for feed-based accounts. Keep all articles currently in the feed and all articles in the last 30 days. 2020-04-22 21:43:10 -07:00
Maurice Parker
7268dcdd77 Merge branch 'ios-release' 2020-04-21 02:06:19 -05:00
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
Maurice Parker
afdfe5fe71 Merge branch 'ios-release' 2020-04-16 16:36:53 -05: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
22c2a7a72e Delete old articles in a graduated way, so as not to block the database for too long. Also: don‘t delete old unread articles in accounts that use an external sync service. 2020-04-12 16:36:35 -07:00
Maurice Parker
983138366f Add code to process new article entries. 2020-04-10 16:25:58 -05:00
Maurice Parker
4418a4bb02 Add completion block that returns new status records when we are marking statuses asynchronously. 2020-04-10 15:19:33 -05: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
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
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
cea34c9e49 Update RSCore. 2019-12-31 18:58:57 -08: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
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
db564d9cf9 Remove all references to fetchArticleIDsForStatusesWithoutArticles. Use fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate instead. 2019-12-17 21:15:20 -08: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
e2db7b4a5d Fix bug where completion wasn’t getting called on the main thread. 2019-12-16 22:56:38 -08:00
Brent Simmons
15184aa3f1 Finish changes mandated by DatabaseQueue changes. 2019-12-16 22:45:59 -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
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
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
5872893293 Prevent calls to database while it is suspended. Issue #1424 2019-12-09 14:06:03 -07: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
cb96fe64ed Fix bug where search indexing wasn’t actually happening. 2019-12-08 11:49:02 -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
Maurice Parker
0759c303cc Don't query unread counts if database is suspended 2019-12-07 16:57:21 -07: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