Releases: Temasys/SkylinkJS
0.6.25: Safari 11 beta support and refactor of getConnectionStatus() stats retrieval
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.25/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.25
Notes
- For Safari 11, it is recommended to set
options.enableSimultaneousTransfers
in theinit()
method totrue
for Safari 11 case as starting simultaneous data transfers does not work currently. E.g.options.enableSimultaneousTransfers = AdapterJS.webrtcDetectedBrowser === 'safari' && AdapterJS.webrtcDetectedVersion >= 11
. - For Edge 15 and 16, it is recommended to enable
options.useEdgeWebRTC
in theinit()
method totrue
for better connectivity. - For Edge 14 to 16, datachannel connections does not work still.
- For Safari 11 and Edge 15 and above, MCU connections may not still be supported.
New Features
Peer
- Support for Safari 11.
Transfers
- Added a flag
enableSimultaneousTransfers
which istrue
by default in theinit()
method to enable or disable simultaneous data transfers. This is to handle Safari 11 case where the newly opened second datachannel does not open after the negotiation has completed, so that they can start data transfers or send files still.
Improvements
Peer
- Cleaned up
getConnectionStatus()
retrieval of stats details.- Enables end-users to retrieve the ICE candidates details despite missing SSRCs details.
- Returns the list of added ICE candidates instead of received ICE candidates and.
- Fixes Edge
15
and16
(usinguseEdgeWebRTC
flag) stats even though it returns0
always. - Fixes to return the SSRC parsed from the local and remote session description instead from the
getStats()
which returns0
in some cases. - Fixes the handling of
getStats()
that uses Promises.
- Added support for Firefox 53 TURN over TLS.
0.6.24: Added sprop-stereo to SDP for sending stereo audio
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.24/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.24
Bug-fixes
Peer
- Fixes to
audio.stereo
not working due to "sprop-stereo" flag parameter not being set.
Documentation
- Fixes for
options.credentials.credentials
generation example ininit()
method appearing as""
instead of"_"
.
Improvements
Peer
- Added
options.codecParams.audio.opus["sprop-stereo"]
parameter option in theinit()
method.
Documentation
- Warnings added to ensure
options.credentials.credentials
ininit()
method should be generated from web app server to prevent risk of exposing secret in client web app. - Added better description of "publishOnly" feature.
0.6.23: Firefox 52-55 bandwidth b=TIAS constraints patch
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.23/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.23
Bug-fixes
Peer
- Fixes to SDP bandwidth constraints due to Firefox 52 bug introduced as referenced here which is patched in 55.
Stream
- Fixes to when setting
options.deviceId
throwing errors in Chrome due to using "optional" instead of exact constraints whenoptions.useExactConstraints
isfalse
. - Fixes for
sendStream()
to allow custom IE / Safari Temasys plugin stream object due to incorrect checking for type of. - Fixes for
shareScreen()
where not settingenableAudio
results in fetching of audio stream when by default it should not.
Improvements
Peer
- Users can enable Edge 15.x pre-1.0 WebRTC native implementation by enabling flag in
init()
method by enablingoptions.useEdgeWebRTC
.
0.6.22: Select media source for shareScreen()
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.22/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.22
Bug-fixes
Debugging
- Fixes to
setDebugMode({})
enabling bothoptions.trace
andoptions.storeLogs
. - Fixes for
setLogLevel()
not to default toLOG_LEVEL.WARN
.
Room
- Fixes for
joinRoom()
callback not triggeringerror
when socket is disconnected abruptly before user connects or when socket failed to connect, or when user is rejected. - Fixes for
init()
callback error message returning[Error error]
.
Improvements
Stream
- Added
mediaSource
parameter inshareScreen()
which takes in as an Array or a String to allow user to select the media sources for selection.
0.6.21: Updates for MCU publishOnly
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.21/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.21
Bug-fixes
Stream
- Fixes to prevent
incomingStream
from triggering if it contains empty audio or video tracks. - Fixes to trigger
stopScreen()
immediately when the "Stop screenshare" button is click on the bottom banner for chrome screensharing extension during screensharing.
Room
- Fixes to ensure adherence to SM protocol
0.1.2.4
.
Improvements
Documentation & Demos
- Allow Web console logs to be printed for release
.min.js
files.
0.6.20: Fixes for SDP errors with Firefox using MCU
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.20/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.20
Bug-fixes
Room
- Fixes to prevent
.init()
from resetting the codecs supports information.
Peer
- Fixes for Firefox warnings for
RTCSessionDescription.sdp
as a read-only property and cannot be set. - Fixes for "InvalidSessionDescriptionError" thrown in Firefox due to invalid step of "a=sendrecv" received from MCU for "a=inactive" flag.
- Fixes for Edge
getConnectionStatus()
undefined (e.g. timestamp of undefined) errors. - Fixes to ensure that
getPeerInfo()
reflects the rejected SDP m= line withpeerInfo.settings.audio
,peerInfo.settings.video
andpeerInfo.settings.data
returning asfalse
when its relevant m= line is rejected. - Fixes to ensure that
peerUpdated
event is triggered each timepeerInfo
is received in "offer" and "answer" messages.
Improvements
Peer
- Updates to improve Edge browser 15.xxxx connections.
Demo & Documentation
- Prevent published
.min.js
files from dropping console, so logs can be seen from SDK.
0.6.19: Fixes for streamData() method errors and demo errors
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.19/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.19
Bug-fixes
Transfer
- Fixes for "updatedSessionInfo undefined error" thrown when invoking
streamData()
method.
Demo & Documentation
- Fixes for
demo/video-call
throwing "malformed constraints" error.
Room
- Fixes to prevent App Key authentication twice when parsing for codecs supports.
Improvements
Peer
- Added flags
peerInfo.init
which determines if Peer connection has been constructed andpeerInfo.connection
which determines if Peer ICE connection has been established. - Added
stats.connection.sdpConstraints
which stores the constraints passed when creating offer or answer,stats.connection.constraints
which stores the constraints passed when constructing the Peer connection andstats.connection.optional
which stores the optional constraints passed when constructing the Peer connection togetConnectionStatusStateChange
event.
0.6.18: Beta Edge connections support
It has been noted that it seems like in this tagged release version for
publish/skylink.complete.js
andpublish/skylink.complete.min.js
files, the AdapterJS version seems to be0.14.0
which is incorrect. Please use0.6.19
version release to rectify that.
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.min.js
- Debug library:
//cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.complete.js
API Documentation
http://cdn.temasys.io/skylink/skylinkjs/0.6.18/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.18
Bug-fixes
Room
- Fixes for
roomLock
event not be triggering for User when User invokeslockRoom()
andunlockRoom()
method. - Fixes for
options.sdpSettings.connection
when one of the parameters (audio
,video
ordata
) set asfalse
injoinRoom()
method should reject the session description m= lines correctly by setting the port to0
. - Fixes for
refreshConnection()
for MCU enabled Peer connections (whenoptions.mcuUseRenegoRestart
ininit()
method is set tofalse
) overriding the originaloptions
in thejoinRoom()
method.
Socket
- Fixes for
userInfo.config
being sent to Peers in SM protocol0.1.2.3
messages. - Fixes to ensure that User is kicked out of the Room when receiving connection ended (bye) messages for self.
Transfer
- Fixes for IE binary data transfers throwing "InvalidStateError" error when receiving binary data transfers from Peers.
- Fixes to ensure that
transferInfo.chunkType
is correctly referencing theRTCDataChannel.binaryType
interface instead of just merely detecting the received chunk type fordataTransferState
,incomingDataRequest
andincomingData
events.
Stream
- Fixes for
options.audio.echoCancellation
ingetUserMedia()
method andenableAudio.echoCancellation
inshareScreen()
method being documented by default asfalse
when by w3c specs, it should betrue
. - Fixes for
enableAudio.stereo
inshareScreen()
being set astrue
by default when it is documented asfalse
by default. - Fixes for
enableAudio
inshareScreen()
being set astrue
by default when it is documented asfalse
by default.
Peer
- Fixes for "Candidate missing values for both sdpMid and sdpMLineIndex" error when using AdapterJS version
0.13.4
. - Fixes and workaround changes for failure to set remote answer from IE / Safari plugins (lower than
0.8.888
version) in Chrome 57 browsers.
Demo & Documentation
- Fixes for
demo/config.js
settings not working in/demo/privileged/unauto-priv/
and/demo/privileged/unauto-unpriv/
demos.
Peer
- Fixes for MCU renegotiation when it's released.
- Fixes to ensure that
peerInfo.settings.audio
andpeerInfo.settings.video
is returned asfalse
whenoptions.sdpSettings.connection
(audio
orvideo
) is set asfalse
in thejoinRoom()
method.
Improvements
Room
- Moved
options.publishOnly.parentId
injoinRoom()
method tooptions.parentId
so that regardless ofoptions.publishOnly
flag, the child Peer can still be linked to the parent Peer.options.publishOnly.parentId
can be used butoptions.parentId
value will override it when provided. - Allow
off()
to turn off all events subscription if no parameters is provided.
Socket
- Improved Websocket / Polling socket reconnections.
Demo & Documentation
- Added buttons in the
demo/index.html
to access the/demo/privileged/unauto-priv/
,/demo/privileged/unauto-unpriv/
,/demo/privileged/auto-unpriv/
and/demo/privileged/auto-priv/
demos.
Transfers
- Added changes to allow file transfers downloads in IE and documentation for images and pdf only for Safari.
Peer
- Allow configuration of the sampling rate and channels when selecting the preferred audio and video codec in the
options.audioCodec
andoptions.videoCodec
in theinit()
method. handshakeProgress
should triggerERROR
state
when Peer connection fails to create.- Added
peerInfo.settings.data
that determines if Peer has any available and active / opened Datachannels to send P2P messages to or start data transfers with. - Added
stats.video.sending.qpSum
,stats.selectedCandidate.writable
,stats.selectedCandidate.readable
,stats.selectedCandidate.rtt
,stats.selectedCandidate.totalRtt
,stats.selectedCandidate.requests
,stats.selectedCandidate.responses
,stats.selectedCandidate.consentRequests
,stats.selectedCandidate.consentResponses
,stats.certificate.local.fingerprint
andstats.selectedCandidate.local.turnMediaTransport
ingetConnectionStatusStateChange
event.
Stream
- Prevent configuration of
options.audioCodec
andoptions.videoCodec
option ininit()
method when it does not exists in theAUDIO_CODEC
andVIDEO_CODEC
constant enums. - Deprecate
options.audio.stereo
,options.audio.usedtx
,options.audio.maxplaybackrate
andoptions.audio.useinbandfec
ingetUserMedia()
method, andenableAudio.stereo
,enableAudio.usedtx
,enableAudio.maxplaybackrate
andenableAudio.useinbandfec
inshareScreen()
method. Useoptions.codecParams.audio.opus
settings instead in theinit()
method.
New Features
Room
- Added
options.socketServer
andoptions.iceServer
options to configure the custom Temasys Skylink Signaling server and Temasys Skylink TURN server for debugging purposes ONLY in theinit()
method.
Peer
- Added Edge browser official support. If H264 codec is not available, audio only connections will happen with other browsers.
- Added
options.priorityWeightScheme
flag to allow configuration to enforce the Peer'speerInfo.priorityWeight
levels for debugging purposes ONLY in theinit()
method. - Added
PRIORITY_WEIGHT_SCHEME
constant that is an enum tooptions.priorityWeightScheme
in theinit()
method. - Added
options.peerConnection
injoinRoom()
method for debugging purposes ONLY. - Added
BUNDLE_POLICY
constant that is an enum tooptions.bundlePolicy
in thejoinRoom()
method. - Added
RTCP_MUX_POLICY
constant that is an enum tooptions.rtcpMuxPolicy
in thejoinRoom()
method. - Added
PEER_CERTIFICATE
constant that is an enum tooptions.certificate
in thejoinRoom()
method. - Added
getPeersCustomConfig()
method that allows developers to retrieve custom bandwidth configuration and the current Stream sent (for Peers that do not support renegotiation). - Added
options. voiceActivityDetection
flag to allow configuration to enable / disable VAD (voice activity detection) in thejoinRoom()
method. This aligns with theoptions.disableComfortNoiseCodec
and theoptions.codecParams.audio.opus.usedtx
flags in theinit()
method, where VAD helps to detect any active speech to prevent sending any audio data ifusedtx
is enabled. Theoptions.disableComfortNoiseCodec
helps to add a smoother silence to prevent huge spikes of changes in voice db. - Added
options
torefreshConnection()
method to allow configuration of bandwidth. - Added
options.codecParams
to configure more codec parameters for H264, VP8, VP9, OPUS in theinit()
method. Some are only for debugging purposes ONLY.
Stream
- Added
PCMA
(G711a),PCMU
(G711u) andILBC
(iLBC) audio codecs options toAUDIO_CODEC
constant enum.
Datachannel
- Added
getPeersDatachannels()
to get the list of currently connected Datachannel connections.
Transfers
- Added (beta)
getCurrentDataStreamsSession()
method to retrieve the list of current data streaming session. - Added (beta)
startStreamingData()
, (beta)streamData()
and (beta)stopStreamingData()
method to allow Users to start and stop streaming data with Peers. - Added (beta)
dataStreamState
event forstartStreamingData()
,streamData()
,stopStreamingData()
methods. - Added (beta)
incomingDataStream
event forstreamData()
method. - Added (beta)
incomingDataStreamStarted
event forstartStreamingData()
method. - Added (beta)
incomingDataStreamStopped
event forstopStreamingData()
method.
Demo & Documentation
- Added
demo/data-streaming
forstartStreamingData()
,streamData()
andstopStreamingData()
methods.
(Experimental) New Features
Peer
- Added experimental
options.autoBandwidthAdjustment
flag to allow auto adjustment of bandwidth that might help 3G / 4G networks.
0.6.17: getUserMedia() framerate setting bug-fix
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.min.js
- Debug library:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.complete.js
API Documentation
http://cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.17
Bug-fixes
Stream
- Fixes for "ReferenceError: object is not defined" error when setting
options.video.frameRate
ingetUserMedia()
method.
Peer
- Fixes for
getConnectionStatus()
returning inaccurate sending audio/video codec. - Fixes to document that the receiving audio / video codec may possibly be inaccurate since it may be overridden by remote sending Peer.
New Features
Stream
- Added
options.video.facingMode
ingetUserMedia()
to set video camera facing mode.
Things for developers to note about
Partial Edge / bowser browser support has been added and requires H264 video experimental flag to be enabled.
0.6.16: Data transfer from Android / iOS SDK fixes
Dependencies
CDN links (gzipped)
- Minified library:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.min.js
- Debug library:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.debug.js
- Minified with all dependencies:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.complete.min.js
- Debug with all dependencies:
//cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.complete.js
API Documentation
http://cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/doc/classes/Skylink.html
NPM Installation
npm install git://github.com/Temasys/SkylinkJS#0.6.16
Bug-fixes
Datachannel
- Fixes to prevent dead Datachannel connections if Peer connection has already been closed.
- Fixes to ensure that
CLOSED
Datachannel state triggers on Firefox48
and below despite native.onclose
event not triggering. - Fixes to ensure that
CLOSING
Datachannel state triggers for the Peer closing the Datachannel.
Transfers
- Fixes to tabulate completion of data transfers correctly from other SDKs. #257
- Fixes where data transfers with Android / iOS / C++ SDKs in
acceptDataTransfer()
method fails to start data transfers due to incorrecttransferId
generated indataTransferState
event. #257 - Fixes where data transfers with MCU Peer enabled Peers from Android / iOS / C++ SDKs was not progressing data transfers. #257
- Fixes when
peerConnectionState
triggersCLOSED
state (for MCU enabled Peers only), or whendataChannelState
triggersERROR
,CREATE_ERROR
,CLOSING
orCLOSED
states while there is data transfer sessions progressingdataTransferState
should triggerERROR
state. - Fixes to ensure that data transfers with
sendURLData()
or multiple simultaneous data transfers should not be done if Peers connecting from the SDKs (e.g. Android / iOS / C++) do not support it. #257 - Fixes to
sendURLData()
andsendBlobData()
methods docs for incorrect deprecation ofcallback.success.transferId
as it should not be deprecated astransferId
is not retrievable fromtransferInfo
parameter payload ofdataTransferState
event. - Fixes to
sendURLData()
andsendBlobData()
methods docs for correct data transfer steps. - Fixes for compliance to DT protocol version
0.1.0
. - Fixes to ensure that
callback.error.transferInfo.name
,callback.error.transferInfo.size
andcallback.error.transferId
value should be defined asnull
depending on the method execution states insendBlobData()
andsendURLData()
methods.callback.error.transferId
should be only defined when the data transfer session has started but failed, andcallback.error.transferInfo.name
should only be defined whendata
parameter provided is parsed correctly. - Fixes to ensure
dataTransferState
is triggered only for Peers notMCU
server Peer for MCU enabled Peer connections. - Fixes to ensure that the
error.transferType
payload parameter is correctly defined whendataTransferState
event triggersERROR
state. - Fixes to
sendURLData()
andsendBlobData()
methods docs for example codes that is not working when it should befiles[0]
instead ofFiles[0]
.
Peer
- Fixes to
refreshConnection()
method docs default throttling of5000
ms not being documented. This can be configured now in theinit()
methodthrottlingIntervals.refreshConnection
parameter. - Workaround fixes for Chrome and Firefox re-negotiation issues where if Chrome (audio+video) connects with Firefox (video) and then switches to a (video) Stream, session description errors are thrown. This is a known Chrome bug issue in here.
- Fixes for
candidateGenerationState
event not triggeringGATHERING
state when ICE candidates are actually gathering. - Fixes for
getUserData()
not return User'speerInfo.userData
when provided Peer ID is invalid. - Fixes for
setUserData()
enforcingpeerInfo.userData
as string if provideduserData
parameter isfalse
. - Fixes for
getPeerInfo()
to returnpeerInfo.userData
as empty string if not defined. - Fixes for
getPeerInfo()
to return defaultpeerInfo
values when they are not defined correctly from Peers connecting from other SDKs. - Fixes for occasional ICE connection
FAILED
state due to out-of-protocol changes in0.6.15
release withMCU
server Peer connection. - Fixes for
options.bandwidth
injoinRoom()
parameters to ensure compliance to RFC 4566 specification whereb=AS
lines should be configured after the respectivec=
lines. - Fixes for User's
peerInfo.settings.bandwidth
not being received by the other Peer. #271 - Fixes to ensure
host
ICE candidates are removed from the session description received to honoroptions.forceTURN
config ininit()
method.
Room
- Fixes to prevent
Cannot read property "2" of undefined
error whencallback
provided inoff()
is not defined or is a type offunction
. - Fixes when joining a new room in
joinRoom()
overrides theinit()
configuration set. - Fixes for
incomingMessage
eventpeerId
parameter missing in docs. - Fixes for
roomLock
eventpeerId
parameter missing in docs. - Fixes for
options.defaultRoom
parameter value not being set as theoptions.appKey
parameter value when provided as an empty string in theinit()
method. - Fixes for
joinRoom()
method not invokinginit()
method internally and retrieving new Room session credentials when invokingjoinRoom()
with the same Room name as theinit()
method. This may result insystemAction
event triggeringREJECT
action withEXPIRED
reason as Room credentials has expired. - Fixes for
readyStateChange
event parameter payloadreadyState
being documented as type ofstring
when it is supposed to benumber
in the docs. #269 - Fixes for events being shared. #232
Socket
- Fixes for socket message queueing algorithm for causing
systemAction
to still triggerWARNING
action withFAST_MESSAGE
reason. - Fixes for
readyStateChange
event parameter payloadreadyState
being documented as type ofstring
when it is supposed to benumber
in the docs. #269
Stream
- Fixes for multiple triggers of
streamEnded
event. #264 - Fixes for Firefox browser TypeError when providing a custom MediaStream object in sendStream() method and receiving peerInfo.settings.video as a boolean from non-Web SDKs. #259
- Fixes for
streamEnded
event being triggered forMCU
server Peer. - Fixes to
shareScreen()
method docs default throttling of10000
ms not being documented. This can be configured now in theinit()
methodthrottlingIntervals.shareScreen
parameter. - Fixes to
init()
parameteroptions.audioCodec
andoptions.videoCodec
,joinRoom()
parameteroptions.bandwidth
andgetUserMedia()
parametersoptions.audio.stereo
selection of codec parameter direction. Bandwidth and OPUS is configured for both remote/local, which means the receiving settings can be overridden. Audio/Video codec is configured for local, which means the receiving settings can be overridden from the other SDKs Peers. - Fixes for
joinRoom()
parameteroptions.bandwidth
upload max bandwidth not working because it was not configured on remote. - Fixes to ensure that
streamEnded
triggers for all Streams that is known and sent to Peer when Peer connection has ended.
Improvements
Datachannel
- Added
CREATE_ERROR
property inDATA_CHANNEL_STATE
constant which Datachannel state triggers when creating Datachannel has errors. - Added
BUFFERED_AMOUNT_LOW
property inDATA_CHANNEL_STATE
constant which Datachannel state triggers when buffered data to be sent in Datachannel falls below the threshold limit. - Added
SEND_MESSAGE_ERROR
property inDATA_CHANNEL_STATE
constant which Datachannel state triggers when data to be sent in Datachannel is dropped because Datachannel state is notOPEN
.
Transfers
- Added
ARRAY_BUFFER
property inDATA_TRANSFER_DATA_TYPE
constant which identifies the transferring data packets type in the data transfer session isArrayBuffer
. This only happens forsendBlobData()
method. - Added
BLOB
property inDATA_TRANSFER_DATA_TYPE
constant which identifies the transferring data packets type in the data transfer session isBlob
. This only happens forsendBlobData()
method. - Added
STRING
property inDATA_TRANSFER_DATA_TYPE
constant which identifies the transferring data packets type in the data transfer session isstring
. This will only happen forsendURLData()
method. - Removal of deprecated
respondBlobRequest()
andcancelBlobTransfer()
methods in docs. The methods can still be used for0.6.x
versions as they function the same asacceptDataTransfer()
andcancelDataTransfer()
methods but it's not supported. #261 - Removal of deprecated
callback.success.isPrivate
,callback.error.isPrivate
,callback.success.state
,callback.error.state
,callback.success.peerId
,callback.error.peerId
andcallback.error.error
properties insendBlobData()
andsendURLData()
methods. These values can be retrieved fromcallback.success.listOfPeers
,callback.error.listOfPeers
,callback.success.transferInfo
,callback.error.transferInfo
andcallback.error.transferErrors
except forcallback.success.state
andcallback.error.state
as it is better by usingdataTransferState
event. #261 - Added
USER_UPLOAD_REQUEST
property toDATA_TRANSFER_STATE
constant which data transfer state triggers when it is User who is sending Peer the uploading data transfer request. - Added
USER_REJECTED
property toDATA_TRANSFER_STATE
constant which data transfer state triggers when it is User who...