From 6ee9e88137f5806680b8a33487b2331732d45a99 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 8 Apr 2025 01:01:26 -0700 Subject: feat: Development commit --- Sora/Data/Booru/BooruManager.swift | 24 ++++++++++++++---------- Sora/Views/Post/Grid/PostGridView.swift | 2 +- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index 3c7ed1d..253e9ef 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -93,15 +93,7 @@ class BooruManager: ObservableObject { defer { isLoading = false } do { - let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "1.0" - let buildNumber = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "1" - - let data = try await AF.request( - url, - headers: ["User-Agent": "Sora/\(version) (Build \(buildNumber))"] - ) - .serializingData() - .value + let data = try await requestURL(url) guard !Task.isCancelled else { return } @@ -200,7 +192,7 @@ class BooruManager: ObservableObject { Task { do { - let (data, _) = try await URLSession.shared.data(from: url) + let data = try await requestURL(url) guard !Task.isCancelled else { return } @@ -298,6 +290,18 @@ class BooruManager: ObservableObject { } } + private func requestURL(_ url: URL) async throws -> Data { + let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "1.0" + let buildNumber = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "1" + + return try await AF.request( + url, + headers: ["User-Agent": "Sora/\(version) (Build \(buildNumber))"] + ) + .serializingData() + .value + } + func updateTagsCacheSize() { cacheSize = tagsCacheFileURL.flatMap { url in ByteCountFormatter.string( diff --git a/Sora/Views/Post/Grid/PostGridView.swift b/Sora/Views/Post/Grid/PostGridView.swift index ca3338e..1d90f42 100644 --- a/Sora/Views/Post/Grid/PostGridView.swift +++ b/Sora/Views/Post/Grid/PostGridView.swift @@ -60,7 +60,7 @@ struct PostGridView: View { } .onChange(of: manager.searchText) { _, _ in if manager.searchText.isEmpty, !isSearching, !manager.isNavigatingHistory { - Task { manager.performSearch() } + manager.performSearch() } } .onChange(of: manager.posts) { _, newPosts in -- cgit v1.2.3