Javan Makhmali
a87a5ff513
Rename helper and update comment
2015-12-15 09:53:10 -05:00
Javan Makhmali
11a0b2c6d8
Fix URL helper object property
2015-12-15 09:50:03 -05:00
Keenan Brock
beb8a3141b
Allow relative urls for createCable
...
thanks to https://gist.github.com/jlong/2428561
2015-12-14 18:53:53 -05:00
Mike Virata-Stone
62250e38a1
Easy websocket url configuration
...
Thanks to feedback from @ascrazy, @jeremy, and @javan
2015-12-11 14:57:01 -08:00
Javan Makhmali
365891d5ef
Share internal identifiers and message types with the JavaScript client
2015-11-06 14:09:38 -05:00
Pratik Naik
e2ed68cc70
Missed updating a method name
2015-11-06 10:49:10 -06:00
Pratik Naik
ee06b33e19
Better method names in Javascript based on the feedback from @javan
2015-10-22 10:53:19 -05:00
Pratik Naik
0ce0cf0c04
Allow rejecting subscriptions from the channel
2015-10-21 13:47:48 -05:00
Pratik Naik
84b1f0a3e6
Send subscription confirmation from server to the client to avoid race conditions.
...
Without this, it's very easy to send messages over a subscription even before the
redis pubsub has been fully initialized.
Now we delay calling the subscription#connected method on the client side until we
receive a subscription confirmation message from the server.
2015-10-16 21:11:21 -05:00
Javan Makhmali
c0e554c943
Tweak reconnect timing
2015-10-14 18:07:08 -05:00
Javan Makhmali
889d8ae3d7
Remove immediate reconnect to help avoid thundering herd after server restarts
2015-10-14 18:06:23 -05:00
Javan Makhmali
7ec1290f27
Avoid returning results of loop
2015-10-14 17:09:32 -05:00
Javan Makhmali
e8e6937d96
Add delay before reopening
2015-10-14 17:09:10 -05:00
Javan Makhmali
e07972711e
Improve guard against opening multiple web sockets
2015-10-14 17:06:21 -05:00
Rafael Mendonça França
eb8c713c98
.js.coffee -> .coffee
...
It was initially required, but support for the shorthand has been
supported since sprockets 2.1. Eventually 4.x will only support the
shorthand version. Just want to get new people using the prefer stuff
ASAP.
2015-09-02 02:57:38 -03:00
Javan Makhmali
60adbaf4af
Increment style
2015-08-31 08:14:17 -05:00
Javan Makhmali
9e0c0afe1c
Guard against opening multiple connections
2015-08-31 07:54:54 -05:00
Javan Makhmali
f4b5a4ecdf
Immediately reconnect after first disconnect
2015-08-28 18:05:46 -04:00
Javan Makhmali
ddfd649c11
Only send "disconnected" notification once
2015-08-28 17:52:46 -04:00
Javan Makhmali
1379e973be
Simplify WebSocket reconnects and guard against opening multiple connections
2015-08-28 17:45:07 -04:00
Javan Makhmali
5ee5e419be
Record last 20 Subscription notifications for inspection
2015-08-23 17:58:06 -04:00
Javan Makhmali
fa362c724d
Immediately reconnect when visibilityState changes to "visible"
2015-08-23 17:57:09 -04:00
Javan Makhmali
dc4f8b352c
Don't unsubscribe on the server when another subscription with the same identifier is active
2015-07-23 17:20:04 -04:00
Lachlan Sylvester
79b05aece1
update documentation to use websocket protocol
2015-07-09 17:21:11 +10:00
David Heinemeier Hansson
c708928276
Document the JavaScript classes
2015-07-08 14:42:04 +02:00
David Heinemeier Hansson
fdd5c925f5
Move the subscription factory method from the consumer to the subscriptions collection
2015-07-08 11:06:07 +02:00
David Heinemeier Hansson
7c6a7f28eb
Rename SubscriptionManager/Subscriber -> Subscriptions
...
This matches the server-side setup and is more consistent.
2015-07-08 11:00:24 +02:00
Javan Makhmali
026fd5b946
Add URL to inspector
2015-07-07 09:51:40 -04:00
Javan Makhmali
239d79e9eb
Add helper to inspect current state
2015-07-07 09:43:22 -04:00
Javan Makhmali
ee6b6cabfb
Rework event handlers
2015-07-07 08:57:57 -04:00
Javan Makhmali
5da432c45b
websocket -> webSocket
2015-07-06 21:43:50 -04:00
Javan Makhmali
f2542cd417
Guard against opening multiple WebSocket connections
2015-07-06 21:42:49 -04:00
Javan Makhmali
336d12f97a
Rework connection monitor
2015-06-27 16:17:06 -04:00
Javan Makhmali
d2c613cd8f
Wait for connection to close before reopening it
2015-06-27 16:17:06 -04:00
Javan Makhmali
5541b8fcaf
Update connection API with #open, #close, #reopen
2015-06-26 10:24:29 -04:00
Javan Makhmali
315c0fbf19
Fix misspelled variable
2015-06-25 18:46:33 -04:00
Javan Makhmali
84ed139700
Cable.Consumer
2015-06-25 16:24:58 -04:00
Javan Makhmali
fa0281aeb1
Cable.Channel -> Cable.Subscription
2015-06-25 16:12:26 -04:00
Javan Makhmali
0e5c9e741a
Manage an array of subscribers since there may be more than one subscription to a channel
2015-06-25 16:08:44 -04:00
Javan Makhmali
3509a1226c
event -> callbackName
2015-06-25 15:22:39 -04:00
Javan Makhmali
288d289b72
Add "initialized" notification
2015-06-25 14:07:14 -04:00
Javan Makhmali
c846f43d46
Extract connection monitoring and rewrite as a subscriber
2015-06-25 13:57:40 -04:00
Javan Makhmali
d9d7371c56
Assume subscribers have an identifier
2015-06-25 11:36:40 -04:00
Javan Makhmali
53d0b22aee
Switch back to original API and callback naming
2015-06-25 10:32:36 -04:00
Javan Makhmali
c7f00661bf
Move connection and subscriber code into their own classes
2015-06-25 10:21:53 -04:00
Javan Makhmali
0f761c0d51
Update API to camel cased equivalent of WebSocket's API
2015-06-24 18:22:16 -04:00
Javan Makhmali
268ee5208c
Create JavaScript channels identified by their Ruby class name
2015-06-24 14:26:26 -04:00
Javan Makhmali
b5e0e58fe1
Require Cable.Channel constructors to define their channel name
...
Function.name is not widely supported, and a function's name can be mangled by a minifier making it an unreliable property to infer the channel name from
2015-06-23 18:16:31 -04:00
David Heinemeier Hansson
f6daf0ef6d
Assume channel names include the _channel extension
2015-06-20 16:34:27 +02:00
David Heinemeier Hansson
0e4c2df1e1
Add new convention method for performing channel actions
2015-06-20 16:01:44 +02:00