Nicholas Kariniemi
d71f9260e8
Rework sync - also actually remove removed items
2015-07-17 00:36:12 +03:00
Nicholas Kariniemi
755d06f32b
Rework sync - wip
...
- Fetch full sync state from database, save upsert changes to database
2015-07-17 00:25:24 +03:00
Nicholas Kariniemi
8b11c119f2
Separate server and client syncing
...
- They vary in important ways anyway so it's more clear this way
2015-07-15 10:39:29 +03:00
Nicholas Kariniemi
455cf54bc9
Add another short delay to make async sync test pass
2015-07-05 22:09:42 +03:00
Nicholas Kariniemi
1260c4418c
Report sync differences in failed tests more explicitly
2015-07-05 22:02:57 +03:00
Nicholas Kariniemi
3c96ea5fbf
Add back midje and remove unused test
2015-07-05 21:59:17 +03:00
Nicholas Kariniemi
0a6add1ae3
Add script for releasing: build + deploy
2015-07-05 18:45:55 +03:00
Nicholas Kariniemi
6d7bf48570
Add script for running server, restarting when new version pushed
2015-07-05 18:39:47 +03:00
Nicholas Kariniemi
6ca589e3e6
Update Om to fix production build issues
2015-07-05 10:30:21 +03:00
Nicholas Kariniemi
9e6d900596
Hard-code database schema in database namespace
...
- Loading it separately doesn't make sense for e.g. production builds.
2015-07-04 23:01:19 +03:00
Nicholas Kariniemi
543143026b
Remove cljx steps from release build script
2015-07-04 22:59:29 +03:00
Nicholas Kariniemi
6a27015edb
Remove unused source path causing problems
2015-07-04 22:59:17 +03:00
Nicholas Kariniemi
90e512d59d
Minor cleanup of db code
2015-07-04 22:33:36 +03:00
Nicholas Kariniemi
efbc29b0ad
Use (possibly persistent) database URI from env var
2015-07-04 22:23:16 +03:00
Nicholas Kariniemi
c1e0dfbf0b
Switch to Datomic for storage (not persistent)
...
- Still not taking advantage of Datomic features but using it as a
simple dump for Clojure data structures.
2015-07-04 22:22:47 +03:00
Nicholas Kariniemi
fdd9baf23b
Use new reader conditionals and remove cljx deps
2015-07-02 20:25:28 +03:00
Nicholas Kariniemi
4f5e91bf29
Update dependencies
2015-06-30 20:46:39 +03:00
Nicholas Kariniemi
cc3dbdca62
Remove dead code (mostly unused requires)
2015-06-16 20:03:32 +03:00
Nicholas Kariniemi
f7b79a5e2a
Fix bug where grubs/recipes could not be deleted
...
- Fixed by using keywords as map keys client-side. Monger "keywordizes"
keys by default and it's easier to change client side than to remove
that behavior.
2015-06-16 19:57:41 +03:00
Nicholas Kariniemi
6794e81ea9
Update from clojure 1.7.0-alpha1 -> 1.7.0-RC1
2015-06-16 19:55:04 +03:00
Nicholas Kariniemi
c7caec9a3b
Comment out user.clj to make building work
2015-06-08 23:37:30 +03:00
Nicholas Kariniemi
48067a00f6
Deploy script just copies files over
2015-05-01 09:01:22 +03:00
Nicholas Kariniemi
021ec1b531
Use /ws path for websocket connections
...
- Less confusion around upgrading HTTP connections to WebSocket
2015-05-01 08:56:37 +03:00
Nicholas Kariniemi
1eb7136d27
Use relative paths for websocket connection
2015-05-01 08:46:02 +03:00
Nicholas Kariniemi
10148897c8
Use relative paths for static files
2015-04-30 23:38:15 +03:00
Nicholas Kariniemi
ab67f02172
Use ws or wss based on location protocol
2015-04-30 23:31:32 +03:00
Nicholas Kariniemi
90d7ee91ca
Minor cleanup in server core
2015-03-14 13:06:58 +02:00
Nicholas Kariniemi
a737d4102b
Ignore Intellij IDEA files
2015-03-14 13:06:35 +02:00
Nicholas Kariniemi
e8242d730f
Add deploy script
2014-12-07 10:36:47 +02:00
Nicholas Kariniemi
c1b6cc7a08
Set build package name based on datetime, commit
2014-11-29 17:54:06 +02:00
Nicholas Kariniemi
830451372a
Build releases via lein uberjar
...
- Run scripts/build.sh to build JAR from scratch.
- Added better fix for lein cljx/reloaded workflow conflict
2014-11-29 16:22:15 +02:00
Nicholas Kariniemi
414dceec8b
Sort recipes by name
2014-11-24 16:26:34 +02:00
Nicholas Kariniemi
c910d1d1f8
Update README instructions
2014-11-18 19:29:11 +02:00
Nicholas Kariniemi
fdd4c0a15a
Hacky wrkaround for 'lein cljx' to work with dev/user in deploy script
2014-10-26 07:41:31 +00:00
Nicholas Kariniemi
9e662c49b2
Default to 8 rows in directions text areas
...
Better: resize based on number of rows it takes
2014-10-26 09:30:11 +02:00
Nicholas Kariniemi
0e2f13d63d
Add directions to recipes
2014-10-26 08:57:08 +02:00
Nicholas Kariniemi
f8af086c19
Update unit/integration tests for sync
...
Cheat slightly on the synchronization test by manually passing in the
new server state. The problem is that new server states are detected
outside of the sync algorithm.
2014-10-25 22:21:55 +03:00
Nicholas Kariniemi
412bf29f57
Close up client channels properly on disconnect
2014-10-25 22:15:43 +03:00
Nicholas Kariniemi
4883013470
Merge branch 'master' of https://github.com/nicholaskariniemi/grub
2014-10-25 16:36:51 +00:00
Nicholas Kariniemi
5ee40a6471
Use version numbers instead of timestamps
...
Also:
- Don't acknowledge changes sent from the server to the client.
- Only send one message at a time to the server.
All of these changes bring this more in line with the differential sync paper.
2014-10-25 19:31:14 +03:00
Nicholas Kariniemi
79e64596ae
Add back sync integration tests
2014-10-21 23:26:27 +03:00
Nicholas Kariniemi
8fe22b9a52
Use timestamp tags instead of hashes
...
- Hashing was slow and we weren't using the hash properties much anyway
2014-10-21 23:25:42 +03:00
Nicholas Kariniemi
19ca650078
Fix tests - sync integration tests commented out
2014-10-19 11:49:02 +03:00
Nicholas Kariniemi
feae5d8135
Workaround to make reloaded workflow work with cljx
2014-10-19 11:26:07 +03:00
Nicholas Kariniemi
9591e9fd93
Rename state <--> sync namespaces
2014-10-19 10:53:14 +03:00
Nicholas Kariniemi
e14b3d2a29
Optimization: don't set grub/recipe state if state is unchanged
2014-10-15 22:51:53 +03:00
Nicholas Kariniemi
78d5617356
Keep state history with state in one atom
2014-10-15 22:14:32 +03:00
Nicholas Kariniemi
e5309fcd69
Correct use of swap!
2014-10-15 21:26:28 +03:00
Nicholas Kariniemi
0bf8344c62
Reset state on full sync
2014-10-15 21:22:53 +03:00
Nicholas Kariniemi
96dd93309d
Merge branch 'master' of github.com:nicholaskariniemi/grub
2014-10-15 21:06:11 +03:00