diff options
| author | Christian Cleberg <[email protected]> | 2026-04-01 14:04:27 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-01 14:04:27 -0500 |
| commit | 209155dc431cf70d9c8dba20625bab7e3b1a5085 (patch) | |
| tree | 42d2c2c1b2ab0863b69bd57c9c6d2ab27fe1594c /Hutch/Views/Repositories/DiffView.swift | |
| parent | e84e5543be9be548784859f4b082b9d7a3122f15 (diff) | |
| download | hutch-209155dc431cf70d9c8dba20625bab7e3b1a5085.tar.gz hutch-209155dc431cf70d9c8dba20625bab7e3b1a5085.tar.bz2 hutch-209155dc431cf70d9c8dba20625bab7e3b1a5085.zip | |
Fix several bugs ahead of 2.6.1v2.6.1
FileTreeView: when wrap is OFF, activate an explicit width constraint on
the code container derived from the widest line, giving the horizontal
scroll view a defined content size. Previously the constraint was
deactivated with nothing to replace it, making horizontal scrolling
unreliable. Also set horizontalScrollView.isScrollEnabled = !wrapLines
to prevent gesture conflicts when wrap is ON.
InboxView: remove the unnecessary loadThreads() network call fired after
markAllThreadsRead(). The threads array is already updated optimistically
and read state is persisted via InboxReadStateStore, so the refetch was
redundant and caused a brief loading flash.
HomeView: add scenePhase onChange handler to refresh dashboard data when
the app returns to the foreground, matching the existing pattern in
InboxView.
DiffView: wrap DiffBlockView content in a horizontal ScrollView so long
diff lines are readable. Switch inner VStack to LazyVStack for better
performance on large diffs.
SettingsView: replace direct UserDefaults access in behaviorSection with
@AppStorage, consistent with the rest of the app.
Diffstat (limited to 'Hutch/Views/Repositories/DiffView.swift')
| -rw-r--r-- | Hutch/Views/Repositories/DiffView.swift | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Hutch/Views/Repositories/DiffView.swift b/Hutch/Views/Repositories/DiffView.swift index 4b8e512..a370dfb 100644 --- a/Hutch/Views/Repositories/DiffView.swift +++ b/Hutch/Views/Repositories/DiffView.swift @@ -76,13 +76,15 @@ private struct DiffBlockView: View { let lines: [String] var body: some View { - VStack(alignment: .leading, spacing: 0) { - ForEach(Array(lines.enumerated()), id: \.offset) { _, line in - DiffLineView(line: line) + ScrollView(.horizontal, showsIndicators: false) { + LazyVStack(alignment: .leading, spacing: 0) { + ForEach(Array(lines.enumerated()), id: \.offset) { _, line in + DiffLineView(line: line) + } } + .frame(minWidth: 0, maxWidth: .infinity, alignment: .leading) } .font(.system(.caption, design: .monospaced)) - .frame(maxWidth: .infinity, alignment: .leading) .background(Color(.secondarySystemBackground)) } } |
