Git Product home page Git Product logo

anycable_rails_demo's Introduction

Unit Tests System Tests

AnyCable Rails Demo

This repository contains the code for AnyCable Rails demo application and its different variations.

List of all demonstration PRs

Installation

This app has a Docker-first configuration based one the Ruby on Whales post.

You need:

  • Docker installed.

For MacOS just use official app.

  • Dip installed.

Run the following command to build images and provision the application:

dip provision

Running

You can start Rails server along with AnyCable by running:

dip up web

Then go to http://localhost:3000/ and see the application in action.

Debugging

If you want to run Rails server and/or with debugging capabilities, run the following commands:

# for Rails server
dip rails s

Testing

We separate unit and system specs and provide convenient Dip commands to run them:

# only unit tests
dip rspec

# only system tests
dip rspec system

Resources

Aknowledgements

Built and tested with the help of these awesome technologies:

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/anycable/anycable_rails_demo.

License

The application is available as open source under the terms of the MIT License.

anycable_rails_demo's People

Contributors

jjb avatar palkan avatar systho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anycable_rails_demo's Issues

dip provision error when adding yarn key

my guess was that curl was not returning the response. that's not the case on my host system. maybe curl doesn't have the right cert. i tried adding --insecure, same behavior.

let me know if you would like any more info!

➔ dip --version
7.2.0
➔ git status -sb
## master...origin/master
➔ git log |head -n1
commit 4ebc76d63639c4672c2dfd7ff6a7869b83217b68
Step 10/16 : RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -   && echo 'deb http://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list
 ---> Running in 054868ea0cf2
Warning: apt-key output should not be parsed (stdout is not a terminal)
Segmentation fault
gpg: no valid OpenPGP data found.
ERROR: Service 'rails' failed to build : The command '/bin/sh -c curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -   && echo 'deb http://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list' returned a non-zero code: 2
ERROR: Command 'dip bundle install' executed with error.

System specs related to multiple sessions fail running specs locally

Hi @palkan! I love your work!

I'm digging into your amazing blog post about cuprite, but I'm not using Docker because I feel uncomfortable about it (I'd like to understand how things work locally before adding one more level of abstraction). So, I stumbled upon this repo which implements the code you wrote in the blog post, and the application on development works great; but the system specs related to multiple sessions fail. Example here:

> bundle exec rspec spec/system/chat/messaging_spec.rb:13
Run options: include {:locations=>{"./spec/system/chat/messaging_spec.rb"=>[13]}}

Randomized with seed 19749

🐢  Precompiling assets.
Finished in 0.05 seconds

Workspaces -> Chat
  I can send a message (FAILED - 1)

Failures:

  1) Workspaces -> Chat I can send a message
     Failure/Error: expect(page).to have_text "Hi there"
       expected to find text "Hi there" in "You will receive new messages as they come"
     
     [Screenshot]: tmp/capybara/screenshots/failures_r_spec_example_groups_workspaces_chat_i_can_send_a_message_495.png

     
     # ./spec/system/chat/messaging_spec.rb:20:in `block (4 levels) in <top (required)>'
     # ./spec/system/chat/messaging_spec.rb:19:in `block (3 levels) in <top (required)>'
     # ./spec/system/chat/messaging_spec.rb:14:in `block (2 levels) in <top (required)>'
     # ./spec/system/support/better_rails_system_tests.rb:29:in `block (2 levels) in <compiled>'

