We got a tip from #[0] that he was seeing ONLY #[1] in his posts/posts&replies section of Damus (people you follow). We use primarily Damus so we aren’t sure what impact this has on other clients.

I didn’t think much of it at the time but last night #[2] had only Cameri in her posts too so we started thinking about.

Here’s what happens:

- Damus client makes a request with many authors with certain kind events (1,42,7,6).

- The protocol doesn’t dictate that relays return events in any particular order so some relays return this request sorted by author pubkey and some return it sorted by created_at timestamp.

- Strfry returns this request ordered by author pubkey. Since Cameri has a pubkey with lots of preceding 0s and has posted > 500 times, you will receive exclusively posts from him.

- Nostream returns this request sorted by recency (totally different results).

- nostr-rs-relay returns this request sorted by recency.

When the cache is purged, Damus makes this request with a limit of 500. If the first pubkey has posted more than 500 events, the posts section will appear to be only their most recent 500 events. On subsequent calls, Damus requests this page with a since filter, pulling a more distributed set of events, which makes this phenomenon less noticeable. In either instance, once events are streaming, they will show all recent events.

We’ve made adjustments to filter.nostr.wine to chunk these requests so that you get a more representative sample of posts from people you follow.

Reply to this note

Please Login to reply.

Discussion

If there is a limit filter the protocol does in fact required a particular order, specifically created_at desc

That makes life a lot easier then. Can you link me this? Must be missing it somewhere…

Ah hah “The limit property of a filter is only valid for the initial query and can be ignored afterward. When limit: n is present it is assumed that the events returned in the initial query will be the latest n events. It is safe to return less events than limit specifies, but it is expected that relays do not return (much) more events than requested so clients don't get unnecessarily overwhelmed by data.”

Great to see you got to the bottom of it👌🏻I’ll give the wine-relays-only another spin.

Keep in mind until we can get this switched in Strfry, nostr.wine will still return these results for posts. Filter will give you much better coverage.