511 Commits

Author SHA1 Message Date
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
Daniel Jalkut
ddb0ee21b6 Quiet warnings/errors from Xcode 10.2 about redundant public attributes on methods implemented inside public extensions. 2019-02-12 10:05:51 -05:00
Brent Simmons
8a5428c1cf Discard future dates. Fix #538. 2019-02-08 21:54:45 -08:00
Brent Simmons
1466f7e919 Fix bug getting unread count for the Today smart feed — it would skip articles with no pubDate, but that did arrive today (and thus should be considered as part of Today). 2019-02-08 21:05:55 -08:00
Brent Simmons
7f82f9d607 Fix a bug where articles with changed dates wouldn’t update in the database. Make the code a bit more clear, too. 2019-02-08 20:41:46 -08:00
Brent Simmons
6f41b2a728 Queue saving to disk, in Account, even during refresh. 2019-02-07 21:29:05 -08:00
Brent Simmons
eb3c69f4d0 Don’t write "Untitled" to Subscriptions.opml when a feed lacks a name or editedName — “Untitled” is a localizable, display-only string, not something to store in OPML. Fix #527. 2019-02-06 21:18:22 -08:00
Brent Simmons
aadf4ec09f Don’t set feed.editedName when importing OPML in Account. 2019-02-06 21:17:17 -08:00
Brent Simmons
ddccbdf610 Add addFeed and addFeeds to the Container protocol. This was confusing before. Now you can add directly to a Folder or Account. 2019-02-05 21:48:32 -08:00
Brent Simmons
448293a836 Set feed.title from the OPML — don’t just leave it blank. 2019-02-02 18:08:01 -08:00
Brent Simmons
30324c8ec0 Make sure that feed.editedName is never "". Treat it as nil. 2019-02-02 17:46:15 -08:00
Brent Simmons
a8ec3b9d58 Switch skip-install to Yes for Articles.framework. 2019-01-28 20:44:09 -08:00
Brent Simmons
f5d6e7e8fa Fix bug where empty folders would be lost between runs of the app. 2019-01-27 21:42:58 -08:00
Brent Simmons
142774f5ae Use hash(into…) instead of a hashValue instance variable. 2018-12-27 21:07:34 -08:00
Brent Simmons
b900cbc0b7 Make Feed and Folder conform to Renewable. 2018-11-22 13:57:49 -08:00
Brent Simmons
485bde7ff2 Complete (probably) work on Feedbin sync data types. 2018-10-14 18:38:33 -07:00
Brent Simmons
cd6e6daf31 Continue work on Feedbin sync data types. 2018-10-14 18:10:07 -07:00
Brent Simmons
d69058c10c Fix a couple first-run startup bugs. 2018-09-26 22:05:35 -07:00
Brent Simmons
33fe733a8e Redo the database indexes, after some trial and error, to get some significant speed boosts in fetching articles and unread counts. 2018-09-25 22:48:47 -07:00
Brent Simmons
7026eae899 Skip writing OPML file to disk during startup. Structure-changed notices happen during startup as the object graph is created, but it doesn’t mean that there’s a change that requires saving to disk. 2018-09-16 20:02:24 -07:00
Brent Simmons
1c3dca4d9b Update unreadCount for an Account only when one of its feeds changes its unreadCount. 2018-09-16 19:07:07 -07:00
Brent Simmons
a914b3949b Made launch performance *much* faster for large (thousands of feeds) subscriptions list. Also: split container.children in container.topLevelFeeds and container.folders. This simplifies a bunch of things, and makes some things faster. 2018-09-16 17:54:42 -07:00
Brent Simmons
6b6d393b3d Delete some dead code. 2018-09-16 13:08:44 -07:00
Brent Simmons
3d45231494 Stop using urlToFeedDictionary. Feeds don’t have to be uniqued. 2018-09-16 13:04:42 -07:00
Brent Simmons
f8d6cb48dc Remove instance where Feed equality was expected to be pointer equality, which is no longer true. 2018-09-16 12:46:50 -07:00
Brent Simmons
4010b4cb2a On startup, import from AccountData.plist one last time, then rename it to AccountData-old.plist. On subsequent startups, import using Subscriptions.opml. 2018-09-16 12:42:46 -07:00
Brent Simmons
823d83c942 Write to disk on display-name-change only if it’s a Folder, since Feed names are stored in ODB. 2018-09-15 12:08:57 -07:00
Brent Simmons
d0df791b93 Skip writing to disk when feed setting changes, since we’re writing OPML now and storing feed settings in ODB. 2018-09-15 12:06:19 -07:00
Brent Simmons
abd8fb2236 Store feed.name and feed.editedName in ODB. 2018-09-15 11:45:01 -07:00
Brent Simmons
ce1fe6ed1f Store feed.editedName in ODB. 2018-09-15 11:39:33 -07:00
Brent Simmons
0f59b904ef Store feed.authors in ODB. Make Author Codable. 2018-09-15 11:16:05 -07:00
Brent Simmons
904feb9950 Store feed.homePageURL in ODB. 2018-09-14 22:23:30 -07:00
Brent Simmons
fb9590de98 Make feedID and accountID the things that determine hashing and equality for a Feed. 2018-09-14 22:15:22 -07:00
Brent Simmons
47cf018143 Store feed.unreadCount with the Account rather than the feed. This is part of making it so that feeds no longer have to be uniqued. 2018-09-14 22:06:03 -07:00
Brent Simmons
28d084e246 Store iconURL and faviconURL in ODB. 2018-09-14 21:51:05 -07:00
Brent Simmons
6d2bb123e3 Save conditional GET info in ODB. 2018-09-14 19:33:47 -07:00
Brent Simmons
3f1f4fd24c Write Subscriptions.opml to disk. 2018-09-14 13:25:38 -07:00
Brent Simmons
b8546d8e8b Don't store account.unreadCount in Settings.odb. Don’t rewrite AccountData.plist when feed.contentHash changes. 2018-09-14 13:12:55 -07:00
Brent Simmons
13fbad12a5 Store feed.contentHash in Settings.odb. 2018-09-13 22:52:34 -07:00
Brent Simmons
679e6f6c0b Give Feed a weak account rather than accountID. 2018-09-13 22:37:40 -07:00
Brent Simmons
b5b42b8df6 Stop storing unreadCount for Feed and Folder objects on disk, since they’re fast to fetch at startup. Also, give Feed an ODBRawValueTable for metadata storage. 2018-09-13 22:25:10 -07:00
Brent Simmons
b7e9fbf2a6 Stop saving account’s unread count to disk — no need. It gets calculated at startup plenty fast enough. 2018-09-13 21:25:35 -07:00
Brent Simmons
4bc6c7d5db Start using ODB code with Account. Store the unread count in the settings database. 2018-09-12 22:28:21 -07:00
Brent Simmons
25ff76e1e5 Fix a performance bug when fetching all unread articles. When validating unread counts, it was looping through the entire set of articles once per feed. Now it loops through articles just once, for a major performance boost with lots of feeds and/or lots of unread articles. 2018-09-10 22:08:38 -07:00
Maurice Parker
6e6f64321b fixed unintended developement team change 2018-09-07 13:50:34 -05:00
Maurice Parker
808715892f Changed project and framework projects to default to using tabs per the coding guidelines. Also corrected previously committed files with spaces used incorrectly. 2018-09-07 13:46:00 -05:00
Brent Simmons
0e5051b060 Fix a major performance regression with article fetching/creation by not using implicit hashing — use explicit and simpler hashValue that will still provide high quality. 2018-09-02 12:36:46 -07:00
Brent Simmons
fdb159a61b Normalize homePageURL in its setter. Fix #397. 2018-09-02 12:14:04 -07:00