Commit Graph

236 Commits

Author SHA1 Message Date
Maurice Parker 527e677934 Rename deleteFolder to removeFolder to make the API more consistent 2019-05-29 20:53:00 -05:00
Maurice Parker f4bc17c8f1 Refactor addFeed and removeFeed usages to be more consistent 2019-05-29 20:47:52 -05:00
Maurice Parker 5e3fcfd955 Correct how feeds were deleted so that only the feed in the correct container was deleted 2019-05-29 17:56:26 -05:00
Jeremy Beker aa6dfe8a08
Rework to store endpoint URL in metadata
Endpoint URL did not belong with credentials. This breaks it out and stores it in the account metadata. Updates validation code to take it as a parameter.
2019-05-29 15:16:09 -04:00
Jeremy Beker 0df86e5761
Authentication working
* Updates to use new API style per discussion with Maurice
* Credential validation functioning
2019-05-29 10:54:52 -04:00
Maurice Parker 0648053417 Enforce tag specific drop validation (can't copy to the account level) 2019-05-28 17:42:19 -05:00
Maurice Parker cf016c5d7d Prevent Feedbin in account copy from putting a feed in both the root account and a folder at the same time. 2019-05-28 13:38:40 -05:00
Jeremy Beker 84dbdf25e2
Google Reader API Account Provider and initial integration
* Creation of account classes (based on FeedBin)
* Integration on Mac side into account dialog
* Initial authentication call works and extracts auth token, but no where to put it right now.
2019-05-28 13:08:15 -04:00
Maurice Parker 493abbb609 Refactor create feed functionality to increase code reuse and encapsulation 2019-05-28 09:45:02 -05:00
Maurice Parker 32712533d1 Fixed duplicate adds for local account folder feed adds. Issue #701 2019-05-26 12:17:38 -05:00
Maurice Parker c61949bc04 Add account name to network error messages and prevent background iOS errors from displaying alerts 2019-05-26 11:54:32 -05:00
Phil Viso bce45d28e4 Updated all iOS references to default local account new to be device specific 2019-05-19 16:52:21 -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 0a9bf2aef0 Prevent more than one OPML import from being run at the same time. 2019-05-17 10:44:22 -05:00
Maurice Parker b89f088917 Switch to using the new OPML import service 2019-05-17 10:04:13 -05:00
Maurice Parker 3986e00bf7 Fix bug where account unread counts weren't changing with async api calls 2019-05-16 09:54:19 -05:00
Maurice Parker 6be6c6a682 Add send sync database contents to Feedbin 2019-05-15 11:52:56 -05:00
Maurice Parker b1303661b2 Save article statuses to new sync database as they are created 2019-05-14 18:24:19 -05:00
Maurice Parker 30273795a8 Delegate article marking functionality to the account delegate 2019-05-14 15:34:05 -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 eede1cc7eb Add initial feed download for Feedbin. 2019-05-13 11:18:54 -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 1b22abbbfc Make sure a refresh happens after an OPML import. 2019-05-12 19:31:29 -05:00
Maurice Parker 9c676f29f8 add articles download for Feedbin 2019-05-12 18:32:32 -05:00
Maurice Parker 60895fc7fa Restrict Feedbin to a maximum of 1 concurrent connection to keep us under Feedbin's 250 requests per second rate limit 2019-05-12 07:22:33 -05:00
Maurice Parker 51c2527da2 Add OPML import for Feedbin. 2019-05-11 16:07:27 -05:00
Maurice Parker 6f92cd1a73 Refactor to differentiate between loading the Subscriptions.opml file and importing an external OPML file as they now need separate behaviors 2019-05-11 12:26:23 -05:00
Maurice Parker fe70723eb4 Use best feed specifier code to determine which Feedbin option to use when creating a feed 2019-05-10 10:14:24 -05:00
Maurice Parker 23b43ecc07 Add undo for feeds 2019-05-09 16:09:21 -05:00
Maurice Parker cda8acc66c Add the ability to move feeds between folders for Feedbin 2019-05-09 13:31:18 -05:00
Maurice Parker 50d3a5799c added subscription delete 2019-05-09 07:25:45 -05:00
Maurice Parker 43d32b1281 Add create Feedbin feed 2019-05-08 17:41:19 -05:00
Maurice Parker 72c92587d2 Keep feedID and feedURL better separated 2019-05-08 09:54:55 -05:00
Maurice Parker 52e5e43d10 Add download feed to folder relationships syncing 2019-05-07 17:41:32 -05:00
Maurice Parker 7f9055fe78 Add download subscriptions and faviconURLs 2019-05-07 10:51:41 -05:00
Maurice Parker d6ae740305 Added folder (tag) delete for Feedbin 2019-05-06 17:34:41 -05:00
Maurice Parker b7e2df1a68 Add Folder rename for Feedbin 2019-05-06 10:53:20 -05:00
Maurice Parker 51a1562e4b make slight change to how not modified responses are handled 2019-05-06 05:28:02 -05:00
Maurice Parker 18f2c7b723 Fix bug that prevented http caching from working 2019-05-05 17:46:53 -05:00
Maurice Parker 15a0ba89d7 Add folder syncing for Feedbin account 2019-05-05 15:41:20 -05:00
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 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 747079157b Implement account state UI 2019-05-02 05:41:44 -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 17caa31ee5 Added device specific local account names. 2019-04-17 13:01:26 -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 10cdc1553e Post display name did change notification when an Account’s name changes. 2019-03-31 16:12:03 -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 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 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 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 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