Commit Graph

34 Commits

Author SHA1 Message Date
Sarah Jamie Lewis 79bf060c2f Change ioutil -> os APIs 2022-09-07 09:27:22 -07:00
Sarah Jamie Lewis bff922df35 Temporarily ignore timeline dedupelication for p2p messags.
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
2021-11-02 12:17:56 -07:00
Sarah Jamie Lewis 3d2cafd1de Group Refactor Part 1
continuous-integration/drone/push Build is pending Details
continuous-integration/drone/pr Build is pending Details
Remove SendMessage* calls in place of a unified interface
Remove Unack*Messages from Group and Store everything in the timeline
2021-10-31 12:12:34 -07:00
Sarah Jamie Lewis e099f1bf29 BugFix: Crash when sending a message to a Peer who is not a Contact
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-07-08 12:33:09 -07:00
Sarah Jamie Lewis 4f6cba2900 Add Content Addressing to Timeline
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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.
2021-07-02 12:06:44 -07:00
Sarah Jamie Lewis a3665af870 Fixes to enable more efficient message syncing / storage
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-06-23 18:30:40 -07:00
Dan Ballard 940fb81a96 Storage v1 massively increase storage capacity
continuous-integration/drone/pr Build is passing Details
2021-06-21 16:28:47 -07:00
Sarah Jamie Lewis c2ab6af7b8 Allow Updating of Message Flags
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2021-06-08 15:35:50 -07:00
Sarah Jamie Lewis b3ba23992e Clean up some older TODOs
the build was successful Details
2020-11-05 14:44:27 -08:00
Dan Ballard b42baef6c5 add get/set attribute for profile/contact/group to cwtch_peer that does the action and emits an event; rename profile.GetGroupByGroupID to GetGroup for consitency
the build was successful Details
2019-10-31 14:39:31 -07:00
Dan Ballard 77d26d3877 profile and peer messaging refactor. Profiles once again store timelines for peers, should be used as canonical timeline by frontend UI
the build was successful Details
2019-10-21 13:56:07 -07:00
Dan Ballard 0465973a78 add app level functionality to reload from service 2019-07-19 20:08:00 -07:00
erinn ac077521be save new groups and group timelines 2019-02-02 17:18:33 -08:00
Dan Ballard a0dab022ad stream storage for timelines, wired into profile store 2019-01-30 14:29:27 -08:00
Sarah Jamie Lewis 01a28ef3b0 Message Sorting 2018-12-05 15:11:09 -08:00
Sarah Jamie Lewis 8083e6fa5c Adding Method to Save Messages in p2p Transcript 2018-11-21 13:31:22 -08:00
Sarah Jamie Lewis 1e04b1161e Adding V3 Onions to Cwtch! 2018-10-05 13:38:23 -07:00
Dan Ballard dae807da07 comments and variable renames to fully pass golint 2018-06-15 09:24:23 -07:00
Sarah Jamie Lewis b8ce0da2dd Better thread safety pattern and some tests 2018-06-03 12:45:43 -07:00
Sarah Jamie Lewis 77e62b1b66 Renaming to cwtch.im 2018-05-28 11:05:06 -07:00
Sarah Jamie Lewis 6de91969ae Adding padding and length stuff 2018-05-28 10:44:47 -07:00
Sarah Jamie Lewis a4532910d0 Fixing up integration test for commit 2018-05-20 12:58:16 -07:00
Sarah Jamie Lewis 1534308210 Fixing go vet issues 2018-05-20 11:29:46 -07:00
Sarah Jamie Lewis 8349ff1b3c Golint fixes 2018-05-16 13:53:09 -07:00
Sarah Jamie Lewis ec0c341bb1 Fixing some race conditions, adding more error checking 2018-05-09 12:09:00 -07:00
Sarah Jamie Lewis b4eb27ae1d Adding sync around timeline, adding hooks for latency checks 2018-05-05 21:18:30 -07:00
Sarah Jamie Lewis e839e8d12e Minor fixes 2018-05-03 10:59:58 -07:00
Sarah Jamie Lewis 979ad542f7 fmt 2018-05-02 23:01:15 -07:00
Sarah Jamie Lewis eacce2113c feature complete app 2018-05-02 21:12:45 -07:00
Sarah Jamie Lewis 8721b8f455 Replacing code with proper Sort, fixing test 2018-04-28 10:52:59 -07:00
Sarah Jamie Lewis f1d0a8e900 Fixing up messaging to use a proper ordering of messages based on timeline and previous hash.
This isn't perfect, but under normal conditions should prevent malicous server reordering. Still need a second order function
2018-04-02 14:10:29 -07:00
Sarah Jamie Lewis 914be9e46a Lots of peerand serverstuff 2018-03-30 14:16:51 -07:00
Sarah Jamie Lewis 9a4693c223 fixing go lint issues 2018-03-15 09:33:26 -07:00
Sarah Jamie Lewis 5d7bdce118 Squah commit 2018-03-09 12:44:13 -08:00