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
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
c4ee1edb69
Add externalID to Folder and persist it to OPML file. Issue #1060
2019-09-25 17:01:09 -05:00
Maurice Parker
08a8b8f6c2
Update to Swift 5.1
2019-09-25 15:32:30 -05:00
Maurice Parker
ea13f911f1
Change to ignore unsupported accounts instead of crashing
2019-09-20 11:41:28 -05: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
7ca2226669
Move credentials classes to the Account framework in NetNewsWire
2019-09-08 04:28:43 -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
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
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
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
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
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
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
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
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
a68ca58242
Remove a precondition that is no longer valid when doing async fetches.
2019-07-06 11:50:22 -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
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
Maurice Parker
871dbbb752
moved dispatch group notify to background thread as it was deadlocked with the dispatch group wait on app exit
2019-06-12 17:28:54 -05:00
Maurice Parker
17c04b2aef
Show the refresh progress bar when an OPML import starts. Issue #732
2019-06-10 16:17:54 -05:00
Maurice Parker
93fbbd4cc3
Make sure that FeedFinder and InitialDownloader are running on the main thread.
2019-06-10 08:21:03 -05:00
Maurice Parker
f4e0cfaf2b
Fix folder renaming issue that occurs for Feedbin when the tag doesn't exist at Feedbin. Issue #724
2019-06-07 05:03:54 -05:00
Maurice Parker
eb71e88845
Resolved issue where local account feed finder could lock up the UI if an error was thrown. Issue #720
2019-06-06 19:46:42 -05:00
Maurice Parker
e7ec59f31f
Merge pull request #725 from tgt/tgt/feedbin-fixes
...
Various Minor Feedbin Fixes
2019-06-06 15:27:06 -05:00
Maurice Parker
1cfc3bceef
Fixed restore folder functionality for Feedbin.
2019-06-06 15:22:25 -05:00
Tom Grimwood-Taylor
b0a24b6f17
Revert "Fix updating local feed list when no remote feeds."
...
cd85e52fdd
2019-06-06 14:23:06 +01:00
Tom Grimwood-Taylor
534da0bca6
Move call to sendArticleStatus to delegate.
2019-06-06 14:22:29 +01:00
Tom Grimwood-Taylor
0447694142
Fix feed selection when the max feed score is 0.
...
This occurs, for example, when searching for “macrumors.com” and adding
to the Feedbin account. All four feeds have a score of 0 since their
source is set as HTMLLink. This would also fix a case in which there are
two feeds: one with a negative score and one with a score of 0.
Since the method uses a Set the feed selected when there are multiple
feeds with an identical maximum score will be random.
2019-06-06 10:31:00 +01:00
Tom Grimwood-Taylor
ac9057299a
Remove edited name when remote feed name changes.
2019-06-06 10:31:00 +01:00
Tom Grimwood-Taylor
f3505e4537
Fix posting name notifications when name changes.
2019-06-06 10:31:00 +01:00
Tom Grimwood-Taylor
b4d7042a7b
Ensure status changes are sent before refresh.
...
When the refresh button was manually clicked a full refresh would occur,
but locally changed statuses wouldn't be sent. This meant the statuses
of items in NetNewsWire would revert to their remote values until an
automatic status sync was triggered.
2019-06-06 10:31:00 +01:00
Tom Grimwood-Taylor
3c1b84dd73
Fix a Feedbin subscriptionID going out of sync.
...
If, for example, a user deleted a feed and recreated it on the server
without a sync in between, the subscription ID for the feed would update
on the server, but remain unchanged locally. If the user then wanted to
delete or rename the feed they'd get a 404 error.
2019-06-06 10:31:00 +01:00
Tom Grimwood-Taylor
cd85e52fdd
Fix updating local feed list when no remote feeds.
...
When there were no remote feeds the logic to remove local
feeds was skipped.
2019-06-03 17:09:17 +01:00
Maurice Parker
2d91e64148
Provide a better error message when encountering feed not found and already subscribed errors
2019-05-31 17:24:43 -05:00
Maurice Parker
8e0c857810
Update the extract page number function to make it more readable
2019-05-31 13:38:33 -05:00
Maurice Parker
88b2775076
Make sure that an account doesn't try persist to the disk in the time that it is logically deleted and when it is actually deallocated
2019-05-31 08:05:26 -05:00
Maurice Parker
fec3c69f4a
Remove Feedbin api workaround for unpropagated mode=extended parameter
2019-05-31 07:54:12 -05:00
Maurice Parker
10296a1b74
Clear the feed metadata on Feedbin feed delete
2019-05-31 07:47:05 -05:00
Maurice Parker
d602f894f6
Fix link parsing bug that causes crash
2019-05-31 07:22:28 -05:00
Maurice Parker
0ddb47aa32
Refactor feed finder to make it threadsafe
2019-05-30 17:35:08 -05:00