From d6968ea122d910b432bd539cf2fa3d1cee962fdb Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 13 Apr 2026 20:32:40 -0500 Subject: fix: more sonarqube quality fixes --- Hutch/Views/Builds/BuildListViewModel.swift | 5 +++-- Hutch/Views/Pastes/PasteListView.swift | 8 ++++---- Hutch/Views/Repositories/CommitDetailViewModel.swift | 9 ++++++--- Hutch/Views/Repositories/FileTreeViewModel.swift | 8 ++++++-- 4 files changed, 19 insertions(+), 11 deletions(-) (limited to 'Hutch/Views') diff --git a/Hutch/Views/Builds/BuildListViewModel.swift b/Hutch/Views/Builds/BuildListViewModel.swift index 643bacd..cf5d786 100644 --- a/Hutch/Views/Builds/BuildListViewModel.swift +++ b/Hutch/Views/Builds/BuildListViewModel.swift @@ -182,12 +182,13 @@ final class BuildListViewModel { /// Fetch the first page of jobs. Shows cached data instantly if available, /// then refreshes from the network in the background. func loadJobs() async { - // Show cached data immediately on first load + // Show cached data immediately on first load (may populate `jobs` from cache). if jobs.isEmpty { loadFromCache() } - if jobs.isEmpty { + let treatAsInitialLoad = jobs.isEmpty + if treatAsInitialLoad { isLoading = true } else { isRefreshing = true diff --git a/Hutch/Views/Pastes/PasteListView.swift b/Hutch/Views/Pastes/PasteListView.swift index 17bb8ac..b325153 100644 --- a/Hutch/Views/Pastes/PasteListView.swift +++ b/Hutch/Views/Pastes/PasteListView.swift @@ -276,14 +276,14 @@ private struct CreatePasteSheet: View { NavigationStack { Form { Section("Files") { - ForEach($files) { $file in + ForEach($files) { fileBinding in VStack(alignment: .leading, spacing: 8) { - TextField("Filename (optional)", text: $file.filename) + TextField("Filename (optional)", text: fileBinding.filename) .autocorrectionDisabled() .textInputAutocapitalization(.never) ZStack(alignment: .topLeading) { - if file.contents.isEmpty { + if fileBinding.wrappedValue.contents.isEmpty { Text("Paste contents") .foregroundStyle(.tertiary) .padding(.top, 8) @@ -291,7 +291,7 @@ private struct CreatePasteSheet: View { .allowsHitTesting(false) } - TextEditor(text: $file.contents) + TextEditor(text: fileBinding.contents) .font(.system(.body, design: .monospaced)) .frame(minHeight: 180) } diff --git a/Hutch/Views/Repositories/CommitDetailViewModel.swift b/Hutch/Views/Repositories/CommitDetailViewModel.swift index f0898f5..92fb915 100644 --- a/Hutch/Views/Repositories/CommitDetailViewModel.swift +++ b/Hutch/Views/Repositories/CommitDetailViewModel.swift @@ -7,8 +7,11 @@ private struct CommitResponse: Decodable, Sendable { } private struct CommitRepository: Decodable, Sendable { - // swiftlint:disable:next identifier_name - let revparse_single: CommitDetail + let revparseSingle: CommitDetail + + enum CodingKeys: String, CodingKey { + case revparseSingle = "revparse_single" + } } // MARK: - View Model @@ -66,7 +69,7 @@ final class CommitDetailViewModel { do { let result = try await executeWithRetry() - commit = result.repository?.revparse_single + commit = result.repository?.revparseSingle } catch { self.error = error.userFacingMessage } diff --git a/Hutch/Views/Repositories/FileTreeViewModel.swift b/Hutch/Views/Repositories/FileTreeViewModel.swift index 98211bf..7330cd8 100644 --- a/Hutch/Views/Repositories/FileTreeViewModel.swift +++ b/Hutch/Views/Repositories/FileTreeViewModel.swift @@ -7,7 +7,11 @@ private struct RevparseResponse: Decodable, Sendable { } private struct RevparseRepository: Decodable, Sendable { - let revparse_single: RevparseCommit? + let revparseSingle: RevparseCommit? + + enum CodingKeys: String, CodingKey { + case revparseSingle = "revparse_single" + } } private struct RevparseCommit: Decodable, Sendable { @@ -277,7 +281,7 @@ final class FileTreeViewModel { } throw error } - if let tree = result.repository?.revparse_single?.tree, + if let tree = result.repository?.revparseSingle?.tree, let rootId = tree.id { navStack = [FileNavEntry(name: "root", treeId: rootId)] var allEntries = tree.entries?.results ?? [] -- cgit v1.2.3