nextcloud / nextcloud/spreed

Kill refreshing of signaling settings?

Open
#6,778 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug feature: signaling 📶 medium performance 🚀 technical debt
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Change from one room to another
  2. Have the network tab open
  3. See a request to GET /ocs/v2.php/apps/spreed/api/v3/signaling/settings?token=TOKEN

In case internal signaling is used or if external signaling is used with only 1 HPB configured, the request will always return the same signaling server, so we will always NOT hit:
https://github.com/nextcloud/spreed/blob/b7538684b9cce53ff9aa087ec6e00b94934b9001/src/utils/webrtc/index.js#L91-L104

So the signaling settings are always the same and unless you join the call it is not needed.
Only when you join the call a refresh of the TURN details would make sense to ensure that your TURN ticket is new enough, ref https://github.com/nextcloud/spreed/issues/6323

But since that ticket is still open we could also have a look at that after this change.

Thoughts? @fancycode @danxuliu

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

Start by reading src/utils/webrtc/index.js around lines 91-104 and trace the GET /ocs/v2.php/apps/spreed/api/v3/signaling/settings request when changing rooms. Confirm when signaling settings and TURN details are needed, considering the related issue #6323; done means unnecessary refreshes no longer occur while preserving the required refresh when joining a call.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, audio-video-rtc
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 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.