Commit Graph

621 Commits

Author SHA1 Message Date
Maurice Parker 35160aaf75 Rename AccountSettings to AccountMetadata to show that more than settings are stored in it and that it is analogous to FeedMetadata 2019-05-05 07:49:59 -05:00
Maurice Parker 6e7477fd89 Modify AccountSettings so that it works like FeedMetadata and can be leveraged by the AccountDelegates 2019-05-05 07:21:26 -05:00
Maurice Parker d12a056ca3 Pass stored credentials to the delegate when updated 2019-05-05 06:02:28 -05:00
Maurice Parker fc7b6f2c6b refactor how Credentials work 2019-05-05 03:25:21 -05:00
Maurice Parker aaa4342494 Add encrypted credential storage 2019-05-04 15:14:49 -05:00
Maurice Parker 595db517a7 change func signitures to use Credentials protocol from RSWeb instead of username/password 2019-05-04 11:48:48 -05:00
Maurice Parker 38202ece8d Made credentials verification errors more descriptive. 2019-05-04 09:18:14 -05:00
Maurice Parker bb42e46887 Update to use latest webservice network layer in RSWeb 2019-05-04 08:54:07 -05:00
Maurice Parker 5a852c1615 validate Feedbin account credentials and add Feedbin account 2019-05-02 18:17:52 -05:00
Maurice Parker e0efcfa847 Update unread counts for activate/inactivate and delete account 2019-05-02 08:41:22 -05:00
Maurice Parker 137f061169 Prevent delete while refresh in progress 2019-05-02 06:50:35 -05:00
Maurice Parker 636468bbf0 Implement active account processing functionality 2019-05-02 06:01:30 -05:00
Maurice Parker 747079157b Implement account state UI 2019-05-02 05:41:44 -05:00
Maurice Parker f5523dd610 Add delete from disk 2019-05-01 19:22:07 -05:00
Maurice Parker 93630a7b72 Load accounts from disk 2019-05-01 13:13:53 -05:00
Maurice Parker f4180424e1 Add multiple local accounts 2019-05-01 12:37:13 -05:00
Maurice Parker 4edffa488d Rename classes to match naming convention 2019-05-01 11:05:55 -05:00
Maurice Parker fe8e825c0d Add account add UI 2019-05-01 10:28:13 -05:00
Maurice Parker 4bc7611721 Rename AccountManageer.localAccount to AccountManager.defaultAccount to make it different from other local accounts 2019-05-01 05:53:18 -05:00
Maurice Parker ba57a27a35 Make local account display names changeable 2019-04-30 06:38:18 -05:00
Maurice Parker ae63805479 Change property to have correct swift naming convention name 2019-04-27 16:16:46 -05:00
Maurice Parker 9400ea361e Add notification for downloaded article(s). 2019-04-27 13:54:52 -05:00
Maurice Parker e10bfde6d9 Rollback code created to support background downloads that are no longer needed 2019-04-26 14:21:17 -05:00
Maurice Parker f5941fda64 Add AccountRefreshMode to be able to choose between background and foreground download sessions 2019-04-25 09:25:13 -05:00
Maurice Parker f3c2d8c1f8 Updated to lastest RSWeb 2019-04-25 07:13:14 -05:00
Maurice Parker f4c0fca6a8 Implement background downloading of feeds 2019-04-24 07:30:35 -05:00
Maurice Parker 17caa31ee5 Added device specific local account names. 2019-04-17 13:01:26 -05:00
Maurice Parker b9f2a500a1 cleared the code signing identity 2019-04-15 17:14:47 -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 0e44c135ae Convert Account to Swift 5. 2019-03-31 16:12:17 -07:00
Brent Simmons 10cdc1553e Post display name did change notification when an Account’s name changes. 2019-03-31 16:12:03 -07:00
Brent Simmons 268a5453ad Convert Articles to Swift 5. 2019-03-31 16:09:32 -07:00
Brent Simmons cd77dd1bcf Convert ArticlesDatabase to Swift 5. 2019-03-31 16:06:57 -07:00
Brent Simmons 2819403d62 Store the account name in a settings file. Set a default name based on the account type. 2019-03-27 22:10:14 -07:00
Brent Simmons c84f273b92 Continue work on accounts UI in Preferences. 2019-03-20 22:10:22 -07:00
Brent Simmons 70bc4a7b45 Pay attention to the changed key when handling feed setting change notifications. 2019-03-17 13:54:30 -07:00
Brent Simmons 5f1bdb29ec Give the .FeedSettingsDidChange notification a userInfo with the key of the setting that changed. This way observers can ignore changes they don’t care about. 2019-03-17 12:47:04 -07:00
Brent Simmons 80bee5b487 Do minor formatting changes in Feed.swift. 2019-03-17 11:24:21 -07:00
Brent Simmons 6a8ee9a2fb Perform minor cleanups in Account. 2019-03-16 17:30:30 -07:00
Brent Simmons 908ae515c0 Remove unneeded import RSDatabase from Account. 2019-03-16 17:12:09 -07:00
Brent Simmons cb45897256 Remove unused markEverywhereAsRead. 2019-03-16 16:48:14 -07:00
Brent Simmons 1d484220eb Skip setting feed.editedName on OPML import. It’s not necessarily true that the name in the OPML file is an editedName. 2019-03-16 16:42:51 -07:00
Brent Simmons e11fc1dfad Make feed.init and FeedMetadata internal. 2019-03-16 16:39:16 -07:00
Brent Simmons 3e52bb9c24 Make feed.metadata no longer an optional. 2019-03-16 12:08:31 -07:00
Brent Simmons 4d727ce094 Continue removing old code for pre-OPML subscriptions. 2019-03-15 13:27:01 -07:00
Brent Simmons 8de36d8282 Start removing old code for pulling settings from a plist. 2019-03-15 13:17:37 -07:00
Brent Simmons 7335c65ecb Remove last ODB stuff. Feed metadata is now entirely stored in FeedMetadata.plist. 2019-03-14 22:59:07 -07:00
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 d498c3f19d Create FeedMetadata. Not actually used just yet. (Soon.) 2019-03-12 22:40:11 -07:00
Brent Simmons dd39e3a0fe Delete unused code in Author. 2019-03-12 21:52:21 -07:00
Brent Simmons 4c6d3807cb Remove unused settingsTable. 2019-03-03 21:35:04 -08: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
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