Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Announcement] cordova-plugin-iosrtc Version 6.x.x notes #425

Closed
hthetiot opened this issue Oct 29, 2019 · 36 comments
Closed

[Announcement] cordova-plugin-iosrtc Version 6.x.x notes #425

hthetiot opened this issue Oct 29, 2019 · 36 comments

Comments

@hthetiot
Copy link
Contributor

hthetiot commented Oct 29, 2019

Hello cordova-rtc users,

I have released cordova-plugin-iosrtc 6.0.0

Changelog Version 6.0.0

Full changelogs: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-600

NPM: https://www.npmjs.com/package/cordova-plugin-iosrtc
GitHub Tag: https://github.com/cordova-rtc/cordova-plugin-iosrtc/tree/6.0.0

To upgrade

cordova plugin remove cordova-plugin-iosrtc
cordova plugin add cordova-plugin-iosrtc@6.0.0
cordova platform remove ios
cordova platform add ios

Notes

Following External libraries/Enviroment have been tested.

Tests have been made by me and other members of the community.

  • WebRTC W3C v1.0.0
  • WebRTC.framework => M69 (Safari/Chrome/Firefox/Opera)
  • Janus => 0.7.4
  • JSSip => 3.1.2
  • Sip.js => 0.15.6
  • OpenEasyrtc => 2.0.3
  • openvidu => 2.11.0
  • Ionic => v8
  • Jitsi ~ 3229

About Audio input/output selection and requestPermission API

See new API documentation and example usage.

iosrtc.selectAudioOutput: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/docs/iosrtc.md#iosrtcselectaudiooutput

iosrtc. turnOnSpeaker : https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/docs/iosrtc.md#iosrtcturnonspeaker

iosrtc.requestPermission: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/docs/iosrtc.md#iosrtcrequestpermission

About Apple Store Submission

You should strip simulator (i386/x86_64) archs from WebRTC binary before submit to Apple Store.

See Doc: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/docs/Building.md#apple-store-submission

About iOS 13+ support

iOS 13.1 is supported and have been tested.

#417 will add RTCMTLVideoView aka Apple Metal support and be released in 6.0.1 or 6.0.2 depending progress.

About libwebrtc update

The version currently used by version 6.0.0 is M69 for armv7, arm64, i386, x86_64
See #412 for details.

About Unified-Plan and remote Mutlti-stream support.

Unified-Plan will be released on 6.0.1.
See #407 for details and testing.

About deprecated WebRTC Callback API

WebRTC Callbacks API have been restored since 5.0.5 but will display but only when using iosrtc.registerGlobals to disable callbacks on use iosrtc.registerGlobals(true)

Others

  • Please do not comment on an open or closed issue out of topic problems, you will annoy me and the original reporter and confuse the resolution of the issue, this not the right way to get help. Instead create a new issue and I will help you as I have proven past weeks.

  • No we have no plan to support capacitor, if capacitor want to support cordova plugin they have to do it the right way, PR are welcome anyway.

@hthetiot
Copy link
Contributor Author

Released 6.0.1 with minor fix for crash on stop MediaStream

@hthetiot hthetiot modified the milestones: 6.0.1, 6.0.2, 6.0.3 Oct 30, 2019
@hthetiot hthetiot changed the title [Announcement] cordova-plugin-iosrtc Version 6.0.0 notes [Announcement] cordova-plugin-iosrtc Version 6.0.x notes Nov 5, 2019
@hthetiot
Copy link
Contributor Author

hthetiot commented Nov 5, 2019

Released 6.0.2 with UnifiedPlan and insertDtmf fix

@hthetiot
Copy link
Contributor Author

hthetiot commented Nov 6, 2019

Released 6.0.3 with RTCPeerConnection.prototype.addTrack with no stream fix and AVAudioSession to reset to its default settings on enumerateDevices

@hthetiot
Copy link
Contributor Author

Released 6.0.4 with Generate unique PluginMediaStream and PluginMediaStreamTrack (Janus multi remote peer stream support), Fix Callbacks support for getUserMedia by @onerinas and other minor fixes.

@numerized
Copy link

