Brent Simmons
c04322990c
Merge branch 'mac-release'
2019-10-13 19:24:06 -07:00
Brent Simmons
fcb0f0c439
Remove a no-longer-used Account.update function — we have a new one that’s way faster. Also: assert that we’re in the main thread in that new update function.
2019-10-13 19:23:36 -07:00
Brent Simmons
c5e0d96adb
Merge changes from mac-release, including performance fix.
2019-10-13 19:08:27 -07:00
Brent Simmons
1d0cacd5fc
When syncing, update the database by articleIDs rather than by feeds — this means *far* fewer fetches and much less data pulled from the database. It should help app responsiveness dramatically during sync, and especially during an initial sync.
2019-10-13 19:02:56 -07:00
Brent Simmons
099172d9d2
Empty the database articles cache when NetNewsWire moves to the background. This helps prevent the cache from growing forever.
2019-10-12 15:06:21 -07:00
Kiel Gillard
e1b0e17b6a
Allows folders to efficient add and remove many feeds.
2019-10-03 18:45:16 +10:00
Maurice Parker
281416eaee
Make sure metadata gets saved if background fetch is performed.
2019-10-02 15:32:34 -05:00
Jonathan Bennett
50428f3179
Allow adding Feed Wrangler accounts
2019-09-28 01:59:49 -04:00
Maurice Parker
6536dbf2a5
Use correct account method for adding folders
2019-09-27 06:38:43 -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
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
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
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
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
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
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
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
ab0ca49882
Added new OAuth credentials
2019-09-06 17:38:48 -05:00
Maurice Parker
fe2e0155da
Add scoped searching of articles
2019-08-31 15:53:47 -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
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
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
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
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
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
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
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
1ac1144b2d
Reduce footprint of Account credentials API
2019-06-20 11:19:15 -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
d87f68a006
Renamed GoogleReaderCompatible to just Reader
2019-06-19 12:25:37 -04:00
Maurice Parker
47a7fa420d
Fixed error caused by updating to the latest from RSWeb
2019-06-16 14:55:48 -05: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
Maurice Parker
c1e89a2ae0
Updated to the latest RSWeb
2019-06-12 15:09:06 -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
10296a1b74
Clear the feed metadata on Feedbin feed delete
2019-05-31 07:47:05 -05: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
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
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
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
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
3986e00bf7
Fix bug where account unread counts weren't changing with async api calls
2019-05-16 09:54:19 -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
30273795a8
Delegate article marking functionality to the account delegate
2019-05-14 15:34:05 -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
eede1cc7eb
Add initial feed download for Feedbin.
2019-05-13 11:18:54 -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
1b22abbbfc
Make sure a refresh happens after an OPML import.
2019-05-12 19:31:29 -05:00
Maurice Parker
9c676f29f8
add articles download for Feedbin
2019-05-12 18:32:32 -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
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
23b43ecc07
Add undo for feeds
2019-05-09 16:09:21 -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
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
52e5e43d10
Add download feed to folder relationships syncing
2019-05-07 17:41:32 -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
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
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
747079157b
Implement account state UI
2019-05-02 05:41:44 -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
17caa31ee5
Added device specific local account names.
2019-04-17 13:01:26 -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
10cdc1553e
Post display name did change notification when an Account’s name changes.
2019-03-31 16:12:03 -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
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
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
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
4c6d3807cb
Remove unused settingsTable.
2019-03-03 21:35:04 -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
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
6f41b2a728
Queue saving to disk, in Account, even during refresh.
2019-02-07 21:29:05 -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