Commit graph

227 commits

Author SHA1 Message Date
Nicholas Kariniemi
52ce9ffb42 Use different events for full sync, full sync request 2014-10-10 19:03:22 +03:00
Nicholas Kariniemi
0f06d21767 Tag local state changes
to avoid passing remote changes back to remote
2014-10-10 18:45:51 +03:00
Nicholas Kariniemi
423b962d2c View takes in state changes, pushes out state changes 2014-10-10 18:35:22 +03:00
Nicholas Kariniemi
24a077b277 Update Clojure, ClojureScript, Om, and core.async 2014-10-10 18:00:13 +03:00
Nicholas Kariniemi
d6670f4157 Update React: 0.11.1 -> 0.11.2 2014-10-10 17:52:27 +03:00
Nicholas Kariniemi
4b743f420b Reorganize sync tests into integration 2014-10-06 22:18:39 +03:00
Nicholas Kariniemi
12ac165f24 Store max 20 history states, reset on client when server ACKs 2014-10-06 22:14:40 +03:00
Nicholas Kariniemi
f0e16817b5 Update deploy script 2014-10-06 18:47:11 +00:00
Nicholas Kariniemi
e3eb2639cc Remove log statement 2014-10-06 20:17:00 +03:00
Nicholas Kariniemi
48e7ef1b50 Merge branch 'differential_sync' 2014-10-06 19:27:32 +03:00
Nicholas Kariniemi
bd47ec1099 Remove log statements 2014-10-06 19:21:06 +03:00
Nicholas Kariniemi
7126a6b7b3 Server assumes client gets messages sent 2014-10-06 19:18:08 +03:00
Nicholas Kariniemi
821ba079e0 Add timeout to make tests work even if channel pull blocks 2014-10-06 17:58:46 +03:00
Nicholas Kariniemi
8850552838 Send empty diffs as ACKs on both client/server
On receiving ACK, update "current server state".
2014-10-05 00:12:09 +03:00
Nicholas Kariniemi
76074e5b5c Optimization: don't reset grub/recipe edit state if unchanged 2014-10-05 00:12:09 +03:00
Nicholas Kariniemi
86bfdf80e4 Simplify MongoDB code by just storing whole state
- Every time it receives a state, it blows away the existing one and
  puts in the new one.
- There's a non-zero probability of losing the entire state if the
  server fails after blowing away the previous state and before
  inserting the new.
2014-10-05 00:12:09 +03:00
Nicholas Kariniemi
48ba2c5449 Possibly fully working (poorly tested) 2014-10-04 22:52:03 +03:00
Nicholas Kariniemi
d174b2236e Integration test for client server sync 2014-09-28 09:35:20 +03:00
Nicholas Kariniemi
e3e763469a Clean up tests slightly 2014-09-26 21:04:17 +03:00
Nicholas Kariniemi
15b9ec8927 Convert tests to Midje 2014-09-26 20:51:23 +03:00
Nicholas Kariniemi
d7708e1382 Move to shared state 2014-09-26 11:53:19 +03:00
Nicholas Kariniemi
d01814fe3c Merge client and server state handling -- wip 2014-09-25 23:23:29 +03:00
Nicholas Kariniemi
e6b3c10396 Move state handling to shared code 2014-09-25 23:16:57 +03:00
Nicholas Kariniemi
39307f5a73 Test at "server agent" level 2014-09-25 23:14:26 +03:00
Nicholas Kariniemi
edab2ad684 Add sync test for single diff 2014-09-25 21:43:31 +03:00
Nicholas Kariniemi
0d2e969963 Merge pull request #1 from d3k4r/pull-request-update-readme
Instructions for running grub
2014-09-25 14:33:34 +03:00
d3k4r
5a2e103751 Instructions for running grub 2014-09-25 14:16:35 +03:00
Nicholas Kariniemi
3760fc8059 Possible changes - wip 2014-09-24 08:25:42 +03:00
Nicholas Kariniemi
31b6d40aef wip 2014-09-24 06:20:19 +03:00
Nicholas Kariniemi
0d2d619a1b Remove cljx hooks 2014-09-23 20:01:49 +03:00
Nicholas Kariniemi
f632fabdb2 Move message to shared 2014-09-23 19:52:47 +03:00
Nicholas Kariniemi
36a0e3d419 Move sync code to shared 2014-09-23 19:51:31 +03:00
Nicholas Kariniemi
dc355eb6ec Separate state handle, sync algorithm 2014-09-23 19:49:08 +03:00
Nicholas Kariniemi
1b8339dec0 Mid-changes: organize state changes 2014-09-22 22:47:36 +03:00
Nicholas Kariniemi
fe5bd00427 Refactor - wip 2014-09-16 23:27:10 +03:00
Nicholas Kariniemi
5a66361746 Rename sync -> diff 2014-09-14 21:30:19 +03:00
Nicholas Kariniemi
ad335d0b23 Make sync tests more explicit 2014-09-14 21:03:51 +03:00
Nicholas Kariniemi
560b895a9b Try breaking apart sync algorithm 2014-09-07 09:29:06 +03:00
Nicholas Kariniemi
49aa9c784d Minor refactor 2014-09-03 20:18:04 +03:00
Nicholas Kariniemi
4320401a4e Better - uses tx-listen 2014-08-30 17:06:48 +03:00
Nicholas Kariniemi
f087309c0f Possibly fully working differential sync 2014-08-30 15:40:17 +03:00
Nicholas Kariniemi
a572b9e1eb Reset state from history
- fails if server changes are made while client is disconnected
2014-08-30 11:47:09 +03:00
Nicholas Kariniemi
763e6f2fc8 Sync complete state on checksum failure 2014-08-30 08:11:45 +03:00
Nicholas Kariniemi
bd08ea5ec5 Factor out some client/server common state ops 2014-08-30 07:21:59 +03:00
Nicholas Kariniemi
b7b094b253 Refactor wip 2014-08-19 23:24:19 +03:00
Nicholas Kariniemi
4ac42b0cf3 Working hash checks a la hasch 2014-08-13 21:37:17 +03:00
Nicholas Kariniemi
a672155a92 State checks - wip 2014-08-10 22:53:42 +03:00
Nicholas Kariniemi
becfb42627 Sync state using diffs instead of events 2014-08-10 20:55:26 +03:00
Nicholas Kariniemi
f5ac6cbf26 Fix display of recipe titles so whole title shows 2014-08-09 18:40:36 +03:00
Nicholas Kariniemi
11597a9b63 Update local state directly with om cursors 2014-08-09 18:18:27 +03:00