Commit Graph

76 Commits

Author SHA1 Message Date
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
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
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 cd4135bf9a Remove old, comment-out update method in ArticlesTable. 2019-10-24 21:48:24 -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
Brent Simmons 13eb6450c7 Merge branch 'mac-release' 2019-09-28 13:52:07 -07:00
Brent Simmons 37c9818cad Create and use a cache for DatabaseArticle — this will make fetches faster, since we can skip pulling the same data from the database over and over. Articles in the cache are removed when articles are updated, so the cache is never stale. 2019-09-28 13:51:33 -07:00
Brent Simmons 2b491217f3 Create statusWithRow(_ row: FMResultSet, articleID: String) — it allows us to avoid pulling articleID from the row twice every time we’re creating a DatabaseArticle. 2019-09-28 12:18:08 -07:00