Update: we still don’t know what’s going on, but we were able to find a possible solution.
In Streamlit’s sever/server.py
, change this:
"websocket_ping_interval": 20, # Ping every 20s to keep WS alive.
to this
"websocket_ping_interval": 1, # Ping every 1s to keep WS alive.
In @Kladar’s case, this appears to solve the problem, and I don’t expect it to have any noticeable negative impact.
I’ll talk to our eng team to see if it makes sense to make this the default, as it’s very possible that I’m missing something obvious