talk-android icon indicating copy to clipboard operation
talk-android copied to clipboard

Fix handling offers in already established connections

Open danxuliu opened this issue 3 years ago • 4 comments

Fixes #1815 Needed for https://github.com/nextcloud/spreed/pull/6896

Once a RTCPeerConnection is established new offers can still be received for that connection. These offers will update/renegotiate the connection (for example, to add a video track to an audio only connection) and need to be handled like the offers to establish the original connection (the offer needs to be set as the remote description and a local answer needs to be created for it, set as the local description and sent to the other peer).

Pending:

  • [ ] Trigger renegotiations only if update is provided in the offer
  • [ ] Reset connections if an offer without update is received (as done in the WebUI; this is actually a bug in the Android app)
  • [ ] Ensure that everything works as expected also for previous Talk versions both with and without HPB (it should, but... you know :-) )

How to test

  • Setup https://github.com/nextcloud/spreed/pull/6896 (note that a specific pull request for the external signaling server is also needed)
  • In the browser, start a call and, in the device checker shown before actually starting the call, select an audio device and no video device
  • In the Android app, join the call
  • In the browser, open the device settings, select a video device and close the device settings
  • Enable video

Result with this pull request

In the Android app the video is now visible (note that, due to a bug in the WebUI, the video may be visible even before being actually enabled in the browser)

Result without this pull request

In the Android app the video is not visible

danxuliu avatar Feb 21 '22 07:02 danxuliu

Lint

TypemasterPR
Warnings156156
Errors11

SpotBugs (new)

Warning Type Number
Bad practice Warnings 9
Correctness Warnings 91
Experimental Warnings 2
Internationalization Warnings 9
Malicious code vulnerability Warnings 115
Performance Warnings 27
Security Warnings 2
Dodgy code Warnings 158
Total 413

SpotBugs (master)

Warning Type Number
Bad practice Warnings 9
Correctness Warnings 91
Experimental Warnings 2
Internationalization Warnings 9
Malicious code vulnerability Warnings 115
Performance Warnings 27
Security Warnings 2
Dodgy code Warnings 158
Total 413

nextcloud-android-bot avatar Apr 22 '22 19:04 nextcloud-android-bot

/rebase

AndyScherzinger avatar Oct 11 '22 22:10 AndyScherzinger

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/1823-talk.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud Talk app.

github-actions[bot] avatar Oct 11 '22 22:10 github-actions[bot]

Codacy

Lint

TypemasterPR
Warnings112112
Errors11

SpotBugs

CategoryBaseNew
Bad practice44
Correctness7575
Dodgy code315315
Experimental22
Internationalization99
Malicious code vulnerability5454
Performance2222
Security22
Total483483

github-actions[bot] avatar Oct 11 '22 22:10 github-actions[bot]

Codacy

Lint

TypemasterPR
Warnings112111
Errors11

SpotBugs

CategoryBaseNew
Bad practice44
Correctness2930
Dodgy code250251
Experimental22
Internationalization66
Malicious code vulnerability5355
Performance2118
Security22
Total367368

SpotBugs increased!

github-actions[bot] avatar Dec 04 '22 12:12 github-actions[bot]

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/1823-talk.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud Talk app.

github-actions[bot] avatar Dec 04 '22 12:12 github-actions[bot]

Codacy

Lint

TypemasterPR
Warnings111111
Errors00

SpotBugs

CategoryBaseNew
Correctness1212
Dodgy code174174
Internationalization55
Malicious code vulnerability33
Performance1011
Security22
Total206207

SpotBugs increased!

github-actions[bot] avatar Jan 16 '23 10:01 github-actions[bot]

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/1823-talk.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud Talk app.

github-actions[bot] avatar Jan 16 '23 10:01 github-actions[bot]

Whats the status?

nickvergessen avatar Feb 17 '23 10:02 nickvergessen