| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Support all Redis features without needing to maintain a list of valid options that must stay in sync with the upstream client library.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove unnecessary variable from ActionCable.createWebSocketURL
* Improve ActionCable test by creating the Consumer before reassigning URL
With this change, the test now actually verifies that the Consumer's url
property changes dynamically (from testURL to `${testURL}foo`).
* Fix alphabetization of ActionCable exports
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Failing test case
* feat: Dynamic Url Generation
Change createWebSocketURL to be a closure that allows url to be evaluated at the time the webSocket is established
* refactor: createWebSocketURL to Consumer, remove need for closure
Move initial call to createWebSocketURL in createConsumer
* docs: Add documentation for dynamic url and string args to createConsumer
Co-Authored-By: rmacklin <rmacklin@users.noreply.github.com>
[Ryan Castner, rmacklin]
|
|\
| |
| |
| | |
v6.0.0.beta3 release
|
| |
| |
| |
| |
| |
| |
| | |
* Update RAILS_VERSION
* Bundle
* rake update_versions
* rake changelog:header
|
| |
| |
| |
| |
| |
| | |
Ran `cd actioncable && yarn build`.
[ Kasper Timm Hansen & Ryan Castner ]
|
|\ \
| | |
| | |
| | |
| | | |
audiolion/feature/dynamic-actioncable-websocket-url
feat(js): Dynamic Actioncable WebSocket URL
|
| | |
| | |
| | | |
change if statement to ternary, use const for consistency, add spacing after ternary expression
|
| |/
| |
| |
| | |
Allow createWebSocketURL fn to accept a function to generate the websocket URL rather than a string.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(NameError)
```
$ bundle exec ruby -w -Itest test/subscription_adapter/postgresql_test.rb
Traceback (most recent call last):
1: from test/subscription_adapter/postgresql_test.rb:8:in `<main>'
test/subscription_adapter/postgresql_test.rb:10:in `<class:PostgresqlAdapterTest>': uninitialized constant PostgresqlAdapterTest::ChannelPrefixTest (NameError)
```
https://travis-ci.org/rails/rails/jobs/493530508
Follow up #35276
|
| |
|
|
|
|
|
| |
That allows us to create a separate, isolated Action Cable server
instance within the same app.
|
|
|
|
|
| |
If they're not set we'll still fall back to localhost, but this makes it
possible to run the tests against a remote Postgres / Redis / whatever.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Action Cable: move channel_name to Channel.broadcasting_for
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
That would allow us to test broadcasting made with channel, e.g.:
```ruby
class ChatRelayJob < ApplicationJob
def perform_later(room, msg)
ChatChannel.broadcast_to room, message: msg
end
end
```
To test this functionality we need to know the underlying stream name
(to use `assert_broadcasts`), which relies on `channel_name`.
We had to use the following code:
```ruby
assert_broadcasts(ChatChannel.broadcasting_for([ChatChannel.channel_name, room]), 1) do
ChatRelayJob.perform_now
end
```
The problem with this approach is that we use _internal_ API (we shouldn't care about `channel_name` prefix
in our code).
With this commit we could re-write the test as following:
```ruby
assert_broadcasts(ChatChannel.broadcasting_for(room), 1) do
ChatRelayJob.perform_now
end
```
|
|/ |
|
| |
|
|\
| |
| | |
Typo fixes in action cable.
|
| | |
|
|\ \
| | |
| | | |
Avoid ReferenceError exceptions if ActionCable is used in a web worker
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows ActionCable to be used in a web worker, where the `document`
global is undefined. Previously, attempting to use ActionCable inside a
web worker would result in this exception after you try to open a
connection:
```
ReferenceError: document is not defined
```
The visibilitychange event won't ever get triggered in a worker, so
adding the listener is effectively a no-op there. But the listener is
mainly a convenience, rather than a critical piece of the javascript
interface, so using ActionCable in a worker will still work. (And you
could listen for visibilitychange yourself in a window script, then tell
the worker to reconnect if you still want that behavior.)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this change, attempting to use ActionCable inside a web worker
would result in an exception being thrown:
```
ReferenceError: window is not defined
```
By replacing the `window` reference with `self`, which is available in
both a window context and a worker context, we can avoid this error.
Ref:
https://developer.mozilla.org/en-US/docs/Web/API/Window/self
|
|/
|
|
|
|
| |
Related to 837f602fa1b3281113dac965a8ef96de3cac8b02
Fix the testing guide.
|
|\
| |
| |
| |
| | |
rmacklin/simplify-actioncable-methods-after-decaffeination
Clean up ActionCable JS a bit more after the CoffeeScript conversion
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in Connection#close. We can do this because `isActive()` can only
return `true` if `this.webSocket` is truthy. (We can't have an active
connection without having instantiated a WebSocket. This is confirmed
in the code: Connection#isActive calls Connection#isState which calls
Connection#getState, which checks if `this.webSocket` is truthy and
returns `null` otherwise.)
|
| |
| |
| |
| | |
by relying on the implicit undefined return value
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't reimplement assert_raises
Also test what happens in case there's no explicit rejection.
* Avoid OpenStruct. Remove space beneath private.
* Simplify verification methods for code under test.
* Match documentation with other Rails docs.
Also remove mention of the custom path argument for now.
Unsure how useful that really is.
|
|\
| |
| |
| |
| | |
bogdanvlviv/merge-actioncable-README.md-to-the-guide
Merge `actioncable/README.md` to the Action Cable Overview guide [ci skip]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In #34709 we updated the guide, but `actioncable/README.md` is still
outdated. Instead of fixing content in the file. I suggest
not duplicate the info that is already in the guide and instead remove
the info from the file and just add a message:
"You can read more about Action Cable in the
[Action Cable Overview](https://edgeguides.rubyonrails.org/action_cable_overview.html) guide."
The same approach is being used for Action Mailbox and Action Text,
see #34812 and #34878.
|
|\ \
| |/
|/| |
Add ActionCable::Connection::TestCase
|
| | |
|
| |
| |
| |
| | |
Fixes #33083
|
| |
| |
| |
| |
| |
| |
| |
| | |
yhirano55/rails_info_properties_json""
I reverted the wrong commit. Damn it.
This reverts commit f66a977fc7ae30d2a07124ad91924c4ee638a703.
|
|/
|
|
|
|
|
|
|
|
|
| |
We had a discussion on the Core team and we don't want to expose this information
as a JSON endpoint and not by default.
It doesn't make sense to expose this JSON locally and this controller is only
accessible in dev, so the proposed access from a production app seems off.
This reverts commit 8eaffe7e89719ac62ff29c2e4208cfbeb1cd1c38, reversing
changes made to b6e4305c3bca4c673996d0af9db0f4cfbf50215e.
|