mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Account metadata was the largest single contributor to blowing a relay's subscription cap: seven filters in a subscription, repeated once per logged-in account. Every one of them is `authors`-keyed, so a relay that several accounts read from can be asked about all of them by widening `authors` — the same shape of merge the notification tail just took, and for the same reason. The per-account `limit`s are summed rather than shared. These are mostly replaceable events, so the limit is a safety bound rather than a page size, and scaling it by the number of accounts leaves each one exactly the headroom it had alone. That is the difference from gift wraps, which stay per-account because their `limit` IS a page size over unsolicited content. Measured on emulator-5554, four accounts, cold start, counting nos.lol's `ERROR: too many concurrent REQs`: 13 before either merge, 11 after notifications, 8 after this. The subscription count on that relay went from 24-26 to 23, against its cap of 20. So the per-account multiplication is no longer the driver, and the remaining 23 are not account-level at all — they are the feed, channel and finder assemblers. Cutting further means looking there, not at more merging. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>