Commit graph

264 commits

Author SHA1 Message Date
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
Nicholas Kariniemi
5230dc9601 Patch diff onto state 2014-08-09 16:03:06 +03:00
Nicholas Kariniemi
d775f1dab7 Diff two states 2014-08-09 15:37:39 +03:00
Nicholas Kariniemi
d05b5ebdd5 Use icons instead of text in several places 2014-08-09 00:19:31 +03:00
Nicholas Kariniemi
29547e12be Hide add grubs button when editing 2014-08-09 00:08:06 +03:00
Nicholas Kariniemi
d018bcf3cf Remove recipes 2014-08-09 00:07:59 +03:00
Nicholas Kariniemi
8ecc7e9ad4 Delete individual grubs 2014-08-08 23:56:49 +03:00
Nicholas Kariniemi
a83c504e59 Blur grub inputs on click to prevent window from following them 2014-08-08 23:15:21 +03:00
Nicholas Kariniemi
75496c1376 Add accidentally dropped "recur" back 2014-08-08 23:01:09 +03:00
Nicholas Kariniemi
c90c5e41d2 Fix bug with unmounted items crashing it
Close core.async channels on unmount, check for unmounted before calling
	get-node in listeners
2014-08-07 23:40:48 +03:00
Nicholas Kariniemi
d05df00797 Use readonly attribute, input fields for grubs, too 2014-08-07 23:04:13 +03:00
Nicholas Kariniemi
5a8bda4f0a Set recipe text area based on grubs 2014-08-07 22:28:52 +03:00
Nicholas Kariniemi
c4096a771a Move click on elem to before usage 2014-08-07 22:28:33 +03:00
Nicholas Kariniemi
660163c842 Prevent triggering grub edit on pan 2014-08-06 07:18:16 +03:00