diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c41534a5f..5194a4428b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,11 +17,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - run: | + venv="$HOME/.local/share/venv" + python3 -m venv "$venv" + echo "$venv/bin" >> $GITHUB_PATH - uses: errata-ai/vale-action@reviewdog env: # Required, set by GitHub actions automatically: # https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + GITHUB_TOKEN: ${{secrets.DOCKER_GIT_TOKEN}} with: # Reporter of reviewdog command [github-pr-check,github-pr-review,github-check]. reporter: github-pr-check # optional, default is github-pr-check diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d6a7a6f66..a4064cff9d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,10 @@ # Contributing -Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on [100ms Docs](https://docs.100ms.live/) If you don't know where to start contributing, ask us on our [Discord channel](http://100ms.live/discord). + + +Thank you for investing your time in contributing to our project & Any contribution you make will be reflected on [100ms Docs](https://docs.100ms.live/) + + In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. diff --git a/README.md b/README.md index 8cfaee07b1..53d826b029 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,6 @@ Logo

-[![Discord](https://img.shields.io/discord/843749923060711464?label=Join%20on%20Discord)](https://100ms.live/discord) -
> If you're here to contribute do check out our [Contributing Guidelines](CONTRIBUTING.md) & our [Code of Conduct](CODE_OF_CONDUCT.md) diff --git a/components/Footer.tsx b/components/Footer.tsx index 777dc5f4b6..4584926413 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { ChatIcon, - DiscordIcon, FacebookIcon, LinkedInIcon, Svg100MsLogo, @@ -63,18 +62,7 @@ const Footer: React.FC = ({ css = {} }) => ( /> - - - - - + diff --git a/components/Header.tsx b/components/Header.tsx index 4853f25195..0cef464dab 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -3,13 +3,12 @@ import { useRouter } from 'next/router'; import { CrossIcon, HamburgerMenuIcon, - DiscordIcon, GithubIcon, ExternalLinkIcon, SearchIcon } from '@100mslive/react-icons'; import { Flex, Text, useTheme } from '@100mslive/react-ui'; -import { WebsiteLink, DashboardLink, GitHubLink, DiscordLink, ContactLink } from '@/lib/utils'; +import { WebsiteLink, DashboardLink, GitHubLink, ContactLink } from '@/lib/utils'; import { references } from 'api-references'; import { exposedPlatformNames } from 'common'; import SearchModal from './SearchModal'; @@ -208,25 +207,6 @@ const Header: React.FC = ({ Dashboard - - - AppAnalytics.track('link.clicked', { - btnId: 'discord.clicked', - currentPage: window.location.href - }) - }> - - - - - If you get stuck at any point or need help in understanding a concept, you can put your query in our [Discord Channel](https://100ms.live/discord). - ## Prerequisites diff --git a/docs/android/v2/release-notes/release-notes.mdx b/docs/android/v2/release-notes/release-notes.mdx index 168143e369..14beb79f16 100644 --- a/docs/android/v2/release-notes/release-notes.mdx +++ b/docs/android/v2/release-notes/release-notes.mdx @@ -1,7 +1,7 @@ --- - title: Release Notes - nav: 4 - description: Release Notes for 100ms Android +title: Release Notes +nav: 4 +description: Release Notes for 100ms Android --- import AndroidSdkVersionShield from '@/common/android-sdk-version-shield.md'; import AndroidPrebuiltVersionShield from '@/common/android-prebuilt-version-shield.md'; @@ -19,13 +19,26 @@ import AndroidPrebuiltVersionShield from '@/common/android-prebuilt-version-shie | live.100ms:virtual-background: || | live.100ms:hms-noise-cancellation-android: | | +## v2.9.69 - 2024-10-25 +### Fixed +- SDK cleanup was not done fully on getting a join error leading to media dispose crash when joining the next time with same sdk instance and trying to leave +### Changed +- libkrisp-audio-sdk SO files are now part of noise cancellation module and not the core library. This reduces the size of core lib + + +## v2.9.68 - 2024-09-24 +### Fixed +- NullPointerException crash fix in RetryScheduler +- Crash fix in emulator while applying VB +- Fix retry continuing even after leaving some times + ## v2.9.67 - 2024-09-10 ### Fixed -* VB memory leaks -* Native crashes and memory issues on multiple fast join-leave -* If leave was called when retry is ongoing, then next join would be queued if called on the same instance sometimes +- VB memory leaks +- Native crashes and memory issues on multiple fast join-leave +- If leave was called when retry is ongoing, then next join would be queued if called on the same instance sometimes -## v2.9.66 - 2024-08-2024 +## v2.9.66 - 2024-08-29 ### Fixed * Java, native and graphic memory leaks * Getting "Failed to set offer/answer" error after leaving sometimes diff --git a/docs/api-reference/javascript/v2/classes/EventBus.md b/docs/api-reference/javascript/v2/classes/EventBus.md index b1531adb0f..d0fbb6048c 100644 --- a/docs/api-reference/javascript/v2/classes/EventBus.md +++ b/docs/api-reference/javascript/v2/classes/EventBus.md @@ -71,6 +71,12 @@ nav: '3.2' --- +### localAudioUnmutedNatively + +• `Readonly` **localAudioUnmutedNatively**: `HMSInternalEvent`<`unknown`\> + +--- + ### localRoleUpdate • `Readonly` **localRoleUpdate**: `HMSInternalEvent`<{ `newRole`: [`HMSRole`](/api-reference/javascript/v2/interfaces/HMSRole) ; `oldRole`: [`HMSRole`](/api-reference/javascript/v2/interfaces/HMSRole) }\> diff --git a/docs/api-reference/javascript/v2/enums/HMSAudioDeviceCategory.md b/docs/api-reference/javascript/v2/enums/HMSAudioDeviceCategory.md new file mode 100644 index 0000000000..d59af7609f --- /dev/null +++ b/docs/api-reference/javascript/v2/enums/HMSAudioDeviceCategory.md @@ -0,0 +1,28 @@ +--- +title: HMSAudioDeviceCategory +nav: '2.6' +--- + +## Enumeration Members + +### BLUETOOTH + +• **BLUETOOTH** = `"BLUETOOTH"` + +--- + +### EARPIECE + +• **EARPIECE** = `"EARPIECE"` + +--- + +### SPEAKERPHONE + +• **SPEAKERPHONE** = `"SPEAKERPHONE"` + +--- + +### WIRED + +• **WIRED** = `"WIRED"` diff --git a/docs/api-reference/javascript/v2/enums/HMSAudioMode.md b/docs/api-reference/javascript/v2/enums/HMSAudioMode.md index ce05afa652..89b0537519 100644 --- a/docs/api-reference/javascript/v2/enums/HMSAudioMode.md +++ b/docs/api-reference/javascript/v2/enums/HMSAudioMode.md @@ -1,6 +1,6 @@ --- title: HMSAudioMode -nav: '2.6' +nav: '2.7' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSAudioPluginType.md b/docs/api-reference/javascript/v2/enums/HMSAudioPluginType.md index dcecf83d4a..2a273a8c3a 100644 --- a/docs/api-reference/javascript/v2/enums/HMSAudioPluginType.md +++ b/docs/api-reference/javascript/v2/enums/HMSAudioPluginType.md @@ -1,6 +1,6 @@ --- title: HMSAudioPluginType -nav: '2.7' +nav: '2.8' --- Specifies the type of the plugin a transforming plugin will get an output audio node to give the resulting diff --git a/docs/api-reference/javascript/v2/enums/HMSLogLevel.md b/docs/api-reference/javascript/v2/enums/HMSLogLevel.md index 8b11ff088e..b9420f4d72 100644 --- a/docs/api-reference/javascript/v2/enums/HMSLogLevel.md +++ b/docs/api-reference/javascript/v2/enums/HMSLogLevel.md @@ -1,6 +1,6 @@ --- title: HMSLogLevel -nav: '2.8' +nav: '2.9' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSNotificationSeverity.md b/docs/api-reference/javascript/v2/enums/HMSNotificationSeverity.md index a65104f0f4..cc59b3944d 100644 --- a/docs/api-reference/javascript/v2/enums/HMSNotificationSeverity.md +++ b/docs/api-reference/javascript/v2/enums/HMSNotificationSeverity.md @@ -1,6 +1,6 @@ --- title: HMSNotificationSeverity -nav: '2.9' +nav: '2.10' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSNotificationTypes.md b/docs/api-reference/javascript/v2/enums/HMSNotificationTypes.md index 24aebc28ba..22d02fec66 100644 --- a/docs/api-reference/javascript/v2/enums/HMSNotificationTypes.md +++ b/docs/api-reference/javascript/v2/enums/HMSNotificationTypes.md @@ -1,6 +1,6 @@ --- title: HMSNotificationTypes -nav: '2.10' +nav: '2.11' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSPeerType.md b/docs/api-reference/javascript/v2/enums/HMSPeerType.md index 2e9d47295d..9c336317af 100644 --- a/docs/api-reference/javascript/v2/enums/HMSPeerType.md +++ b/docs/api-reference/javascript/v2/enums/HMSPeerType.md @@ -1,6 +1,6 @@ --- title: HMSPeerType -nav: '2.11' +nav: '2.12' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSPlaylistType.md b/docs/api-reference/javascript/v2/enums/HMSPlaylistType.md index 9481bbc156..27b154d337 100644 --- a/docs/api-reference/javascript/v2/enums/HMSPlaylistType.md +++ b/docs/api-reference/javascript/v2/enums/HMSPlaylistType.md @@ -1,6 +1,6 @@ --- title: HMSPlaylistType -nav: '2.12' +nav: '2.13' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSPluginUnsupportedTypes.md b/docs/api-reference/javascript/v2/enums/HMSPluginUnsupportedTypes.md index a766a5d1c5..212ee6c6e0 100644 --- a/docs/api-reference/javascript/v2/enums/HMSPluginUnsupportedTypes.md +++ b/docs/api-reference/javascript/v2/enums/HMSPluginUnsupportedTypes.md @@ -1,6 +1,6 @@ --- title: HMSPluginUnsupportedTypes -nav: '2.13' +nav: '2.14' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSPollQuestionType.md b/docs/api-reference/javascript/v2/enums/HMSPollQuestionType.md index 201cf4949b..d927b37230 100644 --- a/docs/api-reference/javascript/v2/enums/HMSPollQuestionType.md +++ b/docs/api-reference/javascript/v2/enums/HMSPollQuestionType.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestionType -nav: '2.14' +nav: '2.15' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSPollStates.md b/docs/api-reference/javascript/v2/enums/HMSPollStates.md index a9b4e13ab5..1bddd09982 100644 --- a/docs/api-reference/javascript/v2/enums/HMSPollStates.md +++ b/docs/api-reference/javascript/v2/enums/HMSPollStates.md @@ -1,6 +1,6 @@ --- title: HMSPollStates -nav: '2.15' +nav: '2.16' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSRecordingState.md b/docs/api-reference/javascript/v2/enums/HMSRecordingState.md index 7ad2f011aa..c1e571e002 100644 --- a/docs/api-reference/javascript/v2/enums/HMSRecordingState.md +++ b/docs/api-reference/javascript/v2/enums/HMSRecordingState.md @@ -1,6 +1,6 @@ --- title: HMSRecordingState -nav: '2.16' +nav: '2.17' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSRoomState.md b/docs/api-reference/javascript/v2/enums/HMSRoomState.md index 765cf4e01f..e3366ea389 100644 --- a/docs/api-reference/javascript/v2/enums/HMSRoomState.md +++ b/docs/api-reference/javascript/v2/enums/HMSRoomState.md @@ -1,6 +1,6 @@ --- title: HMSRoomState -nav: '2.17' +nav: '2.18' --- Check out internal-docs/RoomStateFlow.tldr for flow of room state diff --git a/docs/api-reference/javascript/v2/enums/HMSSimulcastLayer.md b/docs/api-reference/javascript/v2/enums/HMSSimulcastLayer.md index 321beb931e..4e473d2a3e 100644 --- a/docs/api-reference/javascript/v2/enums/HMSSimulcastLayer.md +++ b/docs/api-reference/javascript/v2/enums/HMSSimulcastLayer.md @@ -1,6 +1,6 @@ --- title: HMSSimulcastLayer -nav: '2.18' +nav: '2.19' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSTrackExceptionTrackType.md b/docs/api-reference/javascript/v2/enums/HMSTrackExceptionTrackType.md new file mode 100644 index 0000000000..8f86d9d2f6 --- /dev/null +++ b/docs/api-reference/javascript/v2/enums/HMSTrackExceptionTrackType.md @@ -0,0 +1,28 @@ +--- +title: HMSTrackExceptionTrackType +nav: '2.20' +--- + +## Enumeration Members + +### AUDIO + +• **AUDIO** = `"audio"` + +--- + +### AUDIO_VIDEO + +• **AUDIO_VIDEO** = `"audio, video"` + +--- + +### SCREEN + +• **SCREEN** = `"screen"` + +--- + +### VIDEO + +• **VIDEO** = `"video"` diff --git a/docs/api-reference/javascript/v2/enums/HMSTranscriptionMode.md b/docs/api-reference/javascript/v2/enums/HMSTranscriptionMode.md index e75a3bda79..71f71054c0 100644 --- a/docs/api-reference/javascript/v2/enums/HMSTranscriptionMode.md +++ b/docs/api-reference/javascript/v2/enums/HMSTranscriptionMode.md @@ -1,6 +1,6 @@ --- title: HMSTranscriptionMode -nav: '2.19' +nav: '2.21' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSTranscriptionState.md b/docs/api-reference/javascript/v2/enums/HMSTranscriptionState.md index deb866ac99..7a57a16c38 100644 --- a/docs/api-reference/javascript/v2/enums/HMSTranscriptionState.md +++ b/docs/api-reference/javascript/v2/enums/HMSTranscriptionState.md @@ -1,6 +1,6 @@ --- title: HMSTranscriptionState -nav: '2.20' +nav: '2.22' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSVideoPluginCanvasContextType.md b/docs/api-reference/javascript/v2/enums/HMSVideoPluginCanvasContextType.md index 5fe8c3eebd..13f687cf4e 100644 --- a/docs/api-reference/javascript/v2/enums/HMSVideoPluginCanvasContextType.md +++ b/docs/api-reference/javascript/v2/enums/HMSVideoPluginCanvasContextType.md @@ -1,6 +1,6 @@ --- title: HMSVideoPluginCanvasContextType -nav: '2.21' +nav: '2.23' --- ## Enumeration Members diff --git a/docs/api-reference/javascript/v2/enums/HMSVideoPluginType.md b/docs/api-reference/javascript/v2/enums/HMSVideoPluginType.md index f098e759be..04c3abb806 100644 --- a/docs/api-reference/javascript/v2/enums/HMSVideoPluginType.md +++ b/docs/api-reference/javascript/v2/enums/HMSVideoPluginType.md @@ -1,6 +1,6 @@ --- title: HMSVideoPluginType -nav: '2.22' +nav: '2.24' --- Specifies the type of the plugin a transforming plugin will get an output canvas to give the resulting diff --git a/docs/api-reference/javascript/v2/home/content.md b/docs/api-reference/javascript/v2/home/content.md index 267042c153..694d726145 100644 --- a/docs/api-reference/javascript/v2/home/content.md +++ b/docs/api-reference/javascript/v2/home/content.md @@ -10,6 +10,7 @@ nav: '1.1' - [DomainCategory](/api-reference/javascript/v2/enums/DomainCategory) - [HLSPlaylistType](/api-reference/javascript/v2/enums/HLSPlaylistType) - [HLSStreamType](/api-reference/javascript/v2/enums/HLSStreamType) +- [HMSAudioDeviceCategory](/api-reference/javascript/v2/enums/HMSAudioDeviceCategory) - [HMSAudioMode](/api-reference/javascript/v2/enums/HMSAudioMode) - [HMSAudioPluginType](/api-reference/javascript/v2/enums/HMSAudioPluginType) - [HMSLogLevel](/api-reference/javascript/v2/enums/HMSLogLevel) @@ -23,6 +24,7 @@ nav: '1.1' - [HMSRecordingState](/api-reference/javascript/v2/enums/HMSRecordingState) - [HMSRoomState](/api-reference/javascript/v2/enums/HMSRoomState) - [HMSSimulcastLayer](/api-reference/javascript/v2/enums/HMSSimulcastLayer) +- [HMSTrackExceptionTrackType](/api-reference/javascript/v2/enums/HMSTrackExceptionTrackType) - [HMSTranscriptionMode](/api-reference/javascript/v2/enums/HMSTranscriptionMode) - [HMSTranscriptionState](/api-reference/javascript/v2/enums/HMSTranscriptionState) - [HMSVideoPluginCanvasContextType](/api-reference/javascript/v2/enums/HMSVideoPluginCanvasContextType) @@ -43,6 +45,7 @@ nav: '1.1' ## Other Interfaces - [ConnectivityCheckResult](/api-reference/javascript/v2/interfaces/ConnectivityCheckResult) +- [DebugInfo](/api-reference/javascript/v2/interfaces/DebugInfo) - [DeviceMap](/api-reference/javascript/v2/interfaces/DeviceMap) - [DiagnosticsRTCStats](/api-reference/javascript/v2/interfaces/DiagnosticsRTCStats) - [DiagnosticsRTCStatsReport](/api-reference/javascript/v2/interfaces/DiagnosticsRTCStatsReport) @@ -116,6 +119,7 @@ nav: '1.1' - [HMSStatsStore](/api-reference/javascript/v2/interfaces/HMSStatsStore) - [HMSStatsStoreWrapper](/api-reference/javascript/v2/interfaces/HMSStatsStoreWrapper) - [HMSStore](/api-reference/javascript/v2/interfaces/HMSStore) +- [HMSTrackException](/api-reference/javascript/v2/interfaces/HMSTrackException) - [HMSTrackNotification](/api-reference/javascript/v2/interfaces/HMSTrackNotification) - [HMSTrackStats](/api-reference/javascript/v2/interfaces/HMSTrackStats) - [HMSTranscriptionInfo](/api-reference/javascript/v2/interfaces/HMSTranscriptionInfo) @@ -396,17 +400,17 @@ selfBrowser - the current browser tab is being shared ### getAudioDeviceCategory -▸ **getAudioDeviceCategory**(`deviceLabel`): `"bluetooth"` \| `"speakerhone"` \| `"wired"` \| `"earpiece"` \| `"speakerphone"` +▸ **getAudioDeviceCategory**(`deviceLabel?`): `HMSAudioDeviceCategory` #### Parameters -| Name | Type | -| :------------ | :------- | -| `deviceLabel` | `string` | +| Name | Type | +| :------------- | :------- | +| `deviceLabel?` | `string` | #### Returns -`"bluetooth"` \| `"speakerhone"` \| `"wired"` \| `"earpiece"` \| `"speakerphone"` +`HMSAudioDeviceCategory` --- diff --git a/docs/api-reference/javascript/v2/interfaces/DebugInfo.md b/docs/api-reference/javascript/v2/interfaces/DebugInfo.md new file mode 100644 index 0000000000..a14486c60b --- /dev/null +++ b/docs/api-reference/javascript/v2/interfaces/DebugInfo.md @@ -0,0 +1,22 @@ +--- +title: DebugInfo +nav: '4.2' +--- + +## Properties + +### enabledFlags + +• `Optional` **enabledFlags**: `string`[] + +--- + +### initEndpoint + +• `Optional` **initEndpoint**: `string` + +--- + +### websocketURL + +• `Optional` **websocketURL**: `string` diff --git a/docs/api-reference/javascript/v2/interfaces/DeviceMap.md b/docs/api-reference/javascript/v2/interfaces/DeviceMap.md index fd29c59650..5122c6bf9c 100644 --- a/docs/api-reference/javascript/v2/interfaces/DeviceMap.md +++ b/docs/api-reference/javascript/v2/interfaces/DeviceMap.md @@ -1,6 +1,6 @@ --- title: DeviceMap -nav: '4.2' +nav: '4.3' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStats.md b/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStats.md index ffa63a6a0b..280708d3df 100644 --- a/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStats.md +++ b/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStats.md @@ -1,6 +1,6 @@ --- title: DiagnosticsRTCStats -nav: '4.3' +nav: '4.4' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStatsReport.md b/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStatsReport.md index 07ec3e9c4f..4ec7a61d53 100644 --- a/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStatsReport.md +++ b/docs/api-reference/javascript/v2/interfaces/DiagnosticsRTCStatsReport.md @@ -1,6 +1,6 @@ --- title: DiagnosticsRTCStatsReport -nav: '4.4' +nav: '4.5' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HLSConfig.md b/docs/api-reference/javascript/v2/interfaces/HLSConfig.md index 9bdf0b6571..d49a36682a 100644 --- a/docs/api-reference/javascript/v2/interfaces/HLSConfig.md +++ b/docs/api-reference/javascript/v2/interfaces/HLSConfig.md @@ -1,6 +1,6 @@ --- title: HLSConfig -nav: '4.5' +nav: '4.6' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HLSMeetingURLVariant.md b/docs/api-reference/javascript/v2/interfaces/HLSMeetingURLVariant.md index 717a8f2501..46fdb775a9 100644 --- a/docs/api-reference/javascript/v2/interfaces/HLSMeetingURLVariant.md +++ b/docs/api-reference/javascript/v2/interfaces/HLSMeetingURLVariant.md @@ -1,6 +1,6 @@ --- title: HLSMeetingURLVariant -nav: '4.6' +nav: '4.7' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HLSVariant.md b/docs/api-reference/javascript/v2/interfaces/HLSVariant.md index 6573a97517..13e8ec107f 100644 --- a/docs/api-reference/javascript/v2/interfaces/HLSVariant.md +++ b/docs/api-reference/javascript/v2/interfaces/HLSVariant.md @@ -1,6 +1,6 @@ --- title: HLSVariant -nav: '4.7' +nav: '4.8' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSActions.md b/docs/api-reference/javascript/v2/interfaces/HMSActions.md index f6b4484478..90a4d3ee45 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSActions.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSActions.md @@ -1,6 +1,6 @@ --- title: HMSActions -nav: '4.8' +nav: '4.9' --- The below interface defines our SDK API Surface for taking room related actions. diff --git a/docs/api-reference/javascript/v2/interfaces/HMSAudioPlugin.md b/docs/api-reference/javascript/v2/interfaces/HMSAudioPlugin.md index 39c95202ae..0e2d0a02d0 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSAudioPlugin.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSAudioPlugin.md @@ -1,6 +1,6 @@ --- title: HMSAudioPlugin -nav: '4.9' +nav: '4.10' --- A plugin implementing this interface can be registered with HMSLocalAudioTrack to transform, process or diff --git a/docs/api-reference/javascript/v2/interfaces/HMSAudioTrack.md b/docs/api-reference/javascript/v2/interfaces/HMSAudioTrack.md index 910c2a8dfa..6c63452599 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSAudioTrack.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSAudioTrack.md @@ -1,6 +1,6 @@ --- title: HMSAudioTrack -nav: '4.10' +nav: '4.11' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSAudioTrackSettings.md b/docs/api-reference/javascript/v2/interfaces/HMSAudioTrackSettings.md index 4794e2ec99..9a13e1afc6 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSAudioTrackSettings.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSAudioTrackSettings.md @@ -1,6 +1,6 @@ --- title: HMSAudioTrackSettings -nav: '4.11' +nav: '4.12' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateParams.md b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateParams.md index 229d790bfa..38e357d089 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateParams.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateParams.md @@ -1,6 +1,6 @@ --- title: HMSChangeMultiTrackStateParams -nav: '4.12' +nav: '4.13' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequest.md b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequest.md index 7b7a758c9a..2ae271183b 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequest.md @@ -1,6 +1,6 @@ --- title: HMSChangeMultiTrackStateRequest -nav: '4.13' +nav: '4.14' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequestNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequestNotification.md index 7b6564eb40..e9a5ebe75c 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequestNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSChangeMultiTrackStateRequestNotification.md @@ -1,6 +1,6 @@ --- title: HMSChangeMultiTrackStateRequestNotification -nav: '4.14' +nav: '4.15' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequest.md b/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequest.md index 788452273e..ed58f986d1 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequest.md @@ -1,6 +1,6 @@ --- title: HMSChangeTrackStateRequest -nav: '4.15' +nav: '4.16' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequestNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequestNotification.md index 27efddd18e..c36d7cd6ca 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequestNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSChangeTrackStateRequestNotification.md @@ -1,6 +1,6 @@ --- title: HMSChangeTrackStateRequestNotification -nav: '4.16' +nav: '4.17' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSConfig.md b/docs/api-reference/javascript/v2/interfaces/HMSConfig.md index 0e85eed02d..653cfd37c5 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSConfig.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSConfig.md @@ -1,6 +1,6 @@ --- title: HMSConfig -nav: '4.17' +nav: '4.18' --- the config object tells the SDK options you want to join with @@ -21,14 +21,6 @@ https://docs.100ms.live/javascript/v2/features/join ## Properties -### alwaysRequestPermissions - -• `Optional` **alwaysRequestPermissions**: `boolean` - -Request Camera/Mic permissions irrespective of role to avoid delay in getting device list - ---- - ### audioSinkElementId • `Optional` **audioSinkElementId**: `string` diff --git a/docs/api-reference/javascript/v2/interfaces/HMSConfigInitialSettings.md b/docs/api-reference/javascript/v2/interfaces/HMSConfigInitialSettings.md index daa490306e..de7de14d92 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSConfigInitialSettings.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSConfigInitialSettings.md @@ -1,6 +1,6 @@ --- title: HMSConfigInitialSettings -nav: '4.18' +nav: '4.19' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEvent.md b/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEvent.md index 5be8556309..3225e7632e 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEvent.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEvent.md @@ -1,6 +1,6 @@ --- title: HMSDeviceChangeEvent -nav: '4.19' +nav: '4.20' --- Test fails when adding InputDeviceInfo[error TS2304: Cannot find name 'InputDeviceInfo'.] diff --git a/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEventNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEventNotification.md index c2b573bb4d..836aadaf91 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEventNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSDeviceChangeEventNotification.md @@ -1,6 +1,6 @@ --- title: HMSDeviceChangeEventNotification -nav: '4.20' +nav: '4.21' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsConnectivityListener.md b/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsConnectivityListener.md index ee3a909dbc..4fb852256a 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsConnectivityListener.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsConnectivityListener.md @@ -1,6 +1,6 @@ --- title: HMSDiagnosticsConnectivityListener -nav: '4.21' +nav: '4.22' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsInterface.md b/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsInterface.md index 9834afe968..fb80396b00 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsInterface.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSDiagnosticsInterface.md @@ -1,6 +1,6 @@ --- title: HMSDiagnosticsInterface -nav: '4.22' +nav: '4.23' --- ## Implemented by diff --git a/docs/api-reference/javascript/v2/interfaces/HMSException.md b/docs/api-reference/javascript/v2/interfaces/HMSException.md index 94fa308052..2dfa4f8c64 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSException.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSException.md @@ -1,10 +1,16 @@ --- title: HMSException -nav: '4.23' +nav: '4.24' --- any mid call error notification will be in this format +## Hierarchy + +- **`HMSException`** + + ↳ [`HMSTrackException`](/api-reference/javascript/v2/interfaces/HMSTrackException) + ## Properties ### action diff --git a/docs/api-reference/javascript/v2/interfaces/HMSExceptionNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSExceptionNotification.md index 6949521cbf..b16d12ea01 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSExceptionNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSExceptionNotification.md @@ -1,6 +1,6 @@ --- title: HMSExceptionNotification -nav: '4.24' +nav: '4.25' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSFrameworkInfo.md b/docs/api-reference/javascript/v2/interfaces/HMSFrameworkInfo.md index 4ef67d8c1f..5961b50b77 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSFrameworkInfo.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSFrameworkInfo.md @@ -1,6 +1,6 @@ --- title: HMSFrameworkInfo -nav: '4.25' +nav: '4.26' --- Used in the user agent sent to INIT, BIZ and in offline cached events. diff --git a/docs/api-reference/javascript/v2/interfaces/HMSGenericTypes.md b/docs/api-reference/javascript/v2/interfaces/HMSGenericTypes.md index 1e30250941..39a1e7e26d 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSGenericTypes.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSGenericTypes.md @@ -1,6 +1,6 @@ --- title: HMSGenericTypes -nav: '4.26' +nav: '4.27' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSHLS.md b/docs/api-reference/javascript/v2/interfaces/HMSHLS.md index 0458d885a0..d44c6766f6 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSHLS.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSHLS.md @@ -1,6 +1,6 @@ --- title: HMSHLS -nav: '4.27' +nav: '4.28' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequest.md b/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequest.md index 37f90e2d52..a8c0792df9 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequest.md @@ -1,6 +1,6 @@ --- title: HMSLeaveRoomRequest -nav: '4.28' +nav: '4.29' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequestNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequestNotification.md index 30d7501ea0..439c264867 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequestNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSLeaveRoomRequestNotification.md @@ -1,6 +1,6 @@ --- title: HMSLeaveRoomRequestNotification -nav: '4.29' +nav: '4.30' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSLocalTrackStats.md b/docs/api-reference/javascript/v2/interfaces/HMSLocalTrackStats.md index 31721017bf..1f9e5d6551 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSLocalTrackStats.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSLocalTrackStats.md @@ -1,6 +1,6 @@ --- title: HMSLocalTrackStats -nav: '4.30' +nav: '4.31' --- Extends RTCOutboundRtpStreamStats diff --git a/docs/api-reference/javascript/v2/interfaces/HMSMediaSettings.md b/docs/api-reference/javascript/v2/interfaces/HMSMediaSettings.md index 60215a51ac..f09f7b72a7 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSMediaSettings.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSMediaSettings.md @@ -1,6 +1,6 @@ --- title: HMSMediaSettings -nav: '4.31' +nav: '4.32' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSMediaStreamPlugin.md b/docs/api-reference/javascript/v2/interfaces/HMSMediaStreamPlugin.md index 704270d550..80c3911994 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSMediaStreamPlugin.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSMediaStreamPlugin.md @@ -1,6 +1,6 @@ --- title: HMSMediaStreamPlugin -nav: '4.32' +nav: '4.33' --- ## Methods diff --git a/docs/api-reference/javascript/v2/interfaces/HMSMessage.md b/docs/api-reference/javascript/v2/interfaces/HMSMessage.md index efaf0848a0..6c57dbeac6 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSMessage.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSMessage.md @@ -1,6 +1,6 @@ --- title: HMSMessage -nav: '4.33' +nav: '4.34' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSMessageNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSMessageNotification.md index e8a469aa4a..0aa410733a 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSMessageNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSMessageNotification.md @@ -1,6 +1,6 @@ --- title: HMSMessageNotification -nav: '4.34' +nav: '4.35' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSNotifications.md b/docs/api-reference/javascript/v2/interfaces/HMSNotifications.md index 3a2bbd2a07..d60baf2d53 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSNotifications.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSNotifications.md @@ -1,6 +1,6 @@ --- title: HMSNotifications -nav: '4.35' +nav: '4.36' --- ## Methods diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeer.md b/docs/api-reference/javascript/v2/interfaces/HMSPeer.md index 7fcbb2b5a2..09089fe6b3 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeer.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeer.md @@ -1,6 +1,6 @@ --- title: HMSPeer -nav: '4.36' +nav: '4.37' --- HMSPeer stores the details of individual participants in the room diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerListIterator.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerListIterator.md index 7a1726734e..e292b1dddb 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerListIterator.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerListIterator.md @@ -1,6 +1,6 @@ --- title: HMSPeerListIterator -nav: '4.37' +nav: '4.38' --- ## Methods diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerListIteratorOptions.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerListIteratorOptions.md index 7464aba6ce..e19a387c68 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerListIteratorOptions.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerListIteratorOptions.md @@ -1,6 +1,6 @@ --- title: HMSPeerListIteratorOptions -nav: '4.38' +nav: '4.39' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerListNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerListNotification.md index b556808a57..8cc72b777c 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerListNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerListNotification.md @@ -1,6 +1,6 @@ --- title: HMSPeerListNotification -nav: '4.39' +nav: '4.40' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerNotification.md index 362c8b3cc8..bb8c9e005d 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerNotification.md @@ -1,6 +1,6 @@ --- title: HMSPeerNotification -nav: '4.40' +nav: '4.41' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerStats.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerStats.md index e7a4add925..e8d3b912fd 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerStats.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerStats.md @@ -1,6 +1,6 @@ --- title: HMSPeerStats -nav: '4.41' +nav: '4.42' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPeerWithMuteStatus.md b/docs/api-reference/javascript/v2/interfaces/HMSPeerWithMuteStatus.md index 16e5df3f43..c7ebe20a28 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPeerWithMuteStatus.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPeerWithMuteStatus.md @@ -1,6 +1,6 @@ --- title: HMSPeerWithMuteStatus -nav: '4.42' +nav: '4.43' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPlaylist.md b/docs/api-reference/javascript/v2/interfaces/HMSPlaylist.md index 7f607f05d6..66b3d06774 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPlaylist.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPlaylist.md @@ -1,6 +1,6 @@ --- title: HMSPlaylist -nav: '4.43' +nav: '4.44' --- ## Type parameters diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItem.md b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItem.md index b709fa1545..a6d49e67ad 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItem.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItem.md @@ -1,6 +1,6 @@ --- title: HMSPlaylistItem -nav: '4.44' +nav: '4.45' --- ## Type parameters diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItemNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItemNotification.md index 53ea1fdff5..ca3b3c5aa5 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItemNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistItemNotification.md @@ -1,6 +1,6 @@ --- title: HMSPlaylistItemNotification -nav: '4.45' +nav: '4.46' --- ## Type parameters diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelection.md b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelection.md index f021444097..dea3bcb2cf 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelection.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelection.md @@ -1,6 +1,6 @@ --- title: HMSPlaylistSelection -nav: '4.46' +nav: '4.47' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelector.md b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelector.md index bf7a0b6c51..f4a35a50eb 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelector.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPlaylistSelector.md @@ -1,6 +1,6 @@ --- title: HMSPlaylistSelector -nav: '4.47' +nav: '4.48' --- Helpful selectors for audio and video playlist diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPluginSupportResult.md b/docs/api-reference/javascript/v2/interfaces/HMSPluginSupportResult.md index 3a4b627357..0ed4051468 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPluginSupportResult.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPluginSupportResult.md @@ -1,6 +1,6 @@ --- title: HMSPluginSupportResult -nav: '4.48' +nav: '4.49' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPoll.md b/docs/api-reference/javascript/v2/interfaces/HMSPoll.md index 39646c9d2c..350a804bf5 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPoll.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPoll.md @@ -1,6 +1,6 @@ --- title: HMSPoll -nav: '4.49' +nav: '4.50' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollCreateParams.md b/docs/api-reference/javascript/v2/interfaces/HMSPollCreateParams.md index 36a91f9c2c..bc07e3489d 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollCreateParams.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollCreateParams.md @@ -1,6 +1,6 @@ --- title: HMSPollCreateParams -nav: '4.50' +nav: '4.51' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSPollNotification.md index 9aca4e01ef..d308dae0bd 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollNotification.md @@ -1,6 +1,6 @@ --- title: HMSPollNotification -nav: '4.51' +nav: '4.52' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestion.md b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestion.md index b63bfa331e..cbb2d06d2e 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestion.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestion.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestion -nav: '4.52' +nav: '4.53' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionAnswer.md b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionAnswer.md index a0a6a783a4..8e0ac255a6 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionAnswer.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionAnswer.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestionAnswer -nav: '4.53' +nav: '4.54' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionCreateParams.md b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionCreateParams.md index 32f85d5dae..bbee8fb9f7 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionCreateParams.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionCreateParams.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestionCreateParams -nav: '4.54' +nav: '4.55' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOption.md b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOption.md index 03cc1ad674..521fa342f2 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOption.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOption.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestionOption -nav: '4.55' +nav: '4.56' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOptionCreateParams.md b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOptionCreateParams.md index be421c911f..4ff15c07f3 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOptionCreateParams.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPollQuestionOptionCreateParams.md @@ -1,6 +1,6 @@ --- title: HMSPollQuestionOptionCreateParams -nav: '4.56' +nav: '4.57' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPreviewConfig.md b/docs/api-reference/javascript/v2/interfaces/HMSPreviewConfig.md index 77ef9a067a..066d37c356 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPreviewConfig.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPreviewConfig.md @@ -1,6 +1,6 @@ --- title: HMSPreviewConfig -nav: '4.57' +nav: '4.58' --- the config object tells the SDK options you want to preview with(use if you want preview and join with different roles) @@ -19,18 +19,6 @@ https://docs.100ms.live/javascript/v2/features/preview ## Properties -### alwaysRequestPermissions - -• `Optional` **alwaysRequestPermissions**: `boolean` - -Request Camera/Mic permissions irrespective of role to avoid delay in getting device list - -#### Inherited from - -[HMSConfig](/api-reference/javascript/v2/interfaces/HMSConfig).[alwaysRequestPermissions](/api-reference/javascript/v2/interfaces/HMSConfig#alwaysrequestpermissions) - ---- - ### asRole • `Optional` **asRole**: `string` diff --git a/docs/api-reference/javascript/v2/interfaces/HMSPublishAllowed.md b/docs/api-reference/javascript/v2/interfaces/HMSPublishAllowed.md index e23d1c1d9e..1a446b843e 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSPublishAllowed.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSPublishAllowed.md @@ -1,6 +1,6 @@ --- title: HMSPublishAllowed -nav: '4.58' +nav: '4.59' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardResponse.md b/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardResponse.md index eafd0087fa..f66c6ce8df 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardResponse.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardResponse.md @@ -1,6 +1,6 @@ --- title: HMSQuizLeaderboardResponse -nav: '4.59' +nav: '4.60' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardSummary.md b/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardSummary.md index b268a2aaf5..6e76c84538 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardSummary.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSQuizLeaderboardSummary.md @@ -1,6 +1,6 @@ --- title: HMSQuizLeaderboardSummary -nav: '4.60' +nav: '4.61' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRTMP.md b/docs/api-reference/javascript/v2/interfaces/HMSRTMP.md index 2c44f5ba1a..0ae8a9c05f 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRTMP.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRTMP.md @@ -1,6 +1,6 @@ --- title: HMSRTMP -nav: '4.61' +nav: '4.62' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSReconnectionNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSReconnectionNotification.md index 2e717d8cc6..ae87745bbc 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSReconnectionNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSReconnectionNotification.md @@ -1,6 +1,6 @@ --- title: HMSReconnectionNotification -nav: '4.62' +nav: '4.63' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRecording.md b/docs/api-reference/javascript/v2/interfaces/HMSRecording.md index c55d32aa20..013896f758 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRecording.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRecording.md @@ -1,6 +1,6 @@ --- title: HMSRecording -nav: '4.63' +nav: '4.64' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRemoteTrackStats.md b/docs/api-reference/javascript/v2/interfaces/HMSRemoteTrackStats.md index 0be9a47527..5198d8bdb1 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRemoteTrackStats.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRemoteTrackStats.md @@ -1,6 +1,6 @@ --- title: HMSRemoteTrackStats -nav: '4.64' +nav: '4.65' --- Extends RTCInboundRtpStreamStats diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRole.md b/docs/api-reference/javascript/v2/interfaces/HMSRole.md index 35d5603838..76c81174a4 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRole.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRole.md @@ -1,6 +1,6 @@ --- title: HMSRole -nav: '4.65' +nav: '4.66' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeRequest.md b/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeRequest.md index e371c8e836..856904e045 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeRequest.md @@ -1,6 +1,6 @@ --- title: HMSRoleChangeRequest -nav: '4.66' +nav: '4.67' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeStoreRequest.md b/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeStoreRequest.md index 1daf145e65..53bdb14c5d 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeStoreRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRoleChangeStoreRequest.md @@ -1,6 +1,6 @@ --- title: HMSRoleChangeStoreRequest -nav: '4.67' +nav: '4.68' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSRoom.md b/docs/api-reference/javascript/v2/interfaces/HMSRoom.md index 47be505675..66b0d7fed0 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSRoom.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSRoom.md @@ -1,6 +1,6 @@ --- title: HMSRoom -nav: '4.68' +nav: '4.69' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSScreenAudioTrack.md b/docs/api-reference/javascript/v2/interfaces/HMSScreenAudioTrack.md index a8ea068c9d..833922f285 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSScreenAudioTrack.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSScreenAudioTrack.md @@ -1,6 +1,6 @@ --- title: HMSScreenAudioTrack -nav: '4.69' +nav: '4.70' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSScreenShareConfig.md b/docs/api-reference/javascript/v2/interfaces/HMSScreenShareConfig.md index 870227525d..eda5b3aa3b 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSScreenShareConfig.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSScreenShareConfig.md @@ -1,6 +1,6 @@ --- title: HMSScreenShareConfig -nav: '4.70' +nav: '4.71' --- Config to have control over screenshare being captured. Note that diff --git a/docs/api-reference/javascript/v2/interfaces/HMSScreenVideoTrack.md b/docs/api-reference/javascript/v2/interfaces/HMSScreenVideoTrack.md index d8620f6745..41ab81fc40 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSScreenVideoTrack.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSScreenVideoTrack.md @@ -1,6 +1,6 @@ --- title: HMSScreenVideoTrack -nav: '4.71' +nav: '4.72' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSSimulcastLayerDefinition.md b/docs/api-reference/javascript/v2/interfaces/HMSSimulcastLayerDefinition.md index d970473f9a..f095e35244 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSSimulcastLayerDefinition.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSSimulcastLayerDefinition.md @@ -1,6 +1,6 @@ --- title: HMSSimulcastLayerDefinition -nav: '4.72' +nav: '4.73' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSSpeaker.md b/docs/api-reference/javascript/v2/interfaces/HMSSpeaker.md index 9e2754c8e9..92dfb16896 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSSpeaker.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSSpeaker.md @@ -1,6 +1,6 @@ --- title: HMSSpeaker -nav: '4.73' +nav: '4.74' --- HMS Speaker stores the details of peers speaking at any point of time along with diff --git a/docs/api-reference/javascript/v2/interfaces/HMSStatsStore.md b/docs/api-reference/javascript/v2/interfaces/HMSStatsStore.md index 45f797162e..8fffecc7d7 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSStatsStore.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSStatsStore.md @@ -1,6 +1,6 @@ --- title: HMSStatsStore -nav: '4.74' +nav: '4.75' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSStatsStoreWrapper.md b/docs/api-reference/javascript/v2/interfaces/HMSStatsStoreWrapper.md index 43dbaeb929..9de333af02 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSStatsStoreWrapper.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSStatsStoreWrapper.md @@ -1,6 +1,6 @@ --- title: HMSStatsStoreWrapper -nav: '4.75' +nav: '4.76' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSStore.md b/docs/api-reference/javascript/v2/interfaces/HMSStore.md index 373a889027..8f18a08022 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSStore.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSStore.md @@ -1,6 +1,6 @@ --- title: HMSStore -nav: '4.76' +nav: '4.77' --- ## Type parameters diff --git a/docs/api-reference/javascript/v2/interfaces/HMSStoreWrapper.md b/docs/api-reference/javascript/v2/interfaces/HMSStoreWrapper.md index a342daa60f..ca03bfdf45 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSStoreWrapper.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSStoreWrapper.md @@ -1,6 +1,6 @@ --- title: HMSStoreWrapper -nav: '4.77' +nav: '4.78' --- HMS store can be used to: diff --git a/docs/api-reference/javascript/v2/interfaces/HMSTrackException.md b/docs/api-reference/javascript/v2/interfaces/HMSTrackException.md new file mode 100644 index 0000000000..05a37cb6a9 --- /dev/null +++ b/docs/api-reference/javascript/v2/interfaces/HMSTrackException.md @@ -0,0 +1,98 @@ +--- +title: HMSTrackException +nav: '4.79' +--- + +any mid call error notification will be in this format + +## Hierarchy + +- [`HMSException`](/api-reference/javascript/v2/interfaces/HMSException) + + ↳ **`HMSTrackException`** + +## Properties + +### action + +• **action**: `string` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[action](/api-reference/javascript/v2/interfaces/HMSException#action) + +--- + +### code + +• **code**: `number` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[code](/api-reference/javascript/v2/interfaces/HMSException#code) + +--- + +### description + +• **description**: `string` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[description](/api-reference/javascript/v2/interfaces/HMSException#description) + +--- + +### isTerminal + +• **isTerminal**: `boolean` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[isTerminal](/api-reference/javascript/v2/interfaces/HMSException#isterminal) + +--- + +### message + +• **message**: `string` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[message](/api-reference/javascript/v2/interfaces/HMSException#message) + +--- + +### name + +• **name**: `string` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[name](/api-reference/javascript/v2/interfaces/HMSException#name) + +--- + +### nativeError + +• `Optional` **nativeError**: `Error` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[nativeError](/api-reference/javascript/v2/interfaces/HMSException#nativeerror) + +--- + +### timestamp + +• **timestamp**: `Date` + +#### Inherited from + +[HMSException](/api-reference/javascript/v2/interfaces/HMSException).[timestamp](/api-reference/javascript/v2/interfaces/HMSException#timestamp) + +--- + +### trackType + +• **trackType**: [`HMSTrackExceptionTrackType`](/api-reference/javascript/v2/enums/HMSTrackExceptionTrackType) diff --git a/docs/api-reference/javascript/v2/interfaces/HMSTrackNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSTrackNotification.md index 171f74953b..2ac9963298 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSTrackNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSTrackNotification.md @@ -1,6 +1,6 @@ --- title: HMSTrackNotification -nav: '4.78' +nav: '4.80' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSTrackStats.md b/docs/api-reference/javascript/v2/interfaces/HMSTrackStats.md index 0e1285a58f..dea25dfda1 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSTrackStats.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSTrackStats.md @@ -1,6 +1,6 @@ --- title: HMSTrackStats -nav: '4.79' +nav: '4.81' --- Extends RTCOutboundRtpStreamStats diff --git a/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionInfo.md b/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionInfo.md index d1f4d0cef1..10e6e3d092 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionInfo.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionInfo.md @@ -1,6 +1,6 @@ --- title: HMSTranscriptionInfo -nav: '4.80' +nav: '4.82' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionNotification.md b/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionNotification.md index 3d7e994b3a..92805c253d 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionNotification.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSTranscriptionNotification.md @@ -1,6 +1,6 @@ --- title: HMSTranscriptionNotification -nav: '4.81' +nav: '4.83' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSVideoPlugin.md b/docs/api-reference/javascript/v2/interfaces/HMSVideoPlugin.md index d74188e979..6bab3aadfc 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSVideoPlugin.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSVideoPlugin.md @@ -1,6 +1,6 @@ --- title: HMSVideoPlugin -nav: '4.82' +nav: '4.84' --- A plugin implementing this interface can be registered with HMSLocalVideoTrack to transform, process or diff --git a/docs/api-reference/javascript/v2/interfaces/HMSVideoTrack.md b/docs/api-reference/javascript/v2/interfaces/HMSVideoTrack.md index f417130ee8..efe16886a1 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSVideoTrack.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSVideoTrack.md @@ -1,6 +1,6 @@ --- title: HMSVideoTrack -nav: '4.83' +nav: '4.85' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/HMSVideoTrackSettings.md b/docs/api-reference/javascript/v2/interfaces/HMSVideoTrackSettings.md index 5a5d6868b6..31b1494845 100644 --- a/docs/api-reference/javascript/v2/interfaces/HMSVideoTrackSettings.md +++ b/docs/api-reference/javascript/v2/interfaces/HMSVideoTrackSettings.md @@ -1,6 +1,6 @@ --- title: HMSVideoTrackSettings -nav: '4.84' +nav: '4.86' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/IHMSPlaylistActions.md b/docs/api-reference/javascript/v2/interfaces/IHMSPlaylistActions.md index e8c35ee4a9..89208d6a6b 100644 --- a/docs/api-reference/javascript/v2/interfaces/IHMSPlaylistActions.md +++ b/docs/api-reference/javascript/v2/interfaces/IHMSPlaylistActions.md @@ -1,6 +1,6 @@ --- title: IHMSPlaylistActions -nav: '4.85' +nav: '4.87' --- ## Methods diff --git a/docs/api-reference/javascript/v2/interfaces/IHMSSessionStoreActions.md b/docs/api-reference/javascript/v2/interfaces/IHMSSessionStoreActions.md index 213832f2fb..55a7c8a4a9 100644 --- a/docs/api-reference/javascript/v2/interfaces/IHMSSessionStoreActions.md +++ b/docs/api-reference/javascript/v2/interfaces/IHMSSessionStoreActions.md @@ -1,6 +1,6 @@ --- title: IHMSSessionStoreActions -nav: '4.86' +nav: '4.88' --- ## Type parameters diff --git a/docs/api-reference/javascript/v2/interfaces/IHMSStatsStore.md b/docs/api-reference/javascript/v2/interfaces/IHMSStatsStore.md index cb013ec706..cba5df7564 100644 --- a/docs/api-reference/javascript/v2/interfaces/IHMSStatsStore.md +++ b/docs/api-reference/javascript/v2/interfaces/IHMSStatsStore.md @@ -1,6 +1,6 @@ --- title: IHMSStatsStore -nav: '4.87' +nav: '4.89' --- ## Hierarchy diff --git a/docs/api-reference/javascript/v2/interfaces/IHMSStore.md b/docs/api-reference/javascript/v2/interfaces/IHMSStore.md index 4b3c114f7b..c550078b20 100644 --- a/docs/api-reference/javascript/v2/interfaces/IHMSStore.md +++ b/docs/api-reference/javascript/v2/interfaces/IHMSStore.md @@ -1,6 +1,6 @@ --- title: IHMSStore -nav: '4.88' +nav: '4.90' --- HMS Reactive store can be used to subscribe to different parts of the store using selectors diff --git a/docs/api-reference/javascript/v2/interfaces/MediaPermissionCheck.md b/docs/api-reference/javascript/v2/interfaces/MediaPermissionCheck.md index 58043ff1cd..30a62af877 100644 --- a/docs/api-reference/javascript/v2/interfaces/MediaPermissionCheck.md +++ b/docs/api-reference/javascript/v2/interfaces/MediaPermissionCheck.md @@ -1,6 +1,6 @@ --- title: MediaPermissionCheck -nav: '4.89' +nav: '4.91' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/MediaServerReport.md b/docs/api-reference/javascript/v2/interfaces/MediaServerReport.md index c4982a399f..8bf84e0185 100644 --- a/docs/api-reference/javascript/v2/interfaces/MediaServerReport.md +++ b/docs/api-reference/javascript/v2/interfaces/MediaServerReport.md @@ -1,6 +1,6 @@ --- title: MediaServerReport -nav: '4.90' +nav: '4.92' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/RTMPRecordingConfig.md b/docs/api-reference/javascript/v2/interfaces/RTMPRecordingConfig.md index 5cd362e5c6..92be667afd 100644 --- a/docs/api-reference/javascript/v2/interfaces/RTMPRecordingConfig.md +++ b/docs/api-reference/javascript/v2/interfaces/RTMPRecordingConfig.md @@ -1,6 +1,6 @@ --- title: RTMPRecordingConfig -nav: '4.91' +nav: '4.93' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/ScreenCaptureHandle.md b/docs/api-reference/javascript/v2/interfaces/ScreenCaptureHandle.md index c1da64f0c5..fc9f07b585 100644 --- a/docs/api-reference/javascript/v2/interfaces/ScreenCaptureHandle.md +++ b/docs/api-reference/javascript/v2/interfaces/ScreenCaptureHandle.md @@ -1,6 +1,6 @@ --- title: ScreenCaptureHandle -nav: '4.92' +nav: '4.94' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/SignallingReport.md b/docs/api-reference/javascript/v2/interfaces/SignallingReport.md index f961ff56dd..944f1c2b89 100644 --- a/docs/api-reference/javascript/v2/interfaces/SignallingReport.md +++ b/docs/api-reference/javascript/v2/interfaces/SignallingReport.md @@ -1,6 +1,6 @@ --- title: SignallingReport -nav: '4.93' +nav: '4.95' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/TokenRequest.md b/docs/api-reference/javascript/v2/interfaces/TokenRequest.md index 8bbb3c3778..80563d023f 100644 --- a/docs/api-reference/javascript/v2/interfaces/TokenRequest.md +++ b/docs/api-reference/javascript/v2/interfaces/TokenRequest.md @@ -1,6 +1,6 @@ --- title: TokenRequest -nav: '4.94' +nav: '4.96' --- ## Properties diff --git a/docs/api-reference/javascript/v2/interfaces/TokenRequestOptions.md b/docs/api-reference/javascript/v2/interfaces/TokenRequestOptions.md index 0e85a40085..cdbc71cd90 100644 --- a/docs/api-reference/javascript/v2/interfaces/TokenRequestOptions.md +++ b/docs/api-reference/javascript/v2/interfaces/TokenRequestOptions.md @@ -1,6 +1,6 @@ --- title: TokenRequestOptions -nav: '4.95' +nav: '4.97' --- ## Properties diff --git a/docs/flutter/v2/how-to-guides/debugging/faq.mdx b/docs/flutter/v2/how-to-guides/debugging/faq.mdx index 43b1a8aad9..956dcb3336 100644 --- a/docs/flutter/v2/how-to-guides/debugging/faq.mdx +++ b/docs/flutter/v2/how-to-guides/debugging/faq.mdx @@ -222,4 +222,4 @@ To ensure that the message sent by the local peer is included in your messages l ### I want to suggest a new feature. -Awesome, we're always looking out for new ideas and features. Please reach out to us over [discord](https://100ms.live/discord) +Awesome, we're always looking out for new ideas and features. diff --git a/docs/flutter/v2/how-to-guides/interact-with-room/peer/peer-metadata-update.mdx b/docs/flutter/v2/how-to-guides/interact-with-room/peer/peer-metadata-update.mdx index b062fce4b8..01a514b003 100644 --- a/docs/flutter/v2/how-to-guides/interact-with-room/peer/peer-metadata-update.mdx +++ b/docs/flutter/v2/how-to-guides/interact-with-room/peer/peer-metadata-update.mdx @@ -218,6 +218,4 @@ class Meeting implements HMSUpdateListener, HMSActionResultListener{ } ``` - - -There are many use cases which can be implemented using peer metadata. Have any questions regarding the use cases please reach out to us [here](https://100ms.live/discord) + \ No newline at end of file diff --git a/docs/flutter/v2/how-to-guides/set-up-video-conferencing/background-handling.mdx b/docs/flutter/v2/how-to-guides/set-up-video-conferencing/background-handling.mdx index 61f2f956fa..39b2014466 100644 --- a/docs/flutter/v2/how-to-guides/set-up-video-conferencing/background-handling.mdx +++ b/docs/flutter/v2/how-to-guides/set-up-video-conferencing/background-handling.mdx @@ -150,7 +150,7 @@ Add `flutter_foreground_task` as a dependency in your `pubspec.yaml` file. ``` dependencies: - flutter_foreground_task: "3.10.0" + flutter_foreground_task: ``` ### Adding Service in `AndroidManifest.xml` @@ -175,7 +175,8 @@ Add service inside `` tag as follows: // Set Service Type to capture Audio or Video as per your use-case. In most cases, only `microphone` access would be required. Then do not pass the `camera`. If stopWithTask set to true then it will stop the notification if app is force killed. + android:stopWithTask="true" + android:exported="false" /> ``` diff --git a/docs/flutter/v2/quickstart/flutterflow-quickstart.mdx b/docs/flutter/v2/quickstart/flutterflow-quickstart.mdx index 3ec6851a50..3d96286a4c 100644 --- a/docs/flutter/v2/quickstart/flutterflow-quickstart.mdx +++ b/docs/flutter/v2/quickstart/flutterflow-quickstart.mdx @@ -81,8 +81,6 @@ Flutterflow uses `go_router` whereas `hms_room_kit` uses `MaterialPageRoute` for That's it. You can now use the amazing Prebuilt UI with speed of Flutterflow in your application. -If you face any issues or have any questions, please reach out to us on [Discord](https://discord.gg/jD94Fp74Ea) - ## Next steps We have multiple example apps to get you started with 100ms Flutter SDK. diff --git a/docs/flutter/v2/quickstart/prebuilt.mdx b/docs/flutter/v2/quickstart/prebuilt.mdx index 0b0e009fbd..1b54f971e2 100644 --- a/docs/flutter/v2/quickstart/prebuilt.mdx +++ b/docs/flutter/v2/quickstart/prebuilt.mdx @@ -328,6 +328,3 @@ class HMSPrebuiltOptions { - iOSScreenshareConfig: `HMSIOSScreenshareConfig?` - If you want to enable screenshare in your iOS app, you need to pass the `iOSScreenshareConfig` parameter. To know more about how to set iOSScreenshareConfig check the docs [here](https://www.100ms.live/docs/flutter/v2/how-to-guides/set-up-video-conferencing/screen-share#ios-setup). - enableNoiseCancellation: `bool` - To enable noise cancellation in prebuilt. Default value is `true`. - -Have questions or need help? -Feel free to join us on [Discord](https://discord.gg/jD94Fp74Ea) \ No newline at end of file diff --git a/docs/ios/v2/how-to-guides/extend-capabilities/plugins/noise-cancellation.mdx b/docs/ios/v2/how-to-guides/extend-capabilities/plugins/noise-cancellation.mdx index 504abea731..559fb302d4 100644 --- a/docs/ios/v2/how-to-guides/extend-capabilities/plugins/noise-cancellation.mdx +++ b/docs/ios/v2/how-to-guides/extend-capabilities/plugins/noise-cancellation.mdx @@ -115,7 +115,7 @@ let isnoiseCancellationEnabled = noiseCancellationPlugin.isEnabled() ## How to check if noise cancellation is enabled in the room -To make noise cancellation work your room needs to have noise cancellation feature enabled. You can check if noise cancellation is enabled using isNoiseCancellationAvailable property on noiseCancellationPlugin. To enable noise canellation in your rooms, reach out to support@100ms.live or 100ms discord. +To make noise cancellation work your room needs to have noise cancellation feature enabled. You can check if noise cancellation is enabled using isNoiseCancellationAvailable property on noiseCancellationPlugin. To enable noise canellation in your rooms, reach out to support@100ms.live. ```swift let isNoiseCancellationAvailableInTheRoom = noiseCancellationPlugin.isNoiseCancellationAvailable diff --git a/docs/ios/v2/release-notes/release-notes.mdx b/docs/ios/v2/release-notes/release-notes.mdx index c0179a7930..496dc99dec 100644 --- a/docs/ios/v2/release-notes/release-notes.mdx +++ b/docs/ios/v2/release-notes/release-notes.mdx @@ -4,6 +4,17 @@ nav: 6.1 description: Release Notes for 100ms iOS SDK --- +## 1.16.6 - 2024-11-13 +### Fixed +- Incorrect packets lost value in RTC stats + + + +## 1.16.5 - 2024-10-15 +### Fixed +- No audio sent when changing role from non-publishing to publishing + + ## 1.16.4 - 2024-10-14 ### Added - Audio session errors reporting with error code 3015 diff --git a/docs/javascript/v2/how-to-guides/debugging/error-handling.mdx b/docs/javascript/v2/how-to-guides/debugging/error-handling.mdx index 30fb097712..28e927600b 100644 --- a/docs/javascript/v2/how-to-guides/debugging/error-handling.mdx +++ b/docs/javascript/v2/how-to-guides/debugging/error-handling.mdx @@ -50,6 +50,7 @@ Following are the different error codes that are returned by the SDK. Before ret | **3012** | Current tab is not shared when forceCurrentTab was set to true for screenshare | - | | **3013** | An error occurred while playing audio of remote audio tracks | - | | **3014** | Selected audio/video device not detected on change | Ask user to check if the audio/video capture device is connected or not. | +| **3015** | No data published by the audio/video track | Ask user to check if another app is already using the mic or camera and retry after terminating the app | | **4001** | Failed to create offer | Ask the user to retry joining | | **4002** | Failed to create answer | Ask the user to retry joining | | **4003** | Failed to set offer | Ask the user to retry joining | diff --git a/docs/javascript/v2/how-to-guides/debugging/faq.mdx b/docs/javascript/v2/how-to-guides/debugging/faq.mdx index 96c80c07a0..19b0d56519 100644 --- a/docs/javascript/v2/how-to-guides/debugging/faq.mdx +++ b/docs/javascript/v2/how-to-guides/debugging/faq.mdx @@ -102,7 +102,7 @@ should treat it similar to the track turning off for purpose of displaying avata #### Do you have UI components? -Not yet, but it's work in progress for react. Do let us know on discord if you want to sign up for beta and we'll hit you up soon. +Not yet, but it's work in progress for react. Do let us know on support@100ms.live if you want to sign up for beta and we'll hit you up soon. #### Can I use the SDK with NextJS, Angular, Svelte, VueJS etc.? @@ -111,7 +111,7 @@ guide is with vanilla JS and doesn't assume any framework. #### I want to suggest a new feature. -Awesome, we're always on the lookout for new ideas and feature. Please reach out to us over [discord](https://100ms.live/discord). +Awesome, we're always on the lookout for new ideas and feature. Please reach out to us at support@100ms.live. #### I'm facing an issue, how do I reach out? @@ -165,10 +165,6 @@ The maximum allowed duration for a session on the 100ms platform is 12 hours. You can get the HLS URL in several ways based on whether you use 100ms client SDKs or a custom integration for playback; please check the [HLS guide](../../foundation/live-streaming#live-stream-playback) for more information. -#### I get type errors related to WebRTC Stats, for example, 'Cannot find name RTCInboundRtpStreamStats'. - -The supported version of TypeScript for the SDK is `4.7.4`. You could update to any version above 4.4 or if you are on an old version of TypeScript and cannot do a major upgrade you can set `skipLibCheck: true` in your tsconfig file. - #### Why is my screenshare not working on mobile browsers? The screenshare API(getDisplayMedia) is not yet supported on mobile browsers. Refer [this](https://caniuse.com/?search=getDisplayMedia) for supported browsers. diff --git a/docs/javascript/v2/how-to-guides/debugging/overview.mdx b/docs/javascript/v2/how-to-guides/debugging/overview.mdx index 1d6cd6fb08..e20fa6dc21 100644 --- a/docs/javascript/v2/how-to-guides/debugging/overview.mdx +++ b/docs/javascript/v2/how-to-guides/debugging/overview.mdx @@ -50,8 +50,7 @@ Do check the detailed page for listening to and handling errors [here](/javascri ## Reaching Out -If nothing else works, feel free to create an issue [here](https://github.com/100mslive/100ms-web/issues) or reach out to us -on [discord](https://100ms.live/discord), there is a channel there for web-sdk-discussion. +If nothing else works, feel free to create an issue [here](https://github.com/100mslive/100ms-web/issues). If you're reporting a bug, we would appreciate as many details possible. We might further ask you for the following information to debug the issues better - ### Steps to reproduce diff --git a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-audio-plugins.mdx b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-audio-plugins.mdx index 8becce0438..e3334f19ef 100644 --- a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-audio-plugins.mdx +++ b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-audio-plugins.mdx @@ -5,7 +5,7 @@ nav: 1.49 This feature is still in Beta. To know more or report any issues, feel free to reach out to us - over Discord. + over support@100ms.live. Custom audio plugins allow you to hook into 100ms' video lifecycle and add your own audio processing diff --git a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-video-plugins.mdx b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-video-plugins.mdx index dc24cf0f10..f9eb35ab3b 100644 --- a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-video-plugins.mdx +++ b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/custom-video-plugins.mdx @@ -5,7 +5,7 @@ nav: 1.48 This feature is still in Beta. To know more or report any issues, feel free to reach out to us - over Discord. + over support@100ms.live. Custom video plugins allow you to hook into 100ms' video lifecycle and add your own video processing diff --git a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/effects-virtual-background.mdx b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/effects-virtual-background.mdx index c586450faf..cbe0a8bdf5 100644 --- a/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/effects-virtual-background.mdx +++ b/docs/javascript/v2/how-to-guides/extend-capabilities/plugins/effects-virtual-background.mdx @@ -4,14 +4,14 @@ nav: 1.45 --- - This feature is still in Beta. To know more or report any issues, feel free to reach out to us - over Discord. + To know more or report any issues, feel free to reach out to us over support@100ms.live. +Virtual background plugin helps in customising the peer's background. The customising options are blurring the background or replacing it with a static image. This guide provides an overview of usage of the virtual background plugin of 100ms. ## Pre-requisites -**Get the 100ms VirtualBackground Package** (Supported since version 1.11.28) +Get the 100ms VirtualBackground Package (Supported since version 1.11.28) ```bash section=GetHMSVirtualBackgroundPackage sectionIndex=1 npm install --save @100mslive/hms-virtual-background@latest diff --git a/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/hls-stats.mdx b/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/hls-stats.mdx index 44e1b02f1d..4506bd21c5 100644 --- a/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/hls-stats.mdx +++ b/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/hls-stats.mdx @@ -5,7 +5,7 @@ nav: 1.38 This feature is still in Beta. To know more or report any issues, feel free to reach out to us - over Discord. + over support@100ms.live. `@100ms-live/hls-stats` is a simple library that provides easy to use APIs for acquiring stats diff --git a/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/stats.mdx b/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/stats.mdx index d9308210e8..2fc2f5977a 100644 --- a/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/stats.mdx +++ b/docs/javascript/v2/how-to-guides/measure-network-quality-and-performance/stats.mdx @@ -5,7 +5,7 @@ nav: 1.37 This feature is still in Beta. To know more or report any issues, feel free to reach out to us - over Discord. + over support@100ms.live. Sometimes you need a way to capture certain metrics related to a call. This may be helpful if you want to tailor the experience to your users or debug issues. Typical metrics of interest are audio/video bitrate, round trip time, total consumed bandwidth and packet loss. `getStats` has got your back. diff --git a/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-player.mdx b/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-player.mdx index 786f3192f1..2e498f1080 100644 --- a/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-player.mdx +++ b/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-player.mdx @@ -1,5 +1,5 @@ --- -title: HLS Player (Beta) +title: HLS Player nav: 1.32 --- @@ -314,7 +314,7 @@ hlsPlayer.on(HMSHLSPlayerEvents.PLAYBACK_STATE, playbackEventHandler); ## HLS Player example -Below is a simple example in which hls-player will be used in you app. +Below is a simple example in which hls-player will be used in your app. {' '} diff --git a/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-timed-metadata.mdx b/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-timed-metadata.mdx index 314ec6cc54..4249cbfa7f 100644 --- a/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-timed-metadata.mdx +++ b/docs/javascript/v2/how-to-guides/record-and-live-stream/hls/hls-timed-metadata.mdx @@ -40,7 +40,7 @@ start_date and end_date will be in UTC timezone. ### App side implementation -> Note: We're working on making this simpler - if you'd like to try out the feature in beta, please reach out to us on Discord or at hello@100ms.live +> Note: We're working on making this simpler - if you'd like to try out the feature in beta, please reach out to us at hello@100ms.live Below is an app side sample integration using hls.js. diff --git a/docs/javascript/v2/quickstart/mental-model.mdx b/docs/javascript/v2/quickstart/mental-model.mdx index dd05907ddf..a66f61c76a 100644 --- a/docs/javascript/v2/quickstart/mental-model.mdx +++ b/docs/javascript/v2/quickstart/mental-model.mdx @@ -185,4 +185,4 @@ As we see, using this decoupled state-driven approach, we can write concise and ## What Next? -Equipped with the above mental model, you’ll find it quite easy to navigate through our docs. Whether you’re skimming to get a sense of what is possible or trying to implement something in your own code, it all comes down to ***actions*** and ***states***. The best place to start would be with one of the Quickstarts linked in the sidebar. We also welcome you to join our [Discord](https://100ms.live/discord) - feel free to reach out to us there with any questions or feedback. +Equipped with the above mental model, you’ll find it quite easy to navigate through our docs. Whether you’re skimming to get a sense of what is possible or trying to implement something in your own code, it all comes down to ***actions*** and ***states***. The best place to start would be with one of the Quickstarts linked in the sidebar. diff --git a/docs/javascript/v2/quickstart/prebuilt-quickstart.mdx b/docs/javascript/v2/quickstart/prebuilt-quickstart.mdx index a4d9d7836c..81a9995b4d 100644 --- a/docs/javascript/v2/quickstart/prebuilt-quickstart.mdx +++ b/docs/javascript/v2/quickstart/prebuilt-quickstart.mdx @@ -8,7 +8,7 @@ nav: 1.01 This guide will walk you through the steps to create a video conferencing app using the Prebuilt component of the Roomkit package. Prebuilt is currently available for React applications, so basic familiarity with [React](https://reactjs.org/) is required to follow this guide. -> If you get stuck at any point or need help in understanding a concept, you can put your query in our [Discord Channel](https://100ms.live/discord). +> If you get stuck at any point or need help in understanding a concept, you can put your query in at support@100ms.live. ## Prerequisites diff --git a/docs/javascript/v2/quickstart/react-quickstart.mdx b/docs/javascript/v2/quickstart/react-quickstart.mdx index e4f6c5bd2d..1b1a0c1857 100644 --- a/docs/javascript/v2/quickstart/react-quickstart.mdx +++ b/docs/javascript/v2/quickstart/react-quickstart.mdx @@ -12,7 +12,7 @@ TL;DR - Try out this complete example in [CodeSandbox](https://codesandbox.io/s/ -> If you get stuck at any point or need help in understanding a concept, you can put your query in our [Discord Channel](https://100ms.live/discord). +> If you get stuck at any point or need help in understanding a concept, you can put your query in at support@100ms.live. ### Prerequisites diff --git a/docs/javascript/v2/release-notes/release-notes.mdx b/docs/javascript/v2/release-notes/release-notes.mdx index 7a6eec808e..319ea3acea 100644 --- a/docs/javascript/v2/release-notes/release-notes.mdx +++ b/docs/javascript/v2/release-notes/release-notes.mdx @@ -16,6 +16,36 @@ description: Release Notes for 100ms JavaScript SDK | @100mslive/hms-virtual-background | [![npm version](https://badge.fury.io/js/%40100mslive%2Fhms-virtual-background.svg)](https://badge.fury.io/js/%40100mslive%2Fhms-virtual-background) | +## 2024-11-11 + +Released: `@100mslive/hms-video-store@0.12.24`, `@100mslive/react-sdk@0.10.24`, `@100mslive/hls-player@0.3.24`, `@100mslive/roomkit-react@0.3.24`, `@100mslive/hms-whiteboard@0.0.14`, `@100mslive/hms-virtual-background@1.13.24` + +### Breaking +- Aspect ratio should be passed as string inside css for roomkit-react components + +### Added + +- Added a new field - `track_type` - in `HMSException` when there is a Track exception +- In Roomkit Prebuilt, now on Mobile Browsers, Stats for Nerds is available to be viewed. + +### Fixed + +- Newer Typescript versions are now supported +- Tiles going out of view in recording for 480p resolution when there are more than 3 peers +- Roomkit Prebuilt: Previous session's device selection not being preserved when Skip Preview was enabled +- Roomkit Prebuilt: Peer stuck on loading screen after staying in preview for 15 mins instead of being redirected to the leave page + + +## 2024-10-15 +Released: `@100mslive/hms-video-store@0.12.23`, `@100mslive/react-sdk@0.10.23`, `@100mslive/hls-player@0.3.23`, `@100mslive/roomkit-react@0.3.23`, `@100mslive/hms-whiteboard@0.0.13`, `@100mslive/hms-virtual-background@1.13.23` + +### Fixed: +- Handling of audio and video afer incoming call interruption - everything should recover after the call ends +- Crash on role change from publishing role to non-publishing role and back + +### Added: +- Roomkit Prebuilt: Show a modal for `Device in Use` error with possible suggestions + ## 2024-09-30 Released: `@100mslive/hms-video-store@0.12.21`, `@100mslive/react-sdk@0.10.21`, `@100mslive/hls-player@0.3.21`, `@100mslive/roomkit-react@0.3.21`, `@100mslive/hms-whiteboard@0.0.11`, `@100mslive/hms-virtual-background@1.13.21` diff --git a/docs/prebuilt/v2/prebuilt/quickstart.mdx b/docs/prebuilt/v2/prebuilt/quickstart.mdx index 98d5ba796f..600c9fe1e8 100644 --- a/docs/prebuilt/v2/prebuilt/quickstart.mdx +++ b/docs/prebuilt/v2/prebuilt/quickstart.mdx @@ -121,8 +121,7 @@ Refer the sample code snippet to embed the Prebuilt link as an iframe. Native - This is the highest-level UI component of a room, covering all screens and functionality - This component is shipped through `RoomKit` packages - The `RoomKit` package will contain more (lower-level) UI components - If you need a specific UI component, share - your feedback on [our Prebuilt Discord - channel](https://discord.com/channels/843749923060711464/1145960444230647808) + your feedback on our email support@100ms.live diff --git a/docs/prebuilt/v2/prebuilt/virtual-background.mdx b/docs/prebuilt/v2/prebuilt/virtual-background.mdx index 68596d7b43..8e4793fcef 100644 --- a/docs/prebuilt/v2/prebuilt/virtual-background.mdx +++ b/docs/prebuilt/v2/prebuilt/virtual-background.mdx @@ -24,7 +24,7 @@ Adding a virtual background to your calls can help present a clean and organized -Virtual backgrounds are currently supported only on the Prebuilt web links and component. Reach out on [Prebuilt Discord channel](https://discord.com/channels/843749923060711464/1145960444230647808) to explore adding support for Android, iOS, React Native, and Flutter. +Virtual backgrounds are currently supported only on the Prebuilt web links and component. Reach out on support@100ms.live to explore adding support for Android, iOS, React Native, and Flutter. diff --git a/docs/react-native/v2/how-to-guides/extend-capabilities/noise-cancellation.mdx b/docs/react-native/v2/how-to-guides/extend-capabilities/noise-cancellation.mdx index d348acdbe1..6ff74c29b9 100644 --- a/docs/react-native/v2/how-to-guides/extend-capabilities/noise-cancellation.mdx +++ b/docs/react-native/v2/how-to-guides/extend-capabilities/noise-cancellation.mdx @@ -117,7 +117,7 @@ hmsInstance.join(hmsConfig) ## Check if Noise Cancellation is Supported in the Room -By default, Noise Cancellation is not enabled in a Room. To enable Noise Cancellation in your rooms, reach out to **support@100ms.live** or connect with us on [100ms Discord](https://discord.com/invite/kGdmszyzq2). +By default, Noise Cancellation is not enabled in a Room. To enable Noise Cancellation in your rooms, reach out to **support@100ms.live**. ```js const isAvailable = await noiseCancellationPlugin?.isNoiseCancellationAvailable(); diff --git a/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-metadata.mdx b/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-metadata.mdx index 9f6e953620..4269daa8c9 100644 --- a/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-metadata.mdx +++ b/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-metadata.mdx @@ -136,4 +136,4 @@ hmsInstance.addEventListener(HMSUpdateListenerActions.ON_PEER_UPDATE, onPeerList We can use peers' `metadata` property to implement polls similar to what we did in above implementation. -There are many more use cases which can be implemented using peer metadata. Have any questions regarding the use cases please reach out to us [here](https://100ms.live/discord) +There are many more use cases which can be implemented using peer metadata. Have any questions regarding the use cases please reach out to us support@100ms.live diff --git a/docs/react-native/v2/quickstart/expo-quickstart.mdx b/docs/react-native/v2/quickstart/expo-quickstart.mdx index 075e8a8575..7e5c0b7409 100644 --- a/docs/react-native/v2/quickstart/expo-quickstart.mdx +++ b/docs/react-native/v2/quickstart/expo-quickstart.mdx @@ -1220,7 +1220,7 @@ export const updateNode = (data) => { //#endregion Utility ``` -We encourage you to explore the relevant documentation and guides for further details. If you have any questions or need assistance, feel free to ask in the 100ms [![Discord](https://img.shields.io/discord/843749923060711464?label=Join%20on%20Discord)](https://100ms.live/discord) community! +We encourage you to explore the relevant documentation and guides for further details. If you have any questions or need assistance, feel free to ask in the support email support@100ms.live ### Test run your app diff --git a/docs/react-native/v2/release-notes/release-notes.mdx b/docs/react-native/v2/release-notes/release-notes.mdx index 9712edb241..5585d527b2 100644 --- a/docs/react-native/v2/release-notes/release-notes.mdx +++ b/docs/react-native/v2/release-notes/release-notes.mdx @@ -12,6 +12,28 @@ nav: 4.1 | @100mslive/react-native-video-plugin | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-video-plugin)](https://www.npmjs.com/package/@100mslive/react-native-video-plugin) | +## 1.11.0 - 2024-10-29 + +| Package | Version | +| -------------------------------- | ------- | +| @100mslive/react-native-room-kit | 1.2.3 | +| @100mslive/react-native-hms | 1.11.0 | + +### react-native-hms + +- Added namespace in Android to support compile target 34 and above + +- Resolved an issue in PIP on Android where screen could be stuck when switching to PIP mode fails + +### react-native-room-kit + +- Disabled capturing of network quality in Preview screen by default + +Uses Android SDK 2.9.69 & iOS SDK 1.16.5 + +**Full Changelog**: [1.10.9...1.11.0](https://github.com/100mslive/react-native-hms/compare/1.10.9...1.11.0) + + ## 1.10.9 - 2024-07-31 | Package | Version | diff --git a/docs/server-side/v2/how-to-guides/configure-webhooks/secure-webhooks.mdx b/docs/server-side/v2/how-to-guides/configure-webhooks/secure-webhooks.mdx index aa18d1881e..20296d3446 100644 --- a/docs/server-side/v2/how-to-guides/configure-webhooks/secure-webhooks.mdx +++ b/docs/server-side/v2/how-to-guides/configure-webhooks/secure-webhooks.mdx @@ -55,4 +55,16 @@ For additional security or if your firewall infrastructure can block incoming re 34.148.5.193/32 34.75.28.106/32 104.196.151.140/32 +35.233.197.245 +34.83.45.214 +34.168.197.180 +34.82.114.112 +34.127.94.235 +34.169.0.6 +34.174.153.122 +34.19.120.133 +34.174.24.176 +35.211.150.95 +35.211.73.217 +35.211.191.127 ``` diff --git a/docs/server-side/v2/how-to-guides/create-large-rooms.mdx b/docs/server-side/v2/how-to-guides/create-large-rooms.mdx index 51b2c3262d..24f99e60f8 100644 --- a/docs/server-side/v2/how-to-guides/create-large-rooms.mdx +++ b/docs/server-side/v2/how-to-guides/create-large-rooms.mdx @@ -94,8 +94,9 @@ When using the above API, following points need to be noted: > **Note** > -> - Large rooms support only 200 publishing peers. Publishing peers are defined as peers with audio and video publishing permissions. -> - Large rooms support a maximum of 200 hand-raises at a single point of time. +> - Large rooms support **only 200 publishing peers.** +> Publishing peers are defined as peers with audio and video publishing permissions. +> - Large rooms also support a maximum of **200 hand-raises** at a single point in time. ## Client-side implementation diff --git a/lib/algolia/getRecords.js b/lib/algolia/getRecords.js index d519a1fc7d..ef6d9b9845 100644 --- a/lib/algolia/getRecords.js +++ b/lib/algolia/getRecords.js @@ -25,939 +25,1161 @@ async function updateIndex() { // Paste JSON from G Sheet inside this array const faqs = [ { - "platform": "Common", - "questions": "What is the inspiration behind the name, 100ms?", - "answers": "We got the name 100ms inspired by the \"100ms latency rule\" concept from Gmail creator Paul Buchheit, who said that 100ms is the threshold \"where interactions feel instantaneous\". Why?" + platform: 'Common', + questions: 'What is the inspiration behind the name, 100ms?', + answers: + 'We got the name 100ms inspired by the "100ms latency rule" concept from Gmail creator Paul Buchheit, who said that 100ms is the threshold "where interactions feel instantaneous". Why?' }, { - "platform": "Common", - "questions": "Are your services supported in all countries?", - "answers": "Yes, our services are supported in all countries." + platform: 'Common', + questions: 'Are your services supported in all countries?', + answers: 'Yes, our services are supported in all countries.' }, { - "platform": "Common", - "questions": "Is 100ms fully optimized for mobile devices?", - "answers": "Our mobile SDKs are optimized to support most of the features and capabilities that are supported in our Web SDK. The rest of the features for Mobile SDKs are in the works. For example, Virtual background feature is available as a beta feature on Web, Android and iOS native platforms but not in React Native and Flutter." + platform: 'Common', + questions: 'Is 100ms fully optimized for mobile devices?', + answers: + 'Our mobile SDKs are optimized to support most of the features and capabilities that are supported in our Web SDK. The rest of the features for Mobile SDKs are in the works. For example, Virtual background feature is available as a beta feature on Web, Android and iOS native platforms but not in React Native and Flutter.' }, { - "platform": "Common", - "questions": "Can I delete apps from dashboard?", - "answers": "Yes, you can delete an App from your dashboard by hovering over the app and clicking on the trash icon." + platform: 'Common', + questions: 'Can I delete apps from dashboard?', + answers: + 'Yes, you can delete an App from your dashboard by hovering over the app and clicking on the trash icon.' }, { - "platform": "Common", - "questions": "Can I delete rooms via dashboard or API?", - "answers": "No, you cannot delete a room. The “delete room” functionality automatically erases all data associated with the room, so we don’t support it. We don't support the \"delete room\" functionality as it would lead to losing all data associated with the room. However, we support the following options based on why you’d want to delete rooms:\n\nCreating new rooms for every session: You can create as many rooms as you want, there is no limit on room creation\nDisable room: If you don't want additional requests to join a room, you can disable a room from the dashboard or via server API.\nDev & Prod Env: If you want to delete rooms from your account as you transition from Development to the Production stage, we recommend using \"Workspaces.\" It enables you to create two or more workspaces per your need and isolate the data for each workspace. Please check this blog for more information." + platform: 'Common', + questions: 'Can I delete rooms via dashboard or API?', + answers: + 'No, you cannot delete a room. The “delete room” functionality automatically erases all data associated with the room, so we don’t support it. We don\'t support the "delete room" functionality as it would lead to losing all data associated with the room. However, we support the following options based on why you’d want to delete rooms:\n\nCreating new rooms for every session: You can create as many rooms as you want, there is no limit on room creation\nDisable room: If you don\'t want additional requests to join a room, you can disable a room from the dashboard or via server API.\nDev & Prod Env: If you want to delete rooms from your account as you transition from Development to the Production stage, we recommend using "Workspaces." It enables you to create two or more workspaces per your need and isolate the data for each workspace. Please check this blog for more information.' }, { - "platform": "Common", - "questions": "I want to integrate video on to my website with 100ms - where do I start?", - "answers": "You can get started with our video conferencing example to see a live demo. You can also clone the 100ms-web sample app to see how you can extend and customize as per your needs.\n\nMeanwhile, check our docs to explore information about various features and capabilities supported on the platform." + platform: 'Common', + questions: + 'I want to integrate video on to my website with 100ms - where do I start?', + answers: + 'You can get started with our video conferencing example to see a live demo. You can also clone the 100ms-web sample app to see how you can extend and customize as per your needs.\n\nMeanwhile, check our docs to explore information about various features and capabilities supported on the platform.' }, { - "platform": "Common", - "questions": "Do you have a live demo app to check how live video/audio functionality works on your platform?", - "answers": "Yes, you can get started with one of our examples from here. You can also sign up for a 100ms account to access the dashboard." + platform: 'Common', + questions: + 'Do you have a live demo app to check how live video/audio functionality works on your platform?', + answers: + 'Yes, you can get started with one of our examples from here. You can also sign up for a 100ms account to access the dashboard.' }, { - "platform": "Common", - "questions": "I want to integrate live streaming into our app with 100ms - where do I start?", - "answers": "You can start with our documentation. We also recommend checking out our GitHub for open source sample SDKs that can aid in initial integration; here is a piece on our live streaming capabilities." + platform: 'Common', + questions: + 'I want to integrate live streaming into our app with 100ms - where do I start?', + answers: + 'You can start with our documentation. We also recommend checking out our GitHub for open source sample SDKs that can aid in initial integration; here is a piece on our live streaming capabilities.' }, { - "platform": "Common", - "questions": "I’d like to make some changes on how the video player looks. Do you have any resources I can pass to my design team so they can get started with the parts that are easy to configure?", - "answers": "100ms SDK is not coupled with the UI, which means you are free to change whatever you want. You can even use a completely custom built player from scratch. Please check out this super Figma UI Kit the 100ms design team put together." + platform: 'Common', + questions: + 'I’d like to make some changes on how the video player looks. Do you have any resources I can pass to my design team so they can get started with the parts that are easy to configure?', + answers: + '100ms SDK is not coupled with the UI, which means you are free to change whatever you want. You can even use a completely custom built player from scratch. Please check out this super Figma UI Kit the 100ms design team put together.' }, { - "platform": "Common", - "questions": "Is it possible to capture some images shown by customers during a call and store it in a database? It could be useful for applications like KYC.", - "answers": "No, but the raw video can be accessed and image recognition can be performed on the part where the user shows their ID." + platform: 'Common', + questions: + 'Is it possible to capture some images shown by customers during a call and store it in a database? It could be useful for applications like KYC.', + answers: + 'No, but the raw video can be accessed and image recognition can be performed on the part where the user shows their ID.' }, { - "platform": "Common", - "questions": "Are the apps created through the Starter Kits on the same infra as the live applications in production, or do you use a test infra?", - "answers": "It is powered by the same infra. Same as everything in production that we serve to our clients." + platform: 'Common', + questions: + 'Are the apps created through the Starter Kits on the same infra as the live applications in production, or do you use a test infra?', + answers: + 'It is powered by the same infra. Same as everything in production that we serve to our clients.' }, { - "platform": "Common", - "questions": "Can a teacher handle a remote user’s (student) screen (start and stop) like remotely mute/unmute of A/V ?", - "answers": "No, a teacher can only mute/unmute a student using the mute/unmute remote peer feature." + platform: 'Common', + questions: + 'Can a teacher handle a remote user’s (student) screen (start and stop) like remotely mute/unmute of A/V ?', + answers: + 'No, a teacher can only mute/unmute a student using the mute/unmute remote peer feature.' }, { - "platform": "Common", - "questions": "Is there a way I can specify my own room_id while creating a room?", - "answers": "No the room_id gets generated from our end." + platform: 'Common', + questions: 'Is there a way I can specify my own room_id while creating a room?', + answers: 'No the room_id gets generated from our end.' }, { - "platform": "Common", - "questions": "Is there a way to get data on how many users are online?", - "answers": "It is possible to get the online user for a specific room based on active room API." + platform: 'Common', + questions: 'Is there a way to get data on how many users are online?', + answers: + 'It is possible to get the online user for a specific room based on active room API.' }, { - "platform": "Common", - "questions": "How does pagination between tiles affect the download numbers?", - "answers": "Video will be downloaded only for the visible tiles, whereas only audio will be downloaded for tiles that aren’t visible. For the tiles that are not visible only audio will be downloaded." + platform: 'Common', + questions: 'How does pagination between tiles affect the download numbers?', + answers: + 'Video will be downloaded only for the visible tiles, whereas only audio will be downloaded for tiles that aren’t visible. For the tiles that are not visible only audio will be downloaded.' }, { - "platform": "Common", - "questions": "Are there any limitations on trial accounts?", - "answers": "There are no feature-level limitations while using a 100ms account. However, an invoice is generated when:\n\nYour usage exhausts the free credits for\nvideo conferencing (10,000 minutes) or\nHLS (live streaming) viewer minutes (10,000 minutes) or\nHLS encoding minutes (1,000 minutes)\nOr if you use the recording feature\nOr if you use external streaming (RTMP) feature\nOr if use HD quality for video conferencing (WebRTC), or live streaming viewers (HLS viewer).\nPlease check our pricing page or contact us for more information.\n\n" + platform: 'Common', + questions: 'Are there any limitations on trial accounts?', + answers: + 'There are no feature-level limitations while using a 100ms account. However, an invoice is generated when:\n\nYour usage exhausts the free credits for\nvideo conferencing (10,000 minutes) or\nHLS (live streaming) viewer minutes (10,000 minutes) or\nHLS encoding minutes (1,000 minutes)\nOr if you use the recording feature\nOr if you use external streaming (RTMP) feature\nOr if use HD quality for video conferencing (WebRTC), or live streaming viewers (HLS viewer).\nPlease check our pricing page or contact us for more information.\n\n' }, { - "platform": "Common", - "questions": "Is there a way to maintain separate access credentials and templates for development and production environments?", - "answers": "You can create two or more workspaces to maintain access credentials and templates for development environment and production separately. You can add multiple members to the same 100ms account/workspace. Know more about it here." + platform: 'Common', + questions: + 'Is there a way to maintain separate access credentials and templates for development and production environments?', + answers: + 'You can create two or more workspaces to maintain access credentials and templates for development environment and production separately. You can add multiple members to the same 100ms account/workspace. Know more about it here.' }, { - "platform": "Common", - "questions": "Is there any sandbox mode available for development environments?", - "answers": "Yes, this is possible with Teams & workspaces on 100ms dashboard - create multiple workspaces and members to manage each workspace based on your requirements. For example, you can create workspaces for development and production so that experimentation during development does not affect production. For more information, please check this blog and also check your 100ms dashboard to see how this works." + platform: 'Common', + questions: 'Is there any sandbox mode available for development environments?', + answers: + 'Yes, this is possible with Teams & workspaces on 100ms dashboard - create multiple workspaces and members to manage each workspace based on your requirements. For example, you can create workspaces for development and production so that experimentation during development does not affect production. For more information, please check this blog and also check your 100ms dashboard to see how this works.' }, { - "platform": "Common", - "questions": "Is there a way to add a second user to our account? Can we share login credentials?", - "answers": "Yes, you can add members to a 100ms workspace from dashboard. The “Members tab” in Workspace Settings page will enable you to invite members by adding their email address, they will receive an invitation to join the workspace on their inbox." + platform: 'Common', + questions: + 'Is there a way to add a second user to our account? Can we share login credentials?', + answers: + 'Yes, you can add members to a 100ms workspace from dashboard. The “Members tab” in Workspace Settings page will enable you to invite members by adding their email address, they will receive an invitation to join the workspace on their inbox.' }, { - "platform": "Common", - "questions": "I want to separate prod and non prod accounts - can I create sub-accounts within existing accounts?", - "answers": "You can create multiple workspaces on the 100ms dashboard to manage this. Use the “Create workspace” option from the workspaces dropdown on the top of the sidebar on Dashboard to create workspaces for different environments.\n\nPlease check this blog for more information." + platform: 'Common', + questions: + 'I want to separate prod and non prod accounts - can I create sub-accounts within existing accounts?', + answers: + 'You can create multiple workspaces on the 100ms dashboard to manage this. Use the “Create workspace” option from the workspaces dropdown on the top of the sidebar on Dashboard to create workspaces for different environments.\n\nPlease check this blog for more information.' }, { - "platform": "Common", - "questions": "Could you specify multiple webhook URLs for different environments under the same account?", - "answers": "You can create multiple workspaces and configure different webhooks for each of these environments. For more information, please check this blog and also check your 100ms dashboard to see how this works." + platform: 'Common', + questions: + 'Could you specify multiple webhook URLs for different environments under the same account?', + answers: + 'You can create multiple workspaces and configure different webhooks for each of these environments. For more information, please check this blog and also check your 100ms dashboard to see how this works.' }, { - "platform": "Common", - "questions": "Can I register for another 100ms account with the same email address?", - "answers": "No, you cannot use the same email address to create another account. However, if you need to create multiple accounts to keep data related to development/testing and production separately, you can do so with Workspaces - create multiple Workspaces with multiple email IDs within your 100ms account, so you can maintain different environments.\n\nThis will enable you to maintain different workspaces for different environments. For example, one workspace for development and one for production. For more information, please check this blog and also check your 100ms dashboard to see how this works." + platform: 'Common', + questions: 'Can I register for another 100ms account with the same email address?', + answers: + 'No, you cannot use the same email address to create another account. However, if you need to create multiple accounts to keep data related to development/testing and production separately, you can do so with Workspaces - create multiple Workspaces with multiple email IDs within your 100ms account, so you can maintain different environments.\n\nThis will enable you to maintain different workspaces for different environments. For example, one workspace for development and one for production. For more information, please check this blog and also check your 100ms dashboard to see how this works.' }, { - "platform": "Common", - "questions": "I’d like to know some specific details regarding pricing, and an estimated cost based on our usage. Who can help me?", - "answers": "You can use our pricing calculator for an estimate of the cost. You can also book a meeting with us directly for an in-depth discussion." + platform: 'Common', + questions: + 'I’d like to know some specific details regarding pricing, and an estimated cost based on our usage. Who can help me?', + answers: + 'You can use our pricing calculator for an estimate of the cost. You can also book a meeting with us directly for an in-depth discussion.' }, { - "platform": "Common", - "questions": "Is this pricing for standard definition or high definition?", - "answers": "No, the pricing is different for standard and high definition. Our product experts can help you with more details - go ahead and book a meeting with them, they will get in touch." + platform: 'Common', + questions: 'Is this pricing for standard definition or high definition?', + answers: + 'No, the pricing is different for standard and high definition. Our product experts can help you with more details - go ahead and book a meeting with them, they will get in touch.' }, { - "platform": "Common", - "questions": "Does billing on minutes count when the room has only the local peer in it?", - "answers": "Yes, if any peer joins and is publishing video or audio, it will be billed." + platform: 'Common', + questions: + 'Does billing on minutes count when the room has only the local peer in it?', + answers: + 'Yes, if any peer joins and is publishing video or audio, it will be billed.' }, { - "platform": "Common", - "questions": "What is the difference between auth token and management token?", - "answers": "Auth token : Used to authenticate and allow end-users (peers) to join 100ms rooms. An App Token controls Peer identity and Room permissions in your real-time or Interactive live-streaming video application.\nManagement token : Used to authenticate all the requests to 100ms REST API (server-side)." + platform: 'Common', + questions: 'What is the difference between auth token and management token?', + answers: + 'Auth token : Used to authenticate and allow end-users (peers) to join 100ms rooms. An App Token controls Peer identity and Room permissions in your real-time or Interactive live-streaming video application.\nManagement token : Used to authenticate all the requests to 100ms REST API (server-side).' }, { - "platform": "Common", - "questions": "Is there an easy method to create an auth token?", - "answers": "Yes, you can get Auth tokens using a couple of approaches based on your app's lifecycle stage. Please check this guide for more information" + platform: 'Common', + questions: 'Is there an easy method to create an auth token?', + answers: + "Yes, you can get Auth tokens using a couple of approaches based on your app's lifecycle stage. Please check this guide for more information" }, { - "platform": "Common", - "questions": "Is there a easy method to create an management token?", - "answers": "Yes, if you're exploring 100ms server APIs, our Postman collection contains a pre-request script which can generate the management token if you just update the App access key and App secret from the developers page on your 100ms dashboard. Please check the Postman guide for more information." + platform: 'Common', + questions: 'Is there a easy method to create an management token?', + answers: + "Yes, if you're exploring 100ms server APIs, our Postman collection contains a pre-request script which can generate the management token if you just update the App access key and App secret from the developers page on your 100ms dashboard. Please check the Postman guide for more information." }, { - "platform": "Common", - "questions": "What is the validity of management and client token?", - "answers": "If you use the code sample from authentication and tokens guide the validity of the token will be set as 24 hours. However, you can increase this to a maximum of 90 days by updating the value for expiresIn field." + platform: 'Common', + questions: 'What is the validity of management and client token?', + answers: + 'If you use the code sample from authentication and tokens guide the validity of the token will be set as 24 hours. However, you can increase this to a maximum of 90 days by updating the value for expiresIn field.' }, { - "platform": "Common", - "questions": "Why is the “role” variable needed when generating the auth token?", - "answers": "The role argument should be assigned with the name of the role created in the template. A role defines the following:\n\nWho a peer a see/hear\nThe quality at which they publish their video\nWhether or not they have permissions to publish video and/or share screen, mute someone, change someone’s role\nPlease check templates and roles guide for more information." + platform: 'Common', + questions: 'Why is the “role” variable needed when generating the auth token?', + answers: + 'The role argument should be assigned with the name of the role created in the template. A role defines the following:\n\nWho a peer a see/hear\nThe quality at which they publish their video\nWhether or not they have permissions to publish video and/or share screen, mute someone, change someone’s role\nPlease check templates and roles guide for more information.' }, { - "platform": "Common", - "questions": "Can we generate two application access tokens, one for QA and one for production, so that messages from QA don't flood the production environment?", - "answers": "Yes, this is possible with Teams & workspaces on the100ms dashboard - create multiple workspaces and use the App access key and App secret from each of these workspaces to create different auth tokens or management tokens based on your requirements. For more information, please check this blog and also check your 100ms dashboard to see how this works." + platform: 'Common', + questions: + "Can we generate two application access tokens, one for QA and one for production, so that messages from QA don't flood the production environment?", + answers: + 'Yes, this is possible with Teams & workspaces on the100ms dashboard - create multiple workspaces and use the App access key and App secret from each of these workspaces to create different auth tokens or management tokens based on your requirements. For more information, please check this blog and also check your 100ms dashboard to see how this works.' }, { - "platform": "Common", - "questions": "I’d like to use the endpoint of my backend service instead of the 100ms token endpoint for auth token generation in the React sample app. How do I do that?", - "answers": "You can set up a token generation service on your end to create auth tokens and block users that are trying to join without a token that's generated from your service. Please check authentication and tokens guide for more information.\n\nYou can update the code to point to your own token service (relevant code in the sample - see getToken(...)), your token endpoint can follow a similar interface: for a given room_id and role name, return the auth token JWT.\n\nYou can continue using the existing routes (room_id/role) or set up your own routes in the cloned/forked code." + platform: 'Common', + questions: + 'I’d like to use the endpoint of my backend service instead of the 100ms token endpoint for auth token generation in the React sample app. How do I do that?', + answers: + "You can set up a token generation service on your end to create auth tokens and block users that are trying to join without a token that's generated from your service. Please check authentication and tokens guide for more information.\n\nYou can update the code to point to your own token service (relevant code in the sample - see getToken(...)), your token endpoint can follow a similar interface: for a given room_id and role name, return the auth token JWT.\n\nYou can continue using the existing routes (room_id/role) or set up your own routes in the cloned/forked code." }, { - "platform": "Common", - "questions": "After a live stream ends, how long does it take (for both Beam recording and SFU) to show up in our s3 bucket?", - "answers": "Beam recording should be available within 15-20 minutes after the call ends. SFU recording will take ~1.5 times the call duration, after the call ends. For example, if the call duration is 30 minutes, then SFU recording will be available in 45 minutes." + platform: 'Common', + questions: + 'After a live stream ends, how long does it take (for both Beam recording and SFU) to show up in our s3 bucket?', + answers: + 'Beam recording should be available within 15-20 minutes after the call ends. SFU recording will take ~1.5 times the call duration, after the call ends. For example, if the call duration is 30 minutes, then SFU recording will be available in 45 minutes.' }, { - "platform": "Common", - "questions": "Is there a way for Beam to record what is happening in the chat without the chat being open and covering any tiles?", - "answers": "No, chat cannot be recorded without it being open. Beam recorder is a headless browser so it will record whatever is open in your page." + platform: 'Common', + questions: + 'Is there a way for Beam to record what is happening in the chat without the chat being open and covering any tiles?', + answers: + 'No, chat cannot be recorded without it being open. Beam recorder is a headless browser so it will record whatever is open in your page.' }, { - "platform": "Common", - "questions": "Can Beam only capture incoming audio/video streams from the video calling tab or it can also capture screenshare content from dynamic pages and stream/record it?", - "answers": "Beam can capture both streams from video tabs and screenshare content from dynamic pages." + platform: 'Common', + questions: + 'Can Beam only capture incoming audio/video streams from the video calling tab or it can also capture screenshare content from dynamic pages and stream/record it?', + answers: + 'Beam can capture both streams from video tabs and screenshare content from dynamic pages.' }, { - "platform": "Common", - "questions": "Can we split room recordings from our end?", - "answers": "If you need to get an individual recording file for each peer in a session, you can use Individual SFU recording.\n\nIf you must split recordings based on different duration of the session, you can use the Start a recording API in conjunction with Stop a recording API based on the time intervals as you wish and achieve this." + platform: 'Common', + questions: 'Can we split room recordings from our end?', + answers: + 'If you need to get an individual recording file for each peer in a session, you can use Individual SFU recording.\n\nIf you must split recordings based on different duration of the session, you can use the Start a recording API in conjunction with Stop a recording API based on the time intervals as you wish and achieve this.' }, { - "platform": "Common", - "questions": "How can we retrieve the recording from a room?", - "answers": "There are two ways to retrieve recordings for a room:\n\nUsing your S3 bucket - You can configure your S3 bucket at a template level to get all recordings for all the rooms associated with that template. Check this guide for more information.\nUsing webhooks - You can configure your server endpoint as webhook in the developers section on your dashboard to receive all events (including recording related events) to fetch the recording information. You can check our webhooks guide for more information." + platform: 'Common', + questions: 'How can we retrieve the recording from a room?', + answers: + 'There are two ways to retrieve recordings for a room:\n\nUsing your S3 bucket - You can configure your S3 bucket at a template level to get all recordings for all the rooms associated with that template. Check this guide for more information.\nUsing webhooks - You can configure your server endpoint as webhook in the developers section on your dashboard to receive all events (including recording related events) to fetch the recording information. You can check our webhooks guide for more information.' }, { - "platform": "Common", - "questions": "Is it possible to automatically stop the recording after a certain duration or at a specific timestamp?", - "answers": "Yes - you can do this by scheduling the stop a recording API with the help of a timer so that when the scheduled duration or time interval has reached the API request can be triggered to stop the recording. You can also trigger the client-side API to start/stop the recording." + platform: 'Common', + questions: + 'Is it possible to automatically stop the recording after a certain duration or at a specific timestamp?', + answers: + 'Yes - you can do this by scheduling the stop a recording API with the help of a timer so that when the scheduled duration or time interval has reached the API request can be triggered to stop the recording. You can also trigger the client-side API to start/stop the recording.' }, { - "platform": "Common", - "questions": "Can we retrieve the list of all the recordings of a room?", - "answers": "You cannot get the list of recordings using an API. However, you can use the webhook events related to recording (recording.success, beam.recording.success, and hls.recording.success ) and store the recording related information like recording location, recording pre-signed URL, etc. As these information are stored in your database, you can fetch the list of recordings for a specific room as you need." + platform: 'Common', + questions: 'Can we retrieve the list of all the recordings of a room?', + answers: + 'You cannot get the list of recordings using an API. However, you can use the webhook events related to recording (recording.success, beam.recording.success, and hls.recording.success ) and store the recording related information like recording location, recording pre-signed URL, etc. As these information are stored in your database, you can fetch the list of recordings for a specific room as you need.' }, { - "platform": "Common", - "questions": "Is it possible to stop recording when a specific event occurs?", - "answers": "There are various webhook events associated with room, session, peers, recording and streaming. You can listen to these events and trigger the Stop a recording API when a specific event occurs." + platform: 'Common', + questions: 'Is it possible to stop recording when a specific event occurs?', + answers: + 'There are various webhook events associated with room, session, peers, recording and streaming. You can listen to these events and trigger the Stop a recording API when a specific event occurs.' }, { - "platform": "Common", - "questions": "Is s3:ListBucket S3 permission required for S3 bucket access?", - "answers": "ListBucket permission is not required. To configure your S3 bucket for recordings, we only require the access key and secret key. Please check this guide for more information." + platform: 'Common', + questions: 'Is s3:ListBucket S3 permission required for S3 bucket access?', + answers: + 'ListBucket permission is not required. To configure your S3 bucket for recordings, we only require the access key and secret key. Please check this guide for more information.' }, { - "platform": "Common", - "questions": "Is it possible to record a live stream and allow users to continue to replay the stream even after the live stream has ended (VOD use cases)?", - "answers": "Yes, 100ms provides the option to record a streaming session and get the recordings for Video on demand (VOD). Simply enable HLS recording which will give you a M3U8 file that can be used for playback on any HLS player once the session is completed. Please check this guide for more information." + platform: 'Common', + questions: + 'Is it possible to record a live stream and allow users to continue to replay the stream even after the live stream has ended (VOD use cases)?', + answers: + 'Yes, 100ms provides the option to record a streaming session and get the recordings for Video on demand (VOD). Simply enable HLS recording which will give you a M3U8 file that can be used for playback on any HLS player once the session is completed. Please check this guide for more information.' }, { - "platform": "Common", - "questions": "What is the resolution of browser recording and SFU recording?", - "answers": "Currently, browser recording supports both 720p and 1080p resolution, whereas SFU recording supports only 720p resolution. Please check this guide for more information.\n\nPricing is applicable for recording based on the resolution used. Please check our pricing page or contact us for more information." + platform: 'Common', + questions: 'What is the resolution of browser recording and SFU recording?', + answers: + 'Currently, browser recording supports both 720p and 1080p resolution, whereas SFU recording supports only 720p resolution. Please check this guide for more information.\n\nPricing is applicable for recording based on the resolution used. Please check our pricing page or contact us for more information.' }, { - "platform": "Common", - "questions": "How can we debug issues with uploading video recordings to an S3 bucket?", - "answers": "We have added a validation check for recording configuration on Dashboard. If you configure recording storage from “Destination tab” for a template, you will get an error if there’s an incorrect configuration. For example, if the permissions are not set correctly." + platform: 'Common', + questions: + 'How can we debug issues with uploading video recordings to an S3 bucket?', + answers: + 'We have added a validation check for recording configuration on Dashboard. If you configure recording storage from “Destination tab” for a template, you will get an error if there’s an incorrect configuration. For example, if the permissions are not set correctly.' }, { - "platform": "Common", - "questions": "What permissions are needed to allow video recordings to be uploaded to an S3 bucket?", - "answers": "Both read and write permissions for the bucket are required for 100ms servers to upload the recordings to the S3 bucket." + platform: 'Common', + questions: + 'What permissions are needed to allow video recordings to be uploaded to an S3 bucket?', + answers: + 'Both read and write permissions for the bucket are required for 100ms servers to upload the recordings to the S3 bucket.' }, { - "platform": "Common", - "questions": "How long does it take for the composite recording to be ready?", - "answers": "This usually takes 1.2 - 1.5 times the duration of the session. There is a delay when a lot of requests are in queue.\n\nA delay can also happen if the number of peers in the sessions increase.\n\nSession minutes * number of peers * 1.5x.\nSo for example, take a session of 1 minute, with 5 participants. The total time taken for the recording to be generated would be around 7.5 minutes (1*5*1.5).\n" + platform: 'Common', + questions: 'How long does it take for the composite recording to be ready?', + answers: + 'This usually takes 1.2 - 1.5 times the duration of the session. There is a delay when a lot of requests are in queue.\n\nA delay can also happen if the number of peers in the sessions increase.\n\nSession minutes * number of peers * 1.5x.\nSo for example, take a session of 1 minute, with 5 participants. The total time taken for the recording to be generated would be around 7.5 minutes (1*5*1.5).\n' }, { - "platform": "Common", - "questions": "Is cloud recording available?", - "answers": "Yes, Please check RTMP streaming and recording guide for more information." + platform: 'Common', + questions: 'Is cloud recording available?', + answers: + 'Yes, Please check RTMP streaming and recording guide for more information.' }, { - "platform": "Common", - "questions": "Does your chat feature support advanced features like profanity filtering, file attachments, etc?", - "answers": "Our chat feature supports text conversations and emojis/reactions at the moment.\n\nHowever, you can use a third-party library on top of 100ms to build features like:\n\nProfanity filtering\nLanguage Translations\nTyping indicators,\nRich media file uploads, etc." + platform: 'Common', + questions: + 'Does your chat feature support advanced features like profanity filtering, file attachments, etc?', + answers: + 'Our chat feature supports text conversations and emojis/reactions at the moment.\n\nHowever, you can use a third-party library on top of 100ms to build features like:\n\nProfanity filtering\nLanguage Translations\nTyping indicators,\nRich media file uploads, etc.' }, { - "platform": "Common", - "questions": "Is chat sent over a separate WebRTC channel?", - "answers": "Chat is sent over websockets." + platform: 'Common', + questions: 'Is chat sent over a separate WebRTC channel?', + answers: 'Chat is sent over websockets.' }, { - "platform": "Common", - "questions": "Is there a way to retrieve chat logs during a session?", - "answers": "Currently, chat is not saved and there is no way to retrieve chat logs." + platform: 'Common', + questions: 'Is there a way to retrieve chat logs during a session?', + answers: 'Currently, chat is not saved and there is no way to retrieve chat logs.' }, { - "platform": "Common", - "questions": "does your latest react native hms sdk target or compile at android 12 i.e targetsdkVersion 31 ? we are trying to upgrade our apk to targetSdkVersion 31", - "answers": "Yes, Android 12 is supported. Since our SDK does not use any Android 12 specific APIs, we have kept targetsdkVersion 29 to ensure compatibility with all users of our SDK" + platform: 'Common', + questions: + 'does your latest react native hms sdk target or compile at android 12 i.e targetsdkVersion 31 ? we are trying to upgrade our apk to targetSdkVersion 31', + answers: + 'Yes, Android 12 is supported. Since our SDK does not use any Android 12 specific APIs, we have kept targetsdkVersion 29 to ensure compatibility with all users of our SDK' }, { - "platform": "Common", - "questions": "Hey how long should it take for a recording to show up in our s3 bucket after a livestream is ended, for both beam recording and SFU?", - "answers": "Beam recording should be available within 15-20 minutes after the call ends.\nSFU recording will take ~1.5 times the call duration, after the call ends." + platform: 'Common', + questions: + 'Hey how long should it take for a recording to show up in our s3 bucket after a livestream is ended, for both beam recording and SFU?', + answers: + 'Beam recording should be available within 15-20 minutes after the call ends.\nSFU recording will take ~1.5 times the call duration, after the call ends.' }, { - "platform": "Common", - "questions": "Hey 100ms team - is there a way for the beam recorder to record what is happening in the chat without the chat being open and covering any tiles?" + platform: 'Common', + questions: + 'Hey 100ms team - is there a way for the beam recorder to record what is happening in the chat without the chat being open and covering any tiles?' }, { - "platform": "Common", - "questions": "Will the 100ms bot go to a video call webpage and render dynamic pages and stream/record the screen, or will it collect incoming video/audio streams only?", - "answers": "The 100ms bot goes to a video call webpage and renders dynamic pages and stream/record the screen." + platform: 'Common', + questions: + 'Will the 100ms bot go to a video call webpage and render dynamic pages and stream/record the screen, or will it collect incoming video/audio streams only?', + answers: + 'The 100ms bot goes to a video call webpage and renders dynamic pages and stream/record the screen.' }, { - "platform": "Common", - "questions": "Can we split room recordings as per some control at our end?", - "answers": "It depends on the type of recording being used. If using AVP recording, webhooks can be used to retrieve the recording link for each session. If using beam recording, the recording can be split by specifying the recording duration in the API call." + platform: 'Common', + questions: 'Can we split room recordings as per some control at our end?', + answers: + 'It depends on the type of recording being used. If using AVP recording, webhooks can be used to retrieve the recording link for each session. If using beam recording, the recording can be split by specifying the recording duration in the API call.' }, { - "platform": "Common", - "questions": "Can we use the same room ID but have separate recordings as per our need?", - "answers": "Yes, it can be done by specifying a new session ID in the API call to create a new recording." + platform: 'Common', + questions: + 'Can we use the same room ID but have separate recordings as per our need?', + answers: + 'Yes, it can be done by specifying a new session ID in the API call to create a new recording.' }, { - "platform": "Common", - "questions": "How can we retrieve the recording from a room?", - "answers": "The recording can be retrieved by using the API call to get the recording details and then downloading the recording using the provided link." + platform: 'Common', + questions: 'How can we retrieve the recording from a room?', + answers: + 'The recording can be retrieved by using the API call to get the recording details and then downloading the recording using the provided link.' }, { - "platform": "Common", - "questions": "Is it possible to make a recording automatically stop after a certain duration or at a specific time?", - "answers": "Yes, the recording can be stopped automatically by specifying the recording duration in the API call or by using the API call to stop the recording at a specific time." + platform: 'Common', + questions: + 'Is it possible to make a recording automatically stop after a certain duration or at a specific time?', + answers: + 'Yes, the recording can be stopped automatically by specifying the recording duration in the API call or by using the API call to stop the recording at a specific time.' }, { - "platform": "Common", - "questions": "Can we retrieve the list of all the recordings of a room?", - "answers": "Yes, the list of all recordings for a room can be retrieved using the API call to list recordings." + platform: 'Common', + questions: 'Can we retrieve the list of all the recordings of a room?', + answers: + 'Yes, the list of all recordings for a room can be retrieved using the API call to list recordings.' }, { - "platform": "Common", - "questions": "Is it possible to make a recording stop when a specific event occurs?", - "answers": "Yes, the recording can be stopped using the API call to stop the recording when a specific event occurs." + platform: 'Common', + questions: 'Is it possible to make a recording stop when a specific event occurs?', + answers: + 'Yes, the recording can be stopped using the API call to stop the recording when a specific event occurs.' }, { - "platform": "Common", - "questions": "Is s3:ListBucket S3 permission required for S3 bucket access?", - "answers": "ListBucket permission is not required" + platform: 'Common', + questions: 'Is s3:ListBucket S3 permission required for S3 bucket access?', + answers: 'ListBucket permission is not required' }, { - "platform": "Common", - "questions": "We would like to record a live stream and allow users to continue to replay the recording even after the live stream has ended. So we need to be able to directly access the recording", - "answers": "For that you need to have HLS recording enabled and that will give you a m3u8 file that you can play back post the session on any HLS player" + platform: 'Common', + questions: + 'We would like to record a live stream and allow users to continue to replay the recording even after the live stream has ended. So we need to be able to directly access the recording', + answers: + 'For that you need to have HLS recording enabled and that will give you a m3u8 file that you can play back post the session on any HLS player' }, { - "platform": "Common", - "questions": "Web Recording resolution, is the browser itself 1080p? Is the recording 1080p?", - "answers": "Currently both are 720p. We can do 1080p but it will cost more.\nour RTMP out costs for 720p v/s 1080p will be 12$/1000 minutes v/s 24$/1000 minutes" + platform: 'Common', + questions: + 'Web Recording resolution, is the browser itself 1080p? Is the recording 1080p?', + answers: + 'Currently both are 720p. We can do 1080p but it will cost more.\nour RTMP out costs for 720p v/s 1080p will be 12$/1000 minutes v/s 24$/1000 minutes' }, { - "platform": "Common", - "questions": "Can we use the 100ms browser video recorder for one off websites?", - "answers": "yes, you definitely can!" + platform: 'Common', + questions: 'Can we use the 100ms browser video recorder for one off websites?', + answers: 'yes, you definitely can!' }, { - "platform": "Common", - "questions": "How can we debug issues with uploading video recordings to an S3 bucket?", - "answers": "As a first step, check if read/write permissions are given for the bucket where the recordings need to get uploaded." + platform: 'Common', + questions: + 'How can we debug issues with uploading video recordings to an S3 bucket?', + answers: + 'As a first step, check if read/write permissions are given for the bucket where the recordings need to get uploaded.' }, { - "platform": "Common", - "questions": "What permissions are needed to allow video recordings to be uploaded to an S3 bucket?", - "answers": "Read and write permissions for the bucket where the recordings need to be uploaded are required." + platform: 'Common', + questions: + 'What permissions are needed to allow video recordings to be uploaded to an S3 bucket?', + answers: + 'Read and write permissions for the bucket where the recordings need to be uploaded are required.' }, { - "platform": "Common", - "questions": "How long does it take for the composite recording to be ready?", - "answers": "This usually takes 1.2 - 1.5 times the duration of the session. There is a delay when a lot of requests are in queue. A delay can also happen if the number of peers in the sessions increase. Session minutes * number of peers * 1.5x.\nSo for example a session of 1 minute, with 5 participants. The total time taken for the recording to generate would be around 7.5minutes (1*5*1.5)" + platform: 'Common', + questions: 'How long does it take for the composite recording to be ready?', + answers: + 'This usually takes 1.2 - 1.5 times the duration of the session. There is a delay when a lot of requests are in queue. A delay can also happen if the number of peers in the sessions increase. Session minutes * number of peers * 1.5x.\nSo for example a session of 1 minute, with 5 participants. The total time taken for the recording to generate would be around 7.5minutes (1*5*1.5)' }, { - "platform": "Common", - "questions": "Is Cloud recording available?", - "answers": "Yes, cloud recording is available." + platform: 'Common', + questions: 'Is Cloud recording available?', + answers: 'Yes, cloud recording is available.' }, { - "platform": "Common", - "questions": "Is it possible to export chat logs from one of the front-end clients and save it?", - "answers": "Yes, you can handle this on your client-side and export chat logs." + platform: 'Common', + questions: + 'Is it possible to export chat logs from one of the front-end clients and save it?', + answers: 'Yes, you can handle this on your client-side and export chat logs.' }, { - "platform": "Common", - "questions": "What is the size limit of a custom event in 100ms SDK ?", - "answers": "4KB" + platform: 'Common', + questions: 'What is the size limit of a custom event in 100ms SDK ?', + answers: '4KB' }, { - "platform": "Common", - "questions": "What is the limit for room size in live streaming?", - "answers": "The limit is under 10K, which is the same as WebRTC. Suppose we have 1000 viewers on a stream who are publishing their video, and each of them is subscribing to only 9 tiles, then:\n\ntotal number of uploaded streams + total number of downloaded streams ≤ 10,000\nuploaded streams = 1000\ndownloaded streams = 1000 peers x 9 video tiles each = 9,000\ntotal = 1000+9000 ≤ 10,000.\nIt's still under the 10K limit." + platform: 'Common', + questions: 'What is the limit for room size in live streaming?', + answers: + "The limit is under 10K, which is the same as WebRTC. Suppose we have 1000 viewers on a stream who are publishing their video, and each of them is subscribing to only 9 tiles, then:\n\ntotal number of uploaded streams + total number of downloaded streams ≤ 10,000\nuploaded streams = 1000\ndownloaded streams = 1000 peers x 9 video tiles each = 9,000\ntotal = 1000+9000 ≤ 10,000.\nIt's still under the 10K limit." }, { - "platform": "Common", - "questions": "Can users in the live stream send chat messages?", - "answers": "Yes. The same chat API that works in real-time conferencing (WebRTC) will work for the live streaming (HLS) viewers as well." + platform: 'Common', + questions: 'Can users in the live stream send chat messages?', + answers: + 'Yes. The same chat API that works in real-time conferencing (WebRTC) will work for the live streaming (HLS) viewers as well.' }, { - "platform": "Common", - "questions": "What is the maximum number of viewers a live streaming session can support?", - "answers": "The maximum number of viewers the live streaming can support with the chat function is 5k. Without the chat function, the system can scale to 50k-100k viewers." + platform: 'Common', + questions: + 'What is the maximum number of viewers a live streaming session can support?', + answers: + 'The maximum number of viewers the live streaming can support with the chat function is 5k. Without the chat function, the system can scale to 50k-100k viewers.' }, { - "platform": "Common", - "questions": "What is the average delay of the live streaming?", - "answers": "The average delay of the live streaming is 10-12 seconds." + platform: 'Common', + questions: 'What is the average delay of the live streaming?', + answers: 'The average delay of the live streaming is 10-12 seconds.' }, { - "platform": "Common", - "questions": "Can you provide more information on the live stream feature?", - "answers": "You can use the 100ms platform to build interactive live streaming (HLS) apps and to broadcast your live stream to external streaming platforms like YouTube, Twitch, etc using our External streaming service (RTMP).\n\nPlease check these links for more details.\n\nInteractive live streaming (HLS)\nExternal streaming (RTMP)" + platform: 'Common', + questions: 'Can you provide more information on the live stream feature?', + answers: + 'You can use the 100ms platform to build interactive live streaming (HLS) apps and to broadcast your live stream to external streaming platforms like YouTube, Twitch, etc using our External streaming service (RTMP).\n\nPlease check these links for more details.\n\nInteractive live streaming (HLS)\nExternal streaming (RTMP)' }, { - "platform": "Common", - "questions": "Can I integrate a feature similar to Twitter super followers using 100ms by only allowing the authenticated users?", - "answers": "Yes, you can use interactive live streaming (HLS) to integrate a similar app and the live feed of the streaming will be available in a room which can be accessed by joining a room with a JWT token (auth token) with the viewer role." + platform: 'Common', + questions: + 'Can I integrate a feature similar to Twitter super followers using 100ms by only allowing the authenticated users?', + answers: + 'Yes, you can use interactive live streaming (HLS) to integrate a similar app and the live feed of the streaming will be available in a room which can be accessed by joining a room with a JWT token (auth token) with the viewer role.' }, { - "platform": "Common", - "questions": "Can the 100ms RTMP streaming be used with any URL?", - "answers": "The 100ms RTMP streaming can be used with stream URLs from RTMP servers that allow RTMP streaming. For example, YouTube, Facebook, Instagram, Twitch, LinkedIn." + platform: 'Common', + questions: 'Can the 100ms RTMP streaming be used with any URL?', + answers: + 'The 100ms RTMP streaming can be used with stream URLs from RTMP servers that allow RTMP streaming. For example, YouTube, Facebook, Instagram, Twitch, LinkedIn.' }, { - "platform": "Common", - "questions": "Do we need to set up our own CDN servers for RTMP URLs or can we attach 100ms URLs to video elements in HTML?", - "answers": "For RTMP, you will need to set up your own CDN servers or attach 100ms URLs to video elements in HTML. However, the CDN URL is not needed for interactive live streaming (HLS); it will be provided by 100ms." + platform: 'Common', + questions: + 'Do we need to set up our own CDN servers for RTMP URLs or can we attach 100ms URLs to video elements in HTML?', + answers: + 'For RTMP, you will need to set up your own CDN servers or attach 100ms URLs to video elements in HTML. However, the CDN URL is not needed for interactive live streaming (HLS); it will be provided by 100ms.' }, { - "platform": "Common", - "questions": "Can I build a whiteboard feature on the100ms platform?", - "answers": "The whiteboard feature is currently available in beta for the web platform. We will build our own communication infra for this but currently this is integrated with Pusher, you can create a Pusher account and integrate this in your app too.\n\nPlease check the collaborative whiteboard guide for more information." + platform: 'Common', + questions: 'Can I build a whiteboard feature on the100ms platform?', + answers: + 'The whiteboard feature is currently available in beta for the web platform. We will build our own communication infra for this but currently this is integrated with Pusher, you can create a Pusher account and integrate this in your app too.\n\nPlease check the collaborative whiteboard guide for more information.' }, { - "platform": "Common", - "questions": "Do you have a list of extra plugins that can be added to live sessions?", - "answers": "Currently, you can build additional interactive experiences in your app with the help of peer metadata. You can integrate features like raise hand, polls, quizzes, etc,. using this. You can also check the existing plugins on our platform such as collaborative whiteboard, virtual background, custom audio & video plugins. Please stay tuned to our product updates by signing up for our newsletter from here.\n\nCurrently, you can build additional interactive experiences in your app with the help of Peer metadata. You can integrate raise hand, polls, quizzes, etc,. using this. You can also check the existing plugins our platform such as Virtual background, Custom audio & video plugins. We will soon be adding a whiteboard plugin as well. Please stay tuned our product updates by signing up for our newsletter from here.\n\n" + platform: 'Common', + questions: + 'Do you have a list of extra plugins that can be added to live sessions?', + answers: + 'Currently, you can build additional interactive experiences in your app with the help of peer metadata. You can integrate features like raise hand, polls, quizzes, etc,. using this. You can also check the existing plugins on our platform such as collaborative whiteboard, virtual background, custom audio & video plugins. Please stay tuned to our product updates by signing up for our newsletter from here.\n\nCurrently, you can build additional interactive experiences in your app with the help of Peer metadata. You can integrate raise hand, polls, quizzes, etc,. using this. You can also check the existing plugins our platform such as Virtual background, Custom audio & video plugins. We will soon be adding a whiteboard plugin as well. Please stay tuned our product updates by signing up for our newsletter from here.\n\n' }, { - "platform": "Common", - "questions": "Would you be able to tell us the approximate latency of a creator in North America doing a real time video conference for an end user located in Australia?", - "answers": "It should be in the 200-500 ms range" + platform: 'Common', + questions: + 'Would you be able to tell us the approximate latency of a creator in North America doing a real time video conference for an end user located in Australia?', + answers: 'It should be in the 200-500 ms range' }, { - "platform": "Common", - "questions": "Is the latency different for different devices?", - "answers": "Latency is calculated based on the network bandwidth of the user, sometimes in low end devices, the device itself can hamper latency." + platform: 'Common', + questions: 'Is the latency different for different devices?', + answers: + 'Latency is calculated based on the network bandwidth of the user, sometimes in low end devices, the device itself can hamper latency.' }, { - "platform": "Common", - "questions": "Why am I constantly getting low bandwidth alerts?", - "answers": "This is the connection quality score which changes in real time on the basis of the bandwidth of the peer at the given time. Even if your network connection is otherwise strong, if it drops at a certain point due to bandwidth, the connection quality will be displayed as poor.\n\nIf you want to investigate further, do check out the Stats for Nerds feature - there are more details to help you understand why the quality of connection dropped." + platform: 'Common', + questions: 'Why am I constantly getting low bandwidth alerts?', + answers: + 'This is the connection quality score which changes in real time on the basis of the bandwidth of the peer at the given time. Even if your network connection is otherwise strong, if it drops at a certain point due to bandwidth, the connection quality will be displayed as poor.\n\nIf you want to investigate further, do check out the Stats for Nerds feature - there are more details to help you understand why the quality of connection dropped.' }, { - "platform": "Common", - "questions": "Is it possible to dynamically set the video resolution based on the number of participants?", - "answers": "We have released a new feature, Adaptive Bitrate (affectionately called Simulcast that enables dynamic adjustments to video quality to optimise for end-user experience under diverse network conditions. ABR ensures that every participant is able to consume the highest possible quality video in conferencing or streaming use-cases, based on their bandwidth constraints." + platform: 'Common', + questions: + 'Is it possible to dynamically set the video resolution based on the number of participants?', + answers: + 'We have released a new feature, Adaptive Bitrate (affectionately called Simulcast that enables dynamic adjustments to video quality to optimise for end-user experience under diverse network conditions. ABR ensures that every participant is able to consume the highest possible quality video in conferencing or streaming use-cases, based on their bandwidth constraints.' }, { - "platform": "Common", - "questions": "What is the limit for room size in WebRTC?", - "answers": "Limit = total number of uploaded streams + total number of downloaded streams ≤ 10,000\ntotal number of uploaded streams is every single video feed being sent to the server, regardless of who is viewing it\ntotal number of downloaded streams is calculated as number of WebRTC viewers x number of video tiles seen by each (regardless of tile size)\nhere’s an example: a room with 100 peers, each with their video on, but each peer can only see 20 pax on the first page due to pagination\nuploaded streams = 100\ndownloaded streams = 100 peers x 20 video tiles each = 2,000\ntotal = 2,100 ≤ 10,000" + platform: 'Common', + questions: 'What is the limit for room size in WebRTC?', + answers: + 'Limit = total number of uploaded streams + total number of downloaded streams ≤ 10,000\ntotal number of uploaded streams is every single video feed being sent to the server, regardless of who is viewing it\ntotal number of downloaded streams is calculated as number of WebRTC viewers x number of video tiles seen by each (regardless of tile size)\nhere’s an example: a room with 100 peers, each with their video on, but each peer can only see 20 pax on the first page due to pagination\nuploaded streams = 100\ndownloaded streams = 100 peers x 20 video tiles each = 2,000\ntotal = 2,100 ≤ 10,000' }, { - "platform": "Common", - "questions": "For a given room, what is the max number of concurrent WebRTC connected participants?", - "answers": "In a single room at a given time, we currently support 10000 streams that is 100 participants with audio and video enabled" + platform: 'Common', + questions: + 'For a given room, what is the max number of concurrent WebRTC connected participants?', + answers: + 'In a single room at a given time, we currently support 10000 streams that is 100 participants with audio and video enabled' }, { - "platform": "Common", - "questions": "What is the maximum number of tiles that 100ms can support in its layout?", - "answers": "Layout Tiles in view Publish resolution Max peers in room\n1x1 1 720p 1500\n2x2 4 480p 450\n3x3 9 360p 200\n4x4 16 240p 100\n" + platform: 'Common', + questions: + 'What is the maximum number of tiles that 100ms can support in its layout?', + answers: + 'Layout Tiles in view Publish resolution Max peers in room\n1x1 1 720p 1500\n2x2 4 480p 450\n3x3 9 360p 200\n4x4 16 240p 100\n' }, { - "platform": "Common", - "questions": "What is the maximum number of people that can be supported currently?", - "answers": "For full duplex audio/video with a latency of <500 ms, 100ms can support a maximum of 100 people. For webinar-style events, 100ms can support 10 people on stage and 1000 offstage peers/audience. For large events, it can be broadcasted on a TV-like setup for an audience of millions with a latency of 7-10 seconds." + platform: 'Common', + questions: 'What is the maximum number of people that can be supported currently?', + answers: + 'For full duplex audio/video with a latency of <500 ms, 100ms can support a maximum of 100 people. For webinar-style events, 100ms can support 10 people on stage and 1000 offstage peers/audience. For large events, it can be broadcasted on a TV-like setup for an audience of millions with a latency of 7-10 seconds.' }, { - "platform": "Common", - "questions": "What is the maximum capacity for group calls with 100ms video SDK?", - "answers": "The maximum capacity for group calls with 100ms video SDK is currently 100 participants with audio/video on." + platform: 'Common', + questions: 'What is the maximum capacity for group calls with 100ms video SDK?', + answers: + 'The maximum capacity for group calls with 100ms video SDK is currently 100 participants with audio/video on.' }, { - "platform": "Common", - "questions": "Can the system scale to 50k-100k viewers if the SDK is not connected and we just want the m3u8 file?", - "answers": "Yes." + platform: 'Common', + questions: + 'Can the system scale to 50k-100k viewers if the SDK is not connected and we just want the m3u8 file?', + answers: 'Yes.' }, { - "platform": "Common", - "questions": "Is it possible to access in-depth analytics, such as the number of attempts to reconnect, drops, high latency, and live metrics?", - "answers": "All metrics are collected and can be shared through an Amplitude dashboard, which will eventually be available within the dashboard. For some basic debugging, you can always rely on the \"Events Inspector\" in your 100ms dashboard." + platform: 'Common', + questions: + 'Is it possible to access in-depth analytics, such as the number of attempts to reconnect, drops, high latency, and live metrics?', + answers: + 'All metrics are collected and can be shared through an Amplitude dashboard, which will eventually be available within the dashboard. For some basic debugging, you can always rely on the "Events Inspector" in your 100ms dashboard.' }, { - "platform": "Common", - "questions": "Is the 100ms live stream SDK customizable and able to scale to millions of users?", - "answers": "Yes. 100ms main motto is to serve customers with SDKs that offer extensibility and customizability to a greater extent. You can check the video-conferencing and interactive live streaming pages for more information." + platform: 'Common', + questions: + 'Is the 100ms live stream SDK customizable and able to scale to millions of users?', + answers: + 'Yes. 100ms main motto is to serve customers with SDKs that offer extensibility and customizability to a greater extent. You can check the video-conferencing and interactive live streaming pages for more information.' }, { - "platform": "Common", - "questions": "Can you share some documentation on your information security practices?", - "answers": "Yes, please check below:\n\nSOC2 type II compliant: report to be shared after signing a mutual NDA\nHIPAA: 100ms can sign a BAA" + platform: 'Common', + questions: + 'Can you share some documentation on your information security practices?', + answers: + 'Yes, please check below:\n\nSOC2 type II compliant: report to be shared after signing a mutual NDA\nHIPAA: 100ms can sign a BAA' }, { - "platform": "Common", - "questions": "Is it ok to potentially create thousands of rooms over time?", - "answers": "Yes, you can create as many rooms as necessary. It's also handy to disable a room after you're done using it." + platform: 'Common', + questions: 'Is it ok to potentially create thousands of rooms over time?', + answers: + "Yes, you can create as many rooms as necessary. It's also handy to disable a room after you're done using it." }, { - "platform": "Common", - "questions": "Can your platform handle end-to-end encryption between just 2 users?", - "answers": "The only encryption we have is on the token side. That is based on the token shared from the server to the client." + platform: 'Common', + questions: 'Can your platform handle end-to-end encryption between just 2 users?', + answers: + 'The only encryption we have is on the token side. That is based on the token shared from the server to the client.' }, { - "platform": "Common", - "questions": "Is 100ms Soc 2 complainant?", - "answers": "Yes." + platform: 'Common', + questions: 'Is 100ms Soc 2 complainant?', + answers: 'Yes.' }, { - "platform": "Common", - "questions": "Is there any usage analytics dashboard available to check various metrics associated with my account?", - "answers": "Currently, we don't have any dashboard for usage analytics, but it is right around the corner on our roadmap. We will let you know as soon as it is up.\nIf you’re wondering how, here it is: please subscribe to our monthly newsletter. We are constantly building cool, exciting things and we cover all of them in our newsletter.\n\n" + platform: 'Common', + questions: + 'Is there any usage analytics dashboard available to check various metrics associated with my account?', + answers: + "Currently, we don't have any dashboard for usage analytics, but it is right around the corner on our roadmap. We will let you know as soon as it is up.\nIf you’re wondering how, here it is: please subscribe to our monthly newsletter. We are constantly building cool, exciting things and we cover all of them in our newsletter.\n\n" }, { - "platform": "Common", - "questions": "Does the 100ms platform provide analytics on room, session, and each user, including data such as time spent per user, total session length, and number of peers in a room?", - "answers": "You can get analytics about rooms, sessions, peers and more in multiple ways based on feasibility and your requirements.\n\nYou can use the list sessions server API to fetch the list of sessions for a particular data/time range and you can also filter these for a particular room. This API will provide data such as list of peers, their room join/leave time, session start/end time, etc,.\n\nIf you need to get the session details for an active room (ongoing session), you can use our Active room server APIs to fetch the details and perform some actions on peers from your server side.\n\n" + platform: 'Common', + questions: + 'Does the 100ms platform provide analytics on room, session, and each user, including data such as time spent per user, total session length, and number of peers in a room?', + answers: + 'You can get analytics about rooms, sessions, peers and more in multiple ways based on feasibility and your requirements.\n\nYou can use the list sessions server API to fetch the list of sessions for a particular data/time range and you can also filter these for a particular room. This API will provide data such as list of peers, their room join/leave time, session start/end time, etc,.\n\nIf you need to get the session details for an active room (ongoing session), you can use our Active room server APIs to fetch the details and perform some actions on peers from your server side.\n\n' }, { - "platform": "Common", - "questions": "Is the functionality to disable a room and end an active room the same?", - "answers": "The functionalities of these two APIs are different:\n\nDisable/Enable a room API: you can use this API to disable/enable the room to block/allow peers to join the room.\nEnd an active room API: you can use this API to end an ongoing session in a room. Optionally you can use the lock argument to disable the room future peer joins.\n" + platform: 'Common', + questions: + 'Is the functionality to disable a room and end an active room the same?', + answers: + 'The functionalities of these two APIs are different:\n\nDisable/Enable a room API: you can use this API to disable/enable the room to block/allow peers to join the room.\nEnd an active room API: you can use this API to end an ongoing session in a room. Optionally you can use the lock argument to disable the room future peer joins.\n' }, { - "platform": "Common", - "questions": "Is there a way to close a room using a server-side API?", - "answers": "You can use end an active room API to end an ongoing session in a room. Optionally you can use the lock argument to disable the room future peer joins." + platform: 'Common', + questions: 'Is there a way to close a room using a server-side API?', + answers: + 'You can use end an active room API to end an ongoing session in a room. Optionally you can use the lock argument to disable the room future peer joins.' }, { - "platform": "Common", - "questions": "Is there a way to mute a participant using a server-side API?", - "answers": "You need to follow the below steps to achieve this:\n\nYes. Here are the steps: Create another role in your template by disabling audio publish strategies, for example: no-audio. You can either use the create a role API or templates page on dashboard to do this.\nUse the button click from the UI as a trigger to call the update-peer server side API or change role client-side API to change the role of the particular participant (peer) to no-video role to disable audio." + platform: 'Common', + questions: 'Is there a way to mute a participant using a server-side API?', + answers: + 'You need to follow the below steps to achieve this:\n\nYes. Here are the steps: Create another role in your template by disabling audio publish strategies, for example: no-audio. You can either use the create a role API or templates page on dashboard to do this.\nUse the button click from the UI as a trigger to call the update-peer server side API or change role client-side API to change the role of the particular participant (peer) to no-video role to disable audio.' }, { - "platform": "Common", - "questions": "Is there a way to disable video for a participant using a server-side API?", - "answers": "Yes, follow the same process mentioned for the question above ^\n\n" + platform: 'Common', + questions: + 'Is there a way to disable video for a participant using a server-side API?', + answers: 'Yes, follow the same process mentioned for the question above ^\n\n' }, { - "platform": "Common", - "questions": "Can you explain the differences between the HLS recording and Beam recording webhook events?", - "answers": "HLS recording events are related to the recording enabled for interactive live streaming sessions, whereas Beam recording events are only applicable to recording enabled for external streaming (RTMP) or browser recording for WebRTC sessions.\n\nPlease check the below links for more information:\n\nInteractive live streaming (HLS)\nRTMP streaming/recording" + platform: 'Common', + questions: + 'Can you explain the differences between the HLS recording and Beam recording webhook events?', + answers: + 'HLS recording events are related to the recording enabled for interactive live streaming sessions, whereas Beam recording events are only applicable to recording enabled for external streaming (RTMP) or browser recording for WebRTC sessions.\n\nPlease check the below links for more information:\n\nInteractive live streaming (HLS)\nRTMP streaming/recording' }, { - "platform": "Common", - "questions": "For incoming webhooks from 100ms to our API, is there a list of IPs that can be whitelisted?", - "answers": "Yes, and here is the list." + platform: 'Common', + questions: + 'For incoming webhooks from 100ms to our API, is there a list of IPs that can be whitelisted?', + answers: 'Yes, and here is the list.' }, { - "platform": "Common", - "questions": "Is there an API call we can make to set the webhook URL and headers on our account?", - "answers": "No. Currently there is no API to update the webhook URL and headers, but you can do this from the 100ms dashboard directly." + platform: 'Common', + questions: + 'Is there an API call we can make to set the webhook URL and headers on our account?', + answers: + 'No. Currently there is no API to update the webhook URL and headers, but you can do this from the 100ms dashboard directly.' }, { - "platform": "Common", - "questions": "Do you have some static IP for 100ms, that we can whitelist your hits at our end?", - "answers": "100ms provides two methods to whitelist traffic from 100ms.\n\nDomain and port whitelisting\nSecuring webhooks" + platform: 'Common', + questions: + 'Do you have some static IP for 100ms, that we can whitelist your hits at our end?', + answers: + '100ms provides two methods to whitelist traffic from 100ms.\n\nDomain and port whitelisting\nSecuring webhooks' }, { - "platform": "Common", - "questions": "Can we end an active session programmatically (reset the room so that everyone is kicked from the meeting and it starts a new session)?", - "answers": "We have an end point that helps you end an active session. You can check this to understand how the API works." + platform: 'Common', + questions: + 'Can we end an active session programmatically (reset the room so that everyone is kicked from the meeting and it starts a new session)?', + answers: + 'We have an end point that helps you end an active session. You can check this to understand how the API works.' }, { - "platform": "Common", - "questions": "Is there any way to limit participants in a room?", - "answers": "We don't limit the participants currently, but you can limit the number of peers as a part of the Role or Template configuration where we can add a maximum number of participants per role by setting the maxPeerCount attribute:\n\nWhile creating/updating a role or\nWhile creating/updating a template as part of roles config." + platform: 'Common', + questions: 'Is there any way to limit participants in a room?', + answers: + "We don't limit the participants currently, but you can limit the number of peers as a part of the Role or Template configuration where we can add a maximum number of participants per role by setting the maxPeerCount attribute:\n\nWhile creating/updating a role or\nWhile creating/updating a template as part of roles config." }, { - "platform": "Common", - "questions": "Can we customise the width and height of video tile which we are getting from useVideoList hook?" + platform: 'Common', + questions: + 'Can we customise the width and height of video tile which we are getting from useVideoList hook?' }, { - "platform": "Common", - "questions": "How can I handle role change requests on my backend? Is there any webhook for it?", - "answers": "Currently, role change is initiated by a designated role. A role change REST API is on the roadmap.\n\n" + platform: 'Common', + questions: + 'How can I handle role change requests on my backend? Is there any webhook for it?', + answers: + 'Currently, role change is initiated by a designated role. A role change REST API is on the roadmap.\n\n' }, { - "platform": "Common", - "questions": "Is there a way to handle role change requests on the backend, such as through a webhook or API?", - "answers": "Yes, you can use update a peer API to change the role of a peer from backend." + platform: 'Common', + questions: + 'Is there a way to handle role change requests on the backend, such as through a webhook or API?', + answers: + 'Yes, you can use update a peer API to change the role of a peer from backend.' }, { - "platform": "Common", - "questions": "Can you access a role created via dashboard or server API across all client SDKs?", - "answers": "Yes - the template created on dashboard/API and the roles associated with it is universally used across all 100ms client SDKs." + platform: 'Common', + questions: + 'Can you access a role created via dashboard or server API across all client SDKs?', + answers: + 'Yes - the template created on dashboard/API and the roles associated with it is universally used across all 100ms client SDKs.' }, { - "platform": "Common", - "questions": "Is there a way to schedule rooms for a certain date and time and send invites to certain email ids?", - "answers": "That needs authentication for a user and you would need to handle this on the UI. You can use the Create room API to Create multiple rooms and schedule meetings as required by using them in queue. Time gate the option to join the room so that they can do so only when it is time for the meeting." + platform: 'Common', + questions: + 'Is there a way to schedule rooms for a certain date and time and send invites to certain email ids?', + answers: + 'That needs authentication for a user and you would need to handle this on the UI. You can use the Create room API to Create multiple rooms and schedule meetings as required by using them in queue. Time gate the option to join the room so that they can do so only when it is time for the meeting.' }, { - "platform": "Common", - "questions": "Can we disable a room by id?", - "answers": "Yes this is possible. The disable/enable a room API supports room_id as an argument as well." + platform: 'Common', + questions: 'Can we disable a room by id?', + answers: + 'Yes this is possible. The disable/enable a room API supports room_id as an argument as well.' }, { - "platform": "Common", - "questions": "How do I limit the session to a specified duration?", - "answers": "Through the end an active room API.\n\nSay you want to limit the duration of a session to 30 minutes: -\n\nStart a timer as soon as the session begins and you receive the session.open.success webhook event\nWait till the duration (timer) of the session reaches 30 minutes\nOnce reached, trigger the end an active room API to end the session and kick out the peers from the session.\nNote: If you set the lock argument to true, it will end the active room, and users will not be able to join the room later. You can use enable a room API or dashboard to enable the room again.\n\n" + platform: 'Common', + questions: 'How do I limit the session to a specified duration?', + answers: + 'Through the end an active room API.\n\nSay you want to limit the duration of a session to 30 minutes: -\n\nStart a timer as soon as the session begins and you receive the session.open.success webhook event\nWait till the duration (timer) of the session reaches 30 minutes\nOnce reached, trigger the end an active room API to end the session and kick out the peers from the session.\nNote: If you set the lock argument to true, it will end the active room, and users will not be able to join the room later. You can use enable a room API or dashboard to enable the room again.\n\n' }, { - "platform": "Common", - "questions": "Can I delete rooms via dashboard or API?", - "answers": "No, you cannot delete a room. We don't support the \"delete room\" functionality as it would lead to losing all data associated with the room. However, we support the below options based on the actual requirement of why you want to delete the room(s):\nCreating new rooms for every session: You can create as many rooms as you want, as we don't have any limit for room creation.\nDisable room: If you don't want future room join requests for a particular room, you can disable a room from the dashboard or via server API.\nDev & Prod Env: If you want to delete rooms from your account as you transition from Development to the Production stage, we recommend using \"Workspaces.\" It enables you to create two or more workspaces per your need and isolate the data for each workspace. Please check this blog for more information." + platform: 'Common', + questions: 'Can I delete rooms via dashboard or API?', + answers: + 'No, you cannot delete a room. We don\'t support the "delete room" functionality as it would lead to losing all data associated with the room. However, we support the below options based on the actual requirement of why you want to delete the room(s):\nCreating new rooms for every session: You can create as many rooms as you want, as we don\'t have any limit for room creation.\nDisable room: If you don\'t want future room join requests for a particular room, you can disable a room from the dashboard or via server API.\nDev & Prod Env: If you want to delete rooms from your account as you transition from Development to the Production stage, we recommend using "Workspaces." It enables you to create two or more workspaces per your need and isolate the data for each workspace. Please check this blog for more information.' }, { - "platform": "JavaScript", - "questions": "How do I record a room?", - "answers": "We have two types of recordings available, SFU and Browser. You can also start the latter from the SDK." + platform: 'JavaScript', + questions: 'How do I record a room?', + answers: + 'We have two types of recordings available, SFU and Browser. You can also start the latter from the SDK.' }, { - "platform": "JavaScript", - "questions": "How do I debug blank video tile while rendering?", - "answers": "Start with making sure that attach video is being called for the correct track and video element. Also ensure that there is no bug leading to detach call just after or around the same time as attach. These calls when done will also show up in the redux DevTools extension. Some things we have seen in the past -\n\n- The role was not subscribed properly in the dashboard's templates section\n- [React] Calling detach as a cleanup function of the same useEffect which calls attach and has video track as dependency. Instead of this please have a separate useEffect with no dependencies to call detach on component unmount.\n- [React] Not using the key field properly while rendering the list of components displaying the track. This should ideally be the trackId or peerId-trackType, where track type is video or screen.\n- [Angular] Not using the trackBy field properly while rendering the list of components displaying the track. This should ideally be the trackId or peerId-trackType, where track type is video or screen." + platform: 'JavaScript', + questions: 'How do I debug blank video tile while rendering?', + answers: + "Start with making sure that attach video is being called for the correct track and video element. Also ensure that there is no bug leading to detach call just after or around the same time as attach. These calls when done will also show up in the redux DevTools extension. Some things we have seen in the past -\n\n- The role was not subscribed properly in the dashboard's templates section\n- [React] Calling detach as a cleanup function of the same useEffect which calls attach and has video track as dependency. Instead of this please have a separate useEffect with no dependencies to call detach on component unmount.\n- [React] Not using the key field properly while rendering the list of components displaying the track. This should ideally be the trackId or peerId-trackType, where track type is video or screen.\n- [Angular] Not using the trackBy field properly while rendering the list of components displaying the track. This should ideally be the trackId or peerId-trackType, where track type is video or screen." }, { - "platform": "JavaScript", - "questions": "Why is the video not auto-playing on page load?", - "answers": "For the video to auto-play please make sure these fields are set on the video element - auto-play, muted, playsinline. Please check the docs for render video for more details." + platform: 'JavaScript', + questions: 'Why is the video not auto-playing on page load?', + answers: + 'For the video to auto-play please make sure these fields are set on the video element - auto-play, muted, playsinline. Please check the docs for render video for more details.' }, { - "platform": "JavaScript", - "questions": "(Angular) Why is video not auto-playing even though muted is set as true?", - "answers": "Angular 2+ is sometimes not able to translate the muted field correctly. Instead of setting the muted and auto-play property as