The other key use case I have is effectively batching. Where you may want to lookup N profiles and understand which profiles you need to try fetch again from different relay/s, as didn’t return results - you got EOSE before a match for M query keys. Obviously max retries or attempts is needed as there may not be any results to find.

This is most useful when querying for updates against local cached event state. Or even against what your DB has.. like refreshing user profiles.

Reply to this note

Please Login to reply.

Discussion

yeah, I think this can be built with caching primitives, where your app-level code doesn't need to concern itself with this but transparently receive this functionality

it's one of the reasons why I built #[2], because this is a problem that needs to be addressed, and having a more "definite" source which you can ask for these type of data might be useful

but yeah, apps need to have this stuff abstracted away; we can't expect all apps to reinvent these things