mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
6d7c12274e
A SubscriptionGuarantor maintains a set of pending subscriptions, resending the subscribe command unless and until the subscription is confirmed or rejected by the server or cancelled client-side. A race condition in the ActionCable server - where an unsubscribe is sent, followed rapidly by a subscribe, but handled in the reverse order - necessitates this enhancement. Indeed, the subscriptions created and torn down by Turbo Streams amplifies the existence of this race condition.
54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
* The Action Cable client now ensures successful channel subscriptions:
|
|
|
|
* The client maintains a set of pending subscriptions until either
|
|
the server confirms the subscription or the channel is torn down.
|
|
* Rectifies the race condition where an unsubscribe is rapidly followed
|
|
by a subscribe (on the same channel identifier) and the requests are
|
|
handled out of order by the ActionCable server, thereby ignoring the
|
|
subscribe command.
|
|
|
|
*Daniel Spinosa*
|
|
|
|
|
|
## Rails 7.0.0.alpha2 (September 15, 2021) ##
|
|
|
|
* No changes.
|
|
|
|
|
|
## Rails 7.0.0.alpha1 (September 15, 2021) ##
|
|
|
|
* Compile ESM package that can be used directly in the browser as actioncable.esm.js.
|
|
|
|
*DHH*
|
|
|
|
* Move action_cable.js to actioncable.js to match naming convention used for other Rails frameworks, and use JS console to communicate the deprecation.
|
|
|
|
*DHH*
|
|
|
|
* Stop transpiling the UMD package generated as actioncable.js and drop the IE11 testing that relied on that.
|
|
|
|
*DHH*
|
|
|
|
* Truncate broadcast logging messages.
|
|
|
|
*J Smith*
|
|
|
|
* OpenSSL constants are now used for Digest computations.
|
|
|
|
*Dirkjan Bussink*
|
|
|
|
* The Action Cable client now includes safeguards to prevent a "thundering
|
|
herd" of client reconnects after server connectivity loss:
|
|
|
|
* The client will wait a random amount between 1x and 3x of the stale
|
|
threshold after the server's last ping before making the first
|
|
reconnection attempt.
|
|
* Subsequent reconnection attempts now use exponential backoff instead of
|
|
logarithmic backoff. To allow the delay between reconnection attempts to
|
|
increase slowly at first, the default exponentiation base is < 2.
|
|
* Random jitter is applied to each delay between reconnection attempts.
|
|
|
|
*Jonathan Hefner*
|
|
|
|
|
|
Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/actioncable/CHANGELOG.md) for previous changes.
|