Commit Graph

56 Commits

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