Bug: SocketIO not confirming session_request in v2.3.x

Hi,

There seems to be a bug( or undocumented change) in rasa v2.3.0 and v2.3.1. When trying to connect to a rasa project via sockets there is no session_confirmation send back from the server to the client.

What did I do:

  1. New python environment with python 3.7.8 and pip 21.0.1
  2. pip install rasa
  3. rasa init
  4. changed credentials.yml to allow socketio with “user_uttered” and “bot_uttered” set as events
  5. rasa run --cors “*” --debug
  6. used the webchat/botfront code snippet to test (GitHub - botfront/rasa-webchat: A feature-rich chat widget for Rasa and Botfront)

The webchat-widget is able to create a socket connection to rasa, but rasa does not respond to the “session_request” event.

I tested different rasa versions. Rasa 2.3.1 and 2.3.0 seem to have the problem. Every version before that works just as expected. (<=2.2.10).

For now, I will be using v2.2.10 until this is fixed, or did I miss any documented changes?

Ben

One thing we noticed is that the version of the python-socketio library changed: rasa/poetry.lock at 2.3.0 · RasaHQ/rasa · GitHub

Could you open an issue on Github? We’ll make sure to look into it

Sure, Link to GitHub issue.

does Rasa support updates to rasa-webchat GitHub - botfront/rasa-webchat: A feature-rich chat widget for Rasa and Botfront? the Rasa website refers to it as a Webchat example here Your Own Website, but that project appears to have gone stale since this rasa-webchat issue was raised (still open) Not compatible with Rasa 2.3+ · Issue #344 · botfront/rasa-webchat · GitHub, and has remained stale even though this rasa issue was closed over a year ago SocketIO not confirming session_request in v2.3.x · Issue #7997 · RasaHQ/rasa · GitHub

i’ve created a bot with Rasa 3 to demonstrate its capabilities to a client, but it looks like i have to migrate back to using the older version Rasa v2.2.10 or older in order to use this front-end? i tried another front-end, same issue rasa-dev-tutorial/webchat at master · petr7555/rasa-dev-tutorial · GitHub

so the reason why i was getting GET http://<MY_EC2_PUBLIC_IP>:5005/socket.io/?EIO=3&transport=polling&t=xyz 400 (Bad Request) error when using Rasa 3 was because of the reasons mentioned here Socket Channel not working in rasa 3.0.0 · Issue #10412 · RasaHQ/rasa · GitHub