Commit Graph

135 Commits

Author SHA1 Message Date
Maurice Parker a8dcf3eeee Add the unread statuses on receipt to CloudKit. 2020-04-10 17:23:39 -05: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 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 9628b3021b Create FetchUnreadCountsForFeedsOperation. 2020-02-01 15:00:59 -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 26efb8895c Close the resultSet in FetchAllUnreadCountsOperation. 2020-01-29 22:45:55 -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 5d38e79f38 Add FetchAllUnreadCountsOperation. Not using it yet, but we will be. 2020-01-27 19:55:10 -08:00
Nate Weaver b35215d03b Update for pending RSCore String updates 2020-01-17 13:45:38 -06: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
Nate Weaver 5cceebad9c Set Mac deployment target to 10.14
Also remove duplicate declarations.
2020-01-09 19:16:19 -06:00
Brent Simmons 47f3e863b6 Delete articles older than the 90-day window. 2020-01-08 22:07:03 -08:00
Brent Simmons c583c4d474 Fetch both read and unread orphaned statuses. 2020-01-06 18:18:27 -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 26bb2b8eaf Remove references to Article.bannerImageURL. We can bring it back if/when we start using it. 2019-12-28 20:53:36 -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 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 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 67f65545b3 Continue changes mandated by DatabaseQueue changes. 2019-12-16 15:55:37 -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
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 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