<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hutch.git, branch v3.11.0</title>
<subtitle>ios client for sourcehut. swiftui.
</subtitle>
<id>http://git.krz.sh/krz/hutch.git/atom?h=v3.11.0</id>
<link rel='self' href='http://git.krz.sh/krz/hutch.git/atom?h=v3.11.0'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/'/>
<updated>2026-08-07T21:57:37+00:00</updated>
<entry>
<title>Merge pull request #38 from krazywarez/mailing-list-subscribe</title>
<updated>2026-08-07T21:57:37+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=9d85bc7c154843693913bf0cc67c6e9ff0d8f897'/>
<id>urn:sha1:9d85bc7c154843693913bf0cc67c6e9ff0d8f897</id>
<content type='text'>
Mailing list subscribe/unsubscribe toggle (v3.11.0)</content>
</entry>
<entry>
<title>Mailing list subscribe/unsubscribe toggle (v3.11.0)</title>
<updated>2026-08-07T21:51:32+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:51:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=039f06095cb3df072968be2f19f45bace605baeb'/>
<id>urn:sha1:039f06095cb3df072968be2f19f45bace605baeb</id>
<content type='text'>
Add a subscribe/unsubscribe toggle to the mailing-list detail toolbar
(MailingListDetailView, which backs Lookup results and ProjectMailingListView).
Hidden for lists you own and while state is unknown.

State comes from membership in the subscriptions query, not
MailingList.subscription — live testing showed that field returns null even
right after a successful mailingListSubscribe, so it is a trap (documented in
ROADMAP API traps). The numeric listID the mutations require is read from
list(rid:){ id }. Verified live against ~hutch.

Bumps to 3.11.0 (build 96); roadmap/SCOPE corrected.
</content>
</entry>
<entry>
<title>Merge pull request #37 from krazywarez/ingest-q1-q2-2026</title>
<updated>2026-08-07T21:39:43+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:39:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=44693c2977b7301ec04eae287cf24ff0226bc92e'/>
<id>urn:sha1:44693c2977b7301ec04eae287cf24ff0226bc92e</id>
<content type='text'>
Ingest Q1–Q2 2026: file findings, surface mailingListSubscribe unblock</content>
</entry>
<entry>
<title>Ingest Q1-Q2 2026: file findings, surface mailingListSubscribe unblock</title>
<updated>2026-08-07T21:38:14+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:38:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=24bc4aab7acb2df49d209cf5343fd63ad7033028'/>
<id>urn:sha1:24bc4aab7acb2df49d209cf5343fd63ad7033028</id>
<content type='text'>
'What's cooking' ingest (Q1-Q2 2026 posts + live schema introspection with a
test token). Everything the posts flagged is already in Hutch: RIDs,
pronouns, avatars, hub project writes + discovery, deploy keys. Anonymous API
and standardized/connections-spec GraphQL are future upstream work.

New opening found live: MailingList gained a 'subscription' field, removing
the exact blocker Phase 1 named for mailingListSubscribe. Recorded it as a
buildable v3.11.0 bucket; moved the SCOPE.txt entry out of 'out of scope'.
</content>
</entry>
<entry>
<title>Merge pull request #36 from krazywarez/deploy-keys</title>
<updated>2026-08-07T21:35:16+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:35:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=9671eac8eeb9d06e25563f51bf81889b5537feeb'/>
<id>urn:sha1:9671eac8eeb9d06e25563f51bf81889b5537feeb</id>
<content type='text'>
Deploy keys: manage git.sr.ht repository deploy keys (v3.10.0)</content>
</entry>
<entry>
<title>Deploy keys: manage git.sr.ht repository deploy keys (v3.10.0)</title>
<updated>2026-08-07T21:29:04+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:29:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=07156180789b02d4f22a87f22a37c912e7543190'/>
<id>urn:sha1:07156180789b02d4f22a87f22a37c912e7543190</id>
<content type='text'>
Wire git.sr.ht createDeployKey / deleteDeployKey and Repository.deployKeys
into an owner-only Deploy Keys sheet in the repository actions menu, next to
ACLs: list keys (fingerprint, comment, access), add an SSH public key with
RO/RW access, and delete behind a confirmation.

Verified live against the ~hutch account. The createDeployKey response
returns an empty access value, so create selects only rid and the list is
reloaded rather than decoding the partial key.

Bumps to 3.10.0 (build 95); roadmap marks deploy keys shipped.
</content>
</entry>
<entry>
<title>Merge pull request #35 from krazywarez/scope-discovery-truthup</title>
<updated>2026-08-07T21:09:47+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:09:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=18b1c475983ae9e6a52fcedb2e2992193130035c'/>
<id>urn:sha1:18b1c475983ae9e6a52fcedb2e2992193130035c</id>
<content type='text'>
SCOPE.txt discovery truth-up + exclude root .txt docs from CI</content>
</entry>
<entry>
<title>Also exclude README.nfo and LICENSE from the test workflow</title>
<updated>2026-08-07T21:08:35+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:08:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=bc083c2a923b8a0a24f39cc8eabd065464f5922d'/>
<id>urn:sha1:bc083c2a923b8a0a24f39cc8eabd065464f5922d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Exclude root .txt docs from the test workflow</title>
<updated>2026-08-07T21:07:19+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:07:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=a74223fef8f77b0dc37520a99e61e3d7edf2d9b1'/>
<id>urn:sha1:a74223fef8f77b0dc37520a99e61e3d7edf2d9b1</id>
<content type='text'>
Add *.txt to the Tests workflow paths-ignore so a ROADMAP/SCOPE/SECURITY
edit no longer burns a macOS runner. Single-star (root only), matching the
existing *.md rule; a doc edit alongside code still runs the suite.
</content>
</entry>
<entry>
<title>Correct stale hub discovery claims in SCOPE.txt</title>
<updated>2026-08-07T21:00:34+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-08-07T21:00:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/hutch.git/commit/?id=a387335c8e4271d30e073ae5d9626ccb1ee53325'/>
<id>urn:sha1:a387335c8e4271d30e073ae5d9626ccb1ee53325</id>
<content type='text'>
hub.sr.ht gained a public projects discovery query, now shipped as project
discovery (#12). Strike the 'no public discovery API' entry and fix the
mailingListSubscribe rationale (hub discovery lists projects, not lists).
</content>
</entry>
</feed>