Finished in 3.35 seconds (files took 1.08 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/system/chat/messaging_spec.rb:13 # Workspaces -> Chat I can send a message

I found that AnyCable is rejecting connections for some reason, as you can see by the logs:

bundle exec anycable
Starting AnyCable gRPC server (pid: 139779, workers_num: 30)
AnyCable version: 1.0.1 (proto_version: v1)
gRPC version: 1.30.0
Serving Rails application from ./config/environment.rb
Broadcasting Redis channel: __anycable__
RPC server is starting...
RPC server is listening on 127.0.0.1:50051
RPC Connect: <AnyCable::ConnectionRequest: env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {}, istate: {}>>
Started "/cable" [AnyCable] for 127.0.0.1 at 2020-07-17 11:07:45 +0200
RPC Command: <AnyCable::CommandMessage: command: "subscribe", identifier: "{\"channel\":\"WorkspaceChannel\",\"id\":\"demo\"}", connection_identifiers: "{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}", data: "", env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {"__ltags__"=>"[]"}, istate: {}>>
WorkspaceChannel is transmitting the subscription confirmation
RPC Command: <AnyCable::CommandMessage: command: "subscribe", identifier: "{\"channel\":\"ChatChannel\",\"id\":\"demo\"}", connection_identifiers: "{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}", data: "", env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {"__ltags__"=>"[]"}, istate: {}>>
ChatChannel is transmitting the subscription confirmation
RPC Command: <AnyCable::CommandMessage: command: "subscribe", identifier: "{\"channel\":\"ListChannel\",\"id\":\"1\",\"workspace\":\"demo\"}", connection_identifiers: "{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}", data: "", env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {"__ltags__"=>"[]"}, istate: {}>>
ListChannel is transmitting the subscription confirmation
RPC Command: <AnyCable::CommandMessage: command: "subscribe", identifier: "{\"channel\":\"ListChannel\",\"id\":\"2\",\"workspace\":\"demo\"}", connection_identifiers: "{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}", data: "", env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {"__ltags__"=>"[]"}, istate: {}>>
ListChannel is transmitting the subscription confirmation
RPC Command: <AnyCable::CommandMessage: command: "subscribe", identifier: "{\"channel\":\"ListChannel\",\"id\":\"3\",\"workspace\":\"demo\"}", connection_identifiers: "{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}", data: "", env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>"_session_id=874ac605b6f3ceaaa0be00371f71b70e; _anycable_rails_demo_session=PI2mlAgQBnSo1J%2BzBM3ZL0dFoHWZ7onaMSxwhdsTu89SyyGVjeBagk1908puK%2FiBIcdkU9iD7RY2nWAutLth5C5QYvdsWp8LPbePz4rLMfEJ3oqdrO36qhiVrIO26W1oD6SGgTucXuU%2F%2Bg3dO82%2BNgKv7JO8GmK7waZ30RwcPEYXRtD0T3zjLx4NusQJM2HXjjOofaOy7kovK1H5MWPl%2FbUZ8XhBVNTuwEd5zjeEfIgn6LdiYib1%2FNsSP0d8FxhQxwaB8Hr32Wc0Yg5476sqwe8sZL1FPph1%2BvQYPB5b3JeuKIwo6E0Q7zqecF6%2Fnt9dTy496HcfcoHGNOwH6b0%2BrW9GFkrhXXJ%2FhRG5mQ%3D%3D--Dzu%2BAYRuTGiB4CUZ--O7UigW8Au7fVfiDYb2n2Xw%3D%3D; uid=maurizio%2Fglkoh"}, cstate: {"__ltags__"=>"[]"}, istate: {}>>
ListChannel is transmitting the subscription confirmation
RPC Connect: <AnyCable::ConnectionRequest: env: <AnyCable::Env: url: "http://localhost:8080/cable", headers: {"REMOTE_ADDR"=>"127.0.0.1", "cookie"=>""}, cstate: {}, istate: {}>>
Started "/cable" [AnyCable] for 127.0.0.1 at 2020-07-17 11:09:34 +0200
An unauthorized connection attempt was rejected
Finished "/cable" [AnyCable] for 127.0.0.1 at 2020-07-17 11:09:34 +0200 (Rejected)
anycable-go --debug
 DEBUG 2020-07-17T09:07:42.564Z context=main 🔧 🔧 🔧 Debug mode is on 🔧 🔧 🔧
  INFO 2020-07-17T09:07:42.564Z context=main Starting AnyCable 1.0.1-1551caf (pid: 140297, open file limit: 1024)
 DEBUG 2020-07-17T09:07:42.564Z context=disconnector Calls rate: 10ms         
  INFO 2020-07-17T09:07:42.564Z context=main Handle WebSocket connections at http://localhost:8080/cable
  INFO 2020-07-17T09:07:42.564Z context=main Handle health connections at http://localhost:8080/health
 DEBUG 2020-07-17T09:07:42.564Z context=http Starting WebSocket server at http://localhost:8080
  INFO 2020-07-17T09:07:42.564Z context=rpc RPC controller initialized: localhost:50051 (concurrency: 28, proto_versions: v0,v1)
  INFO 2020-07-17T09:07:42.565Z context=pubsub Subscribed to Redis channel: __anycable__

 DEBUG 2020-07-17T09:07:45.321Z context=rpc Authenticate response: status:SUCCESS identifiers:"{\"user\":\"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o\"}" transmissions:"{\"type\":\"welcome\"}" env:<cstate:<key:"__ltags__" value:"[]" > > 
 DEBUG 2020-07-17T09:07:45.321Z context=node sid=339X7KGEgxdn-ny8y73dX websocket session established
 DEBUG 2020-07-17T09:07:45.321Z context=hub sid=339X7KGEgxdn-ny8y73dX Registered with identifiers: {"user":"Z2lkOi8vYW55Y2FibGUvVXNlci9nbGtvaD9uYW1lPW1hdXJpemlvJmlkPWdsa29o"}
 DEBUG 2020-07-17T09:07:45.322Z context=node sid=339X7KGEgxdn-ny8y73dX Incoming message: &{subscribe {"channel":"WorkspaceChannel","id":"demo"} }
 DEBUG 2020-07-17T09:07:45.453Z context=rpc Command response: status:SUCCESS streams:"workspace:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9Xb3Jrc3BhY2UvMQ" transmissions:"{\"identifier\":\"{\\\"channel\\\":\\\"WorkspaceChannel\\\",\\\"id\\\":\\\"demo\\\"}\",\"type\":\"confirm_subscription\"}" env:<> 
 DEBUG 2020-07-17T09:07:45.453Z context=node sid=339X7KGEgxdn-ny8y73dX Subscribed to channel: {"channel":"WorkspaceChannel","id":"demo"}
 DEBUG 2020-07-17T09:07:45.453Z channel={"channel":"WorkspaceChannel","id":"demo"} context=hub sid=339X7KGEgxdn-ny8y73dX stream=workspace:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9Xb3Jrc3BhY2UvMQ Subscribed               
 DEBUG 2020-07-17T09:07:45.453Z context=node sid=339X7KGEgxdn-ny8y73dX Incoming message: &{subscribe {"channel":"ChatChannel","id":"demo"} }
 DEBUG 2020-07-17T09:07:45.466Z context=rpc Command response: status:SUCCESS streams:"chat:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9Xb3Jrc3BhY2UvMQ" transmissions:"{\"identifier\":\"{\\\"channel\\\":\\\"ChatChannel\\\",\\\"id\\\":\\\"demo\\\"}\",\"type\":\"confirm_subscription\"}" env:<istate:<key:"workspace" value:"Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9Xb3Jrc3BhY2UvMQ" > > 
 DEBUG 2020-07-17T09:07:45.466Z context=node sid=339X7KGEgxdn-ny8y73dX Subscribed to channel: {"channel":"ChatChannel","id":"demo"}
 DEBUG 2020-07-17T09:07:45.466Z channel={"channel":"ChatChannel","id":"demo"} context=hub sid=339X7KGEgxdn-ny8y73dX stream=chat:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9Xb3Jrc3BhY2UvMQ Subscribed               
 DEBUG 2020-07-17T09:07:45.466Z context=node sid=339X7KGEgxdn-ny8y73dX Incoming message: &{subscribe {"channel":"ListChannel","id":"1","workspace":"demo"} }
 DEBUG 2020-07-17T09:07:45.517Z context=rpc Command response: status:SUCCESS streams:"list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzE" transmissions:"{\"identifier\":\"{\\\"channel\\\":\\\"ListChannel\\\",\\\"id\\\":\\\"1\\\",\\\"workspace\\\":\\\"demo\\\"}\",\"type\":\"confirm_subscription\"}" env:<> 
 DEBUG 2020-07-17T09:07:45.517Z context=node sid=339X7KGEgxdn-ny8y73dX Subscribed to channel: {"channel":"ListChannel","id":"1","workspace":"demo"}
 DEBUG 2020-07-17T09:07:45.517Z channel={"channel":"ListChannel","id":"1","workspace":"demo"} context=hub sid=339X7KGEgxdn-ny8y73dX stream=list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzE Subscribed               
 DEBUG 2020-07-17T09:07:45.517Z context=node sid=339X7KGEgxdn-ny8y73dX Incoming message: &{subscribe {"channel":"ListChannel","id":"2","workspace":"demo"} }
 DEBUG 2020-07-17T09:07:45.524Z context=rpc Command response: status:SUCCESS streams:"list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzI" transmissions:"{\"identifier\":\"{\\\"channel\\\":\\\"ListChannel\\\",\\\"id\\\":\\\"2\\\",\\\"workspace\\\":\\\"demo\\\"}\",\"type\":\"confirm_subscription\"}" env:<> 
 DEBUG 2020-07-17T09:07:45.524Z context=node sid=339X7KGEgxdn-ny8y73dX Subscribed to channel: {"channel":"ListChannel","id":"2","workspace":"demo"}
 DEBUG 2020-07-17T09:07:45.524Z channel={"channel":"ListChannel","id":"2","workspace":"demo"} context=hub sid=339X7KGEgxdn-ny8y73dX stream=list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzI Subscribed               
 DEBUG 2020-07-17T09:07:45.524Z context=node sid=339X7KGEgxdn-ny8y73dX Incoming message: &{subscribe {"channel":"ListChannel","id":"3","workspace":"demo"} }
 DEBUG 2020-07-17T09:07:45.529Z context=rpc Command response: status:SUCCESS streams:"list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzM" transmissions:"{\"identifier\":\"{\\\"channel\\\":\\\"ListChannel\\\",\\\"id\\\":\\\"3\\\",\\\"workspace\\\":\\\"demo\\\"}\",\"type\":\"confirm_subscription\"}" env:<> 
 DEBUG 2020-07-17T09:07:45.529Z context=node sid=339X7KGEgxdn-ny8y73dX Subscribed to channel: {"channel":"ListChannel","id":"3","workspace":"demo"}
 DEBUG 2020-07-17T09:07:45.529Z channel={"channel":"ListChannel","id":"3","workspace":"demo"} context=hub sid=339X7KGEgxdn-ny8y73dX stream=list:Z2lkOi8vYW55Y2FibGUtcmFpbHMtZGVtby9MaXN0LzM Subscribed               
 DEBUG 2020-07-17T09:09:34.320Z context=rpc Authenticate response: status:FAILURE transmissions:"{\"type\":\"disconnect\",\"reason\":\"unauthorized\",\"reconnect\":false}" 
 ERROR 2020-07-17T09:09:34.320Z context=ws Websocket session initialization failed: Application error:

