Ian Gulliver
|
368c704b81
|
Translate events in pre-channel subscribe responses.
|
2014-06-19 23:36:47 -07:00 |
|
Ian Gulliver
|
3c452dabf3
|
Add message translation layer than can handle "me" as an ACL.
|
2014-06-19 23:14:26 -07:00 |
|
Ian Gulliver
|
959049af59
|
Add connected() function.
|
2014-06-17 21:28:47 -07:00 |
|
Ian Gulliver
|
c210d826b2
|
Send profile with every RPC response.
|
2014-06-17 21:14:59 -07:00 |
|
Ian Gulliver
|
a1ee25a937
|
Clear pin state before subscribe events.
|
2014-06-17 21:06:43 -07:00 |
|
Ian Gulliver
|
3629f3c266
|
Const correctness for private members
|
2014-06-15 14:46:06 -07:00 |
|
Ian Gulliver
|
bf07fc6196
|
Doc cleanups. Make public docstrings refer to the website.
|
2014-06-14 12:23:19 -07:00 |
|
Ian Gulliver
|
d88e6b618a
|
Remove jquery externs
|
2014-06-14 10:36:23 -07:00 |
|
Ian Gulliver
|
10b4c10e83
|
Make uuid() public
|
2014-06-13 22:13:01 -07:00 |
|
Ian Gulliver
|
7d45f44265
|
Survive clearing of localStorage while we're running by caching client ID.
|
2014-06-13 21:33:19 -07:00 |
|
Ian Gulliver
|
40229ff0c0
|
Return the new message for sendMessage and pin RPCs. Pass it through the sendMessage Promise callback.
|
2014-06-12 23:12:00 -07:00 |
|
Ian Gulliver
|
493f7b1456
|
Closure compiler has moved to github
|
2014-06-12 23:11:48 -07:00 |
|
Ian Gulliver
|
fed379ddc7
|
Remove duplicate message logging; they're a normal thing now.
|
2014-06-12 22:55:27 -07:00 |
|
Ian Gulliver
|
828a9c50ea
|
Add bulk subscribe support.
|
2014-06-11 21:46:50 -07:00 |
|
Ian Gulliver
|
bc42e8d5e3
|
Compiler fixes
|
2014-06-11 21:32:17 -07:00 |
|
Ian Gulliver
|
d09eee1259
|
Clean up use of promises to do more sensible things with exceptions.
|
2014-06-11 21:11:22 -07:00 |
|
Ian Gulliver
|
66c1564980
|
Add server-side info logging.
|
2014-06-09 23:51:41 -07:00 |
|
Ian Gulliver
|
1904d6bf50
|
More reliable document ready detection.
|
2014-06-09 23:04:18 -07:00 |
|
Ian Gulliver
|
8af50befbe
|
Don't try to add things to the DOM until it loads.
|
2014-06-09 22:47:51 -07:00 |
|
Ian Gulliver
|
5d1c4407e0
|
Add ability to send/receive arbitrary objects from the debug console.
|
2014-06-09 22:20:17 -07:00 |
|
Ian Gulliver
|
2692d540e8
|
Change delay to milliseconds and make the backoff/stagger algorithm smarter.
|
2014-06-09 22:11:34 -07:00 |
|
Ian Gulliver
|
a164d7e7e4
|
Add mailing list link
|
2014-06-08 23:59:15 -07:00 |
|
Ian Gulliver
|
a2c32c833e
|
More website links.
|
2014-06-08 23:57:47 -07:00 |
|
Ian Gulliver
|
ceb3b77897
|
Add website link in readme
|
2014-06-08 23:56:02 -07:00 |
|
Ian Gulliver
|
23f0ce5cc0
|
Add debug page support for admin ACLs.
|
2014-06-08 23:55:27 -07:00 |
|
Ian Gulliver
|
d2e7b76df9
|
Add support for magic "admin" ACL that is only satisfied by appengine administrators.
|
2014-06-08 23:41:23 -07:00 |
|
Ian Gulliver
|
44ede2abbf
|
Record IP addresses for messages and pins to support later banning.
|
2014-06-08 22:04:53 -07:00 |
|
Ian Gulliver
|
322eb14a5d
|
Fix bug when attempt to re-open channel
|
2014-06-08 21:54:57 -07:00 |
|
Ian Gulliver
|
94491649a1
|
Cleanups from documentation effort.
|
2014-06-08 11:38:40 -07:00 |
|
Ian Gulliver
|
1b4b55ac23
|
Cache named profiles in memory in the Python application, since they're immutable once written.
|
2014-06-07 23:06:17 -07:00 |
|
Ian Gulliver
|
66e68ea8dd
|
User user IDs instead of email addresses for profile keys, since they're permanent.
|
2014-06-02 22:57:03 -07:00 |
|
Ian Gulliver
|
7c04134dc4
|
Rewrite the session code, again. Now use the username as the profile key name.
|
2014-06-02 22:54:16 -07:00 |
|
Ian Gulliver
|
f4bb278835
|
Impose access controls for subscribe even without a channel open.
|
2014-06-02 21:53:51 -07:00 |
|
Ian Gulliver
|
b2c661a385
|
Send page views for debug console using exposed API.
|
2014-06-02 21:27:19 -07:00 |
|
Ian Gulliver
|
074820d770
|
Tracking bugfix, annotation fixes.
|
2014-06-01 21:49:29 -07:00 |
|
Ian Gulliver
|
5079aac9a6
|
Allow subscribe to return events from a subject even when not creating a subscription
|
2014-06-01 21:14:58 -07:00 |
|
Ian Gulliver
|
c004d27e9d
|
Get javascript loading out of the critical path.
|
2014-06-01 15:27:43 -07:00 |
|
Ian Gulliver
|
b84b733e56
|
Remove RPC queueing now that we're doing client-side client_id generation.
|
2014-06-01 13:41:45 -07:00 |
|
Ian Gulliver
|
fd5569c5dc
|
Generate the client_id on the client, so we don't need a round trip to get it before we can send arbitrary RPCs.
This changes the Profile/Client relationship; we never needed to be transactional with them, so split them up entirely so we can reparent Clients.
|
2014-05-31 23:25:15 -07:00 |
|
Ian Gulliver
|
0ab2fe620c
|
lint/compiler cleanups
|
2014-05-31 11:51:16 -07:00 |
|
Ian Gulliver
|
54dcc98b00
|
Google analytics support for load and subscribe events.
|
2014-05-31 11:41:37 -07:00 |
|
Ian Gulliver
|
ad9836776f
|
Support pressing enter in message and pin fields.
|
2014-05-30 17:21:14 -07:00 |
|
Ian Gulliver
|
45677a972e
|
Debug page title.
|
2014-05-30 17:06:27 -07:00 |
|
Ian Gulliver
|
75b8b19f17
|
Load fonts over HTTPS
|
2014-05-30 17:03:46 -07:00 |
|
Ian Gulliver
|
d68b1ba942
|
Remove AuthKey.live, which didn't work anyway.
|
2014-05-30 17:02:21 -07:00 |
|
Ian Gulliver
|
14ba801e09
|
Fix resubscription broken by recent change.
|
2014-05-30 17:00:06 -07:00 |
|
Ian Gulliver
|
27a21cc2d3
|
New debug console. Add sender_message_id to delivered messages for code simplicity.
|
2014-05-30 16:56:22 -07:00 |
|
Ian Gulliver
|
e1288a67fb
|
Fixes for read/write ACLs on server and client side
|
2014-05-30 16:42:30 -07:00 |
|
Ian Gulliver
|
8982e0e2b5
|
Fix nasty retry bug that causes us to not reconnect.
|
2014-05-30 11:23:32 -07:00 |
|
Ian Gulliver
|
5d39c9abdf
|
Last ugly style guide compliance fixes
|
2014-05-28 23:25:53 -07:00 |
|
Ian Gulliver
|
10dd0e4db0
|
Layout for new debug console.
|
2014-05-28 23:16:57 -07:00 |
|
Ian Gulliver
|
76bd05d03d
|
Lint cleanup for tests
|
2014-05-28 21:56:12 -07:00 |
|
Ian Gulliver
|
d5941a49f7
|
Whitespace for strict linting.
|
2014-05-28 21:52:12 -07:00 |
|
Ian Gulliver
|
9e791bcf3b
|
Move types inside our namespace to avoid polluting globals. Make some private.
|
2014-05-28 21:43:27 -07:00 |
|
Ian Gulliver
|
6ca7247fc9
|
Lots of style fixes for JavaScript
|
2014-05-28 21:32:01 -07:00 |
|
Ian Gulliver
|
0ad033550c
|
Fix auth key bug introduced in last change
|
2014-05-28 14:58:37 -07:00 |
|
Ian Gulliver
|
a70982243b
|
Add app-local caching and stop using memcache; reduce overall datastore access.
|
2014-05-28 14:44:13 -07:00 |
|
Ian Gulliver
|
9736c15faa
|
Subjects get a key name to enforce uniqueness.
|
2014-05-28 13:51:42 -07:00 |
|
Ian Gulliver
|
be27a86b72
|
Use get_or_insert for finding instances.
|
2014-05-28 13:39:15 -07:00 |
|
Ian Gulliver
|
e9752f9277
|
(Failing) test to race to duplicate a subject
|
2014-05-28 13:36:12 -07:00 |
|
Ian Gulliver
|
3b18676f59
|
Add a new class of chaos monkey errors after the inner code has run. Lower the overall error rate to reduce traffic.
|
2014-05-27 16:58:20 -07:00 |
|
Ian Gulliver
|
4427af1505
|
Combined our two post-connect functions into one, so we make less HTTP calls.
|
2014-05-27 16:32:59 -07:00 |
|
Ian Gulliver
|
6d6950624f
|
Add onConnect/onDisconnect callbacks
|
2014-05-27 15:48:03 -07:00 |
|
Ian Gulliver
|
1dd1490518
|
Pin test, fixes, cleanup
|
2014-05-27 15:33:51 -07:00 |
|
Ian Gulliver
|
d96c31abf7
|
Remove stupid cycling UUID scheme. Instead, limit server-side pin deduping to a single instance.
|
2014-05-27 14:54:16 -07:00 |
|
Ian Gulliver
|
43dec31217
|
Attempt more reliable handling for connecting with a bad instance ID.
|
2014-05-27 14:43:59 -07:00 |
|
Ian Gulliver
|
fd94334133
|
Change our sender IDs when re-pinning, so we don't race against duping ourselves.
|
2014-05-27 14:33:17 -07:00 |
|
Ian Gulliver
|
ba51350768
|
Move exception logging to warn level, so real errors stick out.
|
2014-05-27 14:32:15 -07:00 |
|
Ian Gulliver
|
e51d42a842
|
Lots of closure annotation to allow JavaScript compile/verification.
|
2014-05-27 14:29:12 -07:00 |
|
Ian Gulliver
|
b6d5e6d6ae
|
Fix completely broken repin-on-connect behavior
|
2014-05-27 10:35:00 -07:00 |
|
Ian Gulliver
|
b700202e4f
|
Quiet some of the logspam around instances
|
2014-05-26 17:28:59 -07:00 |
|
Ian Gulliver
|
070521493b
|
Add getLastMessage() for easier key/value storing.
|
2014-05-26 10:02:37 -07:00 |
|
Ian Gulliver
|
898121dabd
|
Remove the concept of keys; they can just be encoded into subject names.
|
2014-05-25 23:50:53 -07:00 |
|
Ian Gulliver
|
8e7af2f5cf
|
Add support for ephemeral messages that are tied to an open channel, aka "pins".
|
2014-05-25 23:40:56 -07:00 |
|
Ian Gulliver
|
1e91f5babb
|
Per-RPC retry support, used when subscribe() can't find an active instance.
|
2014-05-23 15:32:31 -07:00 |
|
Ian Gulliver
|
ba82bf3dee
|
Minor cleanups
|
2014-05-23 15:24:52 -07:00 |
|
Ian Gulliver
|
c6cbae4885
|
Generate a new instance_id when we reconnect the channel, so we look like an entirely different instance.
|
2014-05-23 15:10:49 -07:00 |
|
Ian Gulliver
|
b5bce48df6
|
Make Instance actually stand alone.
|
2014-05-23 15:00:28 -07:00 |
|
Ian Gulliver
|
0b38d082c1
|
Remove Instance from the Profile hierarchy to allow key_name queries.
|
2014-05-23 14:29:11 -07:00 |
|
Ian Gulliver
|
9b14a5a14b
|
Move the two channels test to the dev appserver, since the second channel never connects in prod.
|
2014-05-23 11:45:34 -07:00 |
|
Ian Gulliver
|
1ec2340f48
|
Need to make the client_id even shorter. Switch to id()
|
2014-05-23 11:40:08 -07:00 |
|
Ian Gulliver
|
0e87448f6f
|
Switch to using Instance key as the channel_id, since there seems to be an undocumented length limit.
|
2014-05-23 11:23:30 -07:00 |
|
Ian Gulliver
|
6bfa10e82a
|
Add a third level construct under Profile and Client, Instance. This allows more than one connected object with the same client credentials.
|
2014-05-23 10:31:52 -07:00 |
|
Ian Gulliver
|
0d821547e3
|
Package overview
|
2014-05-22 10:38:34 -07:00 |
|
Ian Gulliver
|
8fd851c409
|
Fix a subscribe bug when last_id=0
|
2014-05-20 10:26:10 -07:00 |
|
Ian Gulliver
|
1cb61cdf62
|
Split profile() into getProfile() and currentProfile()
|
2014-05-19 21:11:19 +03:00 |
|
Ian Gulliver
|
f27fc7977b
|
Add real subject ACL support and tests.
|
2014-05-19 20:52:57 +03:00 |
|
Ian Gulliver
|
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.
|
2014-05-19 15:21:21 +03:00 |
|
Ian Gulliver
|
640da84124
|
Make message ordering test more comprehensive and fix a message ordering bug.
|
2014-05-18 22:13:48 +03:00 |
|
Ian Gulliver
|
1ee22da229
|
Add a message ordering test. Fix a nasty ID generation bug.
|
2014-05-18 21:58:40 +03:00 |
|
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 |
|