Hello, what's the catch with not being compatible with Capacitor ?
Capacitor is so amazing. :))

@oscarvadillog
Copy link

oscarvadillog commented Feb 1, 2020 via email

@hthetiot
Copy link
Contributor Author

hthetiot commented Feb 2, 2020

@numerized Make a PR and we can support it, we simply dont have time to support yet another cordova clone/fork like ionic. If Capacitor is that great why it fail to support basic Cordova plugins.

@numerized
Copy link

numerized commented Feb 5, 2020

Hmm I'm in contact with Capacitor creators they are willing to help.

From this article:
https://ionicframework.com/blog/announcing-capacitor-1-0/

How is Capacitor different from Cordova?
In spirit, Capacitor and Cordova are very similar. Both manage a Web View and provide a structured way of exposing native functionality to your web code.

Both provide common core plugins out of the box for accessing services like Camera and the Filesystem. In fact, one of the design goals with Capacitor is to support Cordova plugins out of the box! While Capacitor doesn’t support every plugin (some are simply incompatible), it generally supports most plugins from the Cordova ecosystem.

...

Capacitor generally expects you to commit your native app project (Xcode, Android Studio, etc.) as a source artifact. This means it’s easy to add custom native code (for example, to integrate an SDK that requires modifying AppDelegate on iOS), build “plugins” to expose native functionality to your web app without having to actually build a standalone plugin, and also debug and manage your app in the way that embraces the best tooling for that platform.

...

No more deviceready
Capacitor kills the deviceready event by loading all plugin JavaScript before your page loads, making every API available immediately. Also unlike Cordova, plugin methods are exposed directly as opposed to being called through an exec() function.

That means no more wondering why your app isn’t working and why deviceready hasn’t fired.

Embracing NPM & Easier Plugin Development

Capacitor embraces NPM for every dependency in your project, including plugins and platforms. That means you never capacitor install plugin-x, you just npm install plugin-x and then when you sync your project Capacitor will detect and automatically link in any plugins you’ve installed.

Where to start?

@hthetiot
Copy link
Contributor Author

hthetiot commented Feb 18, 2020

Where to start?
@numerized

  1. Please dont get out of topic on existing issue, create dedicated issue or PR.
  2. I will not work on adding support for Capacitor PR are welcome.
  3. No need to copy paste lengthy text from a link to advertise something like you did, this is what i call issue polution and symptomatic of lazy developer that just copy paste, link is enought we can click the link and read by ourself.

Please do not reply here about Capacitor and create dedicated issue, this issue if for Version 6.0.x notes not for feature request.

Note: Nothing personal, I'm a jerk everyone know that.

@hthetiot
Copy link
Contributor Author

Released 6.0.7 with minor fix for Event.target that fix Datachannel support for Janus.js

Thank you to @oscarvadillog for reporting and testing.

@numerized
Copy link

Ok cool I'll open an issue.

@hthetiot
Copy link
Contributor Author

@oscarvadillog Can you test master I want to release 6.0.8 new fix regarding Janus non unique remote stream to fix addStream|addTrack regression from 6.0.4 see #467 for actual changes.

cordova plugin remove cordova-plugin-iosrtc --verbose
cordova plugin add https://github.com/cordova-rtc/cordova-plugin-iosrtc#task/m75 --verbose
cordova platform remove ios --no-save
cordova platform add ios@latest --no-save

This will be the last major changes for 6.0.x as we are ready to merge WebRTC M75 on master via #455 (comment)

@hthetiot
Copy link
Contributor Author

