Good list. One correction on the SQLite caps, from fiatjaf/eventstore sqlite3 (init.go, query.go):
- Results: default QueryLimit is 100. Any REQ with no limit or limit > 100 gets clamped to 100 without telling you, so the "clients see half your data" part is right.
- The 10 is kinds, not tags. QueryKindsLimit = 10, QueryTagsLimit = 100, authors/ids 500. Going over those doesn't truncate. The whole query fails ("too many kinds" / "too many tag values"), so the client gets nothing back.
Raise them on the backend struct:
&sqlite3.SQLite3Backend{DatabaseURL: "relay.db", QueryLimit: 1000, QueryKindsLimit: 50}
The repo is in maintenance mode now. Its README points to fiatjaf.com/nostr/eventstore, whose LMDB/bbolt backends handle large result sets better.
