status-mobile/test/cljs/status_im
Oskar Thorén db6b80d529 chat, protocol: Introduce Lamport clock semantics for message order
This commit ensures messages are ordered correctly when participants join and
leave a group chat. Specifically, the last received message will appear last.
Previously the user and chat clock was queried and updated in an ad hoc manner.
With this change there are only two clock changes to keep track of:

Sending messages:
time = time+1;
time_stamp = time;
send(message, time_stamp);

Receiving messages:
(message, time_stamp) = receive();
time = max(time_stamp, time)+1;

(See https://en.wikipedia.org/wiki/Lamport_timestamps)

Note that this means we can get rid of all the non-message clock queries and
updates.
2017-08-09 12:34:36 +03:00
..
react_native implemented fx handler, rewrite handlers using fx and cfx, optimized subscriptions, reorganized structure and renamed files, implemented re-frame-test and wrote some tests 2017-07-28 17:25:55 +03:00
test chat, protocol: Introduce Lamport clock semantics for message order 2017-08-09 12:34:36 +03:00