Vitor Pamplona on Nostr: Hey jb55 are you using all the negentropy options that are coded in strfry to sync ...
Hey jb55 (npub1xts…kk5s) are you using all the negentropy options that are coded in strfry to sync with relays?
I wonder if we can simplify their Nostr Extension to help other relays **and clients** implement a range-based set reconciliation over whatever event data structure they already operate on.
For instance, imagine a new stateless relay operation where clients can request hashes of ID sets grouped by week (`created_at` on GMT). A client could easily sort the events it received from that relay, group them by week, hash their IDs as well, and then compare with the results from the relay to know which weeks it needs to download from the server again.
Something like this:
REQ:
```
[
"WEEKLY-HASHES",
<subscription ID string>,
<nostr filter>,
]
```
Response
```
[
"WEEKLY-HASH",
<subscription ID string>,
<week>,
<hash>
]
```
A simple interface like this would allow the app to check if the past is still fully synced without having to download everything again just to be sure.
It's not the most optimal way. But it might just be simple enough that any relay and client can implement it effectively.
I wonder if we can simplify their Nostr Extension to help other relays **and clients** implement a range-based set reconciliation over whatever event data structure they already operate on.
For instance, imagine a new stateless relay operation where clients can request hashes of ID sets grouped by week (`created_at` on GMT). A client could easily sort the events it received from that relay, group them by week, hash their IDs as well, and then compare with the results from the relay to know which weeks it needs to download from the server again.
Something like this:
REQ:
```
[
"WEEKLY-HASHES",
<subscription ID string>,
<nostr filter>,
]
```
Response
```
[
"WEEKLY-HASH",
<subscription ID string>,
<week>,
<hash>
]
```
A simple interface like this would allow the app to check if the past is still fully synced without having to download everything again just to be sure.
It's not the most optimal way. But it might just be simple enough that any relay and client can implement it effectively.