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