Town: Iceshrimp.NET joins, and its mentions go nowhere new

Iceshrimp.NET 2026.1.2-beta runs in the pasture with AuthorizedFetch on;
its driver registers through the native API and takes Mastodon tokens from
its OAuth form. The pair passes 225 cells. A new Iceshrimp note reaches its
author's followers only, never an account it mentions or answers, until it
is edited (G-0004, peer): delivery cells now say when a server holds a post
only because it was addressed.

The checker credits a seeder's fetch to the object fetched, not to the reply
that needed it; the seeder skips the wait for an accept whose follow was
already accepted; the PrivaPub driver signs its roots in again when a run
reuses saved sessions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-05 01:54:36 +02:00
1 parent 0614bdcf18
commit 02a05d7a9a
12 files changed
+240 -9

No files matched your search

+7
View File
@@ -211,6 +211,13 @@ class Seeder:
raise TimeoutError(f"{follower}'s follow request never reached {s['actor']}")
def v_accept(self, s):
# a follow that came back accepted needs no answer: the target was unlocked after all, or a run before this one
# on the same accounts already accepted it
if any(f.get("type") == "relation" and f["verb"] == "follow" and f["actor"] == s["args"]["target"]
and f["target"] == s["actor"] and f["state"] == "accepted" for f in self.ledger.facts):
self.ledger.add(type="relation", n=s["n"], verb="accept", actor=s["actor"], target=s["args"]["target"],
state="accepted", already=True)
return
d, sess, follower = self._wait_pending(s)
d.accept(sess, follower)
self.ledger.add(type="relation", n=s["n"], verb="accept", actor=s["actor"], target=s["args"]["target"], state="accepted")