Commit Graph

881 Commits

Author SHA1 Message Date
Kiel Gillard 56a92e7938 Adds unit testing and implements fixes for unread counts, icons, missing metadata and more. 2019-10-03 18:06:49 +10:00
Brent Simmons 1cfafe3014 Add feeds from Feedbin all in one go, which helps performance by not triggering Account’s rebuilding of its feedDictionary. 2019-10-02 23:05:35 -07:00
Maurice Parker cc187875d9 Add initial support for per feed notifications 2019-10-02 19:42:16 -05:00
Maurice Parker aba0d15cb6 Modify background fetch so that it doesn't have to use a background process 2019-10-02 16:41:32 -05:00
Maurice Parker 281416eaee Make sure metadata gets saved if background fetch is performed. 2019-10-02 15:32:34 -05:00
Kiel Gillard 8f53916a79 Make Account framework tests compile and pass. 2019-09-30 17:17:58 +10:00
Brent Simmons 13eb6450c7 Merge branch 'mac-release' 2019-09-28 13:52:07 -07:00
Brent Simmons 37c9818cad Create and use a cache for DatabaseArticle — this will make fetches faster, since we can skip pulling the same data from the database over and over. Articles in the cache are removed when articles are updated, so the cache is never stale. 2019-09-28 13:51:33 -07:00
Brent Simmons 2b491217f3 Create statusWithRow(_ row: FMResultSet, articleID: String) — it allows us to avoid pulling articleID from the row twice every time we’re creating a DatabaseArticle. 2019-09-28 12:18:08 -07:00
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 8b5cc817c6 Override code_sign_identity 2019-09-25 10:49:55 -05:00
Maurice Parker d096c44ef5 Fixed Articles xcconfig parameters 2019-09-25 10:38:13 -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 7732eff01e Merge branch 'mac-candidate' 2019-07-27 12:30:34 -07:00
Brent Simmons f824be2f16 Change Today feed from 28 hours to 24 hours, since 24 hours is less weird and more easily explainable. 2019-07-27 12:30:13 -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 d1c9fc02d8 Merge branch 'mac-candidate' 2019-07-08 22:31:11 -07:00
Brent Simmons 1a03bcf03c Make code formatting match current style. 2019-07-08 22:22:31 -07:00
Brent Simmons cc458ecab7 Make code formatting match current style. 2019-07-08 22:20:57 -07:00
Brent Simmons 5d3cd8889f Make optionalIntForColumn an extension method on FMResultSet. 2019-07-08 22:20:46 -07:00
Brent Simmons c6907b73f9 Make code formatting in AttachmentsTable match current style. 2019-07-08 22:13:30 -07:00
Brent Simmons bed1620ae4 Make code formatting in AuthorsTable match current style. 2019-07-08 22:11:24 -07:00
Brent Simmons 1d2ea8a4af Make code formatting in StatusesTable match ourrent style. 2019-07-08 22:09:28 -07:00
Brent Simmons 8422122816 Delete a few unused lines of code. 2019-07-08 21:47:11 -07:00
Brent Simmons 72fa80956a Make code formatting in ArticlesTable match current style. Also: normalize MARK comments. 2019-07-08 21:35:29 -07:00
Brent Simmons 011054b345 Remove some unused code. 2019-07-08 21:22:06 -07:00
Brent Simmons 3c4379dfeb Merge branch 'mac-candidate' 2019-07-08 21:13:00 -07:00
Brent Simmons 33ff7c94c3 Make articlesTable.ensureStatuses non-blocking. 2019-07-08 21:09:54 -07:00
Brent Simmons 3d0d6fa8a9 Mark function as having @discardableResult, because we don’t always care about the result. 2019-07-08 21:09:16 -07:00
Brent Simmons b1c96fddf8 Use async article ID fetches. 2019-07-07 19:56:52 -07:00