<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git/Hutch/Views/Repositories, branch v2.7.1</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v2.7.1</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v2.7.1'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-04-02T03:51:32+00:00</updated>
<entry>
<title>add confirmation to repo rename</title>
<updated>2026-04-02T03:51:32+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-02T03:51:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=6e353462032937548e9661b85e97693d75e4f0bf'/>
<id>urn:sha1:6e353462032937548e9661b85e97693d75e4f0bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix copy throughout repo</title>
<updated>2026-04-02T03:29:51+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-02T03:29:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7cc3e14f235a3c3e6719271116e49865c82c15da'/>
<id>urn:sha1:7cc3e14f235a3c3e6719271116e49865c82c15da</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>Fix nonisolated table alignment lookup in Readme View</title>
<updated>2026-03-30T22:20:15+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T22:20:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=d897109d0d23560bf19ece6ea1122b1229f3b164'/>
<id>urn:sha1:d897109d0d23560bf19ece6ea1122b1229f3b164</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(org): improve org-mode rendering support</title>
<updated>2026-03-30T22:10:58+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T22:10:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=da81b67dc8b74fdef6691d79ba06b28712c8b046'/>
<id>urn:sha1:da81b67dc8b74fdef6691d79ba06b28712c8b046</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(markdown): finalize migration to apple/swift-markdown renderer</title>
<updated>2026-03-30T21:44:49+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T21:44:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=02fbc13ddb5b66ecf1d0dff3e7173a845984e006'/>
<id>urn:sha1:02fbc13ddb5b66ecf1d0dff3e7173a845984e006</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate README markdown rendering to swift-markdown and fix badge images</title>
<updated>2026-03-30T21:22:59+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T21:22:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=ddb310ed15fcd693a5487e5f38b5ba74cdf27843'/>
<id>urn:sha1:ddb310ed15fcd693a5487e5f38b5ba74cdf27843</id>
<content type='text'>
- replace the hand-rolled markdown parser with a MarkupVisitor renderer
- keep the org-mode rendering path and shared sanitization helpers intact
- update WKWebView styling and height measurement for README content
- fix linked image and query-string badge rendering in markdown output
- expand README rendering tests and add markdown syntax coverage

Implements: https://todo.sr.ht/~ccleberg/Hutch/2
</content>
</entry>
<entry>
<title>partial extended support for markdown and org-mode</title>
<updated>2026-03-30T18:10:54+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-03-30T18:10:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=09d93e6e6f2111f569d82da40dac8c499ba9a575'/>
<id>urn:sha1:09d93e6e6f2111f569d82da40dac8c499ba9a575</id>
<content type='text'>
</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>
</feed>
