From f129979814ff61c68b50418dafb1320bac98a487 Mon Sep 17 00:00:00 2001 From: Oliver Lazoroski Date: Mon, 11 Dec 2023 11:04:50 +0100 Subject: [PATCH 1/8] chore: fix failing test --- packages/client/src/__tests__/server-side/call.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/client/src/__tests__/server-side/call.test.ts b/packages/client/src/__tests__/server-side/call.test.ts index 1742304f90..91a47f4479 100644 --- a/packages/client/src/__tests__/server-side/call.test.ts +++ b/packages/client/src/__tests__/server-side/call.test.ts @@ -58,7 +58,11 @@ describe('call API', () => { }); it('RTMP address', async () => { - const resp = await call.getOrCreate(); + const resp = await call.getOrCreate({ + data: { + created_by_id: 'john', + }, + }); const address = resp.call.ingress.rtmp.address; expect(address).toBeDefined(); From 8ac84ebb926745a30fc4e4b206f871bb2cd05e5d Mon Sep 17 00:00:00 2001 From: Oliver Lazoroski Date: Mon, 11 Dec 2023 14:00:06 +0100 Subject: [PATCH 2/8] chore: removes unused `track` param (#1195) The `track` parameter in `notifyTrackMuteStateChanged` isn't used and is now removed from the function's signature. See: #1127 Also, this PR fixes a potential issue when leaving a call after a user is disconnected. --- packages/client/src/rtc/Publisher.ts | 22 +++------------------- packages/client/src/store/stateStore.ts | 15 +++++++++------ 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/packages/client/src/rtc/Publisher.ts b/packages/client/src/rtc/Publisher.ts index ce79f7e964..735ed7c6ac 100644 --- a/packages/client/src/rtc/Publisher.ts +++ b/packages/client/src/rtc/Publisher.ts @@ -218,12 +218,7 @@ export class Publisher { 'info', `Track ${TrackType[trackType]} has ended, notifying the SFU`, ); - await this.notifyTrackMuteStateChanged( - mediaStream, - track, - trackType, - true, - ); + await this.notifyTrackMuteStateChanged(mediaStream, trackType, true); // clean-up, this event listener needs to run only once. track.removeEventListener('ended', handleTrackEnded); }; @@ -295,12 +290,7 @@ export class Publisher { await transceiver.sender.replaceTrack(track); } - await this.notifyTrackMuteStateChanged( - mediaStream, - track, - trackType, - false, - ); + await this.notifyTrackMuteStateChanged(mediaStream, trackType, false); }; /** @@ -325,12 +315,7 @@ export class Publisher { : (transceiver.sender.track.enabled = false); // We don't need to notify SFU if unpublishing in response to remote soft mute if (this.state.localParticipant?.publishedTracks.includes(trackType)) { - await this.notifyTrackMuteStateChanged( - undefined, - transceiver.sender.track, - trackType, - true, - ); + await this.notifyTrackMuteStateChanged(undefined, trackType, true); } } }; @@ -369,7 +354,6 @@ export class Publisher { private notifyTrackMuteStateChanged = async ( mediaStream: MediaStream | undefined, - track: MediaStreamTrack, trackType: TrackType, isMuted: boolean, ) => { diff --git a/packages/client/src/store/stateStore.ts b/packages/client/src/store/stateStore.ts index 290e286905..0af577ac33 100644 --- a/packages/client/src/store/stateStore.ts +++ b/packages/client/src/store/stateStore.ts @@ -2,7 +2,8 @@ import { BehaviorSubject, Observable } from 'rxjs'; import type { Patch } from './rxUtils'; import * as RxUtils from './rxUtils'; import { Call } from '../Call'; -import type { OwnUserResponse } from '../coordinator/connection/types'; +import { CallingState } from './CallState'; +import type { OwnUserResponse } from '../gen/coordinator'; import { getLogger } from '../logger'; export class StreamVideoWriteableStateStore { @@ -22,12 +23,14 @@ export class StreamVideoWriteableStateStore { this.connectedUserSubject.subscribe(async (user) => { // leave all calls when the user disconnects. if (!user) { + const logger = getLogger(['client-state']); for (const call of this.calls) { - getLogger(['client-state'])( - 'info', - `User disconnected, leaving call: ${call.cid}`, - ); - await call.leave(); + if (call.state.callingState === CallingState.LEFT) continue; + + logger('info', `User disconnected, leaving call: ${call.cid}`); + await call.leave().catch((err) => { + logger('error', `Error leaving call: ${call.cid}`, err); + }); } } }); From c4d557b736df8ff0a95166d1f9f0a52d4a57a122 Mon Sep 17 00:00:00 2001 From: Oliver Lazoroski Date: Mon, 11 Dec 2023 14:12:14 +0100 Subject: [PATCH 3/8] fix(ringing): Auto-Cancel outgoing calls (#1217) This PR fixes a bug in the `scheduleAutoDrop()` function that bailed out from scheduling a cancellation timer when server-side-defined timeouts remained the same after consecutive call settings updates. Also, this PR aligns the implementation and relies only on `auto_cancel_timeout_ms`. More context: - https://getstream.slack.com/archives/C022N8JNQGZ/p1697701678593769 Fixes: #1215 --- packages/client/src/Call.ts | 66 ++++++++++++++----------------------- 1 file changed, 25 insertions(+), 41 deletions(-) diff --git a/packages/client/src/Call.ts b/packages/client/src/Call.ts index 234f90189a..d3a3f4a546 100644 --- a/packages/client/src/Call.ts +++ b/packages/client/src/Call.ts @@ -82,10 +82,8 @@ import { debounce, filter, map, - pairwise, Subject, takeWhile, - tap, timer, } from 'rxjs'; import { TrackSubscriptionDetails } from './gen/video/sfu/signal_rpc/signal'; @@ -1345,9 +1343,10 @@ export class Call { }; /** + * Updates the list of video layers to publish. + * * @internal - * @param enabledRids - * @returns + * @param enabledLayers the list of layers to enable. */ updatePublishQuality = async (enabledLayers: VideoLayerSetting[]) => { return this.publisher?.updateVideoPublishQuality(enabledLayers); @@ -1718,45 +1717,30 @@ export class Call { >(`${this.streamClientBasePath}/members`, data); }; + /** + * Schedules an auto-drop timeout based on the call settings. + * Applicable only for ringing calls. + */ private scheduleAutoDrop = () => { - if (this.dropTimeout) clearTimeout(this.dropTimeout); - const subscription = this.state.settings$ - .pipe( - pairwise(), - tap(([prevSettings, currentSettings]) => { - if (!currentSettings || !this.clientStore.connectedUser) return; - - const isOutgoingCall = - this.currentUserId === this.state.createdBy?.id; - - const [prevTimeoutMs, timeoutMs] = isOutgoingCall - ? [ - prevSettings?.ring.auto_cancel_timeout_ms, - currentSettings.ring.auto_cancel_timeout_ms, - ] - : [ - prevSettings?.ring.incoming_call_timeout_ms, - currentSettings.ring.incoming_call_timeout_ms, - ]; - if ( - typeof timeoutMs === 'undefined' || - timeoutMs === prevTimeoutMs || - timeoutMs === 0 - ) - return; - - if (this.dropTimeout) clearTimeout(this.dropTimeout); - this.dropTimeout = setTimeout(() => this.leave(), timeoutMs); - }), - takeWhile( - () => !!this.clientStore.calls.find((call) => call.cid === this.cid), - ), - ) - .subscribe(); + clearTimeout(this.dropTimeout); + this.leaveCallHooks.add( + createSubscription(this.state.settings$, (settings) => { + if (!settings) return; + // ignore if the call is not ringing + if (this.state.callingState !== CallingState.RINGING) return; - this.leaveCallHooks.add(() => { - !subscription.closed && subscription.unsubscribe(); - }); + const timeoutInMs = settings.ring.auto_cancel_timeout_ms; + // 0 means no auto-drop + if (timeoutInMs <= 0) return; + + clearTimeout(this.dropTimeout); + this.dropTimeout = setTimeout(() => { + this.leave().catch((err) => { + this.logger('error', 'Failed to drop call', err); + }); + }, timeoutInMs); + }), + ); }; /** From e21d16887b5424fbc66eb791edc1d95486becccf Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Mon, 11 Dec 2023 13:15:17 +0000 Subject: [PATCH 4/8] chore(@stream-io/video-client): release version 0.5.2 --- packages/client/CHANGELOG.md | 7 +++++++ packages/client/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index e736d848d3..3f162016d1 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -2,6 +2,13 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +### [0.5.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-0.5.1...@stream-io/video-client-0.5.2) (2023-12-11) + + +### Bug Fixes + +* **ringing:** Auto-Cancel outgoing calls ([#1217](https://github.com/GetStream/stream-video-js/issues/1217)) ([c4d557b](https://github.com/GetStream/stream-video-js/commit/c4d557b736df8ff0a95166d1f9f0a52d4a57a122)), closes [#1215](https://github.com/GetStream/stream-video-js/issues/1215) + ### [0.5.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-0.5.0...@stream-io/video-client-0.5.1) (2023-12-05) diff --git a/packages/client/package.json b/packages/client/package.json index 58bcf745d2..dab895fd79 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-client", - "version": "0.5.1", + "version": "0.5.2", "packageManager": "yarn@3.2.4", "main": "dist/index.cjs.js", "module": "dist/index.es.js", From a1c3e58c6a979092bf6d916dbc2de998e111e612 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Mon, 11 Dec 2023 13:15:40 +0000 Subject: [PATCH 5/8] chore(@stream-io/video-react-bindings): release version 0.3.13 --- packages/react-bindings/CHANGELOG.md | 5 +++++ packages/react-bindings/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/react-bindings/CHANGELOG.md b/packages/react-bindings/CHANGELOG.md index e58fa6d108..dc245a7640 100644 --- a/packages/react-bindings/CHANGELOG.md +++ b/packages/react-bindings/CHANGELOG.md @@ -2,6 +2,11 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +### [0.3.13](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-0.3.12...@stream-io/video-react-bindings-0.3.13) (2023-12-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `0.5.2` ### [0.3.12](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-0.3.11...@stream-io/video-react-bindings-0.3.12) (2023-12-05) ### Dependency Updates diff --git a/packages/react-bindings/package.json b/packages/react-bindings/package.json index ae2340eb96..2e6fcf0890 100644 --- a/packages/react-bindings/package.json +++ b/packages/react-bindings/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-bindings", - "version": "0.3.12", + "version": "0.3.13", "packageManager": "yarn@3.2.4", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", From 099f31cdc5f7a7980f06ebc7e6bc2cf31bc7946f Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Mon, 11 Dec 2023 13:15:48 +0000 Subject: [PATCH 6/8] chore(@stream-io/video-react-sdk): release version 0.4.16 --- packages/react-sdk/CHANGELOG.md | 6 ++++++ packages/react-sdk/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/react-sdk/CHANGELOG.md b/packages/react-sdk/CHANGELOG.md index 225a3f4af8..4d941fa83a 100644 --- a/packages/react-sdk/CHANGELOG.md +++ b/packages/react-sdk/CHANGELOG.md @@ -2,6 +2,12 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +### [0.4.16](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-0.4.15...@stream-io/video-react-sdk-0.4.16) (2023-12-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `0.5.2` +* `@stream-io/video-react-bindings` updated to version `0.3.13` ### [0.4.15](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-0.4.14...@stream-io/video-react-sdk-0.4.15) (2023-12-05) ### Dependency Updates diff --git a/packages/react-sdk/package.json b/packages/react-sdk/package.json index 8da41bc531..6d537e7f05 100644 --- a/packages/react-sdk/package.json +++ b/packages/react-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-sdk", - "version": "0.4.15", + "version": "0.4.16", "packageManager": "yarn@3.2.4", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", From 437fe6137f12e6e617f9d575564099ba6067d585 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Mon, 11 Dec 2023 13:16:06 +0000 Subject: [PATCH 7/8] chore(@stream-io/video-react-native-sdk): release version 0.3.5 --- packages/react-native-sdk/CHANGELOG.md | 6 ++++++ packages/react-native-sdk/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/react-native-sdk/CHANGELOG.md b/packages/react-native-sdk/CHANGELOG.md index 2cb6eefc74..b6f06d880c 100644 --- a/packages/react-native-sdk/CHANGELOG.md +++ b/packages/react-native-sdk/CHANGELOG.md @@ -2,6 +2,12 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +### [0.3.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.3.4...@stream-io/video-react-native-sdk-0.3.5) (2023-12-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `0.5.2` +* `@stream-io/video-react-bindings` updated to version `0.3.13` ### [0.3.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.3.3...@stream-io/video-react-native-sdk-0.3.4) (2023-12-06) diff --git a/packages/react-native-sdk/package.json b/packages/react-native-sdk/package.json index 041df3c526..1563bc76b2 100644 --- a/packages/react-native-sdk/package.json +++ b/packages/react-native-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-native-sdk", - "version": "0.3.4", + "version": "0.3.5", "packageManager": "yarn@3.2.4", "main": "dist/commonjs/index.js", "module": "dist/module/index.js", From 944a3b7e596554208a4da5a9cbddf3dbbbd9baef Mon Sep 17 00:00:00 2001 From: Khushal Agarwal Date: Mon, 11 Dec 2023 18:49:26 +0530 Subject: [PATCH 8/8] docs(react-native): fix broken links (#1218) --- .../reactnative/01-setup/01-introduction.mdx | 4 ++-- .../02-installation/01-react-native.mdx | 2 +- .../reactnative/01-setup/03-quickstart.mdx | 14 +++++++------- .../03-core/02-joining-creating-calls.mdx | 2 +- .../03-core/08-native-permissions.mdx | 11 ++++------- .../10-reactions-and-custom-events.mdx | 3 +-- .../04-ui-components/core/stream-call.mdx | 2 +- .../participants/participant-view.mdx | 2 +- .../02-replacing-call-controls.mdx | 4 ++-- .../10-network-quality-indicator.mdx | 2 +- .../14-watching-a-livestream.mdx | 2 +- .../06-advanced/02-chat-with-video.mdx | 8 ++++---- .../03-ringing-setup/02-expo.mdx | 19 ++++++++++--------- .../06-advanced/06-broadcasting.mdx | 2 +- .../livestream/duration-badge.mdx | 2 +- .../livestream/follower-count.mdx | 2 +- .../host-livestream-controls.mdx | 2 +- .../host-livestream-top-view.mdx | 2 +- .../host-start-stream-button.mdx | 2 +- .../livestream/live-indicator.mdx | 2 +- .../livestream/livestream-layout.mdx | 2 +- .../livestream/livestream-media-controls.mdx | 2 +- .../viewer-leave-stream-button.mdx | 2 +- .../viewer-livestream-controls.mdx | 2 +- .../viewer-livestream-top-view.mdx | 2 +- 25 files changed, 48 insertions(+), 51 deletions(-) diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/01-introduction.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/01-introduction.mdx index 964947e78e..560c986240 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/01-introduction.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/01-introduction.mdx @@ -23,8 +23,8 @@ After the tutorials, the documentation explains how to use: It also explains advanced features such as: - [Ringing/Calls](./core/joining-and-creating-calls/) -- [Requesting and Granting permissions](./ui-cookbook/permission-requests/) +- [Requesting and Granting permissions](./core/permissions-and-moderation/) - [Participants Layout Switching](./ui-cookbook/runtime-layout-switching/) -- Friendly support for [Push notifications](./advanced/push-notifications/setup), [deep linking](./advanced/deeplinking/) and Reconnection of calls. +- Friendly support for [Push notifications](./advanced/push-notifications/overview), [deep linking](./advanced/deeplinking/) and Reconnection of calls. If you feel like anything is missing or could be improved, please don't hesitate to [contact us](https://getstream.io/contact/). We're happy to help. diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/02-installation/01-react-native.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/02-installation/01-react-native.mdx index 92bc7a4922..d15becda05 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/02-installation/01-react-native.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/02-installation/01-react-native.mdx @@ -120,4 +120,4 @@ To enable this feature you need to install the following dependencies: - `@react-native-firebase/app` and `@react-native-firebase/messaging` to receive notifications on Android. - `@react-native-voip-push-notification` to receive notifications on iOS. -More about how to enable this feature can be found [in our push notification guide](../../advanced/push-notifications/setup). +More about how to enable this feature can be found [in our push notification guide](../../../advanced/push-notifications/overview). diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/03-quickstart.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/03-quickstart.mdx index 5fca9e166b..7c06ee6c97 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/03-quickstart.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/01-setup/03-quickstart.mdx @@ -4,7 +4,7 @@ description: For when you're in a hurry and want to quickly get up and running --- In this guide, we will cover the basics of making your first call using Stream Video. -If you haven't already, we recommend starting with the **[introduction](../../)** and **[installation](../installation)** steps first, as this guide will build on the material covered in those sections. +If you haven't already, we recommend starting with the **[introduction](../../)** and **installation**([Native CLI](../installation/react-native) or [Expo](../installation/expo)) steps first, as this guide will build on the material covered in those sections. ## Client setup & Calls @@ -80,10 +80,10 @@ export const MyVideoButton = () => { const { useCameraState } = useCallStateHooks(); const { camera, isMute } = useCameraState(); return ( - + onClick={() => camera.toggle()} + > ); }; @@ -93,8 +93,8 @@ export const MyMicrophoneButton = () => { return ( + onClick={() => microphone.toggle()} + > ); }; ``` @@ -109,4 +109,4 @@ The goal of this library is to make it easy to build any type of video/calling e - Use our library of built-in components. - Mix & Match between your own and built-in components. -If you're using our built-in components, you can easily customize them through theming and props. For creating your own components, the [UI Cookbook section](../../ui-cookbook/overview) is there to help you get started. \ No newline at end of file +If you're using our built-in components, you can easily customize them through theming and props. For creating your own components, the [UI Cookbook section](../../ui-cookbook/overview) is there to help you get started. diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/02-joining-creating-calls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/02-joining-creating-calls.mdx index 65be47c12a..e6b06f7376 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/02-joining-creating-calls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/02-joining-creating-calls.mdx @@ -80,7 +80,7 @@ The caller will automatically join the call once the first callee accepts the ca The calling will automatically stop if all callee rejects the call. :::note -When ring is true, a push notification will be sent to the members, provided their app have the required setup. For more details around push notifications, please check [this page](../../advanced/push-notifications/setup). +When ring is true, a push notification will be sent to the members, provided their app have the required setup. For more details around push notifications, please check [this page](../../advanced/push-notifications/overview). ::: ### Watch for incoming and outgoing calls diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-native-permissions.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-native-permissions.mdx index 2c7d196746..368230cc80 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-native-permissions.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-native-permissions.mdx @@ -11,7 +11,7 @@ Once the function is called, we should see permissions being requested like belo ## Setup -Ensure that relevant permissions are declared in your `AndroidManifest.xml` and `Info.plist` as mentioned in the [installation](../setup/installation/) guide. +Ensure that relevant permissions are declared in your `AndroidManifest.xml` and `Info.plist` as mentioned in the installation([Native CLI](../../setup/installation/react-native) or [Expo](../../setup/installation/expo)) guide. Additionally, to easily request permissions on both platforms, we will use the [`react-native-permissions`](https://github.com/zoontek/react-native-permissions) library. You can run the following command to install it: @@ -20,7 +20,7 @@ yarn add react-native-permissions ``` :::note -Do not forget to perform the additional setup steps for iOS mentioned in the [`react-native-permissions` library documentation](https://github.com/zoontek/react-native-permissions#ios) +Do not forget to perform the additional setup steps for iOS mentioned in the [`react-native-permissions` library documentation](https://github.com/zoontek/react-native-permissions#ios) ::: ## Step 1 - Add a function to request permissions in the app @@ -31,7 +31,6 @@ In this step, we create a function called `requestAndUpdatePermissions`. This fu import { Platform } from 'react-native'; import { PERMISSIONS, requestMultiple } from 'react-native-permissions'; - export const requestAndUpdatePermissions = async () => { if (Platform.OS === 'ios') { // Request camera and mic permissions on iOS @@ -68,10 +67,8 @@ const MyApp = () => { return ( - - {/* You UI */} - + {/* You UI */} ); }; -``` \ No newline at end of file +``` diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/10-reactions-and-custom-events.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/10-reactions-and-custom-events.mdx index 3554a9a47f..c401fc3665 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/10-reactions-and-custom-events.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/10-reactions-and-custom-events.mdx @@ -10,8 +10,7 @@ Custom events let participants send and receive arbitrary WebSocket messages. Fo ## Reactions :::tip -[`CallControls `](../../ui-components/call/call-controls/) utilizes [`ReactionsModal`](../../ui-components/utility/reactions-modal/) and components support reactions out-of-the-box, but for advanced use-cases you can also build your own reaction system. - +[`CallControls `](../../ui-components/call/call-controls/) optionally utilizes [`ReactionsButton`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Call/CallControls/ReactionsButton.tsx) component that support reactions out-of-the-box, but for advanced use-cases you can also build your own reaction system. ::: ### Sending reactions diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/core/stream-call.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/core/stream-call.mdx index 746de14ac6..e94a1ef53a 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/core/stream-call.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/core/stream-call.mdx @@ -3,7 +3,7 @@ id: stream-call title: StreamCall --- -The `` component is a declarative component wrapper around `Call` objects. It utilizes the `StreamCallProvider` to make the [call and its state](../../core/call-and-participant-state/) available to all child components. +The `` component is a declarative component wrapper around `Call` objects. It utilizes the `StreamCallProvider` to make the [call and its state](../../../core/call-and-participant-state/) available to all child components. ## General usage diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/participants/participant-view.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/participants/participant-view.mdx index c17141c84b..84886ad79e 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/participants/participant-view.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/04-ui-components/participants/participant-view.mdx @@ -124,4 +124,4 @@ Our [UI cookbook](../../../ui-cookbook/overview) tells all the important informa - [Network Quality Indicator](../../../ui-cookbook/network-quality-indicator) - [Custom Label](../../../ui-cookbook/participant-label) - [Video Renderer](../../../ui-cookbook/video-renderer) -- [Reactions](../../../ui-cookbook/reaction) +- [Reactions](../../../ui-cookbook/reactions) diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/02-replacing-call-controls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/02-replacing-call-controls.mdx index 1cf3141bdb..7c07d7151b 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/02-replacing-call-controls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/02-replacing-call-controls.mdx @@ -23,7 +23,7 @@ Implementing call controls buttons will often be in reality associated with hand ### Button to accept a call -We will need a call accept button when building an app that makes use of [ring call workflow](../../advanced/ringing). To accept a call we just invoke `call.join()`. So the minimal call accept button could look like this: +We will need a call accept button when building an app that makes use of [ring call workflow](../../core/joining-and-creating-calls/#ring-call). To accept a call we just invoke `call.join()`. So the minimal call accept button could look like this: ```tsx import { Pressable, Text, StyleSheet } from 'react-native'; @@ -105,7 +105,7 @@ const styles = StyleSheet.create({ ### Button to reject a call -We will need a call reject button when building an app that makes use of [ring call workflow](../../advanced/ringing). To reject a call we just invoke `call.leave()` function with an object parameter having key as `reject` and value of it being `true`. So the minimal call reject button could look like this: +We will need a call reject button when building an app that makes use of [ring call workflow](../../core/joining-and-creating-calls/#ring-call). To reject a call we just invoke `call.leave()` function with an object parameter having key as `reject` and value of it being `true`. So the minimal call reject button could look like this: ```tsx import { Pressable, Text, StyleSheet } from 'react-native'; diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/10-network-quality-indicator.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/10-network-quality-indicator.mdx index 9aa20194fa..b0317796d1 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/10-network-quality-indicator.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/10-network-quality-indicator.mdx @@ -18,7 +18,7 @@ In this guide we'll learn how to build and implement our own primitive network q ## Custom Network Quality Indicator -You'll most likely be displaying this indicator component inside each participant view ([Participant](../../ui-components/core/participant)) within a call layout. To achieve the customization you can follow the snippet below: +You'll most likely be displaying this indicator component inside each participant view ([Participant](../../ui-components/participants/participant-view)) within a call layout. To achieve the customization you can follow the snippet below: ![Preview of the Custom Network quality indicator](../assets/05-ui-cookbook/10-network-quality-indicator/network-quality-indicator-custom.png) diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/14-watching-a-livestream.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/14-watching-a-livestream.mdx index c4a96bdec0..f8d2e21a76 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/14-watching-a-livestream.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/05-ui-cookbook/14-watching-a-livestream.mdx @@ -9,7 +9,7 @@ import ViewerLivestreamScreenShare from '../assets/05-ui-cookbook/14-watching-a- The Video API allows you to assign specific roles for users in a livestream, such as hosts and viewers. Our SDK provides dedicated livestreaming components for both of these roles. -The `ViewerLivestream` component leverages the WebRTC protocol for seamless livestream viewing within the SDK. To enable external publishing, you can access HLS credentials from the dashboard. For additional information, please refer to our [livestream tutorial](../../tutorials/livestream). +The `ViewerLivestream` component leverages the WebRTC protocol for seamless livestream viewing within the SDK. To enable external publishing, you can access HLS credentials from the dashboard. For additional information, please refer to our [livestream tutorial](https://getstream.io/video/sdk/reactnative/tutorial/livestreaming/). This guide describes how to customize watching a livestream through our SDK. diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/02-chat-with-video.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/02-chat-with-video.mdx index 8ac7d885dd..4b1fcf5e48 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/02-chat-with-video.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/02-chat-with-video.mdx @@ -213,7 +213,7 @@ The `apiKey`, `userData` and the `tokenProvider` comes up from the `ChatWrapper` ### Step 1: Wrapping the `ChatWrapper` -If we extend our [Video Calling Tutorial](../../tutorials/video-calling/), our `ChatWrapper` component can we wrapped as a parent/child of the `StreamVideo` as: +If we extend our [Video Calling Tutorial](https://getstream.io/video/sdk/reactnative/tutorial/video-calling/), our `ChatWrapper` component can we wrapped as a parent/child of the `StreamVideo` as: ```tsx title="App.tsx" {16,24} import React, { useEffect, useState } from 'react'; @@ -320,7 +320,7 @@ The `ChatButton` component takes up an `onPressHandler`, which is responsible to ![Preview of the call controls with chat button](../assets/06-advanced/02-chat-integration/call-controls-chat.png). -In the VideoCallUI component of our [Video Calling Tutorial](../../tutorials/video-calling/), we will add the above: +In the VideoCallUI component of our [Video Calling Tutorial](https://getstream.io/video/sdk/reactnative/tutorial/video-calling/), we will add the above: ```tsx title="src/components/VideoCallUI.tsx" {13-16,25,35-38,40-42,46} import React from 'react'; @@ -916,7 +916,7 @@ const styles = StyleSheet.create({ ### Step 3: Creating and passing the Video Wrapper -Adhering to the [Getting and Setting the credentials](../../tutorials/video-calling/#step-3---getting-and-setting-the-credentials) step of the [Video Call Tutorial](../../tutorials/video-calling/), we will create a video wrapper that wraps and provides the Stream's Video client to the rest of the app. +Adhering to the [Getting and Setting the credentials](https://getstream.io/video/sdk/reactnative/tutorial/video-calling/#step-3---getting-and-setting-the-credentials) step of the [Video Call Tutorial](https://getstream.io/video/sdk/reactnative/tutorial/video-calling/), we will create a video wrapper that wraps and provides the Stream's Video client to the rest of the app. ```tsx title="src/components/VideoWrapper.tsx" import React, { PropsWithChildren, useEffect, useState } from 'react'; @@ -1221,4 +1221,4 @@ Now that you have the final project for the **Chat in Video** and **Video in Cha If you're looking to explore more Stream Video based topics, we suggest the following to further customize and improve your Video experience: - [Deep Linking Guide](../deeplinking/) - Easily integrate deep linking in your app using the guide. -- [Push Notifications Guide](../push-notifications/) - Every Chat and/or Video app needs Push Notifications to notify users for incoming calls. This guide will teach you how to set up different providers and seamlessly integrate push into your app. +- [Push Notifications Guide](../push-notifications/overview) - Every Chat and/or Video app needs Push Notifications to notify users for incoming calls. This guide will teach you how to set up different providers and seamlessly integrate push into your app. diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx index 091a545bd7..4284bd0f8f 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx @@ -7,18 +7,18 @@ import TabItem from '@theme/TabItem'; This guide discusses how to add push notifications for ringing calls to your project. It will discuss both Android and iOS and go through all the necessary steps. -The normal user experience in a ringing app, when a user receives a call, is to show a push notification. The user can then interact with the notification to accept or reject the call. In this guide, you will learn how to set up your Expo app to get push notifications from Stream for the incoming calls that your user will receive. +The normal user experience in a ringing app, when a user receives a call, is to show a push notification. The user can then interact with the notification to accept or reject the call. In this guide, you will learn how to set up your Expo app to get push notifications from Stream for the incoming calls that your user will receive. -| Android preview | iOS preview | -|---|---| -| ![Android preview of the Firebase push notification](../../../assets/06-advanced/04-push-notifications/android-preview.png) | ![iOS preview of VoIP notification using Apple Push Notification service (APNs)](../../../assets/06-advanced/04-push-notifications/ios-preview.png) +| Android preview | iOS preview | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| ![Android preview of the Firebase push notification](../../../assets/06-advanced/04-push-notifications/android-preview.png) | ![iOS preview of VoIP notification using Apple Push Notification service (APNs)](../../../assets/06-advanced/04-push-notifications/ios-preview.png) | ## Add push provider credentials to Stream Please follow the below guides for adding appropriate push providers to Stream: -- Android - [Firebase Cloud Messaging](../push-providers/firebase/) -- iOS - [Apple Push Notification Service (APNs)](../push-providers/apn-voip/) +- Android - [Firebase Cloud Messaging](../../push-providers/firebase/) +- iOS - [Apple Push Notification Service (APNs)](../../push-providers/apn-voip/) ## Install Dependencies @@ -58,6 +58,7 @@ So what did we install precisely? The **google-services.json** file contains unique and non-secret identifiers of your Firebase project. For more information, see [Understand Firebase Projects](https://firebase.google.com/docs/projects/learn-more#config-files-objects). ::: + ## Add the config plugin properties In **app.json**, in the `plugins` field, add the `ringingPushNotifications` property to the `@stream-io/video-react-native-sdk` plugin. Also, add the `@config-plugins/react-native-callkeep` plugin. @@ -85,7 +86,7 @@ In **app.json**, in the `plugins` field, add the `ringingPushNotifications` prop :::note -- The `disableVideoIos` field is used for apps with audio only calls. Pass true to this property to disable video in iOS [CallKit](https://developer.apple.com/documentation/callkit). +- The `disableVideoIos` field is used for apps with audio only calls. Pass true to this property to disable video in iOS [CallKit](https://developer.apple.com/documentation/callkit). - The `includesCallsInRecentsIos` field is used to show call history. Pass true to show the history of calls made in the iOS native dialer ::: @@ -152,7 +153,7 @@ export function setPushConfig() { // This is the advised importance of receiving incoming call notifications. // This will ensure that the notification will appear on-top-of applications. importance: AndroidImportance.HIGH, - sound: "default", + sound: 'default', }, // configure the functions to create the texts shown in the notification // for incoming calls in Android. @@ -223,4 +224,4 @@ StreamVideoRN.onPushLogout(); - During development, you may be facing a situation where push notification is shown but its events like accepting or rejecting a call don't work. This is because, during hot module reloading the global event listeners may get de-registered. To properly test during development, make sure that you fully restart the app or test in release mode without the metro packager. - You can check the "Webhook & Push Logs" section in the [Stream Dashboard](https://dashboard.getstream.io/) to see if Notifications were sent by Stream. -- If you are still having trouble with Push Notifications, please submit a ticket to us at [support](https://getstream.io/contact/support/). \ No newline at end of file +- If you are still having trouble with Push Notifications, please submit a ticket to us at [support](https://getstream.io/contact/support/). diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/06-broadcasting.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/06-broadcasting.mdx index e70bcd510d..4330921272 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/06-broadcasting.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/06-broadcasting.mdx @@ -14,7 +14,7 @@ We can choose from two approaches to broadcasting the media: It is up to the integrators to decide, what approach will be used in their apps for the audience to consume the streams. :::tip -We have built a [livestream app tutorial](../../tutorials/livestream) that relies on the broadcasting feature. The demo expands on how to implement both, the HLS and the WebRTC approach to streaming. +We have built a [livestream app tutorial](https://getstream.io/video/sdk/reactnative/tutorial/livestreaming/) that relies on the broadcasting feature. The demo expands on how to implement both, the HLS and the WebRTC approach to streaming. ::: ## Call type for broadcasting diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/duration-badge.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/duration-badge.mdx index 30c6eb1397..eba97f5d9d 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/duration-badge.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/duration-badge.mdx @@ -2,4 +2,4 @@ Component to customize the Duration badge component on the viewer's live stream' | Type | Default Value | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`DurationBadge`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamTopView/DurationBadge.tsx) | +| `ComponentType`\| `undefined` | [`DurationBadge`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamTopView/DurationBadge.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/follower-count.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/follower-count.mdx index 31c7533638..4753663cea 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/follower-count.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/follower-count.mdx @@ -2,4 +2,4 @@ Component to customize the Follower count indicator on the viewer's live stream' | Type | Default Value | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`FollowerCount`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamTopView/FollowerCount.tsx) | +| `ComponentType`\| `undefined` | [`FollowerCount`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamTopView/FollowerCount.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-controls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-controls.mdx index 1e49aff0b7..e0318724c0 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-controls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-controls.mdx @@ -2,4 +2,4 @@ Component to customize the bottom view controls at the host's live stream. | Type | Default Value | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `ComponentType`\| `undefined` | [`HostLiveStreamControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamControls/HostLiveStreamControls.tsx) | +| `ComponentType`\| `undefined` | [`HostLiveStreamControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamControls/HostLivestreamControls.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-top-view.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-top-view.mdx index dda72c6121..5c9c9e5ca0 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-top-view.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-livestream-top-view.mdx @@ -2,4 +2,4 @@ Component to customize the top view at the host's live stream. | Type | Default Value | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`HostLiveStreamTopView`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamTopView/HostLiveStreamTopView.tsx) | +| `ComponentType`\| `undefined` | [`HostLiveStreamTopView`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamTopView/HostLivestreamTopView.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-start-stream-button.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-start-stream-button.mdx index 568d3cd1bf..333cf6b8b3 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-start-stream-button.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/host-livestream/host-start-stream-button.mdx @@ -2,4 +2,4 @@ Component to customize the host's start/end live stream button. | Type | Default Value | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`HostStartStreamButton`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamControls/HostStartStreamButton.tsx) | +| `ComponentType`\| `undefined` | [`HostStartStreamButton`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamControls/HostStartStreamButton.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/live-indicator.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/live-indicator.mdx index cb1e0b50bd..22620b5698 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/live-indicator.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/live-indicator.mdx @@ -2,4 +2,4 @@ Component to customize the Live indicator on the viewer's live stream's top view | Type | Default Value | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`LiveIndicator`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamTopView/LiveIndicator.tsx) | +| `ComponentType`\| `undefined` | [`LiveIndicator`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamTopView/LiveIndicator.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-layout.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-layout.mdx index ab97c13000..3eeba9d2b0 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-layout.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-layout.mdx @@ -2,4 +2,4 @@ Component to customize the live stream video layout. | Type | Default Value | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`LiveStreamLayout`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamLayout/LiveStreamLayout.tsx) | +| `ComponentType`\| `undefined` | [`LiveStreamLayout`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-media-controls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-media-controls.mdx index 1debe6c130..20c3aee78d 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-media-controls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/livestream-media-controls.mdx @@ -2,4 +2,4 @@ Component to customize the host's media control(audio/video) buttons. | Type | Default Value | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`LiveStreamMediaControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamControls/LiveStreamMediaControls.tsx) | +| `ComponentType`\| `undefined` | [`LiveStreamMediaControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamControls/LivestreamMediaControls.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-leave-stream-button.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-leave-stream-button.mdx index fbe6f57475..a10851b045 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-leave-stream-button.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-leave-stream-button.mdx @@ -2,4 +2,4 @@ Component to customize the leave stream button for the viewer. | Type | Default Value | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`ViewerLeaveStreamButton`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamControls/ViewerLeaveStreamButton.tsx) | +| `ComponentType`\| `undefined` | [`ViewerLeaveStreamButton`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-controls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-controls.mdx index e1cf0f8864..3141382aab 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-controls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-controls.mdx @@ -2,4 +2,4 @@ Component to customize the bottom view controls at the viewer's live stream. | Type | Default Value | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`ViewerLiveStreamControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamControls/ViewerLiveStreamControls.tsx) | +| `ComponentType`\| `undefined` | [`ViewerLiveStreamControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx) | diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-top-view.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-top-view.mdx index 4ef4e1320a..8e11caee3e 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-top-view.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/common-content/ui-components/livestream/viewer-livestream/viewer-livestream-top-view.mdx @@ -2,4 +2,4 @@ Component to customize the top view at the viewer's live stream. | Type | Default Value | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ComponentType`\| `undefined` | [`ViewerLiveStreamTopView`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LiveStreamTopView/ViewerLiveStreamTopView.tsx) | +| `ComponentType`\| `undefined` | [`ViewerLiveStreamTopView`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.tsx) |