From 4e3def3db32630ecd59d6b40c2436068708fe54b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 1 Oct 2026 21:58:21 -0700 Subject: Ask each open outbox relay about everyone who writes there The planner picked relays to cover each followed author once, so an author was read on a single relay even when several of their write relays were open in the same plan. Fishcake's posts on damus and primal never showed because he was assigned to nos.lol alone. Co-Authored-By: Claude Opus 5.5 --- src/features/messages.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/features') diff --git a/src/features/messages.js b/src/features/messages.js index 1559f06..48df13a 100644 --- a/src/features/messages.js +++ b/src/features/messages.js @@ -3926,7 +3926,12 @@ export function messagesFeature(ctx) { if (n > bestN) { bestN = n; best = url; } } if (!best) break; - const take = [...byRelay.get(best)].filter((pk) => left.has(pk)); + // The socket is open either way, so it's asked about EVERYONE who + // writes there, not just the people it was picked to cover. Covering + // each author once read a five-relay author on nos.lol alone, and his + // posts that only reached damus and primal — both in the plan, both + // open — never showed, while Amethyst had them. + const take = [...byRelay.get(best)]; plan.push({ relays: [best], authors: take }); for (const pk of take) left.delete(pk); byRelay.delete(best); -- cgit v1.2.3