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
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
Jeremy Beker
97585326c8
Merge branch 'master' into google_reader_compatible_syncing
...
# Conflicts:
# iOS/Settings/SettingsAddAccountView.swift
2019-06-18 15:38:59 -04:00
Maurice Parker
35866d558d
Only display active accounts for OPML import on iOS
2019-06-17 15:50:17 -05: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
Jeremy Beker
adf53add3a
removed unused page number function.
2019-06-16 13:15:36 -04:00
Jeremy Beker
17439c8c5e
Disbale and rename tags functional.
2019-06-16 13:14:23 -04:00
Jeremy Beker
41af536212
Rename feeds
2019-06-15 16:13:08 -04:00
Jeremy Beker
62afd312f0
Subscribing and loading initial articles functioning.
2019-06-15 15:46:13 -04:00
Jeremy Beker
029bcbda96
Merge cleanup.
2019-06-15 13:30:12 -04:00
Jeremy Beker
f54bc3569b
Merge branch 'master' into google_reader_compatible_syncing
...
# Conflicts:
# Frameworks/Account/Account.swift
# submodules/RSWeb
2019-06-15 12:34:50 -04:00
Jeremy Beker
e5eb8df333
Add feed working on backend, thread crash inside account code.
2019-06-15 12:27:21 -04:00
Maurice Parker
1208e319de
Updated to the Sparkle 1.21.3
2019-06-15 09:54:16 -05:00
Jeremy Beker
5490dac86d
Need to use rawValue to properly mark starred/read
2019-06-15 08:21:13 -04:00
Jeremy Beker
2128afd465
Refactor endpoints into an enum
2019-06-13 12:44:20 -04:00
Jeremy Beker
dac166cf58
Refactor status change calls.
2019-06-13 09:35:01 -04: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
Jeremy Beker
45c15c96aa
Marking read/unread functioning.
2019-06-12 16:41:44 -04:00
Maurice Parker
c1e89a2ae0
Updated to the latest RSWeb
2019-06-12 15:09:06 -05:00
Jeremy Beker
69c947bd65
Mark read/unread structure.
2019-06-11 16:42:28 -04:00
Jeremy Beker
dc60ebf1f8
Unread status is properly set when articles are downloaded from backend
2019-06-11 15:37:21 -04:00
Maurice Parker
17c04b2aef
Show the refresh progress bar when an OPML import starts. Issue #732
2019-06-10 16:17:54 -05:00
Jeremy Beker
9144ee71e5
Request article IDs and content.
2019-06-10 16:53:35 -04: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
Jeremy Beker
6b147e7dc9
Add feeds to tags. Set iconURLs
...
remove unused functions.
2019-06-01 17:05:55 -04:00
Jeremy Beker
a0efc7fda9
Cleanup tag names, fetch subscriptions
2019-06-01 08:08:19 -04:00
Jeremy Beker
76d1daf122
Cleanup merge issues/API changes
2019-06-01 06:54:10 -04: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
Jeremy Beker
98c32b9987
Merge branch 'master' into google_reader_compatible_syncing
2019-05-31 09:54:25 -04: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
Jeremy Beker
46e21f57e8
Decoding of tags working.
2019-05-30 16:01:56 -04:00
Maurice Parker
30c21bb125
Enable folders to be dropped in a move or copy between accounts
2019-05-30 14:36:21 -05:00
Maurice Parker
1352dda8aa
Modify Feedbin feed deletes so that they emulate how the local account feed deletes work.
2019-05-30 10:12:34 -05:00
Jeremy Beker
fdc0374c4f
Ensure credentials are available for use
...
Need to load metadad first
2019-05-30 07:48:34 -04:00
Maurice Parker
7bec55c90b
Add missing completion call that was causing restored feeds to not show
2019-05-29 21:39:53 -05:00
Maurice Parker
51284b5aa4
Rename deleteFeed to removeFeed to be more consistent with other API's
2019-05-29 21:04:44 -05:00
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