voxeet / voxeet-uxkit-reactnative

https://www.npmjs.com/package/@voxeet/react-native-voxeet-conferencekit
MIT License
11 stars 12 forks source link

Call UI not opening on iPhone X #25

Closed tuneerclixlogix closed 3 years ago

tuneerclixlogix commented 3 years ago

Device: ( iPhone X)

https://user-images.githubusercontent.com/72122766/113983731-e8387680-9867-11eb-9e8f-982d0da94797.MP4

@codlab On some iOS devices we are facing issues like this the UI opens and closes but on others it is working fine, the code on click of call button is VoxeetSDK.setTelecomMode(true); const constraints = { audio: true, video: true, video: { width: { min: "320", max: "1280", }, height: { min: "240", max: "720", }, }, }; try { let createConference = await VoxeetSDK.create({ params: { dolbyVoice: true } }) await VoxeetSDK.join(createConference.conferenceId, { constraints: constraints }) await VoxeetSDK.invite(createConference.conferenceId, [{ externalId: id, name: name, avatarUrl: image }]) } catch (error) { console.log(error) }

FabienLavocat commented 3 years ago

Could you remove the video: true, from the constraints.

VoxeetSDK.setTelecomMode(true);

const constraints = {
  audio: true,
  video: {
    width: { min: "320", max: "1280", },
    height: { min: "240", max: "720", },
  },
};

try {
  let createConference = await VoxeetSDK.create({ params: { dolbyVoice: true } });

  await VoxeetSDK.join(createConference.conferenceId, { constraints: constraints });
  await VoxeetSDK.invite(createConference.conferenceId, [{ externalId: id, name: name, avatarUrl: image }]);
}
catch (error) {
  console.log(error);
}

Also, could you provide the logs from the console to see if there is any error.

codlab commented 3 years ago

Note that the constraints are strictly about having boolean values on mobile. It’s a probably issue here

FabienLavocat commented 3 years ago

Then forget about my last comment and instead use this code:

VoxeetSDK.setTelecomMode(true);

const constraints = {
  audio: true,
  video: true,
};

try {
  let createConference = await VoxeetSDK.create({ params: { dolbyVoice: true } });

  await VoxeetSDK.join(createConference.conferenceId, { constraints: constraints });
  await VoxeetSDK.invite(createConference.conferenceId, [{ externalId: id, name: name, avatarUrl: image }]);
}
catch (error) {
  console.log(error);
}
tuneerclixlogix commented 3 years ago

@FabienLavocat @codlab This was only happening on one of our users on iPhone X and was working fine on other ios devices , I will remove video: { width: { min: "320", max: "1280", }, height: { min: "240", max: "720", }, }, and then will update this, but the call UI is also not opening on receiving the call on android devices. I have another issue for that here https://github.com/voxeet/voxeet-uxkit-reactnative-firebase/issues/2

tuneerclixlogix commented 3 years ago

@FabienLavocat @codlab This issue is not resolved with the following constraints const constraints = { audio: true, video: true, }; I will try to manage iPhoneX to get the logs , till then can you suggest anything else ?

tuneerclixlogix commented 3 years ago

Seems like it is happening only on one device, we tested on other iPhone X its working fine on that.

codlab commented 3 years ago

@Comanga @vjard what do you think can be the issue here??

tuneerclixlogix commented 3 years ago

@codlab On our devices its working fine but its not working on my client's device of which i cannot retrieve the logs. Please let me know if you need any other specific log that i can share from my device .

FabienLavocat commented 3 years ago

Hi @tuneerclixlogix. How are you initializing the VoxeetSDK? @vjard was able to reproduce this issue by setting the wrong application key/secret. Please make sure your clients applications have the proper access token when initializing the SDK.

tuneerclixlogix commented 3 years ago

Hello @FabienLavocat , I am using the below code to initialize the sdk and the flow is like this we call an api to fetch the application key/secret from our server and on its response we run the following code await VoxeetSDK.initialize('xxxxx', 'xxxxx') const user = { externalId: user_id, name: firstName, avatarUrl: photos[0] } let connectRes = await VoxeetSDK.connect(user); let awaitingResponse = await VoxeetSDK.checkForAwaitingConference(); It's working on the other devices and we are facing this only on one device .

FabienLavocat commented 3 years ago

@tuneerclixlogix could you check that the SDK is initialized properly before starting the conference. I’m asking because we reproduce the exact same problem when the Consumer Key and Secret are incorrect.

tuneerclixlogix commented 3 years ago

@FabienLavocat Sure, is there any method i can use to check if the sdk is initialized , which i can use to verify before starting the conference ( if not initialized i will initialize it again )

codlab commented 3 years ago

Another possibility is that this customer is in an embargoed network where VoIP is disallowed, join request fails in such case but the UI may appear and disappear

tuneerclixlogix commented 3 years ago

@FabienLavocat @codlab to check this if the sdk is initialized successfully on another screen can i call the isUserLoggedIn method ? I can see that you have mentioned it as deprecated, but can i use it to verify for this scenario if the sdk is initialized properly or not ?

codlab commented 3 years ago

Actually, I may have a reason for the issue, can you tell where this specific user is located to?

Btw with the new implementation, you can get the events of the conferences and such which means as well that you can track why the ui is closing. Did you test that the join call succeeded as well? And was not rejected afterward?

tuneerclixlogix commented 3 years ago

Thanks @codlab , I think this issue has been resolved on my client's side and it seems to be not occurring now.

codlab commented 3 years ago

Closing this ticket since it seems to have been fixed 👍