Jonathan Bennett
59c768abae
externalize keys
2019-09-28 01:59:49 -04:00
Jonathan Bennett
50428f3179
Allow adding Feed Wrangler accounts
2019-09-28 01:59:49 -04: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
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
Maurice Parker
c7b61f7d87
Enable copy between local accounts.
2019-05-27 18:01:24 -05:00
Maurice Parker
61f9a66d74
Change so that we fire off status update immediately if the number of pending status changes exceeds 100. Issue #658
2019-05-27 12:03:12 -05:00
Maurice Parker
886b82f3bd
Fix issue where unread and unstar statuses were getting lost if there wasn't already an article. Issue #708
2019-05-26 21:05:05 -05:00
Maurice Parker
7e6db47956
Add extended mode for Feedbin entries to get avatar url. Issue #669
2019-05-26 18:35:54 -05:00
Brent Simmons
e974d788ff
Wrap OPML import in BatchUpdate. This makes it pretty much instant. Fix #653 .
2019-05-26 14:45:09 -07: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
Maurice Parker
5f98f0d2fc
Correct usage of weak self in completion handlers
2019-05-22 15:40:34 -05:00
Maurice Parker
a406fa9d4d
Enhance error handling to make syncing more resilient to network failures.
2019-05-21 19:15:24 -05:00
Maurice Parker
d289bbea94
Fix crashing bug caused by nesting update statements.
2019-05-21 17:59:33 -05:00
Maurice Parker
8816de4a0e
Fix issue where new Feeds added to a folder also got left in the account container.
2019-05-21 10:26:11 -05:00
Maurice Parker
d9458c8980
Make progress indicator more accurate
2019-05-21 08:34:05 -05:00
Maurice Parker
31cc3b609c
Make delete animation correct for deletes and restores by wrapping them in BatchUpdates. Issue #667
2019-05-20 18:05:28 -05:00
Maurice Parker
8e7b1c8454
Make sure the statuses get updated before the unread count query executes. Issue #670
2019-05-20 17:08:16 -05:00
Maurice Parker
a5d6e5403e
Add additional sql check to ensure we don't pick up deleted articles when querying for missing articles
2019-05-20 13:55:26 -05:00
Maurice Parker
59ea5cadec
Add status syncing to iOS
2019-05-20 13:51:08 -05:00
Phil Viso
1f8463d091
Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire into iPadPopover
...
# Conflicts:
# iOS/Settings/AddLocalAccountViewController.swift
# iOS/Settings/DetailAccountViewController.swift
# iOS/Settings/Settings.storyboard
2019-05-19 19:03:50 -05:00
Maurice Parker
48e19c23a7
Set content type for Feedbin OPML Import.
2019-05-19 18:19:08 -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
80e1888244
Rename AccountsDidChangeNotification to AccountsDidChange to match other notification names.
2019-05-19 15:51:08 -05:00
Brent Simmons
7bd4520746
Remove unused weak self. (Was causing warning in Xcode.)
2019-05-19 11:33:48 -07:00
Maurice Parker
c7f02150f9
Make sure we go and get missing articles when we add a new feed.
2019-05-19 10:43:45 -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
87512a64a5
Removed old TODO and update to latest RSWeb
2019-05-16 11:01:44 -05:00
Maurice Parker
d8e6355b1e
Fix bug where restoring a feed in a folder could leave the feed in the account container
2019-05-16 10:33:58 -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
5f65fba9e2
Fix bug that prevented last unread or last unstrap from changing correctly.
2019-05-16 06:01:10 -05:00
Maurice Parker
6882b152d9
Add timer to trigger article status sync process.
2019-05-15 17:21:58 -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
f449ed9608
Make sure progress gets cleared incase the last page adjustment is inaccurate
2019-05-14 17:39:55 -05:00
Maurice Parker
30273795a8
Delegate article marking functionality to the account delegate
2019-05-14 15:34:05 -05:00
Maurice Parker
1984af4664
Add download progress for Feedbin accounts
2019-05-14 13:10:07 -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
39a337d096
Stub out syncing article state
2019-05-13 17:04:12 -05:00
Maurice Parker
eede1cc7eb
Add initial feed download for Feedbin.
2019-05-13 11:18:54 -05:00
Maurice Parker
ccac456d77
Change to use the entries.json service for Feedbin instead of the per feed one
2019-05-13 10:29:34 -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
c47fee2384
Delete unused parameters (dead code)
2019-05-13 07:17:50 -05:00
Maurice Parker
20388eff46
Change how completion handlers work for refreshArticles so that we can tell for sure when all the articles have been downloaded and updated in the database
2019-05-13 06:34:27 -05:00
Maurice Parker
2684b92a67
Added service calls for unread and starred entries
2019-05-13 03:13:06 -05:00
Maurice Parker
1b22abbbfc
Make sure a refresh happens after an OPML import.
2019-05-12 19:31:29 -05:00
Maurice Parker
f4510e57e5
store last article fetch time in account metadata
2019-05-12 19:17:16 -05:00
Maurice Parker
9c676f29f8
add articles download for Feedbin
2019-05-12 18:32:32 -05:00
Maurice Parker
4ed1b8a66a
Move ConditionalGetKeys as they are account type specific
2019-05-12 08:47:27 -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
5200e49175
Capture 401 http status codes as already subscribed error when creating a Feedbin subscription
2019-05-10 10:40:02 -05:00
Maurice Parker
fd8a973084
Add already subscribed error to LocalAccountDelegate and updated iOS to work with latest Account API
2019-05-10 10:22:28 -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
75fbd9e3eb
Add folder delete undo support
2019-05-09 18:20:09 -05:00
Maurice Parker
23b43ecc07
Add undo for feeds
2019-05-09 16:09:21 -05:00
Maurice Parker
d4bfab2da6
Fix delete folder bug
2019-05-09 13:35:40 -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
49116fd8e3
Add subscription id to Feed so that we can correctly rename Feedbin subscriptions
2019-05-08 18:13:54 -05:00
Maurice Parker
06626f10a7
Add feed rename
2019-05-08 17:55:53 -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
f12494cc31
Add some debug logging
2019-05-08 08:20:29 -05:00
Maurice Parker
e52dc84f13
added create subscription service
2019-05-08 06:56:15 -05:00
Maurice Parker
c5b0bfcd91
Save feed folder relationship identifier
2019-05-07 18:34:45 -05:00
Maurice Parker
52e5e43d10
Add download feed to folder relationships syncing
2019-05-07 17:41:32 -05:00
Maurice Parker
ae61d36c7d
Change FeedbinAccountDelegate to use BatchUpdate
2019-05-07 11:10:00 -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
29f9cf83b1
Add HTTP Caching for Feedbin (conditional get)
2019-05-05 08:44:57 -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
38202ece8d
Made credentials verification errors more descriptive.
2019-05-04 09:18:14 -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
e0efcfa847
Update unread counts for activate/inactivate and delete account
2019-05-02 08:41:22 -05:00
Maurice Parker
137f061169
Prevent delete while refresh in progress
2019-05-02 06:50:35 -05:00
Maurice Parker
636468bbf0
Implement active account processing functionality
2019-05-02 06:01:30 -05:00
Maurice Parker
747079157b
Implement account state UI
2019-05-02 05:41:44 -05:00
Maurice Parker
f5523dd610
Add delete from disk
2019-05-01 19:22:07 -05:00
Maurice Parker
93630a7b72
Load accounts from disk
2019-05-01 13:13:53 -05:00
Maurice Parker
f4180424e1
Add multiple local accounts
2019-05-01 12:37:13 -05:00
Maurice Parker
4edffa488d
Rename classes to match naming convention
2019-05-01 11:05:55 -05:00
Maurice Parker
fe8e825c0d
Add account add UI
2019-05-01 10:28:13 -05:00
Maurice Parker
4bc7611721
Rename AccountManageer.localAccount to AccountManager.defaultAccount to make it different from other local accounts
2019-05-01 05:53:18 -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
f3c2d8c1f8
Updated to lastest RSWeb
2019-04-25 07:13:14 -05:00
Maurice Parker
f4c0fca6a8
Implement background downloading of feeds
2019-04-24 07:30:35 -05:00
Maurice Parker
17caa31ee5
Added device specific local account names.
2019-04-17 13:01:26 -05:00
Maurice Parker
b9f2a500a1
cleared the code signing identity
2019-04-15 17:14:47 -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
0e44c135ae
Convert Account to Swift 5.
2019-03-31 16:12:17 -07: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
268a5453ad
Convert Articles to Swift 5.
2019-03-31 16:09:32 -07:00
Brent Simmons
cd77dd1bcf
Convert ArticlesDatabase to Swift 5.
2019-03-31 16:06:57 -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
70bc4a7b45
Pay attention to the changed key when handling feed setting change notifications.
2019-03-17 13:54:30 -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
80bee5b487
Do minor formatting changes in Feed.swift.
2019-03-17 11:24:21 -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
e11fc1dfad
Make feed.init and FeedMetadata internal.
2019-03-16 16:39:16 -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
d498c3f19d
Create FeedMetadata. Not actually used just yet. (Soon.)
2019-03-12 22:40:11 -07:00
Brent Simmons
dd39e3a0fe
Delete unused code in Author.
2019-03-12 21:52:21 -07:00
Brent Simmons
4c6d3807cb
Remove unused settingsTable.
2019-03-03 21:35:04 -08:00
Brent Simmons
08110044ea
Create database index on searchRowID, which should make searching slightly faster.
2019-03-03 12:30:58 -08:00
Brent Simmons
ef9f2b1cdd
Remove extraneous semicolon.
2019-03-03 12:11:16 -08:00
Brent Simmons
9b05c7185e
Remove unneeded self.
2019-03-03 12:05:34 -08:00
Brent Simmons
a9751d5a51
Get searchRowID by column index 0, since it’s a single-column query. This should make searching imperceptibly faster.
2019-03-03 12:02:26 -08:00
Brent Simmons
e04250f1b3
Use DatabaseDictionary instead of NSDictionary. Work around a Swift memory leak with NSDictionary.
2019-03-02 16:17:06 -08:00
Brent Simmons
1950b0ab47
Remove extra resultSet.close().
2019-02-25 21:01:20 -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
b957753f5c
Revise fetchArticlesMatching function to use FTS.
2019-02-24 18:37:13 -08:00
Brent Simmons
e9c76e8ac0
Index articles using SQLite FTS.
2019-02-24 15:34:10 -08:00
Brent Simmons
44edbc7b09
Add search index to database. Move create-table statements into ArticlesDatabase since we can do big strings.
2019-02-22 22:17:05 -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
8a5428c1cf
Discard future dates. Fix #538 .
2019-02-08 21:54:45 -08:00
Brent Simmons
1466f7e919
Fix bug getting unread count for the Today smart feed — it would skip articles with no pubDate, but that did arrive today (and thus should be considered as part of Today).
2019-02-08 21:05:55 -08:00
Brent Simmons
7f82f9d607
Fix a bug where articles with changed dates wouldn’t update in the database. Make the code a bit more clear, too.
2019-02-08 20:41:46 -08:00
Brent Simmons
6f41b2a728
Queue saving to disk, in Account, even during refresh.
2019-02-07 21:29:05 -08:00
Brent Simmons
eb3c69f4d0
Don’t write "Untitled" to Subscriptions.opml when a feed lacks a name or editedName — “Untitled” is a localizable, display-only string, not something to store in OPML. Fix #527 .
2019-02-06 21:18:22 -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
30324c8ec0
Make sure that feed.editedName is never "". Treat it as nil.
2019-02-02 17:46:15 -08:00
Brent Simmons
a8ec3b9d58
Switch skip-install to Yes for Articles.framework.
2019-01-28 20:44:09 -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
142774f5ae
Use hash(into…) instead of a hashValue instance variable.
2018-12-27 21:07:34 -08:00
Brent Simmons
b900cbc0b7
Make Feed and Folder conform to Renewable.
2018-11-22 13:57:49 -08:00
Brent Simmons
485bde7ff2
Complete (probably) work on Feedbin sync data types.
2018-10-14 18:38:33 -07:00
Brent Simmons
cd6e6daf31
Continue work on Feedbin sync data types.
2018-10-14 18:10:07 -07:00
Brent Simmons
d69058c10c
Fix a couple first-run startup bugs.
2018-09-26 22:05:35 -07:00
Brent Simmons
33fe733a8e
Redo the database indexes, after some trial and error, to get some significant speed boosts in fetching articles and unread counts.
2018-09-25 22:48:47 -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
f8d6cb48dc
Remove instance where Feed equality was expected to be pointer equality, which is no longer true.
2018-09-16 12:46:50 -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
abd8fb2236
Store feed.name and feed.editedName in ODB.
2018-09-15 11:45:01 -07:00
Brent Simmons
ce1fe6ed1f
Store feed.editedName in ODB.
2018-09-15 11:39:33 -07:00
Brent Simmons
0f59b904ef
Store feed.authors in ODB. Make Author Codable.
2018-09-15 11:16:05 -07:00
Brent Simmons
904feb9950
Store feed.homePageURL in ODB.
2018-09-14 22:23:30 -07:00
Brent Simmons
fb9590de98
Make feedID and accountID the things that determine hashing and equality for a Feed.
2018-09-14 22:15:22 -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
28d084e246
Store iconURL and faviconURL in ODB.
2018-09-14 21:51:05 -07:00
Brent Simmons
6d2bb123e3
Save conditional GET info in ODB.
2018-09-14 19:33:47 -07:00