f27fc7977b
Add real subject ACL support and tests.
Ian Gulliver
2014-05-19 20:52:57 +03:00
c361d41fcf
Delay RPC sending and subject resubscription until we have an open channel on the client side, to try to work around prod appengine disappearing messages. Add a test for channel reconnection and re-subscription.
Ian Gulliver
2014-05-19 15:21:21 +03:00
640da84124
Make message ordering test more comprehensive and fix a message ordering bug.
Ian Gulliver
2014-05-18 22:13:48 +03:00
1ee22da229
Add a message ordering test. Fix a nasty ID generation bug.
Ian Gulliver
2014-05-18 21:58:40 +03:00
27e857197a
Add support for re-subscribing to the same subject with different message fetching parameters.
Ian Gulliver
2014-05-18 19:31:22 +03:00
56f0f3aeba
Add test for subscribe barrier behavior
Ian Gulliver
2014-05-18 19:12:32 +03:00
6d7745c6cd
Support last_id in subscribe() API. Add a subscription state machine to avoid sending subscribe requests with bad parameters.
Ian Gulliver
2014-05-18 19:06:27 +03:00
c8c968a2aa
Add test for getMessages/subscribe interaction. Move other tests into their own namespaces.
Ian Gulliver
2014-05-18 18:49:34 +03:00
109a31e1f4
Much more careful tracking of current createChannel state, so we don't issue duplicate RPCs or create duplicate channels.
Ian Gulliver
2014-05-18 11:47:23 +03:00
b06e94c1c8
Refactor onServerEvent for sanity.
Ian Gulliver
2014-05-18 11:29:16 +03:00
0380679ddb
When rebuilding the channel, subscribe via last seen ID, so we don't miss messages from the time we were disconnected.
Ian Gulliver
2014-05-18 11:20:44 +03:00
63ac321537
Establish a definite ordering and sequential IDs for messages, at the expense of another datastore read/write pair.
Ian Gulliver
2014-05-18 10:58:39 +03:00
6389787833
Small API changes to move toward subject ACLs.
Ian Gulliver
2014-05-17 19:13:59 +03:00
d3f716a081
Use a property instead of key_name to hold subject name. This makes Message.ToEvent() do an additional datastore read, but opens up the ability to add more subject indexes.
Ian Gulliver
2014-05-17 18:50:12 +03:00
60c44a25a2
Reliable message delivery across instances using the same namespace.
Ian Gulliver
2014-05-17 18:43:46 +03:00
1a66b86c13
Add test for duplicate message suppression. Fix totally broken subscribe by key code.
Ian Gulliver
2014-05-17 18:04:57 +03:00
966c6c8c50
Remove onReady callback and replace with a queue of RPCs ready to send when we have a client_id.
Ian Gulliver
2014-05-17 17:48:08 +03:00
994afde51f
Make subscribe/unsubscribe/sendMessage return Promises that fire on RPC return.
Ian Gulliver
2014-05-17 16:52:28 +03:00
96b17ad6ff
Switch to using XHR directly, and drop jquery dep.
Ian Gulliver
2014-05-17 16:31:23 +03:00
6615bb88e2
Make profile merge test messages friendlier.
Ian Gulliver
2014-05-16 23:11:58 +03:00
0247b78c6b
Suppress duplicate messages from a client (e.g. when network failure causes retries for RPCs that actually went through).
Ian Gulliver
2014-05-16 23:07:38 +03:00
81d7db3678
Fix profile merge code on login, add test.
Ian Gulliver
2014-05-16 22:35:20 +03:00
64e16e7ec1
Add a way to fetch our current profile ID.
Ian Gulliver
2014-05-16 19:03:33 +03:00
5e63eb9ae6
Remove overly-verbose logging
Ian Gulliver
2014-05-16 18:47:21 +03:00
4033861fc6
More reliably close the socket on shutdown(). Make logging include namespace.
Ian Gulliver
2014-05-16 18:44:48 +03:00
cb02c1ad2f
Simplify tests to try to obey the one-channel-per-browser rule.
Ian Gulliver
2014-05-16 18:30:27 +03:00
0d72e4ca38
Add comments about other people's bad code.
Ian Gulliver
2014-05-16 18:21:59 +03:00
2d2216500a
Remove other uses of jquery.
Ian Gulliver
2014-05-16 18:02:09 +03:00
f8089fb7a1
Remove a use of jquery that was causing some ugly.
Ian Gulliver
2014-05-16 18:00:11 +03:00
fe7bab189d
Clean up logout handling in tests.
Ian Gulliver
2014-05-16 17:57:26 +03:00
482feee804
Add login test. Fix bugs in socket teardown, RPC retry. Remove chunk of broken merge code pending rewrite.
Ian Gulliver
2014-05-15 19:43:09 +03:00
0b037e899a
Make sure we're logged out for each test.
Ian Gulliver
2014-05-15 19:32:23 +03:00
179fad1c96
Add test for complex object
Ian Gulliver
2014-05-15 19:23:21 +03:00
92be7e7b28
Move test javascript to test.js
Ian Gulliver
2014-05-15 19:05:44 +03:00
3f0b7db9dd
Add test for two messages with the same key. Fixes to clean shutdown and server-side message duplication.
Ian Gulliver
2014-05-15 16:30:08 +03:00
1e755c9693
Move onReady callback to after channel response from server, so we have a client_id before we start sending other RPCs.
Ian Gulliver
2014-05-14 23:28:56 +03:00
3a3cba9be3
First pass at tests and initial bugfixes/necessary features, including onReady callback.
Ian Gulliver
2014-05-13 19:12:06 +03:00
600054b5ca
Keep a client-side key index and add a lookup function.
Ian Gulliver
2014-05-13 18:25:12 +03:00
cf442ed834
Send messages JSON-formatted to support a wider set of types.
Ian Gulliver
2014-05-13 17:48:30 +03:00
e7221f9050
Fix debug scripts after change to namespace.
Ian Gulliver
2014-05-13 17:42:52 +03:00
b93481cb10
Closure compiler correctness and test script.
Ian Gulliver
2014-05-13 17:41:43 +03:00
1b38d81c9c
Remove SetValue/GetValue. Add debug console support for keeping track of streaming key values.
Ian Gulliver
2014-05-11 19:34:42 +03:00
0575b8918d
Add a key field to messages and allow lookup of most recent message by key.
Ian Gulliver
2014-05-11 15:43:45 +03:00
b7bd396c9b
Fix escaping in message debug display.
Ian Gulliver
2014-05-11 15:09:16 +03:00
3f54bbf284
Provide usernames without further data as more human-readable numbers
Ian Gulliver
2014-05-10 22:26:19 +03:00
a912e973c3
Reverse sort order of initially-returned messages, so the client can generally depend on messages proceeding forward.
Ian Gulliver
2014-05-10 19:20:14 +02:00
bff49f3401
Checkpoint: working subscribe/unsubscribe and message transit, through the debug page
Ian Gulliver
2014-05-10 15:47:33 +02:00
6a6fdc1c41
Make the structure that we pass over the channel or pseudo-channel called an "event".
Ian Gulliver
2014-05-09 15:00:48 -07:00
e6885042f5
Add pubsub server API, without client API or UI yet.
Ian Gulliver
2014-05-06 22:46:07 -07:00
bb5c0752b1
Move message handling in RPC responses out of individual commands and to a general property of the response.
Ian Gulliver
2014-05-06 13:47:57 -07:00
cf05c0f620
Switch to a multi-request/response API to make batching possible.
Ian Gulliver
2014-05-06 13:38:40 -07:00
0369266d60
Remove the getUser API call and replace it with channel messages. Close channels when log in/out events occur for security.
Ian Gulliver
2014-05-01 14:55:50 -07:00
64f989e3ca
Support public flag for StateEntry
Ian Gulliver
2014-05-01 11:33:29 -07:00
006eb03483
Be more explicit about parents so I stop forgetting
Ian Gulliver
2014-05-01 09:57:50 -07:00
f9c3908a3d
Remove line accidentally added
Ian Gulliver
2014-05-01 09:56:50 -07:00
b02ddde215
Clean up debug UI and code a bit. Allow empty StateEntry values.
Ian Gulliver
2014-04-30 17:54:48 -07:00
a664bcebac
Switch to Array.forEach() where possible.
Ian Gulliver
2014-04-30 11:17:25 -07:00
cf4bc21bec
Fix message queuing brain-o
Ian Gulliver
2014-04-26 00:41:12 -04:00
23c79998c8
Make game module name dynamic and delay sending messages until we know it.
Ian Gulliver
2014-04-26 00:03:36 -04:00
20dc706f22
Better example app.
Ian Gulliver
2014-04-25 13:38:52 -07:00
3f0a100db2
Unity integration demo.
Ian Gulliver
2014-04-25 13:00:20 -07:00
bf8c2b3e98
Clean up some of the new key adding code.
Ian Gulliver
2014-03-25 14:24:00 -07:00
7069d16aaa
Fix handling of initial messages on channel creation by returning them in the RPC response instead of over the channel.
Ian Gulliver
2014-03-25 14:19:13 -07:00
f01d7a4dc9
Ignore .pyc files
Ian Gulliver
2014-03-25 13:58:31 -07:00
c99c171dbc
Initial snapshot.
Ian Gulliver
2014-03-25 13:43:11 -07:00