From 38640b924523c48f4c8a6ff24f266498f0e92ca0 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sun, 24 Jan 2021 12:40:15 -0600 Subject: [PATCH] Exclude Inoreader tags when syncing folders/tags. Fixes #2762 --- .../Account/ReaderAPI/ReaderAPIAccountDelegate.swift | 8 +++++++- Account/Sources/Account/ReaderAPI/ReaderAPICaller.swift | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift b/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift index c5c1a5c1b..63d4768f1 100644 --- a/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift +++ b/Account/Sources/Account/ReaderAPI/ReaderAPIAccountDelegate.swift @@ -628,7 +628,13 @@ private extension ReaderAPIAccountDelegate { guard let tags = tags else { return } assert(Thread.isMainThread) - let folderTags = tags.filter{ $0.tagID.contains("/label/") } + let folderTags: [ReaderAPITag] + if variant == .inoreader { + folderTags = tags.filter{ $0.type == "folder" } + } else { + folderTags = tags.filter{ $0.tagID.contains("/label/") } + } + guard !folderTags.isEmpty else { return } os_log(.debug, log: log, "Syncing folders with %ld tags.", folderTags.count) diff --git a/Account/Sources/Account/ReaderAPI/ReaderAPICaller.swift b/Account/Sources/Account/ReaderAPI/ReaderAPICaller.swift index 48784e9f8..2c15af057 100644 --- a/Account/Sources/Account/ReaderAPI/ReaderAPICaller.swift +++ b/Account/Sources/Account/ReaderAPI/ReaderAPICaller.swift @@ -182,10 +182,14 @@ final class ReaderAPICaller: NSObject { return } - let url = baseURL + var url = baseURL .appendingPathComponent(ReaderAPIEndpoints.tagList.rawValue) .appendingQueryItem(URLQueryItem(name: "output", value: "json")) + if variant == .inoreader { + url = url?.appendingQueryItem(URLQueryItem(name: "types", value: "1")) + } + guard let callURL = url else { completion(.failure(TransportError.noURL)) return