Do you have any clue about how can be fixed? BTW I'm using the repo as-it-is, and these are the command I run, without any env var set:

bundle exec anycable
anycable-go
bundle exec rspec

anycable-go version is 1.0.1-1551caf.

Cheers!

Webpacker.dev_server.running? will always return false on precompile_assets.rb

Given that rspec will change RAILS_ENV to "test", and that Webpacker has no "dev_server" configuration at config/webpacker.yml for the test environment by default - which is required to run the socket connection check of Webpacker.dev_server.running?...

Screen Shot 2021-06-25 at 1 07 57 AM

...the precompile_assets.rb script won't detect Webpacker dev server running, even if it's actually running.

ERROR: manifest for anycable/anycable-go:1.0

Hello, @palkan
I had some error when run project

$ dip up rails anycable
Pulling ws (anycable/anycable-go:1.0)...
ERROR: manifest for anycable/anycable-go:1.0 not found: manifest unknown: manifest unknown

And fixed it by replacing this line to image: anycable/anycable-go:1.0.0-alpine

May I ask how to run a single or a few tests separately?

The command

dip rspec

can run whole specs, it's great. But is there a way to run a single or a few tests separately? In my native macOS ruby dev env, I can do that just by using hotkey in editor(Vim with vim-test plugin) . This is a very high productivity way for development, I think. Hope we can do that in the dockerized mode.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.