Add Content Addressing to Timeline #381

Merged
erinn merged 1 commits from reply-to into master 2021-07-02 20:03:48 +00:00
Owner

In order to implement features like quoting/reply-to we need a way
to reference messages that have been previously sent in a way that
is compatible across domains (i.e. p2p and groups).

For groups we could use signature as a universal identifier, but we have
no such analog in p2p - (note that adding a signature to p2p would compromise the
deniability properties of that protocol and as such wasn't considered.)

This PR creates a new index in Timeline that allows messages to be looked
up by their sender + message body. GetMessagesByHash returns a list of
matching messages that can then be used for a variety of applications
e.g. reply-to or duplicate detection.

Implementing reply-to would then be as simple as including the
content-hash of the replied to message in the overlay envelope, looking
up that hash in the timeline and finding the most recent message that
predates the index of the current message.

In order to implement features like quoting/reply-to we need a way to reference messages that have been previously sent in a way that is compatible across domains (i.e. p2p and groups). For groups we could use signature as a universal identifier, but we have no such analog in p2p - (note that adding a signature to p2p would compromise the deniability properties of that protocol and as such wasn't considered.) This PR creates a new index in Timeline that allows messages to be looked up by their sender + message body. GetMessagesByHash returns a list of matching messages that can then be used for a variety of applications e.g. reply-to or duplicate detection. Implementing reply-to would then be as simple as including the content-hash of the replied to message in the overlay envelope, looking up that hash in the timeline and finding the most recent message that predates the index of the current message.
dan was assigned by sarah 2021-07-02 17:56:35 +00:00
erinn was assigned by sarah 2021-07-02 17:56:35 +00:00
Member
Drone Build Status: success https://build.openprivacy.ca/cwtch.im/cwtch/253
erinn approved these changes 2021-07-02 19:06:07 +00:00
sarah changed title from WIP: Add Content Addressing to Timeline to Add Content Addressing to Timeline 2021-07-02 19:06:12 +00:00
sarah force-pushed reply-to from 689670b646 to 4f6cba2900 2021-07-02 19:06:53 +00:00 Compare
Member
Drone Build Status: success https://build.openprivacy.ca/cwtch.im/cwtch/255
erinn merged commit 67fbbd0fa0 into master 2021-07-02 20:03:48 +00:00
Sign in to join this conversation.
No description provided.