<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git/Hutch/Views/Repositories/FileTreeView.swift, branch v2.13.0</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v2.13.0</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v2.13.0'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-04-03T20:47:34+00:00</updated>
<entry>
<title>chore: add explanatory comments to all intentional empty closures</title>
<updated>2026-04-03T20:47:34+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-03T20:47:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=236a22553d5cb9e07b3115c03864c882e0c41b77'/>
<id>urn:sha1:236a22553d5cb9e07b3115c03864c882e0c41b77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: rename unused coder param to _ in CodeFileUIView</title>
<updated>2026-04-03T20:37:42+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-03T20:37:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=4f35ef40bf86471d2000097d590b6e830731fd39'/>
<id>urn:sha1:4f35ef40bf86471d2000097d590b6e830731fd39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add hg parity</title>
<updated>2026-04-02T05:33:58+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-02T05:33:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7b4a9fd51cfaf22114daa0170675102d04625791'/>
<id>urn:sha1:7b4a9fd51cfaf22114daa0170675102d04625791</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix several bugs ahead of 2.6.1</title>
<updated>2026-04-01T19:04:27+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-01T19:04:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=209155dc431cf70d9c8dba20625bab7e3b1a5085'/>
<id>urn:sha1:209155dc431cf70d9c8dba20625bab7e3b1a5085</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Rewrite file viewer with pinned gutter, syntax highlighting, and toolbar</title>
<updated>2026-04-01T18:50:09+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-01T18:50:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=e84e5543be9be548784859f4b082b9d7a3122f15'/>
<id>urn:sha1:e84e5543be9be548784859f4b082b9d7a3122f15</id>
<content type='text'>
Replace the SwiftUI-only CodeFileTextView with a UIViewRepresentable backed
by CodeFileUIView. The previous approach could not support a fixed line number
gutter while independently scrolling code content horizontally.

Changes:
- Gutter is pinned outside the horizontal scroll view and never scrolls left
- Vertical scroll is handled by a single outer UIScrollView shared by both
  the gutter and code content, keeping them in sync
- Line numbers are right-aligned in a fixed-width gutter calculated from
  the total line count
- Syntax highlighting via Splash for .swift files, with plain monospaced
  rendering as fallback for unsupported file types
- Wrap toggle persisted via AppStorage (wrapRepositoryFileLines)
- Bottom toolbar replaces the floating Share button, adding Copy All and
  Wrap toggle actions
- Copy All shows a brief checkmark confirmation that resets after 2 seconds
- Font fixed at SFMono-Regular 12pt, not scaled with Dynamic Type

Implements: https://todo.sr.ht/~ccleberg/Hutch/7
</content>
</entry>
<entry>
<title>chore: rename unused entry param to _ in textBlobView</title>
<updated>2026-03-24T21:45:47+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-24T21:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=b4542f0295bb4cb3e0f92326ee43bd7ecc477a0e'/>
<id>urn:sha1:b4542f0295bb4cb3e0f92326ee43bd7ecc477a0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lazily load file blobs from repository tree views</title>
<updated>2026-03-19T00:28:42+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-19T00:28:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=bb8fae4d1145266de4f5117a3b8c48f2ccacb0be'/>
<id>urn:sha1:bb8fae4d1145266de4f5117a3b8c48f2ccacb0be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v1.0</title>
<updated>2026-03-18T04:19:43+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-18T04:19:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=32ad6cab8d58d99ebd8a28e8fa6e6f4e587cb1e5'/>
<id>urn:sha1:32ad6cab8d58d99ebd8a28e8fa6e6f4e587cb1e5</id>
<content type='text'>
</content>
</entry>
</feed>
