Embed Notice
HTML Code
Corresponding Notice
- Embed this notice@RustyCrab @Moon When a server pushes, it already has the post in memory. When it pulls, it is requesting the remote server to get the post out of its database. The remote server should rate-limit that. And on the Nostr pull model it does, which is a challenge I'm facing in Ditto. If the CLIENT pulls, it has its own IP unique to the user. If the server pulls, it will quickly get rate-limited. In Ditto I will have to mostly rely on a push model, and perform pulls through a narrow pipe where I rate-limit myself in a batched queue type of thing. The client-relay model goes with the grain (what I'm doing goes against it), although it brings a different set of challenges.
ActivityPub does pull in some cases, mainly for fetching posts inside of threads, and for direct links pasted into search. The reason you're seeing broken threads is because of private accounts, deleted posts, domain/IP blocking, network failures, and other bugs. Nostr does improve the situation by making everything portable, and because the developers are more focused on public conversations and anti-censorship. But it's more about design choices of existing software in either protocol than a technical limitation of either protocol.