Released 6.0.8 that removing streamId|trackId alteration with UUID preffix released on 6.0.4 to handle Janus non unique streamID that fix PeerConnection.addStream|addTrack possible regressions (#467).

This version also include RTCIceCandidate support improvement (#468)

See details in CHANGELOG:
https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-608

@oscarvadillog
Copy link

oscarvadillog commented Feb 27, 2020

Sorry for the delay, I was on vacation.
@hthetiot I have tested #task/m75 and it works properly with Janus.

@hthetiot
Copy link
Contributor Author

Thank you @oscarvadillog
Happy RTC

@hthetiot
Copy link
Contributor Author

hthetiot commented Mar 2, 2020

Released 6.0.9 that fix possible issue due added candidateToJson, getStats report.timestamp typo and fix getMediaDevice audioConstraints to allow audio devices change.

See details in CHANGELOG:
https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-609

@hthetiot
Copy link
Contributor Author

Released 6.0.10 with fix for iOS 10.x.x, this should be broken since 5.0.3 switch from Blob to pure MediaStream, https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-503

See details in CHANGELOG:

Thank you to @yangjingyu for reporting

@hthetiot
Copy link
Contributor Author

Next issue in term of priority is #480

@hthetiot
Copy link
Contributor Author

Released 6.0.11 with #480 fix for Kurento (LOL I hate SFU and MCU)

Next priority is #495 #494

@hthetiot
Copy link
Contributor Author

6.0.12-RC1 available for testing

cordova plugin remove cordova-plugin-iosrtc --verbose
cordova plugin add https://github.com/cordova-rtc/cordova-plugin-iosrtc#6.0.12-RC1 --verbose

Changes logs:

@hthetiot
Copy link
Contributor Author

hthetiot commented May 24, 2020

6.0.12-RC1 available for testing before releasing on npm and GitHub package registries.

Waiting confirmation for following issues to be tested before releasing.
Please if you see your name below simply add comment to confirm fixed or an emoji 👍 on this comment.

Notice that the 6.0.12-RC1 as already been tested by me using https://github.com/cordova-rtc/cordova-plugin-iosrtc-sample

To test 6.0.12-RC1

cordova plugin remove cordova-plugin-iosrtc --verbose
cordova plugin add https://github.com/cordova-rtc/cordova-plugin-iosrtc#6.0.12-RC1 --verbose

(no need remove ios and add ios platform, unless you want to be sure, but not mandatory)

Major changes

Minor changes

Changes logs:

https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-6012

@DustinBel
Copy link

MediaStreamTrack.getSettings Error when retrieving media stream videotracks on iPad Pro #518 is working now 👍

@kelvinthu
Copy link

I can confirm ontrack problem is fixed

@yangjingyu
Copy link
Contributor

Restore Blob only support for iOS 10.x that does not know MediaStream #495

I have tested on ios10.3.3, audio and video output normally 👍

@hthetiot
Copy link
Contributor Author

Thank you @yangjingyu

@hthetiot
Copy link
Contributor Author

Janus fix confirmed here #505 (comment)

@hthetiot
Copy link
Contributor Author

I will release today unless I get negative feedback on 6.0.12-RC1

@hthetiot
Copy link
Contributor Author

I will release 6.0.12-RC2 today with 403284a

@hthetiot
Copy link
Contributor Author

Merged connectycube to WHO_USES_IT, if you want to add your company there is still time before 6.0.12 release ;)

Simply make a PR and at it at the beginning of the WHO_USES_IT.md file.
First come first served.

cc @derMani @yangjingyu @DustinnBel @kelvinthu

@onerinas

This comment has been minimized.

@hthetiot

This comment has been minimized.

@hthetiot
Copy link
Contributor Author

6.0.12 is now released.
Warm thank you to @derMani @yangjingyu @DustinnBel @kelvinthu @cj @sboudouk @DaveLomber

@sboudouk
Copy link

We should be the ones thanking you for providing this essential plugin.

Thank you and keep up the good work @hthetiot

@hthetiot
Copy link
Contributor Author

6.0.14 is now released.
See changeslogs https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/CHANGELOG.md#version-6014

6.0.15 main PR is now on master.

@hthetiot
Copy link
Contributor Author

6.0.16 released:

should fix most of the back screen on tracks, provide Canvas Context drawImage, provide MediaStream/MediaStreamTrack Clone SHIM instead of SHAM.

@hthetiot hthetiot changed the title [Announcement] cordova-plugin-iosrtc Version 6.0.x notes [Announcement] cordova-plugin-iosrtc Version 6.x.x notes Nov 10, 2020
@hthetiot
Copy link
Contributor Author

hthetiot commented Mar 1, 2021

@hthetiot hthetiot closed this as completed Mar 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants