<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git/HutchTests, branch v3.1.3</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v3.1.3</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v3.1.3'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-04-14T00:44:44+00:00</updated>
<entry>
<title>fix: centralize URLs, tighten models, and polish SwiftUI bindings</title>
<updated>2026-04-14T00:44:44+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-14T00:44:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=fe1ccc69661603d419a642a450e4ac9e1258adb0'/>
<id>urn:sha1:fe1ccc69661603d419a642a450e4ac9e1258adb0</id>
<content type='text'>
- Add shared HutchDeepLinkURL constants for app, widgets, and tests.
- Bump marketing version to 3.1.2 and build to 70 (app + widget extension).
- Point Hutch stats default base URL at HutchStatsAPI; add SRHTWebURL status
  incident feed and reuse it from SystemStatusService.
- Group Project into Metadata and Resources; split ContributionStatsResponse
  into StatsWindow and StatsTotals with updated decoding and tests.
- Replace @Bindable usage with explicit Bindings in Profile, Projects list,
  and repository ACL flows; simplify Home pinned-item helper; add no-op
  bodies on cancel alert buttons where the compiler requires a statement.
- Move repository row build-status indicator next to the relative-updated
  caption and reserve a fixed 8×8 slot so the row does not jump when status
  loads.
- Use NSString.lastPathComponent for build artifact filenames; collapse
  duplicate ACL error branches; minor HutchStats HTTP and XMLParserDelegate
  cleanups.
- Point widgets at HutchDeepLinkURL helpers; align tests with the new
  response and URL types.
</content>
</entry>
<entry>
<title>fix: mercurial parity and graphql handling</title>
<updated>2026-04-13T19:20:27+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T19:20:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=5e63048ab6a741ae947f7fe42efcb5206a3f3963'/>
<id>urn:sha1:5e63048ab6a741ae947f7fe42efcb5206a3f3963</id>
<content type='text'>
- implements consistent UX between repo types
- ensures centralized services and routes are used between repo types
- graphql error handling is centralized
- error messages are consistent

Implements: https://todo.sr.ht/~ccleberg/hutch/58
Implements: https://todo.sr.ht/~ccleberg/hutch/59
</content>
</entry>
<entry>
<title>feat: add power user actions</title>
<updated>2026-04-13T14:57:23+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T14:57:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=0e461a382257979037e8927e5f6b468635b0a7fe'/>
<id>urn:sha1:0e461a382257979037e8927e5f6b468635b0a7fe</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/52
Implements: https://todo.sr.ht/~ccleberg/hutch/53
Implements: https://todo.sr.ht/~ccleberg/hutch/54
</content>
</entry>
<entry>
<title>feat: add multi-account support</title>
<updated>2026-04-13T04:19:20+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T04:19:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=ee9f2904aa319231b7047fca3cb069f0c07019cd'/>
<id>urn:sha1:ee9f2904aa319231b7047fca3cb069f0c07019cd</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/49
Implements: https://todo.sr.ht/~ccleberg/hutch/50
Implements: https://todo.sr.ht/~ccleberg/hutch/51
</content>
</entry>
<entry>
<title>feat: add search and recent queries</title>
<updated>2026-04-13T03:52:33+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T03:52:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=72f860e0e171f6aac4e7d896e7a571147dbcb5c5'/>
<id>urn:sha1:72f860e0e171f6aac4e7d896e7a571147dbcb5c5</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/47
Implements: https://todo.sr.ht/~ccleberg/hutch/48
</content>
</entry>
<entry>
<title>feat: add ticket label management and bulk actions</title>
<updated>2026-04-13T03:42:33+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T03:42:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=576bb6c2432a15f5138771c06019b55fd2244e15'/>
<id>urn:sha1:576bb6c2432a15f5138771c06019b55fd2244e15</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/45
Implements: https://todo.sr.ht/~ccleberg/hutch/46
</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>feat: add repository acl management</title>
<updated>2026-04-13T03:16:14+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T03:16:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7a875798fea9321bad2636040d9be2c30bc0fa8f'/>
<id>urn:sha1:7a875798fea9321bad2636040d9be2c30bc0fa8f</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/39
Implements: https://todo.sr.ht/~ccleberg/hutch/40
Implements: https://todo.sr.ht/~ccleberg/hutch/41
</content>
</entry>
<entry>
<title>feat: polish read-only project views and home integration</title>
<updated>2026-04-13T03:06:16+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T03:06:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=86bcd9452d3107f68aca085e03e69b02667c0dbb'/>
<id>urn:sha1:86bcd9452d3107f68aca085e03e69b02667c0dbb</id>
<content type='text'>
Refs: https://todo.sr.ht/~ccleberg/hutch/36
Refs: https://todo.sr.ht/~ccleberg/hutch/37
Refs: https://todo.sr.ht/~ccleberg/hutch/38
</content>
</entry>
<entry>
<title>feat: add ticket saved filters and label filtering</title>
<updated>2026-04-13T02:33:14+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-13T02:33:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=31cbca674957eea7ae2529012e20a9d95158e561'/>
<id>urn:sha1:31cbca674957eea7ae2529012e20a9d95158e561</id>
<content type='text'>
Implements: https://todo.sr.ht/~ccleberg/hutch/32
Implements: https://todo.sr.ht/~ccleberg/hutch/33
</content>
</entry>
</feed>
