-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
initial proposal for history fetching through contacts #167
base: master
Are you sure you want to change the base?
Conversation
``` | ||
|
||
`HistoryResponse.message` contains the encoded original message. | ||
A `HistoryResponse` is sent for each message in the requested time range. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this could be burdensome. Why not package chats into a blob and send that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can potentially turn these messages into WakuMessageArchive
s, marshall them and send them across the wire. However, that requires individual nodes to store messages as waku messages (instead of just application messages), which means potentially they'll double every message stored (in the worst case)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To add to this, even without message archives and bundling, I think messages have to be sent as waku messages. That means, when users switch between different capabilities, we need to think about how to handle this. Do we start/stop storing waku messages when it's turned on/off? Do we just always store waku messages, in which case turning it on/off won't be an issue because all messages always exist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting idea, but it has some impact on storage that should be considered..
|
||
``` | ||
{ | ||
"0x123": -1, // all available chat history |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does "all available chat history" mean here? Is this just whatever is in the local database of the contact?
|
||
## Requesting Chat history | ||
|
||
The client chooses one of his online contacts at random that indicated capability to send the history for the target chat or community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
target chat or community
Does this mean individual contacts should be able to provide the history of an entire community?
``` | ||
|
||
`HistoryResponse.message` contains the encoded original message. | ||
A `HistoryResponse` is sent for each message in the requested time range. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can potentially turn these messages into WakuMessageArchive
s, marshall them and send them across the wire. However, that requires individual nodes to store messages as waku messages (instead of just application messages), which means potentially they'll double every message stored (in the worst case)
|
||
## Requesting a community chat history | ||
|
||
The client chooses one of the online contacts that displayed intentions to send chat history for the community in question. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In all of these scenarios, status nodes will have to store each message as waku message.
Something to take into consideration as this will have an impact on storage.
Also, it should be taking into account here in the spec that this in fact needs to happen (waku messages need to be stored separately).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah this ties into the fact that we should have a dont-store
flag on waku-2, I think there's should be an issue somewhere about it in the vac repos
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference and context, the Community History Archive Protocol requires the same #164
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@iurimatias I love this idea :-) From a UX prospective, would the following be possible:
Some random thoughts and questions:
|
Some further random thoughts:
|
No description provided.