summaryrefslogtreecommitdiffhomepage
path: root/TODO
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2017-04-22 00:29:41 -0400
committerJoey Hess <joeyh@joeyh.name>2017-04-22 00:29:41 -0400
commit03c44e0d50008d2cd304efee017cd9709ddd2779 (patch)
treeae91ca2e0b71ec2adafa75d82e92035bfa0d063b /TODO
parentf7a4b51b259bf6b4a33c42f671dbb53f12de6c95 (diff)
downloaddebug-me-03c44e0d50008d2cd304efee017cd9709ddd2779.tar.gz
problem
Diffstat (limited to 'TODO')
-rw-r--r--TODO24
1 files changed, 24 insertions, 0 deletions
diff --git a/TODO b/TODO
index 4ea0ce4..c8a2398 100644
--- a/TODO
+++ b/TODO
@@ -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