<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git/Hutch/Views/Lookup/UserProfileViewModel.swift, branch remove-splash-highlighter</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=remove-splash-highlighter</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=remove-splash-highlighter'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-05-07T01:41:49+00:00</updated>
<entry>
<title>feat(cache): persist read-only API responses</title>
<updated>2026-05-07T01:41:49+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-05-07T01:41:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=205cf2687ce48f3d004792ff223422a86cc6bdbc'/>
<id>urn:sha1:205cf2687ce48f3d004792ff223422a86cc6bdbc</id>
<content type='text'>
Add a bounded stale-while-revalidate cache at the Sourcehut API boundary with
stable keys, centralized TTLs, request coalescing, payload hashing, and LRU disk
pruning.

Cache high-value read-only repo, build, ticket, project, profile, paste, and
Home/Work Queue data while keeping mutations network-only and invalidating
related prefixes after successful writes.

Add focused cache tests and implementation notes.
</content>
</entry>
<entry>
<title>fix: sonarqube code smell fixes</title>
<updated>2026-04-14T01:07:53+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-14T01:07:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=312e535f400f31714b3750de5222a1f6a8e5bcda'/>
<id>urn:sha1:312e535f400f31714b3750de5222a1f6a8e5bcda</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add repo settings management</title>
<updated>2026-04-13T03:30:22+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T03:30:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=54d037548261c1546555a89a6a803b542a769880'/>
<id>urn:sha1:54d037548261c1546555a89a6a803b542a769880</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/42
Implements: https://todo.sr.ht/~ccleberg/hutch/43
Implements: https://todo.sr.ht/~ccleberg/hutch/44
</content>
</entry>
<entry>
<title>chore: clean up debug logging</title>
<updated>2026-04-12T15:11:21+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-12T15:11:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=c0744a35891f89e50ab407a0b8557ce9d5c5e6cc'/>
<id>urn:sha1:c0744a35891f89e50ab407a0b8557ce9d5c5e6cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add contribution calendar to user profiles</title>
<updated>2026-04-12T00:47:40+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-12T00:47:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=61164b6dd8343c8699d091dd5fccc55beb0b90b9'/>
<id>urn:sha1:61164b6dd8343c8699d091dd5fccc55beb0b90b9</id>
<content type='text'>
Add a trailing 365-day contribution heatmap to user profile views,
backed by HutchStatsService. Includes calendar model, view model,
SwiftUI calendar view, app configuration, and unit tests.
</content>
</entry>
<entry>
<title>feat: browse user repositories and trackers from profile</title>
<updated>2026-04-02T05:17:30+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-02T05:17:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7f79cadf99ecf014834855e2e4a5c7d60dd709ac'/>
<id>urn:sha1:7f79cadf99ecf014834855e2e4a5c7d60dd709ac</id>
<content type='text'>
</content>
</entry>
</feed>
