voxeet / voxeet-uxkit-cordova

Dolby.io UXKit for Cordova
Other
1 stars 14 forks source link

Unable to switch from one call to another on iOS #2

Closed youssmak closed 5 years ago

youssmak commented 5 years ago

Describe the bug

I'm unable to switch from one call to another call on iOS. To reproduce it you have to reduce the videoconf window and join another call without clicking on the hang up button first. Then you will not be able to join another calls anymore. The "Touch to return to call" green topbar is still showed even if there is no current call. A hard kill and re-launch of the app is fixing the issue. The switch from one call to another works well on Android.

errors :

2019-03-18 10:26:35.673820+0100 app[700:334949] Failed to bind EAGLDrawable: <CAEAGLLayer: 0x281565d80> to GL_RENDERBUFFER 1
2019-03-18 10:26:35.674691+0100 app[700:334949] Failed to make complete framebuffer object 8cd6
2019-03-18 10:26:35.678599+0100 app[700:334949] Failed to bind EAGLDrawable: <CAEAGLLayer: 0x281565f40> to GL_RENDERBUFFER 1
2019-03-18 10:26:35.679271+0100 app[700:334949] Failed to make complete framebuffer object 8cd6
2019-03-18 10:26:35.693903+0100 app[700:334949] Failed to bind EAGLDrawable: <CAEAGLLayer: 0x2815679c0> to GL_RENDERBUFFER 1
2019-03-18 10:26:35.697022+0100 app[700:334949] Failed to make complete framebuffer object 8cd6
2019-03-18 10:26:37.760129+0100 app[700:334949] ERROR: VideoconfService - join conf err
2019-03-18 10:26:37.761554+0100 app[700:334949] ERROR: 5bed5ea1ad0704690e549b82 Error Domain=com.apple.CallKit.error.requesttransaction Code=7 "(null)"

Expected Behaviour

Be able to switch from one call to another call without raising errors.

Specifications

VTCoco commented 5 years ago

Hello,

We have temporary fix your issue with this commit: 9afeae0ea604fa5cb50edd4dad0f1073393e4ea6 The npm release should be available by the end of the week (~v1.1), the documentation will also be updated to show some breaking points. Make sure to call leave method before creating/joining a conference like this:

const { Voxeet, UserType } = VoxeetSDK;

Voxeet.initialize("YOUR_CONSUMER_KEY", "YOUR_CONSUMER_SECRET")
.then(() => Voxeet.leave())
.then(() => Voxeet.create({alias: conferenceAlias}))
.then(result => Voxeet.join(result.conferenceId))
.catch(err => alert(err));