docs(relay): record max_limit/ip_gate fix + spot parity incident

The anon max_limit (1000) was below the map's 2000-spot query, so the map
appeared empty; raised to 5000. Also raised the per-IP connection gate (429s).
A Chengdu spot had landed only on ditto/damus because the app's publish resolves
on the first relay; republished it to the community relay (signature intact).
Parity: 56 spots on our relay vs 26 on ditto/damus (only junk missing).
This commit is contained in:
SkateSpots 2026-10-26 11:50:59 +07:00
parent 87f58cd84e
commit 6751642eed

View file

@ -2341,6 +2341,22 @@ The community relay moved off the hosted relay.tools instance
`created_at_msecs_ago = 315360000000` (10 years — the default 365-day
window silently dropped an old spot on restore); publishing/filter limits raised
from the tight defaults. The relay is keyless (no NIP-43/NIP-29 membership).
⚠️ **`max_limit` was 1000 but the map asks `useSkateSpots(2000)`** — the REQ
exceeded the cap and the map looked empty. Raised anon **`max_limit` to 5000**
(2026-10-26). Also raised `[ip_gate] max_connections_per_ip` **16 → 64** and
`connect_attempts_per_min` **120 → 300**: our own test queries hit **429** on
the WebSocket upgrade (easy to mistake for an empty relay — always check the
handshake status, not just the event count). NIP-11's `auth_for_read: true` is
cosmetic; unauthenticated reads work. Config backup:
`~/newlay/deploy/docker/newlay.toml.bak-*`; restart with
`sudo docker compose up -d --force-recreate` from `~/newlay`.
⚠️ **Content can silently miss the canonical relay:** the app publishes to
`getWriteRelays()` and resolves on the **first** relay that accepts, so a
rate-limited community-relay write can leave a spot only on ditto/damus (this
happened to a Chengdu spot, 2026-10-26 — republished the signed event with
`nak req … | nak event wss://relay.skate-spots.org`). Parity check (kind 30818):
our relay had **56**, ditto+damus union **26**; the only missing item was a
junk test spot. Re-check parity after any relay/IP-gate change.
- **Data:** restored from the archive — **115/115 events, 17 authors**, every kind
matching. LMDB + (unused) Blossom live in the Docker volume
`newlay_newlay-data`.