Fix promise call in setDescription to make compatible with safari #32
Conversation
Hi there, thanks for your Pull Request! A Kurento member needs to verify that this patch is reasonable to test. In case it is, they should write a comment with the phrase |
Hi, Any news about this? |
Seems to be related with this PR #30 |
We're experimenting Safari doesn't receive video stream starting on Safari 13.1 (working 13.0.5) and iOS 13.4+ Safari. Maybe this is related, but changing our kurento-utils by @oscar-mnfuentes repository doesn't work either. |
I have it fixed and APIs updated in https://github.com/piranna/kurento-utils-js, hope to do a pull-request soon. Note, it's not fully API compatible. |
Interestingly, @piranna your repo cannot be pointed to if using yarn, but works correctly by using npm, due to an error on KurentoForks qunit repo. |
I never use yarn, so I don't know :-) |
Well, let's wait for the PR. |
I would need to find time to fix automated tests and tests coverage first, by using Jest. If anybody can help me here, it's welcome :-) |
If the PR breaks the API, it is unlikely to be accepted. Take this into account and try to maintain the API blackguard compatible. |
Thanks for the advice :-) I will provide a list of the API changes with the pull-request, so we can discuss and fix them. Main differences are regarding usage of Promises instead of callbacks, since WebRTC callbacks-based APIs are deprecated. Backwards compatibility could be easily maintained here, but TheGoodWay(tm) would be to move to a Promises-only API. |
@piranna Since we need these changes ASAP (at least to make sure our project will run in Safari 13.1+ and iOS 13.4+, as those are the first broken versions), what do you think about pointing our kurento-utils URL to your repo and testing those changes? |
That would be awesome :-D If fact, i put the link to my repo since it could be useful to others. Tests are not passing since they need to be upgraded, but I'm using my repo as dependency in a Vue project without problems :-) If you see something not working as expected, please notify me it :-) |
@piranna We tested your repo. Needed to clone it and do some changes due to KurentoForks problem (your repo points to version v1.0.3 but their package.json in that tag says 1.0.2pre so yarn doesn't allow installation). After cloning both repos, changing qunit-reporter-junit package.json's to 1.0.3 for tag matching, your repo allowed installation. Pointed your repo to my local qunit-reporter-junit and our proyect to my local clone of your repo. Result is that Safari is still broken. Starting from iOS 13.4, we don't receive any video (works on 13.3 through 13.0), and macOS Safari 13.1 is also broken in the same way (Safari 13.0.5 works flawlessly). Hope this helps. Edit: Of course, Apple does not provide any info on WebRTC changes on iOS 13.4 and Safari 13.1 changelogs. Trying some combinations of experimental webrtc related features does not fix anything. |
Thanks for your feedback, I'm not using
I don't own an iOS device nor Safari browser, but thank you so much for pointing this, maybe my client can be able to check that instead (he's using iOS and Mac).
Of course... :-/ |
@piranna In this case it's a fault in the KurentoForks/qunit-reporter-junit repository, and it's related to versioning inside package.json, so I would leave it to a contributor of that repo who knows the exact versioning they're using. |
Looks who is the one of the contributors... :-) In any case, I plan to change tests here from browser-side QUnit to Jest, so it will not be needed anymore. Just only, i need time to rewrite the automated tests, or help from somebody else to do it by me. |
It would be awesome if we can get rid of KurentoForks for kurento-utils-js, right now we're keeping this dependency because "it works", but there is nobody watching over it or maintaining it... so moving to well maintained external dependencies from NPM would be a step in the right direction! |
@j1elo It would be awesome if you notify somewhere when a new version with these changes is released. |
Fix a little bug that makes safari never receive the stream, we change the promise call to able compatible with safari.
Tested on Safari 13.1 and chrome 81.
MacOs Catalina (10.15.4)
Types of changes
Checklist