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:
1 parent
0614bdcf18
commit
02a05d7a9a
12 files changed
+240
-9
No files matched your search
@@ -20,6 +20,7 @@ class PrivaPub(MastodonApi):
|
||||
|
||||
# -- roots and personas
|
||||
def jwt(self, root, password):
|
||||
"""The root's JWT: signed up the first time, signed in again by any later command that reuses saved sessions."""
|
||||
if root in self._jwts:
|
||||
return self._jwts[root]
|
||||
body = {"userName": root, "password": password}
|
||||
@@ -67,7 +68,7 @@ class PrivaPub(MastodonApi):
|
||||
|
||||
# -- groups: communities (FEP-1b12) and circles
|
||||
def group(self, s, username, name, community, policy="followers", approve=False):
|
||||
jwt = self._jwts[s.account.root]
|
||||
jwt = self.jwt(s.account.root, s.account.password)
|
||||
r = self.http.post(self.base + "/clientapi/group/insert", headers={"Authorization": f"Bearer {jwt}"}, ok={200, 201},
|
||||
json={"avatarId": s.local_id, "userName": username, "name": name, "description": name,
|
||||
"isCommunity": community, "postingPolicy": policy, "isDiscoverable": community,
|
||||
@@ -81,7 +82,7 @@ class PrivaPub(MastodonApi):
|
||||
return super().post(s, spec)
|
||||
|
||||
def _client_post(self, s, spec):
|
||||
jwt = self._jwts[s.account.root]
|
||||
jwt = self.jwt(s.account.root, s.account.password)
|
||||
body = {"avatarId": s.local_id, "text": spec.text, "title": spec.title, "hasContentWarning": bool(spec.cw),
|
||||
"spoilerText": spec.cw}
|
||||
if spec.visibility == "located":
|
||||
|
||||
Reference in new issue
Block a user