Commit Graph

163 Commits

Author SHA1 Message Date
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
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 66c7a9532c Remove references to attachments in a couple more spots. 2019-12-04 22:45:15 -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 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
Maurice Parker ee1f26899c Add Test build configuration 2019-10-11 17:38:01 -05:00
Maurice Parker 02128b8b12 Add VerifyNoBS script on framework projects 2019-10-10 13:58:31 -05:00
Maurice Parker df79422185 Remove provisioning profile 2019-10-10 00:32:18 -05:00
Maurice Parker 0b5be9057f Correct build configuration for CI build 2019-10-10 00:24:36 -05:00
Maurice Parker c43599d4c9 Fix default team for framework projects 2019-10-06 18:58:28 -05: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
Maurice Parker 833a789e6e Merge branch 'mac-release' 2019-09-25 15:39:14 -05:00
Maurice Parker 08a8b8f6c2 Update to Swift 5.1 2019-09-25 15:32:30 -05:00
Maurice Parker e2a25e6239 Require 13.0 deployment target for iOS in frameworks 2019-09-25 10:13:15 -05:00
Maurice Parker cb394a2a61 add APPLICATION_EXTENSION_API_ONLY build setting 2019-09-23 19:56:16 -05: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
Brent Simmons 9edc726065 Make the Today smart feed show articles from the last 28 hours, so it doesn’t surprise people by emptying out at midnight. 2019-07-24 09:27:03 -07:00
Brent Simmons 1a03bcf03c Make code formatting match current style. 2019-07-08 22:22:31 -07:00
Brent Simmons cc458ecab7 Make code formatting match current style. 2019-07-08 22:20:57 -07:00
Brent Simmons 5d3cd8889f Make optionalIntForColumn an extension method on FMResultSet. 2019-07-08 22:20:46 -07:00
Brent Simmons c6907b73f9 Make code formatting in AttachmentsTable match current style. 2019-07-08 22:13:30 -07:00
Brent Simmons bed1620ae4 Make code formatting in AuthorsTable match current style. 2019-07-08 22:11:24 -07:00
Brent Simmons 1d2ea8a4af Make code formatting in StatusesTable match ourrent style. 2019-07-08 22:09:28 -07:00
Brent Simmons 8422122816 Delete a few unused lines of code. 2019-07-08 21:47:11 -07:00
Brent Simmons 72fa80956a Make code formatting in ArticlesTable match current style. Also: normalize MARK comments. 2019-07-08 21:35:29 -07:00
Brent Simmons 011054b345 Remove some unused code. 2019-07-08 21:22:06 -07:00
Brent Simmons 33ff7c94c3 Make articlesTable.ensureStatuses non-blocking. 2019-07-08 21:09:54 -07:00
Brent Simmons 3d0d6fa8a9 Mark function as having @discardableResult, because we don’t always care about the result. 2019-07-08 21:09:16 -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 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
Maurice Parker d289bbea94 Fix crashing bug caused by nesting update statements. 2019-05-21 17:59:33 -05:00
Maurice Parker 8e7b1c8454 Make sure the statuses get updated before the unread count query executes. Issue #670 2019-05-20 17:08:16 -05:00
Maurice Parker a5d6e5403e Add additional sql check to ensure we don't pick up deleted articles when querying for missing articles 2019-05-20 13:55:26 -05:00
Maurice Parker 9c159d21f6 Retrieve articles when we have a status but don't have an article on full refresh. 2019-05-17 14:56:27 -05:00
Maurice Parker e31e1a4d60 Save article statuses from articles we have not received yet 2019-05-14 10:06:29 -05:00
Maurice Parker 62d154d0f2 Add download syncing of article statuses 2019-05-14 06:20:53 -05:00
Maurice Parker c4ce93e96a Set default read state for Feedbin articles to read when syncing 2019-05-13 08:32:03 -05:00
Maurice Parker 9c676f29f8 add articles download for Feedbin 2019-05-12 18:32:32 -05:00
Maurice Parker 6b8524b70d Made frameworks cross platform and got generated iOS app to compile. 2019-04-15 13:30:10 -05:00
Brent Simmons cd77dd1bcf Convert ArticlesDatabase to Swift 5. 2019-03-31 16:06:57 -07:00
Brent Simmons cb45897256 Remove unused markEverywhereAsRead. 2019-03-16 16:48:14 -07:00
Brent Simmons 08110044ea Create database index on searchRowID, which should make searching slightly faster. 2019-03-03 12:30:58 -08:00
Brent Simmons ef9f2b1cdd Remove extraneous semicolon. 2019-03-03 12:11:16 -08:00
Brent Simmons 9b05c7185e Remove unneeded self. 2019-03-03 12:05:34 -08:00
Brent Simmons a9751d5a51 Get searchRowID by column index 0, since it’s a single-column query. This should make searching imperceptibly faster. 2019-03-03 12:02:26 -08:00
Brent Simmons e04250f1b3 Use DatabaseDictionary instead of NSDictionary. Work around a Swift memory leak with NSDictionary. 2019-03-02 16:17:06 -08:00
Brent Simmons 1950b0ab47 Remove extra resultSet.close(). 2019-02-25 21:01:20 -08:00
Brent Simmons 0a45dda375 Create SearchFeedDelegate. Make searching synchronous, since it’s fast enough. 2019-02-24 19:22:16 -08:00
Brent Simmons b957753f5c Revise fetchArticlesMatching function to use FTS. 2019-02-24 18:37:13 -08:00
Brent Simmons e9c76e8ac0 Index articles using SQLite FTS. 2019-02-24 15:34:10 -08:00
Brent Simmons 44edbc7b09 Add search index to database. Move create-table statements into ArticlesDatabase since we can do big strings. 2019-02-22 22:17:05 -08:00
Brent Simmons efe8a4ab15 Implement search — fetch articles matching a search string from the database. 2019-02-18 22:29:43 -08:00