Commit Graph

262 Commits

Author SHA1 Message Date
Ian Gulliver
27e857197a Add support for re-subscribing to the same subject with different message fetching parameters. 2014-05-18 19:31:22 +03:00
Ian Gulliver
56f0f3aeba Add test for subscribe barrier behavior 2014-05-18 19:12:32 +03:00
Ian Gulliver
6d7745c6cd Support last_id in subscribe() API. Add a subscription state machine to avoid sending subscribe requests with bad parameters. 2014-05-18 19:06:27 +03:00
Ian Gulliver
c8c968a2aa Add test for getMessages/subscribe interaction. Move other tests into their own namespaces. 2014-05-18 18:49:34 +03:00
Ian Gulliver
109a31e1f4 Much more careful tracking of current createChannel state, so we don't issue duplicate RPCs or create duplicate channels. 2014-05-18 11:47:23 +03:00
Ian Gulliver
b06e94c1c8 Refactor onServerEvent for sanity. 2014-05-18 11:29:16 +03:00
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