diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-04-22 00:29:41 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-04-22 00:29:41 -0400 |
commit | 03c44e0d50008d2cd304efee017cd9709ddd2779 (patch) | |
tree | ae91ca2e0b71ec2adafa75d82e92035bfa0d063b /TODO | |
parent | f7a4b51b259bf6b4a33c42f671dbb53f12de6c95 (diff) | |
download | debug-me-03c44e0d50008d2cd304efee017cd9709ddd2779.tar.gz |
problem
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,27 @@ +* The current rules for when an Activity Entered is accepted allow it to + refer to an older activity than the last one. If echoing is disabled, + two Activity Entered could be sent, each pointing at the most recent + Activity Seen, and there would be no proof of the order of the two. + Reordering the two might cause different results though. + + This is not only a problem when 2 developers are connected; it also + lets a single developer produce a proof chain that is ambiguous about + what order they entered 2 things. + + Fix: Make a Activity Entered have a pointer to the previous Activity + Entered that was accepted, in addition to the existing pointer. Then + when one developer sends two Activity Entered that don't echo, there's + still proof of ordering. When two developers are typing at the same + time, only one of their inputs will be accepted. The client should only + consider an Activity Entered legal if it points to the last Activity + Entered that the client saw. + + May as well make Activity Seen have a pointer to the last accepted + Activity Entered as well. This will make it easier when supported + multiple developers, as each time a developer gets an Activity Seen, + they can update their state to use the Activity Entered that it points + to. + * --watch and --download only get Seen messages, not Entered messages, because the server does not send Developer messages to them. To fix, need a way to avoid looping Entered messages sent by a developer |