Hello there, we have a RASA X server on AWS, and we are sending/receiving messages over socket channel.
From the docs
By default, the SocketIO channel uses the socket id as
sender_id, which causes the session to restart at every page reload.session_persistencecan be set totrueto avoid that. In that case, the frontend is responsible for generating a session id and sending it to the Rasa Core server by emitting the eventsession_requestwith{session_id: [session_id]}immediately after theconnectevent
and we are initializing a connection from useEffect and omitting userId as session_id
// connect to server
useEffect(() => {
socket.on('connect', () => {
console.log('SOCKET: connected to the socket server', socket.connected, socket.id)
socket.emit('session_request', { session_id: userId })
})
socket.on('error', (err) => {
console.log('SOCKET: errors', err)
})
socket.on('connect_error', (error) => {
console.log('SOCKET: connect_error ---->', error)
})
}, [])
But when we connect to the server we see
UserWarning: A message without a valid session_id was received. This message will be ignored. Make sure to set a proper session-id using the
session_requestsocketIO event.
What is a proper session id which RASA expects us to send?