267 Commits

Author SHA1 Message Date
Brent Simmons
1d52a1229b Pull editedName from OPML when feed.editedName == nil. 2019-03-14 22:34:22 -07:00
Brent Simmons
79a6d5f761 Continue transition from ODB to FeedMetadata.plist. It’s simpler and uses less memory. 2019-03-13 23:41:43 -07:00
Brent Simmons
4c6d3807cb Remove unused settingsTable. 2019-03-03 21:35:04 -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
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
6f41b2a728 Queue saving to disk, in Account, even during refresh. 2019-02-07 21:29:05 -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
f5d6e7e8fa Fix bug where empty folders would be lost between runs of the app. 2019-01-27 21:42:58 -08:00
Brent Simmons
d69058c10c Fix a couple first-run startup bugs. 2018-09-26 22:05:35 -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
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
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
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
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
Brent Simmons
cfb3bd706e Use new hash-into function instead of calculating hashValue. WIP on #402. 2018-08-25 11:54:58 -07:00
Brent Simmons
fc338d5371 Move Feed from Articles.framework to Account.framework. 2018-07-28 12:16:14 -07:00
Brent Simmons
b7575c687c Rename Data.framework to Articles.framework. Rename Database.framework to ArticlesDatabase.framework. 2018-07-23 18:29:08 -07:00
Olof Hellman
c91f4621e1 Merge remote-tracking branch 'brentsimmons/master' 2018-03-04 18:43:49 -08:00
Brent Simmons
7def2ae8d0 Fix bug where deleting from the sidebar would not stick across runs of the app sometimes — whatever you deleted could come back. 2018-02-24 15:54:32 -08:00
Olof Hellman
71005b56af support for "make new feed" 2018-02-20 00:26:46 -08:00
Brent Simmons
c80e3e86de Don’t save an Account to disk during a refresh session. Wait till it’s over. 2018-02-17 18:02:40 -08:00
Brent Simmons
64647c73c6 Use a coalescing queue (instead of a Timer) in Account for saving to disk. 2018-02-17 15:38:54 -08:00
Brent Simmons
2f21dbf6be Remove extraneous get { from a bunch of read-only accessors. 2018-02-14 13:14:25 -08:00
Brent Simmons
a13d21395e Fetch starred articles for the Starred smart feed. 2018-02-11 12:07:55 -08:00
Brent Simmons
5aeb914ab6 Fetch articles for the Today smart feed. 2018-02-10 17:37:47 -08:00
Brent Simmons
00cf3934e5 Add fetchUnreadArticles method to Account, which will be used by the All Unread smart feed. 2018-02-10 13:00:16 -08:00
Brent Simmons
a6db249ab6 Add ArticleFetcher protocol. Add Feed and Folder extensions for it. 2018-02-04 10:57:41 -08:00
Daniel Jalkut
d7f13ca4be Change from flatMap to new compactMap rename in Xcode 9.3. 2018-01-29 11:19:54 -05:00
Brent Simmons
f109237bfa Handle feed renames in the inspector. Handle multiple selection. Fix #137. 2018-01-23 21:49:33 -08:00
Brent Simmons
6b059671f5 Make progress on reloading timeline when feed updates. 2018-01-17 17:28:09 -08:00
Brent Simmons
8f9575ee84 Remove assertion that wasn’t valid in some situations. Fix #283. 2017-12-29 10:13:11 -08:00
Brent Simmons
0b2d7c6733 Validate unread counts on fetching articles. Fix #274. 2017-12-26 11:27:55 -08:00
Brent Simmons
23769bc391 Add AccountDelegate.accountDidInitialize method, so that the delegate can set the account’s nameForDisplay before anything else happens. Fix #247. 2017-12-19 17:48:30 -08:00
Brent Simmons
5b01f04afe Save to disk right after importing OPML. Fix #249. 2017-12-18 21:46:35 -08:00
Brent Simmons
3eb95ce63d Fix OPML import performance regression. Fix #238. 2017-12-11 23:12:54 -08:00
Brent Simmons
a488683550 Refresh all after importing OPML. Fix #59. 2017-12-03 12:54:51 -08:00