-
Notifications
You must be signed in to change notification settings - Fork 14
13/WAKU2-STORE / 14/WAKU2-MESSAGE: Allow messages to be marked as "don't store" #441
Comments
ephemeral
field
Migrating from discussions (#427 will be dead soon). Assuming this #427 (comment) clears up the other issue. If not, let's open a separate issue for that problem. For now I'd probably err on the side of having a simple ephemeral field, unless we have see a strong use case for TTL? Considering what https://rfc.vac.dev/spec/21/ provides |
I can see having both ephemeral fields and TTL being useful for different situations:
|
Thanks, @richard-ramos for your comment! That makes perfect sense! Do you think that is a pressing need? I mean the support for TTL and ephemeral fields? |
I think these features are "Nice to have"s. The Status app can still work without the existence of these fields. We just need to be aware that messages that are supposed to be ephemeral, will be persisted on the DB which might not be ideal (due to wasted storage space allocated to these). |
Linking this issue to waku-org/nwaku#702, as this feature could go a long way in alleviating the memory/disk issues we're trying to address for |
Decided not to include What do you think? |
Completed in #532 |
Original problem
Sometimes the application might produce messages that don't need to be stored, an example would be a ping to show that you are online, or for example messages that are time sensitive (say a push notification, through our current push notification system, which would be ignored if retrieved at a later date).
In those cases it would be useful to mark them as "don't store", so that they are not stored by store nodes. This would improve bandwidth performance of the overall network and of the clients, at the cost of some metadata leaking (though can be optional).
Not a crucial feature, but there would be a few use cases for us.
Suggested solution (Oskar)
Good idea! Would a
ephemeral
field in Waku Message spec https://rfc.vac.dev/spec/14/ work? Then by convention store nodes wouldn't store those messages.Similar to MVDS metadata
bool ephemeral = 2;
Originally posted by @oskarth in #427 (comment)
Reply (cammellos)
Another option, it could be a bit more generic, say to allow a StoreTTL, after which point messages are not sent to users from mailservers, so you can still pull them if you just arrived online, and cover both cases.
Say something like:
StoreTTL=x means that if I fetch messages those that have SenderTime + TTL < RequestTimeFrom < RequestTimeTo
In this case it covers the case outlined above and also avoids the scenario of a user coming back online and just missing a useful message.
cc @richard-ramos
The text was updated successfully, but these errors were encountered: