<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git, branch v3.8.2</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v3.8.2</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v3.8.2'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-07-16T22:36:45+00:00</updated>
<entry>
<title>Fix Safari extension manifest for App Store upload</title>
<updated>2026-07-16T22:36:45+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T22:36:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=1d1052efc972682ea38d4fe0d69bc4b32c2a79e7'/>
<id>urn:sha1:1d1052efc972682ea38d4fe0d69bc4b32c2a79e7</id>
<content type='text'>
The non-persistent background declares scripts without a service_worker,
so App Store validation (code 90849) requires the persistent flag to be
explicitly false on iOS/iPadOS. Add "persistent": false.
</content>
</entry>
<entry>
<title>Merge pull request #20 from zerolabsco/home-status-badge</title>
<updated>2026-07-16T22:08:45+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T22:08:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=a5d1064ff798cda8a237f2a11877634cd81f7ac3'/>
<id>urn:sha1:a5d1064ff798cda8a237f2a11877634cd81f7ac3</id>
<content type='text'>
Move Home system status into a title-bar status badge</content>
</entry>
<entry>
<title>Move Home system status into a title-bar status badge</title>
<updated>2026-07-16T21:59:55+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T21:59:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=7b817a1d2aed0e8b89f36b410f2779f4a6b35407'/>
<id>urn:sha1:7b817a1d2aed0e8b89f36b410f2779f4a6b35407</id>
<content type='text'>
Replace the disruption-only banner on the Home tab with a persistent
circular status indicator in the navigation bar, next to the "Home"
title. The badge reflects the existing status logic — green/check when
operational, orange/exclamation on disruption, gray otherwise — and taps
through to System Status. SystemStatusSummaryRow is unchanged and still
used by the More tab.

Resolve the system-status result first in HomeViewModel.loadDashboard so
the badge settles from cache immediately instead of waiting on the
slower projects/jobs/tickets/inbox loads, which had left it spinning for
several seconds.

Bump MARKETING_VERSION to 3.8.2 and record it in ROADMAP.
</content>
</entry>
<entry>
<title>Merge pull request #19 from zerolabsco/docs-dual-forge-trackers</title>
<updated>2026-07-16T17:12:12+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T17:12:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=cd8742a0b932627401467bef8b7d5c376798382e'/>
<id>urn:sha1:cd8742a0b932627401467bef8b7d5c376798382e</id>
<content type='text'>
docs: note dual-forge issue/patch tracking in README</content>
</entry>
<entry>
<title>docs: note dual-forge issue/patch tracking in README</title>
<updated>2026-07-16T17:11:02+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T17:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=125a25c71af66269dc7182b566df4285c094938f'/>
<id>urn:sha1:125a25c71af66269dc7182b566df4285c094938f</id>
<content type='text'>
Hutch is hosted on both GitHub and sourcehut as synced peers; tell
contributors they can file issues or send patches on either forge.
</content>
</entry>
<entry>
<title>Merge pull request #8 from zerolabsco/phase-3-sonarcloud-housekeeping</title>
<updated>2026-07-16T16:50:53+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T16:50:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=0b6819d2d08b552e62fd236614d4c3c86a13394b'/>
<id>urn:sha1:0b6819d2d08b552e62fd236614d4c3c86a13394b</id>
<content type='text'>
v3.8.1: SonarCloud triage, forceRefresh fix, housekeeping</content>
</entry>
<entry>
<title>Merge pull request #10 from zerolabsco/ci-no-post-merge-run</title>
<updated>2026-07-16T16:47:25+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T16:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=2b913e1b727429a3a6bc7eb023003ef2815919ae'/>
<id>urn:sha1:2b913e1b727429a3a6bc7eb023003ef2815919ae</id>
<content type='text'>
ci: drop the redundant post-merge test run</content>
</entry>
<entry>
<title>ci: drop the redundant post-merge test run</title>
<updated>2026-07-16T16:39:43+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T16:39:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=db8539798766a6d238e7c134458f692c394e1668'/>
<id>urn:sha1:db8539798766a6d238e7c134458f692c394e1668</id>
<content type='text'>
The suite ran on push to main and on pull_request. Since merges here are
merge commits (not squash) and pull_request tests the merge result, a
green PR already validates the exact tree that lands on main — the push
run just re-confirmed it on a macOS runner. Trigger on pull_request (and
workflow_dispatch) only.
</content>
</entry>
<entry>
<title>chore: track the two HutchIntents TODOs in the roadmap (S1135)</title>
<updated>2026-07-16T16:17:45+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T16:17:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=f3c70e04148c57dcafead89b4e02b83e5f5635f8'/>
<id>urn:sha1:f3c70e04148c57dcafead89b4e02b83e5f5635f8</id>
<content type='text'>
SearchHutchIntent's route-to-Lookup stopgap and the absent
OpenSavedSearchIntent are both gated on a global search/persistence
layer Hutch lacks. Promote both to ROADMAP § "App Intent gaps" and
replace the inline TODOs with plain references, clearing those two
S1135 issues without losing the design intent.
</content>
</entry>
<entry>
<title>fix: move the S1186 empty-block comments inside the braces</title>
<updated>2026-07-16T16:13:13+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-07-16T16:13:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=d73c6ac381baac0ae8b0d5dfc551165591115905'/>
<id>urn:sha1:d73c6ac381baac0ae8b0d5dfc551165591115905</id>
<content type='text'>
Trailing // comments after {} left the block lexically empty, so
SonarCloud kept flagging stopLoading (and would have re-flagged the two
Cancel buttons). S1186 wants a *nested* comment; use /* ... */ inside.
</content>
</entry>
</feed>
