nextcloud / nextcloud/spreed

Duplicate concurrent calls initiated after a concluded 1-to-1 call that had a third participant added.

Open
#16,758 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Needs triage
Dominant language
JavaScript
Stars
2.2k
Forks
586
Avg merge
18h 27m
Merged PRs (30d)
333

Description

Steps to reproduce
Initiate a 1-to-1 call with another user.

Add a third participant to the ongoing call, making it a group call.

Successfully conduct and then conclude the group call.

Navigate to any user's chat and attempt to start a new 1-to-1 call.

Observe that two identical call sessions are initiated simultaneously for the same target user.

Expected behaviour
A single call session should be initiated when starting a new 1-to-1 call.

Actual behaviour
Two concurrent call sessions are created for the same user. These sessions compete with each other, preventing proper access to recording devices (microphone/camera) as they attempt to attach to both calls. The signaling server shows two active sessions for the initiating user for the same intended call.

Talk app
Talk app version: 22.0.8

Custom Signaling server configured: yes

Custom TURN server configured: yes

Custom STUN server configured: yes

Browser
Microphone available: yes

Camera available: yes

Operating system: (e.g., Windows/Mac)

Browser name: (e.g., Firefox/Chrome)

Browser version: (e.g., 124/125)

Browser log

``` Insert your browser log here, this could for example include: a) The javascript console log b) The network log c) ... ```
Server configuration Nextcloud Version: Nextcloud Hub 25 Autumn (32.0.3)

List of activated apps:

``` If you have access to your command line run e.g.: sudo -u www-data php occ app:list from within your server installation folder ```
Nextcloud configuration:
``` If you have access to your command line run e.g.: sudo -u www-data php occ config:list system from within your Nextcloud installation folder ```
Server log (data/nextcloud.log)
``` Insert your server log here ```
Additional Notes:

The issue is reproducible both from web browsers and desktop/mobile client applications.

The core problem appears to be that call session state or cleanup is not handled correctly after concluding a specific sequence of calls (1-to-1 -> converted to group -> ended), leading to duplicate session creation on the next call attempt.

This results in a broken user experience where media devices cannot be acquired, effectively blocking any new calls until the duplicate sessions timeout or the page/client is restarted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the sequence of a 1-to-1 call becoming a group call, ending, and then starting another 1-to-1 call in the web or client application. Trace call-session state and cleanup around the transition, and verify that the next attempt creates one signaling session and can acquire the microphone and camera.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.