Commit Graph

496 Commits

Author SHA1 Message Date
Brent Simmons d7b45a1413 Change parseDatePublished() to a lazy var parsedDatePublished — it appeared that it was getting called more than once, and date parsing is expensive. Also: use RSDateWithString rather than an NSDateFormatter, since NSDateFormatter is so massively slow. 2019-09-27 23:01:31 -07:00
Kiel Gillard 060366f447 Implements creating, updating and deleting Folders/Collections. Issues #1044 #1048 2019-09-27 21:47:30 +10:00
Maurice Parker 6536dbf2a5 Use correct account method for adding folders 2019-09-27 06:38:43 -05:00
Kiel Gillard 465b6e789b Sends and receives unread statuses #1058. Also implements OMPL import #1043. 2019-09-27 08:26:18 +10:00
Maurice Parker e60ce37dc9 Merge branch 'mac-release' 2019-09-26 11:49:53 -05:00
Maurice Parker 90834fe6b1 Delete conditional get information for taggings if it looks like Feedbin may have renamed a folder. Issue #1050 2019-09-26 11:35:07 -05:00
Maurice Parker b721f74e17 Merge branch 'mac-release' 2019-09-25 17:09:21 -05:00
Maurice Parker c4ee1edb69 Add externalID to Folder and persist it to OPML file. Issue #1060 2019-09-25 17:01:09 -05: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 46c737c777 Make sure delegates get set even if a metadata file isn't found. Issue #1051 2019-09-24 06:56:39 -05:00
Maurice Parker cb394a2a61 add APPLICATION_EXTENSION_API_ONLY build setting 2019-09-23 19:56:16 -05:00
Maurice Parker eaf798991f Remove name from the feed metadata as we manage it using the OPML file instead 2019-09-23 12:29:48 -05:00
Maurice Parker 59991d0478 Save resource files immediately in the share extension 2019-09-23 11:09:40 -05:00
Maurice Parker de994a305e Remove dead code. 2019-09-23 10:35:48 -05:00
Maurice Parker 0424ba3bb7 Make unread counts show up for new feeds added by share extension 2019-09-23 10:27:17 -05:00
Maurice Parker 6f9d3953f1 Ensure that account metadata gets propagated to delegates when it reloads 2019-09-23 09:57:50 -05:00
Maurice Parker 0709b006f4 Add feed meta data did change notification 2019-09-22 21:42:49 -05:00
Maurice Parker 124997feca Reset feed to feed metadata relationship on reload 2019-09-22 21:20:01 -05:00
Maurice Parker 20fa5d9e48 Implement keychain groups 2019-09-22 16:00:06 -05:00
Maurice Parker 43bed44d46 Merge branch 'mac-release' 2019-09-20 11:42:06 -05:00
Maurice Parker ea13f911f1 Change to ignore unsupported accounts instead of crashing 2019-09-20 11:41:28 -05:00
Maurice Parker af0d6c9022 Implement AccountBehaviors so that we don't have to keep adding boolean flags to account 2019-09-20 11:34:31 -05:00
Maurice Parker f3a1b074ac Call download progress on the main queue 2019-09-20 10:16:51 -05:00
Kiel Gillard 1d965142d9 Initial implementation FeedlySyncStrategy and basic usability improvements to allow for downloading and reading articles without crashing. 2019-09-20 16:56:51 +10:00
Maurice Parker 5e48c45d78 Make article extract feed flag optional 2019-09-19 20:12:55 -05:00
Maurice Parker d67c9144f5 Add Reader View is always on preference for Feeds 2019-09-19 19:49:11 -05:00
Kiel Gillard 9cc5fa3608 Initial implementation allowing Feedly accounts to be added given the Feedly user's consent. 2019-09-19 10:11:53 +10:00
Maurice Parker 8e939e9942 Change Credentials to be a struct instead of an enum 2019-09-15 10:03:47 -05:00
Maurice Parker 530e9ca60f Change writing options for resource files to none 2019-09-13 16:58:10 -05:00
Maurice Parker 82d4e0e3b3 Fixed metadata name suffixes 2019-09-13 16:41:08 -05:00
Maurice Parker 7b29eaab7a Make feed metadata a managed resource file 2019-09-13 16:35:53 -05:00
Maurice Parker b24e6a4725 Make account metadata a managed resource file 2019-09-13 16:12:19 -05:00
Maurice Parker f7bb58ea4d Modify OPMLFile to use the new ManagedResourceFile utility class 2019-09-13 15:46:22 -05:00
Maurice Parker f924eb91ff Fix log category name 2019-09-13 14:56:24 -05:00
Maurice Parker 762e230200 Add file coordination for the OPML file 2019-09-13 10:48:04 -05:00
Maurice Parker 4d118d89db Move more OPML file management functions to the OPMLFile class 2019-09-13 10:15:11 -05:00
Maurice Parker 7de08e992e Add the ability to observe OPML file changes 2019-09-12 18:41:42 -05:00
Maurice Parker 83476baa5b Move OPML I/O functions into a separate OPMLFile class 2019-09-12 18:05:29 -05:00
Maurice Parker 5985b00480 Inject the Accounts folder name so that it can be in different locations between the iOS and Mac Apps. 2019-09-12 10:59:26 -05:00
Brent Simmons 03bf97df90 Fix parts of ReaderAPI implementation that I broke with an API change in Account. 2019-09-08 21:52:02 -07:00
Brent Simmons 2eccfbb90e Merge branch 'mac-release' 2019-09-08 21:44:28 -07:00
Brent Simmons 41c82eca15 Rename existingFeed(with:) to existingFeed(withFeedID:) to make it more clear. Make account.idToFeedDictionary private — callers should use existingFeed(withFeedID:). 2019-09-08 21:44:05 -07:00
Brent Simmons f5f306f60f Add comments to feed.iconURL and feed.faviconURL, explaining that these are set only if that info was part of the feed (which is a JSON-Feed-only feature). 2019-09-08 21:17:57 -07:00
Maurice Parker c4f7090b9c Automatically expand any activated accounts and clean up the expandedNodes table for inactivated accounts 2019-09-08 09:58:27 -05:00
Maurice Parker e61efbe47a Split AccountsDidChange notification into both add and delete notifications and automatically expanded new accounts on iOS 2019-09-08 09:43:51 -05:00
Maurice Parker d9ea35b6f6 Merge branch 'mac-release' 2019-09-08 04:29:37 -05:00
Maurice Parker 7ca2226669 Move credentials classes to the Account framework in NetNewsWire 2019-09-08 04:28:43 -05:00
Maurice Parker ab0ca49882 Added new OAuth credentials 2019-09-06 17:38:48 -05:00
Maurice Parker 6cf1e4539d Merge branch 'mac-release' 2019-09-01 10:51:22 -05:00
Maurice Parker e31dec7c44 Call completion handler when there are no feeds associated with the folder being removed. Issue #938 2019-09-01 10:49:35 -05:00
Maurice Parker fe2e0155da Add scoped searching of articles 2019-08-31 15:53:47 -05:00
Maurice Parker 995fca5d6a Updated FreshRSS to pull statuses before articles and to work with the new sync status API's 2019-08-30 11:47:08 -05:00
Maurice Parker ea1f21797c Merge branch 'mac-release' 2019-08-30 11:28:16 -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
Daniel Jalkut a5a36e0986 Fix for #885: Include 403 status code in list of errors to prompt with 'update credentials' error message, and expand that message to cover the possibility an account is no longer valid with the service, i.e. in the case of an expired Feedbin subscription. 2019-08-28 11:40:12 -04:00
Brent Simmons 1ab0f7c25c Merge mac-candidate. 2019-08-21 21:44:07 -07:00
Brent Simmons bffda93700 Give has(feed) a default implementation in Container.swift. 2019-08-21 21:07:40 -07:00
Brent Simmons fe2d329301 Make has(feed) a Container protocol method. 2019-08-21 21:05:47 -07:00
Brent Simmons f513741ddb Start work on filtering timeline so that articles from deleted feeds never show up. 2019-08-21 13:23:46 -07:00
Brent Simmons 2027e83504 Merge branch 'mac-candidate' 2019-08-12 09:43:48 -07:00
Brent Simmons f8c8fc5f34 Fix crashing bug with marking all as read via contextual menu. Implement feed.fetchUnreadArticles. 2019-08-12 09:43:29 -07:00
Brent Simmons 4667e533fc Merge branch 'mac-candidate' 2019-07-24 09:27:34 -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
Maurice Parker e263665a21 Merge branch 'mac-candidate' 2019-07-23 16:36:46 -05:00
Maurice Parker 4fc1998cf3 Make Account and AccountDelegate interfaces more consistent by requiring the container parameter on removeFeed. Resolves #802 2019-07-17 15:41:21 -05:00
Jeremy Beker 9b552d8003
Remove DispatchQueue.main.sync calls that are not appropriate anymore 2019-07-13 08:47:00 -04:00
Jeremy Beker fe9129ac4a
Use Feed Finder before attempting to add feed urls 2019-07-13 08:37:08 -04:00
Brent Simmons 0d5ebad782 Merge branch 'mac-candidate' 2019-07-08 23:10:41 -07:00
Brent Simmons 055e0f09ad Update code formatting in Account. 2019-07-08 23:06:40 -07:00
Brent Simmons 1e998543a5 Use right single curly quote instead of foot mark in error messages. 2019-07-08 22:59:29 -07:00
Brent Simmons 21faa0ddc0 Update code formatting in some files in Account.framework. 2019-07-08 22:58:19 -07:00
Brent Simmons b1c96fddf8 Use async article ID fetches. 2019-07-07 19:56:52 -07:00
Brent Simmons 783477c58e Merge branch 'mac-candidate' 2019-07-07 15:07:21 -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 424daa0a5c Merge branch 'mac-candidate' 2019-07-07 14:26:05 -07:00
Brent Simmons 597c57e61c Remove references to DispatchQueue.main.sync and assert that we’re on the main thread. 2019-07-07 14:24:50 -07:00
Brent Simmons 1e82ad4845 Note that AccountManager is main thread only. Add an assert in a strategic location (activeAccounts property). 2019-07-07 14:05:27 -07:00
Brent Simmons 590961fb2c Add comment that Account is main-thread-only, and assert that we’re on the main thread in flattenedFeeds(). 2019-07-07 14:01:44 -07:00
Brent Simmons a5bf148d82 Make Transport callbacks run on the main thread, which is consistent with NetNewsWire’s general pattern for these types of callbacks. This helps avoid situations where we touch model objects (which are main-thread-only) on a background thread. 2019-07-07 13:42:24 -07:00
Brent Simmons fe5570fbea Merge branch 'mac-candidate' 2019-07-06 11:54:14 -07:00
Brent Simmons a68ca58242 Remove a precondition that is no longer valid when doing async fetches. 2019-07-06 11:50:22 -07:00
Brent Simmons aab318023c Update ReaderAPI to use changed database fetch API. 2019-07-05 22:46:02 -07:00
Brent Simmons 3999c7b3c5 Merge branch 'mac-candidate' 2019-07-05 22:42:01 -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 5f045706e4 Removed usaged of UIApplication.present 2019-06-27 14:21:07 -05:00
Maurice Parker 9653befb94 Retrieve credentials if necessary. On iOS credentials aren't always available when the delegate initializes. 2019-06-23 13:56:11 -05:00
Maurice Parker 1ac1144b2d Reduce footprint of Account credentials API 2019-06-20 11:19:15 -05:00
Maurice Parker 2756e8f204 Ensure that invalid username/password combinations throw an error 2019-06-20 11:18:09 -05:00
Maurice Parker fa62acb585 Rebrand Reader API to FreshRSS 2019-06-20 07:22:51 -05:00
Maurice Parker 74f84dc000 Restrict OPML import for Account types that don't support it 2019-06-19 17:50:32 -05:00
Maurice Parker b4b80c51bc Renamed google reader api to just reader api to make it consistent everywhere we use it 2019-06-19 15:40:03 -05:00
Jeremy Beker 15ae97f7c9
Merge branch 'master' into google_reader_compatible_syncing 2019-06-19 13:53:30 -04:00
Maurice Parker d794240bd9 Merge branch 'mac-candidate' 2019-06-19 11:31:38 -05:00
Jeremy Beker d87f68a006
Renamed GoogleReaderCompatible to just Reader 2019-06-19 12:25:37 -04:00
Jeremy Beker 52cb066dd4
Cleanup unused objects 2019-06-19 07:56:25 -04:00
Maurice Parker 47a7fa420d Fixed error caused by updating to the latest from RSWeb 2019-06-16 14:55:48 -05:00
Maurice Parker f6677367ec use refresh indicator to track all network activity. Issue #759 2019-06-16 14:48:50 -05:00
Jeremy Beker 42203c0170
FIrst pass at OPML import. Broken. 2019-06-16 15:14:20 -04:00