StevenWeathers / thunderdome-planning-poker

⚡ Thunderdome is an open source agile planning poker, sprint retro, and story mapping tool
https://thunderdome.dev
Apache License 2.0
407 stars 105 forks source link

make WebSocket pingPeriod / pongWait configurable #521

Closed gwimmel closed 5 months ago

gwimmel commented 5 months ago

I'm evaluating a self-hosted instance of Thunderdome on Azure Container Apps routed via an Azure Application Gateway. In general, this works, but I encounter periodic "Oops reloading Battle Plans..." error messages.

I did some further analysis and observed that the errors go away if I change the pingPeriod in poker/client.go to a smaller value (e.g., 10s). I think the Azure Application Gateway closes the connection after a certain idle time and the configured value of 60s for the pingPeriod is too large.

I'd suggest making pingPeriod (and pongWait) configurable to support such scenarios. I could offer to try and contribute a PR, but it seems it could be a bit tricky to get the configuration to the appropriate place and I do not have much experience in Go development, so some hints would be helpful.

Maybe this is related to #496 .