Feed of "Polyphony" https://codeberg.org/polyphony 2026-05-11T21:40:54Z <p dir="auto">Providing free, open source communications technology and standards</p> ava pushed to flori/oidc-introduction at polyphony/polyproto-rs 2026-05-09T19:27:23Z 135495435: https://codeberg.org/polyphony/polyproto-rs/commit/56d326c5cb9576b5bc8c6fdca638361208840d56 <a href="https://codeberg.org/polyphony/polyproto-rs/commit/56d326c5cb9576b5bc8c6fdca638361208840d56" rel="nofollow">56d326c5cb9576b5bc8c6fdca638361208840d56</a> chore: update reqwest, add openid <a href="https://codeberg.org/polyphony/polyproto-rs/commit/56d326c5cb9576b5bc8c6fdca638361208840d56">56d326c5cb9576b5bc8c6fdca638361208840d56</a> chore: update reqwest, add openid ava [email protected] ava created branch flori/oidc-introduction in polyphony/polyproto-rs 2026-05-09T19:27:23Z 135495432: https://codeberg.org/polyphony/polyproto-rs/src/branch/flori/oidc-introduction ava [email protected] ava pushed to feature/oidc at polyphony/polyproto-rs 2026-05-09T16:29:56Z 135419031: https://codeberg.org/polyphony/polyproto-rs/src/branch/feature/oidc ava [email protected] ava created branch feature/oidc in polyphony/polyproto-rs 2026-05-09T16:29:56Z 135419004: https://codeberg.org/polyphony/polyproto-rs/src/branch/feature/oidc ava [email protected] ava opened issue polyphony/polyproto-dot-org#175 2026-05-09T14:39:59Z 135377472: https://codeberg.org/polyphony/polyproto-dot-org/issues/175 <p dir="auto">Compression + encryption is potentially a very tricky thing to get right. Handling these operations incorrectly, or not considering them further at all, can lead to encrypted ciphertext being vulnerable to the BREACH and/or CRIME attacks.</p> <p dir="auto">polyproto-core does deal with encryption somewhat, and polyproto-mls most definitely will. It must be figured out how to proceed with these things in mind.</p> 175#BREACH and CRIME and DEATH and PESTILENCE# ava [email protected] ava opened issue polyphony/typespec-openapi#186 2026-05-09T14:01:58Z 135365556: https://codeberg.org/polyphony/typespec-openapi/issues/186 <p dir="auto">This nix-based CI does not yet have attic configured for it. As such, it doesn&#39;t benefit from any sort of additional caching.</p> 186#CI: Add attic cache# ava [email protected] cyrneko commented on issue polyphony/polyproto-rs#103 2026-05-09T08:48:27Z 135248793: https://codeberg.org/polyphony/polyproto-rs/issues/103#issuecomment-14542773 PAW-2026-0008: Capabilities <p dir="auto">am working on it, typespec hardd,</p> PAW-2026-0008: Capabilities <p dir="auto">am working on it, typespec hardd,</p> cyrneko [email protected] ava closed issue polyphony/polyproto-rs#90 2026-05-09T00:19:47Z 135110451: https://codeberg.org/polyphony/polyproto-rs/issues/90#issuecomment-14520228 So long: Take `Constrained` out back So long: Take `Constrained` out back ava [email protected] ava closed issue polyphony/polyproto-rs#58 2026-05-09T00:19:46Z 135110421: https://codeberg.org/polyphony/polyproto-rs/issues/58#issuecomment-14520225 `Constrained` impl for `Name` allows common name for `Target::HomeServer` `Constrained` impl for `Name` allows common name for `Target::HomeServer` ava [email protected] ava opened issue polyphony/polyproto-rs#111 2026-05-09T00:15:29Z 135109293: https://codeberg.org/polyphony/polyproto-rs/issues/111 <p dir="auto">Acquire and validate OAuth2 opaque tokens</p> 111#Opaque Token Validation# ava [email protected] ava commented on issue polyphony/polyproto-rs#103 2026-05-09T00:12:46Z 135106182: https://codeberg.org/polyphony/polyproto-rs/issues/103#issuecomment-14520069 PAW-2026-0008: Capabilities <p dir="auto">Needs more info: API unclear <a href="/cyrneko" class="mention" rel="nofollow">@cyrneko</a></p> PAW-2026-0008: Capabilities <p dir="auto">Needs more info: API unclear <a href="/cyrneko" class="mention" rel="nofollow">@cyrneko</a></p> ava [email protected] ava opened issue polyphony/polyproto-rs#110 2026-05-09T00:06:37Z 135100866: https://codeberg.org/polyphony/polyproto-rs/issues/110 <p dir="auto">Parse OAuth2 JWTs (ID tokens and auth tokens) and validate them securely</p> 110#JWT Parsing & Validating# ava [email protected] ava opened issue polyphony/polyproto-rs#109 2026-05-09T00:03:27Z 135099510: https://codeberg.org/polyphony/polyproto-rs/issues/109 <p dir="auto"><a href="https://polyproto.org/docs/protocols/core/#412-oidc-scopes" rel="nofollow">https://polyproto.org/docs/protocols/core/#412-oidc-scopes</a></p> 109#OIDC Scopes# ava [email protected] ava opened issue polyphony/symfonia#103 2026-05-08T13:29:26Z 134889048: https://codeberg.org/polyphony/symfonia/issues/103 103#PAW-2026-0001: Authenticate to own home server with OIDC and SCIM #80# 103#PAW-2026-0001: Authenticate to own home server with OIDC and SCIM #80# ava [email protected] doesnm commented on issue polyphony/sonata#80 2026-05-08T06:10:55Z 134750427: https://codeberg.org/polyphony/sonata/issues/80#issuecomment-14480052 PAW-2026-0001: Authenticate to own home server with OIDC and SCIM <p dir="auto">there is already a PR for this PAW: <a href="/polyphony/sonata/issues/45" class="ref-issue" rel="nofollow">#45</a></p> PAW-2026-0001: Authenticate to own home server with OIDC and SCIM <p dir="auto">there is already a PR for this PAW: <a href="/polyphony/sonata/issues/45" class="ref-issue" rel="nofollow">#45</a></p> doesnm [email protected] ava opened issue polyphony/sonata#80 2026-05-07T22:37:06Z 134622278: https://codeberg.org/polyphony/sonata/issues/80 <p dir="auto">Blocked by <a href="https://codeberg.org/polyphony/polyproto-rs/issues/108" rel="nofollow">https://codeberg.org/polyphony/polyproto-rs/issues/108</a></p> 80#PAW-2026-0001: Authenticate to own home server with OIDC and SCIM# ava [email protected] ava opened issue polyphony/polyproto-rs#108 2026-05-07T22:36:56Z 134622242: https://codeberg.org/polyphony/polyproto-rs/issues/108 <ul dir="auto"> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="2"/><a href="https://codeberg.org/polyphony/polyproto-rs/issues/109" rel="nofollow">OIDC Scopes</a></li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="78"/><a href="https://codeberg.org/polyphony/polyproto-rs/issues/110" rel="nofollow">JWT Parsing &amp; Validating</a></li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="167"/><a href="https://codeberg.org/polyphony/polyproto-rs/issues/111" rel="nofollow">Opaque Token Validation</a></li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="255"/>Login on OIDC IdP: Basic</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="286"/>SCIM Server Primitives</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="315"/>Login on OIDC IdP: Full Login to ID-Cert Flow</li> </ul> 108#PAW-2026-0001: Authenticate to own home server with OIDC and SCIM# ava [email protected] ava deleted branch flori/draft/oidc from polyphony/polyproto-dot-org 2026-05-07T22:32:36Z 134620049: https://codeberg.org/polyphony/polyproto-dot-org ava [email protected] ava pushed to main at polyphony/polyproto-dot-org 2026-05-07T22:32:35Z 134620022: https://codeberg.org/polyphony/polyproto-dot-org/compare/d5a4407fd3b7eeaa68d15cc21853b19f4095aac4...96fad1435aba6f065b54463568988456a9e40d6f <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/96fad1435aba6f065b54463568988456a9e40d6f" rel="nofollow">96fad1435aba6f065b54463568988456a9e40d6f</a> Merge pull request &#39;PURR-2026-0001: OIDC+SCIM for home server auth and actor lifecycle management: Ground work&#39; (#104) from flori/draft/oidc into main <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/6e2886d89ad47a8099765d70f28e127f0e9eabef" rel="nofollow">6e2886d89ad47a8099765d70f28e127f0e9eabef</a> fix: errata, typos, grammatical mistakes <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4" rel="nofollow">c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4</a> feat(oidc): &#34;sensitive-solution&#34; replacement, based on oidc <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/2996bd5b34f378ddcd1cb487dd65cc175d4d7c67" rel="nofollow">2996bd5b34f378ddcd1cb487dd65cc175d4d7c67</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116" rel="nofollow">37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116</a> feat(oidc): add note about backchannel logout <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/96fad1435aba6f065b54463568988456a9e40d6f">96fad1435aba6f065b54463568988456a9e40d6f</a> Merge pull request &#39;PURR-2026-0001: OIDC+SCIM for home server auth and actor lifecycle management: Ground work&#39; (#104) from flori/draft/oidc into main <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/6e2886d89ad47a8099765d70f28e127f0e9eabef">6e2886d89ad47a8099765d70f28e127f0e9eabef</a> fix: errata, typos, grammatical mistakes <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4">c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4</a> feat(oidc): &#34;sensitive-solution&#34; replacement, based on oidc <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/2996bd5b34f378ddcd1cb487dd65cc175d4d7c67">2996bd5b34f378ddcd1cb487dd65cc175d4d7c67</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116">37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116</a> feat(oidc): add note about backchannel logout ava [email protected] ava merged pull request polyphony/polyproto-dot-org#104 2026-05-07T22:32:35Z 134619992: https://codeberg.org/polyphony/polyproto-dot-org/pulls/104 PURR-2026-0001: OIDC+SCIM for home server auth and actor lifecycle management: Ground work PURR-2026-0001: OIDC+SCIM for home server auth and actor lifecycle management: Ground work ava [email protected] ava pushed to flori/draft/oidc at polyphony/polyproto-dot-org 2026-05-07T22:24:42Z 134618348: https://codeberg.org/polyphony/polyproto-dot-org/commit/6e2886d89ad47a8099765d70f28e127f0e9eabef <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/6e2886d89ad47a8099765d70f28e127f0e9eabef" rel="nofollow">6e2886d89ad47a8099765d70f28e127f0e9eabef</a> fix: errata, typos, grammatical mistakes <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/6e2886d89ad47a8099765d70f28e127f0e9eabef">6e2886d89ad47a8099765d70f28e127f0e9eabef</a> fix: errata, typos, grammatical mistakes ava [email protected] ava opened issue polyphony/polyproto-dot-org#174 2026-05-07T22:08:24Z 134612720: https://codeberg.org/polyphony/polyproto-dot-org/issues/174 <p dir="auto">Remove the need for a bespoke <code>polyproto-auth</code> protocol extension by mandating OIDC (OpenID Connect) for authentication and SCIM (System for Cross-domain Identity Management) for account lifecycle management on a polyproto home server.</p> <p dir="auto"><code>polyproto-auth</code> <em>was</em> going to be a separate spec that reinvented a large amount of wheel-shapes. OIDC and SCIM are pre-existing, common, popular, tried and battle-tested specifications which achieve what <code>polyproto-auth</code> set out to do <em>and more</em>. Additionally, adopting a pre-existing protocol means that implementers don&#39;t have to write an auth server themselves, and deployers can integrate with their pre-existing auth+identity management solutions.</p> <p dir="auto">These additions to the protocol describe the precise usage of OIDC and SCIM in polyproto. Reading these additions should give implementers a good idea about how OIDC, SCIM and polyproto work together.</p> <h2 id="user-content-blocking-concerns" dir="auto">Blocking concerns</h2> <p dir="auto">Below is a list of items needing to be addressed with an indicator of how difficult those items are expected to be (5=most difficult, 1=easiest)</p> <ul dir="auto"> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1066" checked=""/>Missing flow from OIDC auth to ID-Cert + session (3.5/5): Closed by <a href="/polyphony/polyproto-dot-org/issues/104" class="ref-issue" rel="nofollow">#104</a></li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1145" checked=""/>Sensitive actions + OIDC needs resolving (4/5): Closed by <a href="/polyphony/polyproto-dot-org/issues/104" class="ref-issue" rel="nofollow">#104</a></li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1214"/>Bot/automated client auth is a stub (1.5/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1264"/>HSAT token revocation (backchannel logout?) (2/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1320"/>SCIM <em>de</em>provisioning flow undefined (2.5/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1371"/>ID-Cert renewal lifecycle details undefined (1/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1427"/>SCIM schema requirements undefined (1.5/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1476"/>Further explain purpose of SCIM on service providers (1/5)</li> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="1541"/>Migration under OIDC unaddressed (2/5)</li> </ul> 174#Tracking: OIDC in polyproto# ava [email protected] ava pushed to flori/draft/oidc at polyphony/polyproto-dot-org 2026-05-07T22:05:39Z 134611193: https://codeberg.org/polyphony/polyproto-dot-org/commit/c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4 <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4" rel="nofollow">c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4</a> feat(oidc): &#34;sensitive-solution&#34; replacement, based on oidc <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4">c0cd4ae997f40d3510de3f26f9c3a0efaa43d2e4</a> feat(oidc): &#34;sensitive-solution&#34; replacement, based on oidc ava [email protected] ava pushed to flori/draft/oidc at polyphony/polyproto-dot-org 2026-05-07T22:05:02Z 134611043: https://codeberg.org/polyphony/polyproto-dot-org/compare/8cf8e33a9120e404440ecab5f4d3e5785c2b4885...a540b39c99654ead7347502db3a699e0ec7c8f04 <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/a540b39c99654ead7347502db3a699e0ec7c8f04" rel="nofollow">a540b39c99654ead7347502db3a699e0ec7c8f04</a> feat: OIDC-based &#34;sensitive-solution&#34; replacement <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/2996bd5b34f378ddcd1cb487dd65cc175d4d7c67" rel="nofollow">2996bd5b34f378ddcd1cb487dd65cc175d4d7c67</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116" rel="nofollow">37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116</a> feat(oidc): add note about backchannel logout <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/b28fd4c06d991b42cee25ac686a6ed7b01be608d" rel="nofollow">b28fd4c06d991b42cee25ac686a6ed7b01be608d</a> feat(oidc): fid localpart changing in OIDC <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/a540b39c99654ead7347502db3a699e0ec7c8f04">a540b39c99654ead7347502db3a699e0ec7c8f04</a> feat: OIDC-based &#34;sensitive-solution&#34; replacement <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/2996bd5b34f378ddcd1cb487dd65cc175d4d7c67">2996bd5b34f378ddcd1cb487dd65cc175d4d7c67</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116">37baff2372ad7dfc2ddb2a21e2198aa8b6c0c116</a> feat(oidc): add note about backchannel logout <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/b28fd4c06d991b42cee25ac686a6ed7b01be608d">b28fd4c06d991b42cee25ac686a6ed7b01be608d</a> feat(oidc): fid localpart changing in OIDC ava [email protected] ava pushed to flori/draft/oidc at polyphony/polyproto-dot-org 2026-05-07T22:04:20Z 134610419: https://codeberg.org/polyphony/polyproto-dot-org/compare/3b87e64f8247e346b24f073e99b90c9bb533634f...8cf8e33a9120e404440ecab5f4d3e5785c2b4885 <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/8cf8e33a9120e404440ecab5f4d3e5785c2b4885" rel="nofollow">8cf8e33a9120e404440ecab5f4d3e5785c2b4885</a> feat: OIDC-based &#34;sensitive-solution&#34; replacement <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/fab356d1f4af6a735b1564018e61a720b0be9111" rel="nofollow">fab356d1f4af6a735b1564018e61a720b0be9111</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/3cf84385a0c5e658ece712fa998a80e5151c0c4a" rel="nofollow">3cf84385a0c5e658ece712fa998a80e5151c0c4a</a> feat(oidc): add note about backchannel logout <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/fa6fe7ff91162d59ce004f38934757e745b68aed" rel="nofollow">fa6fe7ff91162d59ce004f38934757e745b68aed</a> draft: p2:fid-&gt;p2:core:fid, explain p2:core:fid:manage:persist <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/39f4dab37c60a58bcfdf2e34145c0f2d9d316d39" rel="nofollow">39f4dab37c60a58bcfdf2e34145c0f2d9d316d39</a> feat(oidc): identity mapping, oidc and scim in p2 <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/8cf8e33a9120e404440ecab5f4d3e5785c2b4885">8cf8e33a9120e404440ecab5f4d3e5785c2b4885</a> feat: OIDC-based &#34;sensitive-solution&#34; replacement <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/fab356d1f4af6a735b1564018e61a720b0be9111">fab356d1f4af6a735b1564018e61a720b0be9111</a> feat(oidc): account registration flow <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/3cf84385a0c5e658ece712fa998a80e5151c0c4a">3cf84385a0c5e658ece712fa998a80e5151c0c4a</a> feat(oidc): add note about backchannel logout <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/fa6fe7ff91162d59ce004f38934757e745b68aed">fa6fe7ff91162d59ce004f38934757e745b68aed</a> draft: p2:fid-&gt;p2:core:fid, explain p2:core:fid:manage:persist <a href="https://codeberg.org/polyphony/polyproto-dot-org/commit/39f4dab37c60a58bcfdf2e34145c0f2d9d316d39">39f4dab37c60a58bcfdf2e34145c0f2d9d316d39</a> feat(oidc): identity mapping, oidc and scim in p2 ava [email protected] ava pushed to main at polyphony/repo-slopscore 2026-05-07T13:53:09Z 134348705: https://codeberg.org/polyphony/repo-slopscore/compare/d9dba165f9083fd0a04e664de21e7790014f960e...2e389aa0b9b408f3e1005948b1ec455855ea0c2b <a href="https://codeberg.org/polyphony/repo-slopscore/commit/2e389aa0b9b408f3e1005948b1ec455855ea0c2b" rel="nofollow">2e389aa0b9b408f3e1005948b1ec455855ea0c2b</a> Merge pull request &#39;flori/logo&#39; (#30) from flori/logo into main <a href="https://codeberg.org/polyphony/repo-slopscore/commit/e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb" rel="nofollow">e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb</a> fix: zulip link <a href="https://codeberg.org/polyphony/repo-slopscore/commit/07de52db80a1f4980663aeace7511df23a9006df" rel="nofollow">07de52db80a1f4980663aeace7511df23a9006df</a> feat: add repo slopscore logo <a href="https://codeberg.org/polyphony/repo-slopscore/commit/2e389aa0b9b408f3e1005948b1ec455855ea0c2b">2e389aa0b9b408f3e1005948b1ec455855ea0c2b</a> Merge pull request &#39;flori/logo&#39; (#30) from flori/logo into main <a href="https://codeberg.org/polyphony/repo-slopscore/commit/e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb">e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb</a> fix: zulip link <a href="https://codeberg.org/polyphony/repo-slopscore/commit/07de52db80a1f4980663aeace7511df23a9006df">07de52db80a1f4980663aeace7511df23a9006df</a> feat: add repo slopscore logo ava [email protected] ava deleted branch flori/logo from polyphony/repo-slopscore 2026-05-07T13:53:09Z 134348702: https://codeberg.org/polyphony/repo-slopscore ava [email protected] ava merged pull request polyphony/repo-slopscore#30 2026-05-07T13:53:07Z 134348666: https://codeberg.org/polyphony/repo-slopscore/pulls/30 flori/logo flori/logo ava [email protected] ava created pull request polyphony/repo-slopscore#30 2026-05-07T13:34:32Z 134335736: https://codeberg.org/polyphony/repo-slopscore/pulls/30 30#flori/logo# 30#flori/logo# ava [email protected] ava pushed to flori/logo at polyphony/repo-slopscore 2026-05-07T12:05:02Z 134290205: https://codeberg.org/polyphony/repo-slopscore/compare/78dfc642c1d5bf26d25de671bf6d014ef3479126...e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb <a href="https://codeberg.org/polyphony/repo-slopscore/commit/e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb" rel="nofollow">e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb</a> fix: zulip link <a href="https://codeberg.org/polyphony/repo-slopscore/commit/07de52db80a1f4980663aeace7511df23a9006df" rel="nofollow">07de52db80a1f4980663aeace7511df23a9006df</a> feat: add repo slopscore logo <a href="https://codeberg.org/polyphony/repo-slopscore/commit/e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb">e1ec0e5cd9584c742ea763e1e6dd9a34bd29becb</a> fix: zulip link <a href="https://codeberg.org/polyphony/repo-slopscore/commit/07de52db80a1f4980663aeace7511df23a9006df">07de52db80a1f4980663aeace7511df23a9006df</a> feat: add repo slopscore logo ava [email protected]