You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Session expires after 60s inactivity. Room session not found on join attempt.
WebSocket timeout on pongWait=60s. Backend room session removed from state.
Additional Context
Root Cause:
WebSocket times out (pongWait=60s) → signaling session expires (30s resumption window) → backend room session expires → client calls joinCall() → no session exists → 404
Code Location:
Issue: src/store/participantsStore.js line 779-785 (catch block with no 404 handler)
Proposed Fix:
Add automatic retry logic on 404 error (26-line fix in catch block). Wait 500ms, retry join. If succeeds: transparent recovery. If fails: show original error.
Testing:
✅ Unit tests: 4/4 scenarios pass
✅ Browser test: automatic recovery confirmed in console logs
✅ Versions affected: v23.0.10, v24.0.4, main
However, proper testing on NC side is still required.
Related Code Change:
File: src/store/participantsStore.js lines 779-810
Tip
How to use GitHub
Steps to reproduce
Expected behaviour
Call joins successfully
Actual behaviour
Error dialog "Please reload the page" or silent failure with infinite loading spinner (more often than Please reload page)
Current fix
Reloading the page or the app (STRG+R or CMD+R) manually. This solves the problem 100%, but it's not a behaviour users expect these days.
Talk app
Talk app version: 23.0.10 (also reproduced in v24.0.4, main)
Custom Signaling server configured: yes, nextcloud-spreed-signaling v2.1.1
Custom TURN server configured: yes
Custom STUN server configured: yes
Browser
Microphone available: yes
Camera available: yes
Operating system: macOS/Windows (not tested on Linux)
Browser name: Chrome/Firefox/Brave
Browser version: Latest
Browser log
Server configuration
Operating system: Linux (k3s cluster)
Web server: Traefik v3.6.12
Database: PostgreSQL
PHP version: 8.3
Nextcloud Version: 33.0.5
List of activated apps:
Nextcloud configuration:
Server log (data/nextcloud.log)
Additional Context
Root Cause:
WebSocket times out (pongWait=60s) → signaling session expires (30s resumption window) → backend room session expires → client calls joinCall() → no session exists → 404
Code Location:
src/store/participantsStore.jsline 779-785 (catch block with no 404 handler)nextcloud-spreed-signaling/client/client.go:52(pongWait=60s)nextcloud-spreed-signaling/server/hub.go:119(sessionExpireDuration=30s)Proposed Fix:
Add automatic retry logic on 404 error (26-line fix in catch block). Wait 500ms, retry join. If succeeds: transparent recovery. If fails: show original error.
Testing:
✅ Unit tests: 4/4 scenarios pass
✅ Browser test: automatic recovery confirmed in console logs
✅ Versions affected: v23.0.10, v24.0.4, main
However, proper testing on NC side is still required.
Related Code Change:
File:
src/store/participantsStore.jslines 779-810If this is an issue no one else has, I will resume finding the error in our configuration. But many hours of searching were not successful.
Best regards
PS: Nextcloud is a great app :)