Commit Graph

878 Commits

Author SHA1 Message Date
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