diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index a6e494f812..b2e7548b14 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -18,4 +18,4 @@ body: attributes: label: Proposed solution (optional) description: | - e.g. propose how the configuration of the new feature could look \ No newline at end of file + e.g. propose how the configuration of the new feature could look diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ac6624e262..06f9ef3536 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,6 +7,7 @@ Describe your PR here. Closes #1 ### Before submitting the PR, please take the following into consideration + - [ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. If you don't have an issue, please create one. - [ ] Prefix your PR title with `feat: `, `fix: `, `chore: `, `docs:`, or `refactor:`. - [ ] The description should clearly illustrate what problems it solves. diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8ef3beb160..f0b5906d47 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,13 +9,13 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: 16 - registry-url: https://registry.npmjs.org/ + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: 16 + registry-url: https://registry.npmjs.org/ - - name: npm install, lint - run: | - npm install - npm run lint + - name: npm install, lint + run: | + npm install + npm run lint diff --git a/CHANGELOG.md b/CHANGELOG.md index 63adbafa6a..0abbfb1f53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,847 +1,784 @@ # [1.20.0](https://github.com/dyte-in/docs/compare/v1.19.1...v1.20.0) (2022-07-26) - ### Bug Fixes -* typo for react-sdk name ([a19881c](https://github.com/dyte-in/docs/commit/a19881c9140a8bb2353acf86373a739845144628)) -* **ui:** sections-menu design fixed for version dropdown ([e90f738](https://github.com/dyte-in/docs/commit/e90f73876303a8971f1371899915f96b1c57a36d)) - +- typo for react-sdk name ([a19881c](https://github.com/dyte-in/docs/commit/a19881c9140a8bb2353acf86373a739845144628)) +- **ui:** sections-menu design fixed for version dropdown ([e90f738](https://github.com/dyte-in/docs/commit/e90f73876303a8971f1371899915f96b1c57a36d)) ### Features -* re-added posthog analytics ([e906aa1](https://github.com/dyte-in/docs/commit/e906aa11e27817ba2000f09088f769c68d7973aa)) +- re-added posthog analytics ([e906aa1](https://github.com/dyte-in/docs/commit/e906aa11e27817ba2000f09088f769c68d7973aa)) ## [1.19.1](https://github.com/dyte-in/docs/compare/v1.19.0...v1.19.1) (2022-07-21) - ### Bug Fixes -* broken links and link color in api ref ([adf4de7](https://github.com/dyte-in/docs/commit/adf4de718400cf114bdf7fce4269253b176feb5e)) +- broken links and link color in api ref ([adf4de7](https://github.com/dyte-in/docs/commit/adf4de718400cf114bdf7fce4269253b176feb5e)) # [1.19.0](https://github.com/dyte-in/docs/compare/v1.18.0...v1.19.0) (2022-07-20) - ### Bug Fixes -* added media permission error file ([c6cbf96](https://github.com/dyte-in/docs/commit/c6cbf961422e0dc6e61a8f17bfe817875aaed2b6)) -* added spacing ([6b91a70](https://github.com/dyte-in/docs/commit/6b91a70a02cb32443954b3bf4c95151ce6b5dd39)) -* cz-cli and commitizen ([1b35e51](https://github.com/dyte-in/docs/commit/1b35e512f84f58c605ebf614e224db9f262dcb57)) -* quote the branch name ([058cca6](https://github.com/dyte-in/docs/commit/058cca6b285f71e75ca8e56fef273dd9dda39e09)) -* remove web-core v0.2 ([#38](https://github.com/dyte-in/docs/issues/38)) ([55bb8c7](https://github.com/dyte-in/docs/commit/55bb8c77c387a8b6fa9dc40deb34faf23ad24fec)) -* removed `joined` from meta ([10d4b6f](https://github.com/dyte-in/docs/commit/10d4b6fe67b1f10e3e574df120fb34a5c22cf28f)) -* run action also on push ([ac5b3b4](https://github.com/dyte-in/docs/commit/ac5b3b448d9fcbbb4ebc4426e231d59cced7fdbc)) -* run cron ([a5d508d](https://github.com/dyte-in/docs/commit/a5d508dce4dc6e74b8f6d0dd48874a03f1ee5dc7)) -* sidebars updated, removed warnings ([#41](https://github.com/dyte-in/docs/issues/41)) ([951f1ab](https://github.com/dyte-in/docs/commit/951f1ab2484143536f0e41d6152cbefd0e10895b)) - +- added media permission error file ([c6cbf96](https://github.com/dyte-in/docs/commit/c6cbf961422e0dc6e61a8f17bfe817875aaed2b6)) +- added spacing ([6b91a70](https://github.com/dyte-in/docs/commit/6b91a70a02cb32443954b3bf4c95151ce6b5dd39)) +- cz-cli and commitizen ([1b35e51](https://github.com/dyte-in/docs/commit/1b35e512f84f58c605ebf614e224db9f262dcb57)) +- quote the branch name ([058cca6](https://github.com/dyte-in/docs/commit/058cca6b285f71e75ca8e56fef273dd9dda39e09)) +- remove web-core v0.2 ([#38](https://github.com/dyte-in/docs/issues/38)) ([55bb8c7](https://github.com/dyte-in/docs/commit/55bb8c77c387a8b6fa9dc40deb34faf23ad24fec)) +- removed `joined` from meta ([10d4b6f](https://github.com/dyte-in/docs/commit/10d4b6fe67b1f10e3e574df120fb34a5c22cf28f)) +- run action also on push ([ac5b3b4](https://github.com/dyte-in/docs/commit/ac5b3b448d9fcbbb4ebc4426e231d59cced7fdbc)) +- run cron ([a5d508d](https://github.com/dyte-in/docs/commit/a5d508dce4dc6e74b8f6d0dd48874a03f1ee5dc7)) +- sidebars updated, removed warnings ([#41](https://github.com/dyte-in/docs/issues/41)) ([951f1ab](https://github.com/dyte-in/docs/commit/951f1ab2484143536f0e41d6152cbefd0e10895b)) ### Features -* **recording:** changed recording timeout value ([#43](https://github.com/dyte-in/docs/issues/43)) ([978b0b3](https://github.com/dyte-in/docs/commit/978b0b3962ab35159c2a08597207b8f4f456a030)) -* **webhooks:** Include outputFileName in UPLOADED recording status update webhook ([bf9d60d](https://github.com/dyte-in/docs/commit/bf9d60dc6b5f5e1fbd9bd192fae94ae19a0d39dd)) +- **recording:** changed recording timeout value ([#43](https://github.com/dyte-in/docs/issues/43)) ([978b0b3](https://github.com/dyte-in/docs/commit/978b0b3962ab35159c2a08597207b8f4f456a030)) +- **webhooks:** Include outputFileName in UPLOADED recording status update webhook ([bf9d60d](https://github.com/dyte-in/docs/commit/bf9d60dc6b5f5e1fbd9bd192fae94ae19a0d39dd)) # [1.18.0](https://github.com/dyte-in/docs/compare/v1.17.0...v1.18.0) (2022-07-20) - ### Features -* add react, javascript sections to docsearch to crawl ([7ee93a6](https://github.com/dyte-in/docs/commit/7ee93a62b94f082c68af39bc023f8e83a0a53a8a)) +- add react, javascript sections to docsearch to crawl ([7ee93a6](https://github.com/dyte-in/docs/commit/7ee93a62b94f082c68af39bc023f8e83a0a53a8a)) # [1.17.0](https://github.com/dyte-in/docs/compare/v1.16.0...v1.17.0) (2022-07-18) - ### Bug Fixes -* remove redundant title in homepage ([80b827c](https://github.com/dyte-in/docs/commit/80b827c4bdfaeb1968fc4c703d4f0fcef8d931b7)) - +- remove redundant title in homepage ([80b827c](https://github.com/dyte-in/docs/commit/80b827c4bdfaeb1968fc4c703d4f0fcef8d931b7)) ### Features -* search ([17424d5](https://github.com/dyte-in/docs/commit/17424d5a93196cbc1f4832b331bda3b36146ed80)) -* search crawl action ([00bc234](https://github.com/dyte-in/docs/commit/00bc2341afa6bca0a9532e6d784df761b494ae3a)) +- search ([17424d5](https://github.com/dyte-in/docs/commit/17424d5a93196cbc1f4832b331bda3b36146ed80)) +- search crawl action ([00bc234](https://github.com/dyte-in/docs/commit/00bc2341afa6bca0a9532e6d784df761b494ae3a)) # [1.16.0](https://github.com/dyte-in/docs/compare/v1.15.3...v1.16.0) (2022-07-18) - ### Bug Fixes -* revert needed github workflows ([b6af542](https://github.com/dyte-in/docs/commit/b6af5422bf22244fd9f48314296e51e68079296c)) - +- revert needed github workflows ([b6af542](https://github.com/dyte-in/docs/commit/b6af5422bf22244fd9f48314296e51e68079296c)) ### Features -* new docs update ([f0499d1](https://github.com/dyte-in/docs/commit/f0499d116158d9d4fdac365c17f12abc59c67aa5)) +- new docs update ([f0499d1](https://github.com/dyte-in/docs/commit/f0499d116158d9d4fdac365c17f12abc59c67aa5)) ## [1.15.3](https://github.com/dyte-in/docs/compare/v1.15.2...v1.15.3) (2022-07-05) - ### Bug Fixes -* trailing slash config and paths changed ([edc7915](https://github.com/dyte-in/docs/commit/edc79151f0450fdac63e372d11e2d25cef75dc00)) +- trailing slash config and paths changed ([edc7915](https://github.com/dyte-in/docs/commit/edc79151f0450fdac63e372d11e2d25cef75dc00)) ## [1.15.2](https://github.com/dyte-in/docs/compare/v1.15.1...v1.15.2) (2022-07-04) - ### Bug Fixes -* disable `trailingSlash` ([164825c](https://github.com/dyte-in/docs/commit/164825c65b01d99edc40be3f045c729de3aa21a8)) +- disable `trailingSlash` ([164825c](https://github.com/dyte-in/docs/commit/164825c65b01d99edc40be3f045c729de3aa21a8)) ## [1.15.1](https://github.com/dyte-in/docs/compare/v1.15.0...v1.15.1) (2022-06-27) - ### Bug Fixes -* **content:** fix docs content ([22d2b18](https://github.com/dyte-in/docs/commit/22d2b188e58e1779e52d3f7ad59faaaef647a631)) +- **content:** fix docs content ([22d2b18](https://github.com/dyte-in/docs/commit/22d2b188e58e1779e52d3f7ad59faaaef647a631)) # [1.15.0](https://github.com/dyte-in/docs/compare/v1.14.3...v1.15.0) (2022-06-25) - ### Bug Fixes -* all -> the ([ac7cffa](https://github.com/dyte-in/docs/commit/ac7cffadb3428399964038024a46e5035b5b7ca4)) -* participant docs ([f1a7344](https://github.com/dyte-in/docs/commit/f1a7344eed4645ff552065da1086538a63fedffc)) -* participants documentation ([715af4e](https://github.com/dyte-in/docs/commit/715af4e8b590f0a5f13e4ae9be60337766bde809)) -* recording properties ([99a9d21](https://github.com/dyte-in/docs/commit/99a9d21592e044e2ce4056ad2e435be1206e6bd8)) -* update participant docs ([30249d6](https://github.com/dyte-in/docs/commit/30249d606e65ddb6616b3ce542a299ca3145fed6)) -* update reference for react-native-core and react-web-core ([#31](https://github.com/dyte-in/docs/issues/31)) ([a651305](https://github.com/dyte-in/docs/commit/a651305636557e268c3af068ad948aa27107779f)) -* web-core docs ([#35](https://github.com/dyte-in/docs/issues/35)) ([28ca549](https://github.com/dyte-in/docs/commit/28ca5499e0e1f6aee7ba197afe5a6139a61d1646)), closes [#58](https://github.com/dyte-in/docs/issues/58) [#58](https://github.com/dyte-in/docs/issues/58) - +- all -> the ([ac7cffa](https://github.com/dyte-in/docs/commit/ac7cffadb3428399964038024a46e5035b5b7ca4)) +- participant docs ([f1a7344](https://github.com/dyte-in/docs/commit/f1a7344eed4645ff552065da1086538a63fedffc)) +- participants documentation ([715af4e](https://github.com/dyte-in/docs/commit/715af4e8b590f0a5f13e4ae9be60337766bde809)) +- recording properties ([99a9d21](https://github.com/dyte-in/docs/commit/99a9d21592e044e2ce4056ad2e435be1206e6bd8)) +- update participant docs ([30249d6](https://github.com/dyte-in/docs/commit/30249d606e65ddb6616b3ce542a299ca3145fed6)) +- update reference for react-native-core and react-web-core ([#31](https://github.com/dyte-in/docs/issues/31)) ([a651305](https://github.com/dyte-in/docs/commit/a651305636557e268c3af068ad948aa27107779f)) +- web-core docs ([#35](https://github.com/dyte-in/docs/issues/35)) ([28ca549](https://github.com/dyte-in/docs/commit/28ca5499e0e1f6aee7ba197afe5a6139a61d1646)), closes [#58](https://github.com/dyte-in/docs/issues/58) [#58](https://github.com/dyte-in/docs/issues/58) ### Features -* add workflow to reject pr if api-specs is updated ([39ba452](https://github.com/dyte-in/docs/commit/39ba4529d0ca3a3e28b934f48f706a9f72cb91a7)) -* release web-core 0.27.x ([4a4dcc3](https://github.com/dyte-in/docs/commit/4a4dcc36dabc9206a7231a5f64907bd177082a22)) +- add workflow to reject pr if api-specs is updated ([39ba452](https://github.com/dyte-in/docs/commit/39ba4529d0ca3a3e28b934f48f706a9f72cb91a7)) +- release web-core 0.27.x ([4a4dcc3](https://github.com/dyte-in/docs/commit/4a4dcc36dabc9206a7231a5f64907bd177082a22)) ## [1.14.3](https://github.com/dyte-in/docs/compare/v1.14.2...v1.14.3) (2022-06-24) - ### Bug Fixes -* replace Old SDKs from sidebar ([0d2bff0](https://github.com/dyte-in/docs/commit/0d2bff015eaf3fe172ce833e657f0283c1140368)) +- replace Old SDKs from sidebar ([0d2bff0](https://github.com/dyte-in/docs/commit/0d2bff015eaf3fe172ce833e657f0283c1140368)) ## [1.14.2](https://github.com/dyte-in/docs/compare/v1.14.1...v1.14.2) (2022-06-24) - ### Bug Fixes -* hide old SDKs from the navigation ([2633a15](https://github.com/dyte-in/docs/commit/2633a15a75bca2b3af22e375d3b8f291a78898c9)) -* linting ([bc372a8](https://github.com/dyte-in/docs/commit/bc372a86ada5fc95b290a74b2510bd79281cc287)) -* navbar icon links placement in mobile ([a3b25e9](https://github.com/dyte-in/docs/commit/a3b25e9f9a39ff9c33a1171717eb8fda92346047)) +- hide old SDKs from the navigation ([2633a15](https://github.com/dyte-in/docs/commit/2633a15a75bca2b3af22e375d3b8f291a78898c9)) +- linting ([bc372a8](https://github.com/dyte-in/docs/commit/bc372a86ada5fc95b290a74b2510bd79281cc287)) +- navbar icon links placement in mobile ([a3b25e9](https://github.com/dyte-in/docs/commit/a3b25e9f9a39ff9c33a1171717eb8fda92346047)) ## [1.14.1](https://github.com/dyte-in/docs/compare/v1.14.0...v1.14.1) (2022-06-23) - ### Bug Fixes -* **src/theme/navbar/index.js:** fix the wrong validation for mobile sdks in navbar ([f0a98d6](https://github.com/dyte-in/docs/commit/f0a98d614b64632f3a1144af580159246c31dc42)), closes [#58](https://github.com/dyte-in/docs/issues/58) +- **src/theme/navbar/index.js:** fix the wrong validation for mobile sdks in navbar ([f0a98d6](https://github.com/dyte-in/docs/commit/f0a98d614b64632f3a1144af580159246c31dc42)), closes [#58](https://github.com/dyte-in/docs/issues/58) # [1.14.0](https://github.com/dyte-in/docs/compare/v1.13.1...v1.14.0) (2022-06-16) - ### Bug Fixes -* patch-package for basic auth fields ([6f25082](https://github.com/dyte-in/docs/commit/6f2508283684b2141fdd52223dbf9c3539771199)) - +- patch-package for basic auth fields ([6f25082](https://github.com/dyte-in/docs/commit/6f2508283684b2141fdd52223dbf9c3539771199)) ### Features -* update v2 api spec ([df6dd56](https://github.com/dyte-in/docs/commit/df6dd56832adf6f91f2b1e0001ce2c090a262f8c)) +- update v2 api spec ([df6dd56](https://github.com/dyte-in/docs/commit/df6dd56832adf6f91f2b1e0001ce2c090a262f8c)) ## [1.13.1](https://github.com/dyte-in/docs/compare/v1.13.0...v1.13.1) (2022-06-15) - ### Bug Fixes -* patch-package for Basic Auth Description ([a525172](https://github.com/dyte-in/docs/commit/a5251722ccdc6d543dadac72e56f8b4e49f452fa)) +- patch-package for Basic Auth Description ([a525172](https://github.com/dyte-in/docs/commit/a5251722ccdc6d543dadac72e56f8b4e49f452fa)) # [1.13.0](https://github.com/dyte-in/docs/compare/v1.12.2...v1.13.0) (2022-06-13) - ### Bug Fixes -* remove unused function ([b14a696](https://github.com/dyte-in/docs/commit/b14a6960c8d1acb63d4cdfe18420a554b75c1ae3)) -* update web-core docs to v0.26.0 ([6cb5952](https://github.com/dyte-in/docs/commit/6cb59528267358af8281bc3c43bcec75cb31643e)) -* update web-core docs to v0.26.0 ([bf924a4](https://github.com/dyte-in/docs/commit/bf924a47141fe58ab3cc1389054fc3a1f5353349)) - +- remove unused function ([b14a696](https://github.com/dyte-in/docs/commit/b14a6960c8d1acb63d4cdfe18420a554b75c1ae3)) +- update web-core docs to v0.26.0 ([6cb5952](https://github.com/dyte-in/docs/commit/6cb59528267358af8281bc3c43bcec75cb31643e)) +- update web-core docs to v0.26.0 ([bf924a4](https://github.com/dyte-in/docs/commit/bf924a47141fe58ab3cc1389054fc3a1f5353349)) ### Features -* added docs for version 0.25.x of web-core ([b2479f3](https://github.com/dyte-in/docs/commit/b2479f388499bd898ba63d5f71c74fa870419b80)) +- added docs for version 0.25.x of web-core ([b2479f3](https://github.com/dyte-in/docs/commit/b2479f388499bd898ba63d5f71c74fa870419b80)) ## [1.12.2](https://github.com/dyte-in/docs/compare/v1.12.1...v1.12.2) (2022-06-09) - ### Bug Fixes -* update reference for react-native-core and react-web-core ([3316430](https://github.com/dyte-in/docs/commit/331643034d7935c838f66ca062e82bcd1e701ce5)) +- update reference for react-native-core and react-web-core ([3316430](https://github.com/dyte-in/docs/commit/331643034d7935c838f66ca062e82bcd1e701ce5)) ## [1.12.1](https://github.com/dyte-in/docs/compare/v1.12.0...v1.12.1) (2022-06-09) - ### Bug Fixes -* created versioned docs for 0.24.x ([f39e447](https://github.com/dyte-in/docs/commit/f39e4474ff76e5086bca2f422f18e51497317ab1)) -* **web-core:** update web-core api reference ([5766ac5](https://github.com/dyte-in/docs/commit/5766ac5413e845c14b8bd0bc0e1c4019ebddc157)) +- created versioned docs for 0.24.x ([f39e447](https://github.com/dyte-in/docs/commit/f39e4474ff76e5086bca2f422f18e51497317ab1)) +- **web-core:** update web-core api reference ([5766ac5](https://github.com/dyte-in/docs/commit/5766ac5413e845c14b8bd0bc0e1c4019ebddc157)) # [1.12.0](https://github.com/dyte-in/docs/compare/v1.11.0...v1.12.0) (2022-06-09) - ### Bug Fixes -* add button and small fixes ([69a81c2](https://github.com/dyte-in/docs/commit/69a81c20fd01fb54c9c26d8ec51dc6dec0a4d561)) -* added chat functions ([36961ee](https://github.com/dyte-in/docs/commit/36961eef83076d94ef48cf5534473a1ccfe00857)) -* **build:** add dummy versions to fix build ([286e19f](https://github.com/dyte-in/docs/commit/286e19f15c90b9e5c2163fe0a22a44912b788849)) -* cdn links ([87f2e10](https://github.com/dyte-in/docs/commit/87f2e1068404eefb2b4b8e57dba275cd4181ff52)) -* colors in new web-sdk docs ([ee7bad2](https://github.com/dyte-in/docs/commit/ee7bad246fbb9b18ed0b2ccd339e53a5e5acba01)) -* **constants:** added `,` to remove lint errors ([16d8d70](https://github.com/dyte-in/docs/commit/16d8d70cfac699cf4609dacd76691a691513a67b)) -* docs for local user and participants ([#21](https://github.com/dyte-in/docs/issues/21)) ([1a3c951](https://github.com/dyte-in/docs/commit/1a3c951a5eadbb3170d983e02d75c24c7250ce2c)) -* fetch latest version by default ([d06e09e](https://github.com/dyte-in/docs/commit/d06e09e9d44faa4cfe7bb9f8b954c3da1f97d252)) -* image ([91eaff1](https://github.com/dyte-in/docs/commit/91eaff19a34ca7cbf6965b6098c06eb76eb91fd4)) -* installation ([8ef781f](https://github.com/dyte-in/docs/commit/8ef781fdc729fa0021be9cfb6fbdbca1a5b61529)) -* installation ([d26c59a](https://github.com/dyte-in/docs/commit/d26c59af9b61df13a07314f864f0f951c31caa3a)) -* **installation:** added installation doc ([0dfde20](https://github.com/dyte-in/docs/commit/0dfde207fbf73d67c00d482f495a55d5d71303e7)) -* **localUser:** add documentation for local user ([01684d9](https://github.com/dyte-in/docs/commit/01684d952a4dc9c84834cc7d76213625ec12f518)) -* **localUserDoc:** add documentation for local user ([763b0dd](https://github.com/dyte-in/docs/commit/763b0ddfbf062b05e8952bba67fffcfb2bc98b15)) -* merge upstream ([#30](https://github.com/dyte-in/docs/issues/30)) ([886e36c](https://github.com/dyte-in/docs/commit/886e36c37976fc6ba855e231aa9fdb4afb770098)) -* **newweb:** dual switcher and styling ([de7970a](https://github.com/dyte-in/docs/commit/de7970a2e2161390991b62f34be358da06e75300)) -* quickstart before installation ([7563ddc](https://github.com/dyte-in/docs/commit/7563ddc2129ba821cd7fbfde20817123b5f4601e)) -* redirection ([1e1007a](https://github.com/dyte-in/docs/commit/1e1007a8f6bce4c65a7cc9cccaebefbe82ef5202)) -* remove extra blank line from polls introduction ([1b52f8e](https://github.com/dyte-in/docs/commit/1b52f8e2ad7cd62ae8cef6800ba16ff63454a120)) -* remove random author ([5149bef](https://github.com/dyte-in/docs/commit/5149befeee10ac6b4ea44e3ed6fb0d8d1bc8888b)) -* rename react packages ([f3ec2d1](https://github.com/dyte-in/docs/commit/f3ec2d1795f13b742ba97e6b7245aa09d588f2af)) -* replace atomic design illustration ([3c8f595](https://github.com/dyte-in/docs/commit/3c8f595147417825da7db6aefd54d95d5c06373b)) -* **section-switcher:** update UI and added new pages ([6c08f44](https://github.com/dyte-in/docs/commit/6c08f4411479cc6978ee62ed4881eb8d7e40d7fc)) -* **selector:** removed react-web-core from selector ([b979376](https://github.com/dyte-in/docs/commit/b97937651079af1bc622304977222c3440b0c7b5)) -* **selector:** removed react-web-core from selector ([fe56a96](https://github.com/dyte-in/docs/commit/fe56a9628f00933768b1d00fe639d9844c048bc2)) -* setup sidebar ordering ([0d10fd1](https://github.com/dyte-in/docs/commit/0d10fd15814477e8e377f784d6bad53bb531d4cd)) -* ui-kit installation ([e522e34](https://github.com/dyte-in/docs/commit/e522e34c7dca0430753feee69e8eaa472b937c21)) -* ui-kit quickstart ([b3e5089](https://github.com/dyte-in/docs/commit/b3e5089014495a00535149f52dd686e5bed07aba)) -* ui-kit show usage examples passing peer or meeting objects ([34ec4d0](https://github.com/dyte-in/docs/commit/34ec4d08d356849902068c89b3b97e3ffe3f24e4)) -* update content for poll functions and fix typos ([473b11f](https://github.com/dyte-in/docs/commit/473b11fd1675e25bd12f8103b54368d11515efcb)) -* update docs from web-core ([281609b](https://github.com/dyte-in/docs/commit/281609b6f867b92f81296a6b2a3aa94a45726ad3)) -* update docs to latest release ([327029d](https://github.com/dyte-in/docs/commit/327029db7bee9c78cbbdd84a0ad690db181e2311)) -* update reference in react-web-core ([be83745](https://github.com/dyte-in/docs/commit/be837458ab590d20c2ac629671bae31f842676ee)) -* update ui-kit-react and ui-kit-angular names ([1c6ecfe](https://github.com/dyte-in/docs/commit/1c6ecfefbacd055767eb5167f2782eada72c770a)) -* update web-core reference ([57a2ffd](https://github.com/dyte-in/docs/commit/57a2ffd30991127d55e838094170c4f20ce19b8c)) -* updated web-core reference ([27313ce](https://github.com/dyte-in/docs/commit/27313ce29cebd86f8f4de430ebcf3cab2ddb968b)) -* updated web-core reference ([#13](https://github.com/dyte-in/docs/issues/13)) ([666f4a7](https://github.com/dyte-in/docs/commit/666f4a7dce5297e01b082fb8c49196942e7b334c)) -* use BrowserOnly in Quickstart component ([204811b](https://github.com/dyte-in/docs/commit/204811bbd98b76a176828709a033faf4f7054e01)) -* use local packages for ui-kit and web-core ([5969e5f](https://github.com/dyte-in/docs/commit/5969e5f57885b09283493e1cb28f4eeba8de5af2)) -* warning in SectionSwitchHandler ([4c6770a](https://github.com/dyte-in/docs/commit/4c6770ac1c6ae0ffda9a65b0686e2f273e936ef1)) -* **web-core:** participants ([a8e5142](https://github.com/dyte-in/docs/commit/a8e5142f726daccf1b356ed0a93d4b7326e0c06e)) -* **web-core:** update content for polls ([1b3ade1](https://github.com/dyte-in/docs/commit/1b3ade1132668345e484d2c41a7dfa3a130f282e)) - +- add button and small fixes ([69a81c2](https://github.com/dyte-in/docs/commit/69a81c20fd01fb54c9c26d8ec51dc6dec0a4d561)) +- added chat functions ([36961ee](https://github.com/dyte-in/docs/commit/36961eef83076d94ef48cf5534473a1ccfe00857)) +- **build:** add dummy versions to fix build ([286e19f](https://github.com/dyte-in/docs/commit/286e19f15c90b9e5c2163fe0a22a44912b788849)) +- cdn links ([87f2e10](https://github.com/dyte-in/docs/commit/87f2e1068404eefb2b4b8e57dba275cd4181ff52)) +- colors in new web-sdk docs ([ee7bad2](https://github.com/dyte-in/docs/commit/ee7bad246fbb9b18ed0b2ccd339e53a5e5acba01)) +- **constants:** added `,` to remove lint errors ([16d8d70](https://github.com/dyte-in/docs/commit/16d8d70cfac699cf4609dacd76691a691513a67b)) +- docs for local user and participants ([#21](https://github.com/dyte-in/docs/issues/21)) ([1a3c951](https://github.com/dyte-in/docs/commit/1a3c951a5eadbb3170d983e02d75c24c7250ce2c)) +- fetch latest version by default ([d06e09e](https://github.com/dyte-in/docs/commit/d06e09e9d44faa4cfe7bb9f8b954c3da1f97d252)) +- image ([91eaff1](https://github.com/dyte-in/docs/commit/91eaff19a34ca7cbf6965b6098c06eb76eb91fd4)) +- installation ([8ef781f](https://github.com/dyte-in/docs/commit/8ef781fdc729fa0021be9cfb6fbdbca1a5b61529)) +- installation ([d26c59a](https://github.com/dyte-in/docs/commit/d26c59af9b61df13a07314f864f0f951c31caa3a)) +- **installation:** added installation doc ([0dfde20](https://github.com/dyte-in/docs/commit/0dfde207fbf73d67c00d482f495a55d5d71303e7)) +- **localUser:** add documentation for local user ([01684d9](https://github.com/dyte-in/docs/commit/01684d952a4dc9c84834cc7d76213625ec12f518)) +- **localUserDoc:** add documentation for local user ([763b0dd](https://github.com/dyte-in/docs/commit/763b0ddfbf062b05e8952bba67fffcfb2bc98b15)) +- merge upstream ([#30](https://github.com/dyte-in/docs/issues/30)) ([886e36c](https://github.com/dyte-in/docs/commit/886e36c37976fc6ba855e231aa9fdb4afb770098)) +- **newweb:** dual switcher and styling ([de7970a](https://github.com/dyte-in/docs/commit/de7970a2e2161390991b62f34be358da06e75300)) +- quickstart before installation ([7563ddc](https://github.com/dyte-in/docs/commit/7563ddc2129ba821cd7fbfde20817123b5f4601e)) +- redirection ([1e1007a](https://github.com/dyte-in/docs/commit/1e1007a8f6bce4c65a7cc9cccaebefbe82ef5202)) +- remove extra blank line from polls introduction ([1b52f8e](https://github.com/dyte-in/docs/commit/1b52f8e2ad7cd62ae8cef6800ba16ff63454a120)) +- remove random author ([5149bef](https://github.com/dyte-in/docs/commit/5149befeee10ac6b4ea44e3ed6fb0d8d1bc8888b)) +- rename react packages ([f3ec2d1](https://github.com/dyte-in/docs/commit/f3ec2d1795f13b742ba97e6b7245aa09d588f2af)) +- replace atomic design illustration ([3c8f595](https://github.com/dyte-in/docs/commit/3c8f595147417825da7db6aefd54d95d5c06373b)) +- **section-switcher:** update UI and added new pages ([6c08f44](https://github.com/dyte-in/docs/commit/6c08f4411479cc6978ee62ed4881eb8d7e40d7fc)) +- **selector:** removed react-web-core from selector ([b979376](https://github.com/dyte-in/docs/commit/b97937651079af1bc622304977222c3440b0c7b5)) +- **selector:** removed react-web-core from selector ([fe56a96](https://github.com/dyte-in/docs/commit/fe56a9628f00933768b1d00fe639d9844c048bc2)) +- setup sidebar ordering ([0d10fd1](https://github.com/dyte-in/docs/commit/0d10fd15814477e8e377f784d6bad53bb531d4cd)) +- ui-kit installation ([e522e34](https://github.com/dyte-in/docs/commit/e522e34c7dca0430753feee69e8eaa472b937c21)) +- ui-kit quickstart ([b3e5089](https://github.com/dyte-in/docs/commit/b3e5089014495a00535149f52dd686e5bed07aba)) +- ui-kit show usage examples passing peer or meeting objects ([34ec4d0](https://github.com/dyte-in/docs/commit/34ec4d08d356849902068c89b3b97e3ffe3f24e4)) +- update content for poll functions and fix typos ([473b11f](https://github.com/dyte-in/docs/commit/473b11fd1675e25bd12f8103b54368d11515efcb)) +- update docs from web-core ([281609b](https://github.com/dyte-in/docs/commit/281609b6f867b92f81296a6b2a3aa94a45726ad3)) +- update docs to latest release ([327029d](https://github.com/dyte-in/docs/commit/327029db7bee9c78cbbdd84a0ad690db181e2311)) +- update reference in react-web-core ([be83745](https://github.com/dyte-in/docs/commit/be837458ab590d20c2ac629671bae31f842676ee)) +- update ui-kit-react and ui-kit-angular names ([1c6ecfe](https://github.com/dyte-in/docs/commit/1c6ecfefbacd055767eb5167f2782eada72c770a)) +- update web-core reference ([57a2ffd](https://github.com/dyte-in/docs/commit/57a2ffd30991127d55e838094170c4f20ce19b8c)) +- updated web-core reference ([27313ce](https://github.com/dyte-in/docs/commit/27313ce29cebd86f8f4de430ebcf3cab2ddb968b)) +- updated web-core reference ([#13](https://github.com/dyte-in/docs/issues/13)) ([666f4a7](https://github.com/dyte-in/docs/commit/666f4a7dce5297e01b082fb8c49196942e7b334c)) +- use BrowserOnly in Quickstart component ([204811b](https://github.com/dyte-in/docs/commit/204811bbd98b76a176828709a033faf4f7054e01)) +- use local packages for ui-kit and web-core ([5969e5f](https://github.com/dyte-in/docs/commit/5969e5f57885b09283493e1cb28f4eeba8de5af2)) +- warning in SectionSwitchHandler ([4c6770a](https://github.com/dyte-in/docs/commit/4c6770ac1c6ae0ffda9a65b0686e2f273e936ef1)) +- **web-core:** participants ([a8e5142](https://github.com/dyte-in/docs/commit/a8e5142f726daccf1b356ed0a93d4b7326e0c06e)) +- **web-core:** update content for polls ([1b3ade1](https://github.com/dyte-in/docs/commit/1b3ade1132668345e484d2c41a7dfa3a130f282e)) ### Features -* [WIP] add web-core docs ([872e0b7](https://github.com/dyte-in/docs/commit/872e0b70aa745892970070a2b159bf0920169794)) -* add about page ([d491f84](https://github.com/dyte-in/docs/commit/d491f84b3e4caacc6cd61d1a4d4090243a08145d)) -* add angular quickstart ([a529453](https://github.com/dyte-in/docs/commit/a52945342660e69342843202e26321a2c916cd52)) -* add react native docs ([9a21e8b](https://github.com/dyte-in/docs/commit/9a21e8b23e405b04417172067c9046106193f3a0)) -* autogenerate api docs for web-core ([83a7697](https://github.com/dyte-in/docs/commit/83a76972b6db76bcef1105988000eaadada572c4)) -* copied reference to react-web-core ([7522200](https://github.com/dyte-in/docs/commit/75222002aae08c5aa677647c6060ef456c9ce850)) -* disable angular ui ([716478a](https://github.com/dyte-in/docs/commit/716478a14e5c351ddd8bdf731811da6f483a7543)) -* improve react ui kit docs ([e609b1c](https://github.com/dyte-in/docs/commit/e609b1cd6c22aa17b36ff44c057c95387a5e2927)) -* mock peers in grid ([afe2c5b](https://github.com/dyte-in/docs/commit/afe2c5bd8dda1cbe22d07456d6457c6d8264c994)) -* **polls:** add docs for polls ([ce4e9fb](https://github.com/dyte-in/docs/commit/ce4e9fb3ca6d7987e05222ce687aea7690750f98)) -* **quickstart:** added quickstart page and floating button ([408e81e](https://github.com/dyte-in/docs/commit/408e81ec1f294102d25a58d93aa7d6c92b307df3)) -* react ui kit docs, general fixes ([66ade31](https://github.com/dyte-in/docs/commit/66ade31967ce6b97dd7a5ec9e8a7127d0994a8bd)) -* refactored code, added section handler and sections ([2255383](https://github.com/dyte-in/docs/commit/2255383adcf3842cbbad7d8ecc0aea44a157aa87)) -* **switcher:** rename switcher header, disable selector in core SDK ([b83c32a](https://github.com/dyte-in/docs/commit/b83c32ae531476d3b0eae69964a863a18e02bdbd)) -* **ui-kit:** add ComponentsGrid ([c96c4c9](https://github.com/dyte-in/docs/commit/c96c4c9e09e7f7f8eaaa5ea93aea8a72ef95d1d5)) -* **ui-kit:** restructure docs, add placeholders ([3ed7e8e](https://github.com/dyte-in/docs/commit/3ed7e8e4d1dcd4184910aeecfbc48e531f8cb7e4)) -* **uikit:** add component preview ([dbdc2ea](https://github.com/dyte-in/docs/commit/dbdc2ea6dffd728d4096ae3a9ca6f95ae44a0970)) -* **uikit:** add components page ([8b4dcfd](https://github.com/dyte-in/docs/commit/8b4dcfd3002b936a3fe283acac44e8501e935a49)) -* **uikit:** add preview in quickstart ([845e572](https://github.com/dyte-in/docs/commit/845e5728fb773e84cb9658824d5eec4ae3cd9b69)) -* update docs script ([45b6a8b](https://github.com/dyte-in/docs/commit/45b6a8bdf5ee183088e630c7129d87dbff76c346)) -* update react-web-core API ([47a94ec](https://github.com/dyte-in/docs/commit/47a94ec5c7c11d81e82a84e5798a5ad481467485)) -* **versionedDoc:** add versioned documentation for local user ([64fd05d](https://github.com/dyte-in/docs/commit/64fd05d5533a38c94e23638cb7c822e41e22e4cd)) +- [WIP] add web-core docs ([872e0b7](https://github.com/dyte-in/docs/commit/872e0b70aa745892970070a2b159bf0920169794)) +- add about page ([d491f84](https://github.com/dyte-in/docs/commit/d491f84b3e4caacc6cd61d1a4d4090243a08145d)) +- add angular quickstart ([a529453](https://github.com/dyte-in/docs/commit/a52945342660e69342843202e26321a2c916cd52)) +- add react native docs ([9a21e8b](https://github.com/dyte-in/docs/commit/9a21e8b23e405b04417172067c9046106193f3a0)) +- autogenerate api docs for web-core ([83a7697](https://github.com/dyte-in/docs/commit/83a76972b6db76bcef1105988000eaadada572c4)) +- copied reference to react-web-core ([7522200](https://github.com/dyte-in/docs/commit/75222002aae08c5aa677647c6060ef456c9ce850)) +- disable angular ui ([716478a](https://github.com/dyte-in/docs/commit/716478a14e5c351ddd8bdf731811da6f483a7543)) +- improve react ui kit docs ([e609b1c](https://github.com/dyte-in/docs/commit/e609b1cd6c22aa17b36ff44c057c95387a5e2927)) +- mock peers in grid ([afe2c5b](https://github.com/dyte-in/docs/commit/afe2c5bd8dda1cbe22d07456d6457c6d8264c994)) +- **polls:** add docs for polls ([ce4e9fb](https://github.com/dyte-in/docs/commit/ce4e9fb3ca6d7987e05222ce687aea7690750f98)) +- **quickstart:** added quickstart page and floating button ([408e81e](https://github.com/dyte-in/docs/commit/408e81ec1f294102d25a58d93aa7d6c92b307df3)) +- react ui kit docs, general fixes ([66ade31](https://github.com/dyte-in/docs/commit/66ade31967ce6b97dd7a5ec9e8a7127d0994a8bd)) +- refactored code, added section handler and sections ([2255383](https://github.com/dyte-in/docs/commit/2255383adcf3842cbbad7d8ecc0aea44a157aa87)) +- **switcher:** rename switcher header, disable selector in core SDK ([b83c32a](https://github.com/dyte-in/docs/commit/b83c32ae531476d3b0eae69964a863a18e02bdbd)) +- **ui-kit:** add ComponentsGrid ([c96c4c9](https://github.com/dyte-in/docs/commit/c96c4c9e09e7f7f8eaaa5ea93aea8a72ef95d1d5)) +- **ui-kit:** restructure docs, add placeholders ([3ed7e8e](https://github.com/dyte-in/docs/commit/3ed7e8e4d1dcd4184910aeecfbc48e531f8cb7e4)) +- **uikit:** add component preview ([dbdc2ea](https://github.com/dyte-in/docs/commit/dbdc2ea6dffd728d4096ae3a9ca6f95ae44a0970)) +- **uikit:** add components page ([8b4dcfd](https://github.com/dyte-in/docs/commit/8b4dcfd3002b936a3fe283acac44e8501e935a49)) +- **uikit:** add preview in quickstart ([845e572](https://github.com/dyte-in/docs/commit/845e5728fb773e84cb9658824d5eec4ae3cd9b69)) +- update docs script ([45b6a8b](https://github.com/dyte-in/docs/commit/45b6a8bdf5ee183088e630c7129d87dbff76c346)) +- update react-web-core API ([47a94ec](https://github.com/dyte-in/docs/commit/47a94ec5c7c11d81e82a84e5798a5ad481467485)) +- **versionedDoc:** add versioned documentation for local user ([64fd05d](https://github.com/dyte-in/docs/commit/64fd05d5533a38c94e23638cb7c822e41e22e4cd)) # [1.11.0](https://github.com/dyte-in/docs/compare/v1.10.4...v1.11.0) (2022-06-09) - ### Features -* new SDK docs ([#50](https://github.com/dyte-in/docs/issues/50)) ([1aeacd8](https://github.com/dyte-in/docs/commit/1aeacd8536a1a16a1602dbbc0572c4a5b42ebf4e)) +- new SDK docs ([#50](https://github.com/dyte-in/docs/issues/50)) ([1aeacd8](https://github.com/dyte-in/docs/commit/1aeacd8536a1a16a1602dbbc0572c4a5b42ebf4e)) ## [1.10.4](https://github.com/dyte-in/docs/compare/v1.10.3...v1.10.4) (2022-05-27) - ### Bug Fixes -* **api/v1:** document validation error backend response code as 422 according to changes in backend ([b5162c3](https://github.com/dyte-in/docs/commit/b5162c3cd59f2c30d88b35fefba553e7088b1bd8)) +- **api/v1:** document validation error backend response code as 422 according to changes in backend ([b5162c3](https://github.com/dyte-in/docs/commit/b5162c3cd59f2c30d88b35fefba553e7088b1bd8)) ## [1.10.3](https://github.com/dyte-in/docs/compare/v1.10.2...v1.10.3) (2022-05-13) - ### Bug Fixes -* virtual background docs ([2762f69](https://github.com/dyte-in/docs/commit/2762f6946aba282c1de2df9cfbaf9f94f49333e7)) +- virtual background docs ([2762f69](https://github.com/dyte-in/docs/commit/2762f6946aba282c1de2df9cfbaf9f94f49333e7)) ## [1.10.2](https://github.com/dyte-in/docs/compare/v1.10.1...v1.10.2) (2022-05-07) - ### Bug Fixes -* **livestreaming:** clarify that livestreaming only works for h.264 codec ([d8df6a3](https://github.com/dyte-in/docs/commit/d8df6a3637310062a14fa45eb7115d0c9f67a1e4)) +- **livestreaming:** clarify that livestreaming only works for h.264 codec ([d8df6a3](https://github.com/dyte-in/docs/commit/d8df6a3637310062a14fa45eb7115d0c9f67a1e4)) ## [1.10.1](https://github.com/dyte-in/docs/compare/v1.10.0...v1.10.1) (2022-05-04) - ### Bug Fixes -* **cli:** fix installation instructions for yarn ([#44](https://github.com/dyte-in/docs/issues/44)) ([de0c22a](https://github.com/dyte-in/docs/commit/de0c22a41d924fcbc2f852a31b0488d39674ba25)) +- **cli:** fix installation instructions for yarn ([#44](https://github.com/dyte-in/docs/issues/44)) ([de0c22a](https://github.com/dyte-in/docs/commit/de0c22a41d924fcbc2f852a31b0488d39674ba25)) # [1.10.0](https://github.com/dyte-in/docs/compare/v1.9.0...v1.10.0) (2022-05-04) - ### Features -* **cli:** add a CLI section to the docs ([#43](https://github.com/dyte-in/docs/issues/43)) ([f261d9e](https://github.com/dyte-in/docs/commit/f261d9e5d6d484fa4bf005cae7d490d12bb40677)) +- **cli:** add a CLI section to the docs ([#43](https://github.com/dyte-in/docs/issues/43)) ([f261d9e](https://github.com/dyte-in/docs/commit/f261d9e5d6d484fa4bf005cae7d490d12bb40677)) # [1.9.0](https://github.com/dyte-in/docs/compare/v1.8.0...v1.9.0) (2022-05-04) - ### Features -* **cli:** add a CLI section to the docs ([#42](https://github.com/dyte-in/docs/issues/42)) ([e1a9b50](https://github.com/dyte-in/docs/commit/e1a9b506a26794c1a21867d3067f8505de03344a)) +- **cli:** add a CLI section to the docs ([#42](https://github.com/dyte-in/docs/issues/42)) ([e1a9b50](https://github.com/dyte-in/docs/commit/e1a9b506a26794c1a21867d3067f8505de03344a)) # [1.8.0](https://github.com/dyte-in/docs/compare/v1.7.1...v1.8.0) (2022-05-01) - ### Features -* **meetings:** add recordOnStart to create meeting route ([ae41208](https://github.com/dyte-in/docs/commit/ae412081a35d04d5ff88abc044231bd8238e7317)) +- **meetings:** add recordOnStart to create meeting route ([ae41208](https://github.com/dyte-in/docs/commit/ae412081a35d04d5ff88abc044231bd8238e7317)) ## [1.7.1](https://github.com/dyte-in/docs/compare/v1.7.0...v1.7.1) (2022-04-07) - ### Bug Fixes -* **api:** button placement with announcement ([6b443d6](https://github.com/dyte-in/docs/commit/6b443d6902b57663dfda263e7e08b215bd1c480b)) +- **api:** button placement with announcement ([6b443d6](https://github.com/dyte-in/docs/commit/6b443d6902b57663dfda263e7e08b215bd1c480b)) # [1.7.0](https://github.com/dyte-in/docs/compare/v1.6.2...v1.7.0) (2022-04-07) - ### Features -* add announcement for upcoming sdks ([b9b4ebf](https://github.com/dyte-in/docs/commit/b9b4ebf6fd879e47a887f63d6cfca95fa6891950)) +- add announcement for upcoming sdks ([b9b4ebf](https://github.com/dyte-in/docs/commit/b9b4ebf6fd879e47a887f63d6cfca95fa6891950)) ## [1.6.2](https://github.com/dyte-in/docs/compare/v1.6.1...v1.6.2) (2022-04-06) - ### Bug Fixes -* **flutter:** fixing variable decls, wordings, type, etc ([0dbef27](https://github.com/dyte-in/docs/commit/0dbef27526341032ac8096ca56e5cb527ee3340e)) +- **flutter:** fixing variable decls, wordings, type, etc ([0dbef27](https://github.com/dyte-in/docs/commit/0dbef27526341032ac8096ca56e5cb527ee3340e)) ## [1.6.1](https://github.com/dyte-in/docs/compare/v1.6.0...v1.6.1) (2022-04-06) - ### Bug Fixes -* **plugins:** waitlist Documentation ([#34](https://github.com/dyte-in/docs/issues/34)) ([6f00799](https://github.com/dyte-in/docs/commit/6f0079963584f5e948100c5087cde45cd9fbe28e)) +- **plugins:** waitlist Documentation ([#34](https://github.com/dyte-in/docs/issues/34)) ([6f00799](https://github.com/dyte-in/docs/commit/6f0079963584f5e948100c5087cde45cd9fbe28e)) # [1.6.0](https://github.com/dyte-in/docs/compare/v1.5.0...v1.6.0) (2022-04-06) - ### Bug Fixes -* typo ([0d27263](https://github.com/dyte-in/docs/commit/0d27263f195406f42ad7d3e5ea03d370c12204f3)) -* **web:** hide outdated webinar information ([b63b03a](https://github.com/dyte-in/docs/commit/b63b03aacf04a1ec5c27307ca2c70cc33fb6980e)) -* **web:** put button addition behind meetinJoined event ([2befc7d](https://github.com/dyte-in/docs/commit/2befc7df0298c736527e107bab05425cc2bc30a7)) - +- typo ([0d27263](https://github.com/dyte-in/docs/commit/0d27263f195406f42ad7d3e5ea03d370c12204f3)) +- **web:** hide outdated webinar information ([b63b03a](https://github.com/dyte-in/docs/commit/b63b03aacf04a1ec5c27307ca2c70cc33fb6980e)) +- **web:** put button addition behind meetinJoined event ([2befc7d](https://github.com/dyte-in/docs/commit/2befc7df0298c736527e107bab05425cc2bc30a7)) ### Features -* update web versions ([b01c3a8](https://github.com/dyte-in/docs/commit/b01c3a84406d4ce87026d881d7a19f3996f96a68)) +- update web versions ([b01c3a8](https://github.com/dyte-in/docs/commit/b01c3a84406d4ce87026d881d7a19f3996f96a68)) # [1.5.0](https://github.com/dyte-in/docs/compare/v1.4.2...v1.5.0) (2022-04-06) - ### Bug Fixes -* **api:** show current version in dropdown ([44f982e](https://github.com/dyte-in/docs/commit/44f982e331a91d2824ec800142614821da9ab8e7)) - +- **api:** show current version in dropdown ([44f982e](https://github.com/dyte-in/docs/commit/44f982e331a91d2824ec800142614821da9ab8e7)) ### Features -* add postman collection button for v1 api ([5d62c5d](https://github.com/dyte-in/docs/commit/5d62c5de37541e6cc26a574fe75d5f72a9a1bb6d)) +- add postman collection button for v1 api ([5d62c5d](https://github.com/dyte-in/docs/commit/5d62c5de37541e6cc26a574fe75d5f72a9a1bb6d)) ## [1.4.2](https://github.com/dyte-in/docs/compare/v1.4.1...v1.4.2) (2022-04-06) - ### Bug Fixes -* **introduction:** Cleanup introduction. ([c33e322](https://github.com/dyte-in/docs/commit/c33e3225efd3360ec760e872b0acd44750d78e35)) +- **introduction:** Cleanup introduction. ([c33e322](https://github.com/dyte-in/docs/commit/c33e3225efd3360ec760e872b0acd44750d78e35)) ## [1.4.1](https://github.com/dyte-in/docs/compare/v1.4.0...v1.4.1) (2022-04-06) - ### Bug Fixes -* margin for headings in markdown ([7ccf408](https://github.com/dyte-in/docs/commit/7ccf408f877c28891a3cf9f0e80a507754bfb3d3)) +- margin for headings in markdown ([7ccf408](https://github.com/dyte-in/docs/commit/7ccf408f877c28891a3cf9f0e80a507754bfb3d3)) # [1.4.0](https://github.com/dyte-in/docs/compare/v1.3.3...v1.4.0) (2022-03-28) - ### Features -* **static:** update openapi spec for latest release ([#26](https://github.com/dyte-in/docs/issues/26)) ([2596086](https://github.com/dyte-in/docs/commit/259608649461709f4492063dbcea5f9ca3eca078)) +- **static:** update openapi spec for latest release ([#26](https://github.com/dyte-in/docs/issues/26)) ([2596086](https://github.com/dyte-in/docs/commit/259608649461709f4492063dbcea5f9ca3eca078)) ## [1.3.3](https://github.com/dyte-in/docs/compare/v1.3.2...v1.3.3) (2022-03-17) - ### Bug Fixes -* add default value for totalMinutes to fix stoplight overflow ([ea935ef](https://github.com/dyte-in/docs/commit/ea935ef31fb7510352768e47dce473b708365a05)) +- add default value for totalMinutes to fix stoplight overflow ([ea935ef](https://github.com/dyte-in/docs/commit/ea935ef31fb7510352768e47dce473b708365a05)) ## [1.3.2](https://github.com/dyte-in/docs/compare/v1.3.1...v1.3.2) (2022-03-16) - ### Bug Fixes -* **api:** add default value to all stats api ([a0fc6da](https://github.com/dyte-in/docs/commit/a0fc6da476ccbc8006605139fad808c798ece4ad)) +- **api:** add default value to all stats api ([a0fc6da](https://github.com/dyte-in/docs/commit/a0fc6da476ccbc8006605139fad808c798ece4ad)) ## [1.3.1](https://github.com/dyte-in/docs/compare/v1.3.0...v1.3.1) (2022-03-16) - ### Bug Fixes -* **v1:** document totalMinutes as floating point type instead of integer ([4b06bc2](https://github.com/dyte-in/docs/commit/4b06bc2e6b96ae6b3c6431521e33961cabf92f49)) -* **v1:** revert unrelated changes to upstream ([a76a311](https://github.com/dyte-in/docs/commit/a76a3118cbdfb85245e5a3529f79f9623bc3b2a8)) +- **v1:** document totalMinutes as floating point type instead of integer ([4b06bc2](https://github.com/dyte-in/docs/commit/4b06bc2e6b96ae6b3c6431521e33961cabf92f49)) +- **v1:** revert unrelated changes to upstream ([a76a311](https://github.com/dyte-in/docs/commit/a76a3118cbdfb85245e5a3529f79f9623bc3b2a8)) # [1.3.0](https://github.com/dyte-in/docs/compare/v1.2.1...v1.3.0) (2022-03-12) - ### Features -* **recording:** Add maxSeconds param in startRecording ([04b0103](https://github.com/dyte-in/docs/commit/04b010353ff87ec3699feec21aa357d626054c2f)) +- **recording:** Add maxSeconds param in startRecording ([04b0103](https://github.com/dyte-in/docs/commit/04b010353ff87ec3699feec21aa357d626054c2f)) ## [1.2.1](https://github.com/dyte-in/docs/compare/v1.2.0...v1.2.1) (2022-03-10) - ### Bug Fixes -* restore API spec for livestreams and active-sessions ([#17](https://github.com/dyte-in/docs/issues/17)) ([ced4b89](https://github.com/dyte-in/docs/commit/ced4b897cb11f680fb73c85f3b9443bf85beee8a)) +- restore API spec for livestreams and active-sessions ([#17](https://github.com/dyte-in/docs/issues/17)) ([ced4b89](https://github.com/dyte-in/docs/commit/ced4b897cb11f680fb73c85f3b9443bf85beee8a)) # [1.2.0](https://github.com/dyte-in/docs/compare/v1.1.4...v1.2.0) (2022-03-07) - ### Features -* show `edit this page` and last edited metadata ([c96eb0e](https://github.com/dyte-in/docs/commit/c96eb0ee6f49ed7766529f1a7f06a5caf023ac12)) +- show `edit this page` and last edited metadata ([c96eb0e](https://github.com/dyte-in/docs/commit/c96eb0ee6f49ed7766529f1a7f06a5caf023ac12)) ## [1.1.4](https://github.com/dyte-in/docs/compare/v1.1.3...v1.1.4) (2022-03-06) - ### Bug Fixes -* **codeowners:** updated team names in the repository ([314653a](https://github.com/dyte-in/docs/commit/314653a8eb432af5e0b1ddb67bbd19fffd62424d)) +- **codeowners:** updated team names in the repository ([314653a](https://github.com/dyte-in/docs/commit/314653a8eb432af5e0b1ddb67bbd19fffd62424d)) ## [1.1.3](https://github.com/dyte-in/docs/compare/v1.1.2...v1.1.3) (2022-02-25) - ### Bug Fixes -* **docsearch:** continue on error ([dc2bd9f](https://github.com/dyte-in/docs/commit/dc2bd9f3332b9bf760d2f23071d570c1c9702014)) -* **docsearch:** suppress error for status code 3 ([d86cf78](https://github.com/dyte-in/docs/commit/d86cf78a756a1b5ea54da97e2e1dd9930f8649e7)) +- **docsearch:** continue on error ([dc2bd9f](https://github.com/dyte-in/docs/commit/dc2bd9f3332b9bf760d2f23071d570c1c9702014)) +- **docsearch:** suppress error for status code 3 ([d86cf78](https://github.com/dyte-in/docs/commit/d86cf78a756a1b5ea54da97e2e1dd9930f8649e7)) ## [1.1.2](https://github.com/dyte-in/docs/compare/v1.1.1...v1.1.2) (2022-02-25) - ### Bug Fixes -* **crawl:** -it option fails in CI ([e5a9cc8](https://github.com/dyte-in/docs/commit/e5a9cc87585202e8e4200c7d9bf5fa891f998f16)) +- **crawl:** -it option fails in CI ([e5a9cc8](https://github.com/dyte-in/docs/commit/e5a9cc87585202e8e4200c7d9bf5fa891f998f16)) ## [1.1.1](https://github.com/dyte-in/docs/compare/v1.1.0...v1.1.1) (2022-02-25) - ### Bug Fixes -* **docsearch:** added environment variables for docsearch ([54c6bc1](https://github.com/dyte-in/docs/commit/54c6bc1049720c239fac9a83ac158116d6ce8cf7)) -* **docsearch:** rename environment variables to avoid clashes ([28ae6b7](https://github.com/dyte-in/docs/commit/28ae6b77aa74b969277159a2f32cbac5bbd5772c)) +- **docsearch:** added environment variables for docsearch ([54c6bc1](https://github.com/dyte-in/docs/commit/54c6bc1049720c239fac9a83ac158116d6ce8cf7)) +- **docsearch:** rename environment variables to avoid clashes ([28ae6b7](https://github.com/dyte-in/docs/commit/28ae6b77aa74b969277159a2f32cbac5bbd5772c)) # [1.1.0](https://github.com/dyte-in/docs/compare/v1.0.2...v1.1.0) (2022-02-24) - ### Features -* add usage docs in README ([aa4696a](https://github.com/dyte-in/docs/commit/aa4696ae3a749c31d377e700d620e356deac76b2)) +- add usage docs in README ([aa4696a](https://github.com/dyte-in/docs/commit/aa4696ae3a749c31d377e700d620e356deac76b2)) ## [1.0.2](https://github.com/dyte-in/docs/compare/v1.0.1...v1.0.2) (2022-02-23) - ### Bug Fixes -* lint issues in GridLink ([0696524](https://github.com/dyte-in/docs/commit/0696524d4c04afc83110ce277f1281f92ac7a91f)) +- lint issues in GridLink ([0696524](https://github.com/dyte-in/docs/commit/0696524d4c04afc83110ce277f1281f92ac7a91f)) ## [1.0.1](https://github.com/dyte-in/docs/compare/v1.0.0...v1.0.1) (2022-02-23) - ### Bug Fixes -* **release:** trigger new release ([ea57abe](https://github.com/dyte-in/docs/commit/ea57abe8a5a63cb31a3cc19f88c6680c2ea692ed)) +- **release:** trigger new release ([ea57abe](https://github.com/dyte-in/docs/commit/ea57abe8a5a63cb31a3cc19f88c6680c2ea692ed)) # 1.0.0 (2022-02-23) - ### Bug Fixes -* add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) -* add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) -* **api:** glitch when navigating to /api/ from navbar ([dd891c7](https://github.com/dyte-in/docs/commit/dd891c75d734f200752c4101a405c8255fdbe092)) -* **api:** remove url so support link points to email ([e97aeed](https://github.com/dyte-in/docs/commit/e97aeed892f46ff99fbf59a2238fe09996d4704b)) -* **api:** response codes starting with `4` have a red color ([0be9e00](https://github.com/dyte-in/docs/commit/0be9e00ff44b351be2f918eba4d104619f8384be)) -* **api:** update api reference page design ([ebec7e4](https://github.com/dyte-in/docs/commit/ebec7e453ba03981d12b65373f79733b77d94da0)) -* **api:** updated responses design with color indicators ([e832637](https://github.com/dyte-in/docs/commit/e832637e82dc65338e44812158aa3d6c29c1d681)) -* broken links by typo ([598b0ed](https://github.com/dyte-in/docs/commit/598b0ed1d68186ce1aee01c340521d0a00c43c28)) -* build errors due to ssr for /api ([ea033ea](https://github.com/dyte-in/docs/commit/ea033eaa3d2490791045870d7a292a336b7672e1)) -* build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) -* changed sidebars file for /docs ([2618c70](https://github.com/dyte-in/docs/commit/2618c705489cdce98db3dc08a965a17af0d85809)) -* compress pngs ([fcd60e0](https://github.com/dyte-in/docs/commit/fcd60e04c1264e4e5c8b4efa79c3aa7e42dd82fd)) -* context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) -* context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) -* contextswitcher glitch in /docs fixed ([0e659f2](https://github.com/dyte-in/docs/commit/0e659f2efd98d0048686cb80652909d0c3bdc28e)) -* **crawl:** add `guides` section to crawler ([9eb1ac6](https://github.com/dyte-in/docs/commit/9eb1ac65e233cdf9da40c03eced00701ddc80d26)) -* **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) -* **docs:** add `webinar` doc in guides sidebar ([24e6ae0](https://github.com/dyte-in/docs/commit/24e6ae03aa0fff17d0099327a3a6c5284e83acf7)) -* docsearch final config, updated /api/ path ([e8f730d](https://github.com/dyte-in/docs/commit/e8f730df196ac974ebaeeebbdbb078c090b33afe)) -* **docs:** home description meta tag set properly now ([d9c76f9](https://github.com/dyte-in/docs/commit/d9c76f98b592d06f04042928ed706eb81648d9c1)) -* **docs:** sidebar parity for `docs` and `guides` ([2b9623f](https://github.com/dyte-in/docs/commit/2b9623f96a20f5aa68d788553fb2a9527eae64e9)) -* **docs:** update how-dyte-works.png image 🚀 ([c9cfd6c](https://github.com/dyte-in/docs/commit/c9cfd6c6d7ec39cf05aa1404ef8e98fea9394cc9)) -* **docs:** update meeting-ui images for mobile, add preview image ([8c3c6d3](https://github.com/dyte-in/docs/commit/8c3c6d3b3646e1ac3bc2be1885106fe041a587ad)) -* **docs:** update mobile meeting-ui diagram ([cf12279](https://github.com/dyte-in/docs/commit/cf1227957c526a1287cf1e88430eadadf44ae82b)) -* **docs:** updated images and fixed metadata content ([d7bd790](https://github.com/dyte-in/docs/commit/d7bd790d4c438763eb811ba65c283c8a42363600)) -* enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) -* **flutter:** meeting mdx table methods intendation ([83be068](https://github.com/dyte-in/docs/commit/83be06823cf6dd0dcfad04bbf22743c83ae1f8bd)) -* **flutter:** meeting.mdx methods intendation ([3853f43](https://github.com/dyte-in/docs/commit/3853f43cb51529d7d140c7f3699dc54e273f99d3)) -* **footer:** updated footer text and replaced form with sign up link ([e0f299f](https://github.com/dyte-in/docs/commit/e0f299fb8c1ac63485669c923d7192c04c42688b)) -* **link:** update demo app link to `app.dyte.in` ([24a85f7](https://github.com/dyte-in/docs/commit/24a85f7c45ca0684db55756ef15330fc095313cf)) -* lint issues ([e9f9284](https://github.com/dyte-in/docs/commit/e9f928473afe3ca1de3ea68ef2c7217341d0c75f)) -* make docsearch detect subsections with selectors ([ac55d1d](https://github.com/dyte-in/docs/commit/ac55d1df6ea2053a4a329f2d5fc6b4221ee64dba)) -* make sidebars not collapsible in react, flutter ([2729ddb](https://github.com/dyte-in/docs/commit/2729ddb6f57ea3640463882c8275f31e225f0101)) -* mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) -* now working with older node and with yarn ([36e71f2](https://github.com/dyte-in/docs/commit/36e71f22a51897fe3d054260a784596bfabd2f20)) -* proper links to sample apps ([11cc9d6](https://github.com/dyte-in/docs/commit/11cc9d6ca26436b436418fba227daa3a9d0c6d1a)) -* redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) -* **release:** trigger new release ([031ea20](https://github.com/dyte-in/docs/commit/031ea203e7f693d310bfe9471ff0baee334375c3)) -* remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) -* remove broken link in react-native ([1255656](https://github.com/dyte-in/docs/commit/1255656aed62347529128b8db1fd2479e48a98bc)) -* remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) -* remove navbar lv0 items, update docsearch config ([89e05e2](https://github.com/dyte-in/docs/commit/89e05e2c2fccf8ae61a11ac30a328448874cbcf0)) -* remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) -* removed `next` in prod build, updated docsearch creds ([01c3b43](https://github.com/dyte-in/docs/commit/01c3b430d8ae00db192d0b0c795603fdd71f3b7b)) -* restructure navbar links ([4a945f7](https://github.com/dyte-in/docs/commit/4a945f77b97ac1f2a2d6dabf08f9a2aee7b78ce4)) -* sidebar now sticks again ([ca7423d](https://github.com/dyte-in/docs/commit/ca7423df6633010d14f91992ab813031af1d3585)) -* **stoplight:** remove font size, update package ([2c11e2f](https://github.com/dyte-in/docs/commit/2c11e2f89f4710916b29c1c8311ce42b0ba7c668)) -* tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) -* theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) -* typo ([b3204e1](https://github.com/dyte-in/docs/commit/b3204e19350ecfa924809e153e231ee834ff61db)) -* typo `shownn`, embed code typo ([0ebd057](https://github.com/dyte-in/docs/commit/0ebd057d79bb553b40b8104c2dda1ff40481d0b4)) -* typo in android docs ([cc7883d](https://github.com/dyte-in/docs/commit/cc7883dfa34b088aa764fe45a4c2b1962bbe3512)) -* **ui:** .string color in textrequestbody was not visible ([8f85da2](https://github.com/dyte-in/docs/commit/8f85da28ee634c45ebc3e523e70d44841b52556d)) -* **ui:** add react native icon in getstarted section ([e2854f3](https://github.com/dyte-in/docs/commit/e2854f34909592dc1a594c186da898010e5839f8)) -* **ui:** added hashchange detection in introduction page ([33de9ae](https://github.com/dyte-in/docs/commit/33de9ae85bb8b0f73188916224ad8159affe0bcf)) -* **ui:** added primary-100 for lighter primary shade (navbar) ([19c6737](https://github.com/dyte-in/docs/commit/19c6737eb3c4af9240588df9e9b8b0a58e8ef456)) -* **ui:** alignment of ([f61ef00](https://github.com/dyte-in/docs/commit/f61ef006bd1bcc2e91f8649ad1c9f82ccc985065)) -* **ui:** animate-pulse added for `dot-after` utility class ([093e073](https://github.com/dyte-in/docs/commit/093e07362bda8ceb08368b0b476ff619c205b0b7)) -* **ui:** api ref code color improvements ([3fc917d](https://github.com/dyte-in/docs/commit/3fc917decd13558642874a7877449187a171e63a)) -* **ui:** api reference - added border between right sections, response button ([7a1806c](https://github.com/dyte-in/docs/commit/7a1806cbffc3ea91c747b4cc6e9ea2df78205801)) -* **ui:** api reference border color changed ([1dd181d](https://github.com/dyte-in/docs/commit/1dd181d13a6ae134e4249377d1938e940c6903b6)) -* **ui:** api reference design update, revert css loading ([63cc0dd](https://github.com/dyte-in/docs/commit/63cc0dd02ce401005e9eae45f1abff0a14993823)) -* **ui:** api reference design updates, spacing etc ([fbd8d26](https://github.com/dyte-in/docs/commit/fbd8d262db6ff1e3f8d7c987753e9674237820d6)) -* **ui:** API reference ui customized, search box animated ([23b67df](https://github.com/dyte-in/docs/commit/23b67df842d5d038995de880fd8df8234ae165a0)) -* **ui:** api version switcher design cleanup ([a2f610c](https://github.com/dyte-in/docs/commit/a2f610c44fbf65754a47304d745a5148ec7628cc)) -* **ui:** change highlighted line color ([38794ec](https://github.com/dyte-in/docs/commit/38794ec2b1c48d421beecfb559e3ad232a91bbb6)) -* **ui:** changed API reference code colors ([89be71d](https://github.com/dyte-in/docs/commit/89be71d35cc894daf6169eb36e2e5963e9de60b9)) -* **ui:** changed BlogIcon ([6125911](https://github.com/dyte-in/docs/commit/61259114863968f9a1e998eca13343b046d9e1bc)) -* **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) -* **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) -* **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) -* **ui:** design updates, stoplight sentence case fix ([f8e8751](https://github.com/dyte-in/docs/commit/f8e87512b1e6205fe30a819d96c680f93259528d)) -* **ui:** dropdown design is consistent, added social links ([89d3290](https://github.com/dyte-in/docs/commit/89d3290bbc415b63a947918ea2f4cadbc7c255af)) -* **ui:** font sizes and spacing in elements updated ([e1c3839](https://github.com/dyte-in/docs/commit/e1c3839c0d0af9526e060b62cdb4ca8c0f4aeb45)) -* **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) -* **ui:** hashchange error in mobile fixed ([f365d37](https://github.com/dyte-in/docs/commit/f365d37fe2d9b2ff167bca901a68f450f448c49d)) -* **ui:** hidden version dropdown in mobile sidebar ([eb62e54](https://github.com/dyte-in/docs/commit/eb62e549b1d553b1850262e4394ddedfe4775a2b)) -* **ui:** icon background blended with text ([6351fc4](https://github.com/dyte-in/docs/commit/6351fc401b216a26ad84e4e4067d330d151a8ea9)) -* **ui:** increase base font-size for elements ([5d36c01](https://github.com/dyte-in/docs/commit/5d36c01592295a5e45891a8649221385d9bcd4a3)) -* **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([c60d2b7](https://github.com/dyte-in/docs/commit/c60d2b70bfe35d2f7c859607ec0ac9313d16b333)) -* **ui:** increased space between left sidebar and container in large screens ([45ca0fb](https://github.com/dyte-in/docs/commit/45ca0fb4692de6e9133f39833bf858326505c0f7)) -* **ui:** left and right scrollbar removed, added scrollbar styles ([b576be1](https://github.com/dyte-in/docs/commit/b576be13f303a6e28153e4ccd1af11e22465b302)) -* **ui:** made /api responsive on mobile ([8be458b](https://github.com/dyte-in/docs/commit/8be458bb816ec32a47d9e02adc4caf2210ea311c)) -* **ui:** make scrollbar corner transparent ([4a772d8](https://github.com/dyte-in/docs/commit/4a772d87a65da9b4b23bc32539d8c5e37fe8b068)) -* **ui:** minor ui fixes in API reference ([7f73264](https://github.com/dyte-in/docs/commit/7f732647c6fe3dac119aaecd751d2c0b9271e067)) -* **ui:** move response tab buttons to the right ([f46196c](https://github.com/dyte-in/docs/commit/f46196c73ffd32ddf0be1509518bc992828f5f33)) -* **ui:** now using "Source Sans Pro" and "Source Code Pro" ([30b943b](https://github.com/dyte-in/docs/commit/30b943b6c7fe457a4614921090a5a20b01a1680f)) -* **ui:** padding in mobile reset to default ([b52911f](https://github.com/dyte-in/docs/commit/b52911f9c2cf701c1fb32b1961b7543ad1791f28)) -* **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) -* **ui:** refactored api reference design ([8fc46ed](https://github.com/dyte-in/docs/commit/8fc46ed5e68b89c1b346c4db08da0d7f6e6d1602)) -* **ui:** remove current page highlight from api version switcher ([612681f](https://github.com/dyte-in/docs/commit/612681f419f2370a82279a0032e0aa1bb765e577)) -* **ui:** remove icons from introduction (how to use) ([ce353c7](https://github.com/dyte-in/docs/commit/ce353c7525fb2d016fd51e53b2351c9ffa379a9e)) -* **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) -* **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) -* **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) -* **ui:** typo which hid the hamburger menu in mobile ([100897e](https://github.com/dyte-in/docs/commit/100897e207cb4df0e897931ad0d1f19e2a92137e)) -* **ui:** update footer form ([3d5248f](https://github.com/dyte-in/docs/commit/3d5248f0e06f9d66d7dc6a79cdd7e5970593b83c)) -* **ui:** update footer sign up link design ([5f03e19](https://github.com/dyte-in/docs/commit/5f03e19e92167ef4ec7e52049b8fe526705f088a)) -* **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) -* **ui:** update heading colors for dark mode ([af2ee62](https://github.com/dyte-in/docs/commit/af2ee6218841efcef477a30ce50f67c86ce4ed20)) -* **ui:** update links in footer ([30a06bf](https://github.com/dyte-in/docs/commit/30a06bf51002443d8a0d891dd4e82dd708d75bbb)) -* **ui:** update stoplight elements colors ([e95d0aa](https://github.com/dyte-in/docs/commit/e95d0aabf8125a47b22faf555058f9f9667ef169)) -* **ui:** updated GetStartedCard design ([b9cd653](https://github.com/dyte-in/docs/commit/b9cd6532c6019b682e9702de9c4953ed8aa3a31a)) -* **ui:** updated leading for mobile ([e6313fa](https://github.com/dyte-in/docs/commit/e6313faae88c6c988d9cacb470ba88a773b45ece)) -* **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) -* **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) -* **ui:** use drop-shadow instead of shadow for showcase ([aa8d097](https://github.com/dyte-in/docs/commit/aa8d097629421903f2eb207a8db4a8a9c86e7a75)) -* **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) -* **ui:** using fira sans and fira code ([1a67e90](https://github.com/dyte-in/docs/commit/1a67e90665027991fd72b65b32e06c74e145010e)) -* **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) -* **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) -* update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) -* updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) -* updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) -* updated handlePreferredDoc code, added comments ([221d2d5](https://github.com/dyte-in/docs/commit/221d2d57ed0d4c5649e42e7a1232f2157c41e672)) -* updated sidebar for guides section, design updates ([330952d](https://github.com/dyte-in/docs/commit/330952df634d30d2c988090b697bbf8d36741a8a)) -* use same sidebar content for `guides` and `docs` ([dd13999](https://github.com/dyte-in/docs/commit/dd13999fa7226a5ab323efe0c584abc9dad497f3)) -* **webhooks:** updated docs for organizedBy field in webhook body ([d37cc6b](https://github.com/dyte-in/docs/commit/d37cc6bcc7f040177bdfc6a2b0a2db8d2ab5f3d3)) -* **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) -* **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) -* **web:** setupscreen is true by default ([e780dc8](https://github.com/dyte-in/docs/commit/e780dc82996fda2d0c46bce2a43c80d4fa18640b)) - +- add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) +- add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) +- **api:** glitch when navigating to /api/ from navbar ([dd891c7](https://github.com/dyte-in/docs/commit/dd891c75d734f200752c4101a405c8255fdbe092)) +- **api:** remove url so support link points to email ([e97aeed](https://github.com/dyte-in/docs/commit/e97aeed892f46ff99fbf59a2238fe09996d4704b)) +- **api:** response codes starting with `4` have a red color ([0be9e00](https://github.com/dyte-in/docs/commit/0be9e00ff44b351be2f918eba4d104619f8384be)) +- **api:** update api reference page design ([ebec7e4](https://github.com/dyte-in/docs/commit/ebec7e453ba03981d12b65373f79733b77d94da0)) +- **api:** updated responses design with color indicators ([e832637](https://github.com/dyte-in/docs/commit/e832637e82dc65338e44812158aa3d6c29c1d681)) +- broken links by typo ([598b0ed](https://github.com/dyte-in/docs/commit/598b0ed1d68186ce1aee01c340521d0a00c43c28)) +- build errors due to ssr for /api ([ea033ea](https://github.com/dyte-in/docs/commit/ea033eaa3d2490791045870d7a292a336b7672e1)) +- build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) +- changed sidebars file for /docs ([2618c70](https://github.com/dyte-in/docs/commit/2618c705489cdce98db3dc08a965a17af0d85809)) +- compress pngs ([fcd60e0](https://github.com/dyte-in/docs/commit/fcd60e04c1264e4e5c8b4efa79c3aa7e42dd82fd)) +- context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) +- context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) +- contextswitcher glitch in /docs fixed ([0e659f2](https://github.com/dyte-in/docs/commit/0e659f2efd98d0048686cb80652909d0c3bdc28e)) +- **crawl:** add `guides` section to crawler ([9eb1ac6](https://github.com/dyte-in/docs/commit/9eb1ac65e233cdf9da40c03eced00701ddc80d26)) +- **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) +- **docs:** add `webinar` doc in guides sidebar ([24e6ae0](https://github.com/dyte-in/docs/commit/24e6ae03aa0fff17d0099327a3a6c5284e83acf7)) +- docsearch final config, updated /api/ path ([e8f730d](https://github.com/dyte-in/docs/commit/e8f730df196ac974ebaeeebbdbb078c090b33afe)) +- **docs:** home description meta tag set properly now ([d9c76f9](https://github.com/dyte-in/docs/commit/d9c76f98b592d06f04042928ed706eb81648d9c1)) +- **docs:** sidebar parity for `docs` and `guides` ([2b9623f](https://github.com/dyte-in/docs/commit/2b9623f96a20f5aa68d788553fb2a9527eae64e9)) +- **docs:** update how-dyte-works.png image 🚀 ([c9cfd6c](https://github.com/dyte-in/docs/commit/c9cfd6c6d7ec39cf05aa1404ef8e98fea9394cc9)) +- **docs:** update meeting-ui images for mobile, add preview image ([8c3c6d3](https://github.com/dyte-in/docs/commit/8c3c6d3b3646e1ac3bc2be1885106fe041a587ad)) +- **docs:** update mobile meeting-ui diagram ([cf12279](https://github.com/dyte-in/docs/commit/cf1227957c526a1287cf1e88430eadadf44ae82b)) +- **docs:** updated images and fixed metadata content ([d7bd790](https://github.com/dyte-in/docs/commit/d7bd790d4c438763eb811ba65c283c8a42363600)) +- enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) +- **flutter:** meeting mdx table methods intendation ([83be068](https://github.com/dyte-in/docs/commit/83be06823cf6dd0dcfad04bbf22743c83ae1f8bd)) +- **flutter:** meeting.mdx methods intendation ([3853f43](https://github.com/dyte-in/docs/commit/3853f43cb51529d7d140c7f3699dc54e273f99d3)) +- **footer:** updated footer text and replaced form with sign up link ([e0f299f](https://github.com/dyte-in/docs/commit/e0f299fb8c1ac63485669c923d7192c04c42688b)) +- **link:** update demo app link to `app.dyte.in` ([24a85f7](https://github.com/dyte-in/docs/commit/24a85f7c45ca0684db55756ef15330fc095313cf)) +- lint issues ([e9f9284](https://github.com/dyte-in/docs/commit/e9f928473afe3ca1de3ea68ef2c7217341d0c75f)) +- make docsearch detect subsections with selectors ([ac55d1d](https://github.com/dyte-in/docs/commit/ac55d1df6ea2053a4a329f2d5fc6b4221ee64dba)) +- make sidebars not collapsible in react, flutter ([2729ddb](https://github.com/dyte-in/docs/commit/2729ddb6f57ea3640463882c8275f31e225f0101)) +- mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) +- now working with older node and with yarn ([36e71f2](https://github.com/dyte-in/docs/commit/36e71f22a51897fe3d054260a784596bfabd2f20)) +- proper links to sample apps ([11cc9d6](https://github.com/dyte-in/docs/commit/11cc9d6ca26436b436418fba227daa3a9d0c6d1a)) +- redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) +- **release:** trigger new release ([031ea20](https://github.com/dyte-in/docs/commit/031ea203e7f693d310bfe9471ff0baee334375c3)) +- remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) +- remove broken link in react-native ([1255656](https://github.com/dyte-in/docs/commit/1255656aed62347529128b8db1fd2479e48a98bc)) +- remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) +- remove navbar lv0 items, update docsearch config ([89e05e2](https://github.com/dyte-in/docs/commit/89e05e2c2fccf8ae61a11ac30a328448874cbcf0)) +- remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) +- removed `next` in prod build, updated docsearch creds ([01c3b43](https://github.com/dyte-in/docs/commit/01c3b430d8ae00db192d0b0c795603fdd71f3b7b)) +- restructure navbar links ([4a945f7](https://github.com/dyte-in/docs/commit/4a945f77b97ac1f2a2d6dabf08f9a2aee7b78ce4)) +- sidebar now sticks again ([ca7423d](https://github.com/dyte-in/docs/commit/ca7423df6633010d14f91992ab813031af1d3585)) +- **stoplight:** remove font size, update package ([2c11e2f](https://github.com/dyte-in/docs/commit/2c11e2f89f4710916b29c1c8311ce42b0ba7c668)) +- tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) +- theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) +- typo ([b3204e1](https://github.com/dyte-in/docs/commit/b3204e19350ecfa924809e153e231ee834ff61db)) +- typo `shownn`, embed code typo ([0ebd057](https://github.com/dyte-in/docs/commit/0ebd057d79bb553b40b8104c2dda1ff40481d0b4)) +- typo in android docs ([cc7883d](https://github.com/dyte-in/docs/commit/cc7883dfa34b088aa764fe45a4c2b1962bbe3512)) +- **ui:** .string color in textrequestbody was not visible ([8f85da2](https://github.com/dyte-in/docs/commit/8f85da28ee634c45ebc3e523e70d44841b52556d)) +- **ui:** add react native icon in getstarted section ([e2854f3](https://github.com/dyte-in/docs/commit/e2854f34909592dc1a594c186da898010e5839f8)) +- **ui:** added hashchange detection in introduction page ([33de9ae](https://github.com/dyte-in/docs/commit/33de9ae85bb8b0f73188916224ad8159affe0bcf)) +- **ui:** added primary-100 for lighter primary shade (navbar) ([19c6737](https://github.com/dyte-in/docs/commit/19c6737eb3c4af9240588df9e9b8b0a58e8ef456)) +- **ui:** alignment of ([f61ef00](https://github.com/dyte-in/docs/commit/f61ef006bd1bcc2e91f8649ad1c9f82ccc985065)) +- **ui:** animate-pulse added for `dot-after` utility class ([093e073](https://github.com/dyte-in/docs/commit/093e07362bda8ceb08368b0b476ff619c205b0b7)) +- **ui:** api ref code color improvements ([3fc917d](https://github.com/dyte-in/docs/commit/3fc917decd13558642874a7877449187a171e63a)) +- **ui:** api reference - added border between right sections, response button ([7a1806c](https://github.com/dyte-in/docs/commit/7a1806cbffc3ea91c747b4cc6e9ea2df78205801)) +- **ui:** api reference border color changed ([1dd181d](https://github.com/dyte-in/docs/commit/1dd181d13a6ae134e4249377d1938e940c6903b6)) +- **ui:** api reference design update, revert css loading ([63cc0dd](https://github.com/dyte-in/docs/commit/63cc0dd02ce401005e9eae45f1abff0a14993823)) +- **ui:** api reference design updates, spacing etc ([fbd8d26](https://github.com/dyte-in/docs/commit/fbd8d262db6ff1e3f8d7c987753e9674237820d6)) +- **ui:** API reference ui customized, search box animated ([23b67df](https://github.com/dyte-in/docs/commit/23b67df842d5d038995de880fd8df8234ae165a0)) +- **ui:** api version switcher design cleanup ([a2f610c](https://github.com/dyte-in/docs/commit/a2f610c44fbf65754a47304d745a5148ec7628cc)) +- **ui:** change highlighted line color ([38794ec](https://github.com/dyte-in/docs/commit/38794ec2b1c48d421beecfb559e3ad232a91bbb6)) +- **ui:** changed API reference code colors ([89be71d](https://github.com/dyte-in/docs/commit/89be71d35cc894daf6169eb36e2e5963e9de60b9)) +- **ui:** changed BlogIcon ([6125911](https://github.com/dyte-in/docs/commit/61259114863968f9a1e998eca13343b046d9e1bc)) +- **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) +- **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) +- **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) +- **ui:** design updates, stoplight sentence case fix ([f8e8751](https://github.com/dyte-in/docs/commit/f8e87512b1e6205fe30a819d96c680f93259528d)) +- **ui:** dropdown design is consistent, added social links ([89d3290](https://github.com/dyte-in/docs/commit/89d3290bbc415b63a947918ea2f4cadbc7c255af)) +- **ui:** font sizes and spacing in elements updated ([e1c3839](https://github.com/dyte-in/docs/commit/e1c3839c0d0af9526e060b62cdb4ca8c0f4aeb45)) +- **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) +- **ui:** hashchange error in mobile fixed ([f365d37](https://github.com/dyte-in/docs/commit/f365d37fe2d9b2ff167bca901a68f450f448c49d)) +- **ui:** hidden version dropdown in mobile sidebar ([eb62e54](https://github.com/dyte-in/docs/commit/eb62e549b1d553b1850262e4394ddedfe4775a2b)) +- **ui:** icon background blended with text ([6351fc4](https://github.com/dyte-in/docs/commit/6351fc401b216a26ad84e4e4067d330d151a8ea9)) +- **ui:** increase base font-size for elements ([5d36c01](https://github.com/dyte-in/docs/commit/5d36c01592295a5e45891a8649221385d9bcd4a3)) +- **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([c60d2b7](https://github.com/dyte-in/docs/commit/c60d2b70bfe35d2f7c859607ec0ac9313d16b333)) +- **ui:** increased space between left sidebar and container in large screens ([45ca0fb](https://github.com/dyte-in/docs/commit/45ca0fb4692de6e9133f39833bf858326505c0f7)) +- **ui:** left and right scrollbar removed, added scrollbar styles ([b576be1](https://github.com/dyte-in/docs/commit/b576be13f303a6e28153e4ccd1af11e22465b302)) +- **ui:** made /api responsive on mobile ([8be458b](https://github.com/dyte-in/docs/commit/8be458bb816ec32a47d9e02adc4caf2210ea311c)) +- **ui:** make scrollbar corner transparent ([4a772d8](https://github.com/dyte-in/docs/commit/4a772d87a65da9b4b23bc32539d8c5e37fe8b068)) +- **ui:** minor ui fixes in API reference ([7f73264](https://github.com/dyte-in/docs/commit/7f732647c6fe3dac119aaecd751d2c0b9271e067)) +- **ui:** move response tab buttons to the right ([f46196c](https://github.com/dyte-in/docs/commit/f46196c73ffd32ddf0be1509518bc992828f5f33)) +- **ui:** now using "Source Sans Pro" and "Source Code Pro" ([30b943b](https://github.com/dyte-in/docs/commit/30b943b6c7fe457a4614921090a5a20b01a1680f)) +- **ui:** padding in mobile reset to default ([b52911f](https://github.com/dyte-in/docs/commit/b52911f9c2cf701c1fb32b1961b7543ad1791f28)) +- **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) +- **ui:** refactored api reference design ([8fc46ed](https://github.com/dyte-in/docs/commit/8fc46ed5e68b89c1b346c4db08da0d7f6e6d1602)) +- **ui:** remove current page highlight from api version switcher ([612681f](https://github.com/dyte-in/docs/commit/612681f419f2370a82279a0032e0aa1bb765e577)) +- **ui:** remove icons from introduction (how to use) ([ce353c7](https://github.com/dyte-in/docs/commit/ce353c7525fb2d016fd51e53b2351c9ffa379a9e)) +- **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) +- **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) +- **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) +- **ui:** typo which hid the hamburger menu in mobile ([100897e](https://github.com/dyte-in/docs/commit/100897e207cb4df0e897931ad0d1f19e2a92137e)) +- **ui:** update footer form ([3d5248f](https://github.com/dyte-in/docs/commit/3d5248f0e06f9d66d7dc6a79cdd7e5970593b83c)) +- **ui:** update footer sign up link design ([5f03e19](https://github.com/dyte-in/docs/commit/5f03e19e92167ef4ec7e52049b8fe526705f088a)) +- **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) +- **ui:** update heading colors for dark mode ([af2ee62](https://github.com/dyte-in/docs/commit/af2ee6218841efcef477a30ce50f67c86ce4ed20)) +- **ui:** update links in footer ([30a06bf](https://github.com/dyte-in/docs/commit/30a06bf51002443d8a0d891dd4e82dd708d75bbb)) +- **ui:** update stoplight elements colors ([e95d0aa](https://github.com/dyte-in/docs/commit/e95d0aabf8125a47b22faf555058f9f9667ef169)) +- **ui:** updated GetStartedCard design ([b9cd653](https://github.com/dyte-in/docs/commit/b9cd6532c6019b682e9702de9c4953ed8aa3a31a)) +- **ui:** updated leading for mobile ([e6313fa](https://github.com/dyte-in/docs/commit/e6313faae88c6c988d9cacb470ba88a773b45ece)) +- **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) +- **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) +- **ui:** use drop-shadow instead of shadow for showcase ([aa8d097](https://github.com/dyte-in/docs/commit/aa8d097629421903f2eb207a8db4a8a9c86e7a75)) +- **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) +- **ui:** using fira sans and fira code ([1a67e90](https://github.com/dyte-in/docs/commit/1a67e90665027991fd72b65b32e06c74e145010e)) +- **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) +- **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) +- update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) +- updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) +- updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) +- updated handlePreferredDoc code, added comments ([221d2d5](https://github.com/dyte-in/docs/commit/221d2d57ed0d4c5649e42e7a1232f2157c41e672)) +- updated sidebar for guides section, design updates ([330952d](https://github.com/dyte-in/docs/commit/330952df634d30d2c988090b697bbf8d36741a8a)) +- use same sidebar content for `guides` and `docs` ([dd13999](https://github.com/dyte-in/docs/commit/dd13999fa7226a5ab323efe0c584abc9dad497f3)) +- **webhooks:** updated docs for organizedBy field in webhook body ([d37cc6b](https://github.com/dyte-in/docs/commit/d37cc6bcc7f040177bdfc6a2b0a2db8d2ab5f3d3)) +- **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) +- **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) +- **web:** setupscreen is true by default ([e780dc8](https://github.com/dyte-in/docs/commit/e780dc82996fda2d0c46bce2a43c80d4fa18640b)) ### Features -* add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) -* add crawl script ([74f1454](https://github.com/dyte-in/docs/commit/74f1454761bea056e8753247b0c3999eebefc7b1)) -* add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) -* add embed docs ([b637879](https://github.com/dyte-in/docs/commit/b63787927b8c1b0341128dca265f3a073ba1e198)) -* add fake ios version ([d198019](https://github.com/dyte-in/docs/commit/d198019f3a871c3032ca3b985cffcd9d69b7fea1)) -* add initial redesigned getstarted section ([3709302](https://github.com/dyte-in/docs/commit/37093027d8f65e1c3e9cea0dc5fd3625b435bc5d)) -* add ios updates ([fbfa540](https://github.com/dyte-in/docs/commit/fbfa5406b716577521bdf9012c8d236c0ae38539)) -* add metadata for /api route ([e3265df](https://github.com/dyte-in/docs/commit/e3265df8e176f64ca76f58087dbafc214fdd19d8)) -* add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) -* add setLabel API docs ([158f091](https://github.com/dyte-in/docs/commit/158f0914a9493672c540bfd23df2f65a65dade60)) -* add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) -* add v2 api with version switcher dropdown ([172a025](https://github.com/dyte-in/docs/commit/172a025c177fe2f3c315bababfbc7139451301e7)) -* add videos for mobile and desktop ([f82afde](https://github.com/dyte-in/docs/commit/f82afde49600a775435878fbe527aca4b5cea248)) -* add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([57a05a0](https://github.com/dyte-in/docs/commit/57a05a001d71de5625c599fd1deea18d1670344c)) -* add yellow status color for 5xx response codes ([a0ef927](https://github.com/dyte-in/docs/commit/a0ef92730694fb6344a61a4c5f340085893c6872)) -* added `tailwindcss/nesting` for nested css ([2470b7c](https://github.com/dyte-in/docs/commit/2470b7ca43539906543932451b60cacf8a0b12af)) -* added algolia docsearch code ([14c3092](https://github.com/dyte-in/docs/commit/14c309201539f922d77e40c702700dff3830e287)) -* added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) -* added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) -* added known vector icons issue in docs ([92ed868](https://github.com/dyte-in/docs/commit/92ed868a158278626a5a94e07e3395a7ef4a835c)) -* added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) -* added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) -* added posthog ([499310e](https://github.com/dyte-in/docs/commit/499310e0fcc31bad84c7df07efdd134169aa2d30)) -* added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) -* added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) -* bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) -* **docs:** add steps to write docs in README ([1757190](https://github.com/dyte-in/docs/commit/175719098dcfa507d3b39cb1ba2f779016bf8451)) -* **dx:** add linting: react, prettier ([5a0edb0](https://github.com/dyte-in/docs/commit/5a0edb00b0be6b1fde3df381eded6d368f1fe70c)) -* enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) -* enable search ([3d1d4b1](https://github.com/dyte-in/docs/commit/3d1d4b1440cd58b1a8bec233b6e4031bee461b24)) -* **flutter:** version 0.5.x docs ([b55b0e7](https://github.com/dyte-in/docs/commit/b55b0e7bf5cdbfaab3467faefc3843c20d6675ff)) -* **iframe:** add doc for handling meetingEnded ([e45392e](https://github.com/dyte-in/docs/commit/e45392e71e344654f17a0e0f467ecebbc47b3afb)) -* mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) -* **mobile-sdks:** added localMediaConnected docs ([d94f7f4](https://github.com/dyte-in/docs/commit/d94f7f4a3b60939e3807ebf2f630cad363a36f12)) -* **mobile-sdk:** Updated sdk to latest versions ([01d0920](https://github.com/dyte-in/docs/commit/01d0920fe256a6b6dc3b48e282c9cc03259dd0ad)) -* new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) -* new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) -* now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) -* polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) -* remove blog and add algolia creds ([a731a6a](https://github.com/dyte-in/docs/commit/a731a6a49442311566e8b4e84b7e8e0bb3f8658d)) -* **rn:** update docs for 0.3.0, 0.4.0 ([a16938a](https://github.com/dyte-in/docs/commit/a16938a43d72d2de3a768c8e44740f861b0c1d28)) -* **rn:** update to 13.x, add label docs ([7e8a283](https://github.com/dyte-in/docs/commit/7e8a283200f1129289c8a965da3bafb6a68210fd)) -* set dark mode as default ([ace13ad](https://github.com/dyte-in/docs/commit/ace13addcd17275547e297edce6a1a679dd2cd15)) -* **ui:** added dot-after utility for adding a dot after an element ([f056bc8](https://github.com/dyte-in/docs/commit/f056bc8b6efaabaf95951c027a5aaf23a350218a)) -* update api v1 with webhook `enabled` field ([94141e6](https://github.com/dyte-in/docs/commit/94141e6bab5249c5765b6730f1b467bdf6e5986b)) -* update docs according to release and version number ([649943d](https://github.com/dyte-in/docs/commit/649943d15c53b7a958c4e1d6809409fb6ea89353)) -* update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) -* upgrade `tailwindcss` to `3.0.19` ([2c088ec](https://github.com/dyte-in/docs/commit/2c088ec630f3041f17954b9979b4bcd465323b12)) -* use `groupId` to group `Tabs` selections ([ea3d967](https://github.com/dyte-in/docs/commit/ea3d967a876778d2167b7c4e5f1ccadd9f5d9765)) -* version updates ([78ab521](https://github.com/dyte-in/docs/commit/78ab52102f09f97931f3a93639eac9a9565c8007)) -* **web:** i18n support ([fd042c8](https://github.com/dyte-in/docs/commit/fd042c8893491daf9fe4ff47e926f7798192e37b)) -* **websdk:** update to 0.19.x ([76add80](https://github.com/dyte-in/docs/commit/76add80271c60585e8a78fda3be8a0b909b9dfd3)) +- add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) +- add crawl script ([74f1454](https://github.com/dyte-in/docs/commit/74f1454761bea056e8753247b0c3999eebefc7b1)) +- add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) +- add embed docs ([b637879](https://github.com/dyte-in/docs/commit/b63787927b8c1b0341128dca265f3a073ba1e198)) +- add fake ios version ([d198019](https://github.com/dyte-in/docs/commit/d198019f3a871c3032ca3b985cffcd9d69b7fea1)) +- add initial redesigned getstarted section ([3709302](https://github.com/dyte-in/docs/commit/37093027d8f65e1c3e9cea0dc5fd3625b435bc5d)) +- add ios updates ([fbfa540](https://github.com/dyte-in/docs/commit/fbfa5406b716577521bdf9012c8d236c0ae38539)) +- add metadata for /api route ([e3265df](https://github.com/dyte-in/docs/commit/e3265df8e176f64ca76f58087dbafc214fdd19d8)) +- add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) +- add setLabel API docs ([158f091](https://github.com/dyte-in/docs/commit/158f0914a9493672c540bfd23df2f65a65dade60)) +- add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) +- add v2 api with version switcher dropdown ([172a025](https://github.com/dyte-in/docs/commit/172a025c177fe2f3c315bababfbc7139451301e7)) +- add videos for mobile and desktop ([f82afde](https://github.com/dyte-in/docs/commit/f82afde49600a775435878fbe527aca4b5cea248)) +- add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([57a05a0](https://github.com/dyte-in/docs/commit/57a05a001d71de5625c599fd1deea18d1670344c)) +- add yellow status color for 5xx response codes ([a0ef927](https://github.com/dyte-in/docs/commit/a0ef92730694fb6344a61a4c5f340085893c6872)) +- added `tailwindcss/nesting` for nested css ([2470b7c](https://github.com/dyte-in/docs/commit/2470b7ca43539906543932451b60cacf8a0b12af)) +- added algolia docsearch code ([14c3092](https://github.com/dyte-in/docs/commit/14c309201539f922d77e40c702700dff3830e287)) +- added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) +- added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) +- added known vector icons issue in docs ([92ed868](https://github.com/dyte-in/docs/commit/92ed868a158278626a5a94e07e3395a7ef4a835c)) +- added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) +- added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) +- added posthog ([499310e](https://github.com/dyte-in/docs/commit/499310e0fcc31bad84c7df07efdd134169aa2d30)) +- added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) +- added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) +- bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) +- **docs:** add steps to write docs in README ([1757190](https://github.com/dyte-in/docs/commit/175719098dcfa507d3b39cb1ba2f779016bf8451)) +- **dx:** add linting: react, prettier ([5a0edb0](https://github.com/dyte-in/docs/commit/5a0edb00b0be6b1fde3df381eded6d368f1fe70c)) +- enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) +- enable search ([3d1d4b1](https://github.com/dyte-in/docs/commit/3d1d4b1440cd58b1a8bec233b6e4031bee461b24)) +- **flutter:** version 0.5.x docs ([b55b0e7](https://github.com/dyte-in/docs/commit/b55b0e7bf5cdbfaab3467faefc3843c20d6675ff)) +- **iframe:** add doc for handling meetingEnded ([e45392e](https://github.com/dyte-in/docs/commit/e45392e71e344654f17a0e0f467ecebbc47b3afb)) +- mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) +- **mobile-sdks:** added localMediaConnected docs ([d94f7f4](https://github.com/dyte-in/docs/commit/d94f7f4a3b60939e3807ebf2f630cad363a36f12)) +- **mobile-sdk:** Updated sdk to latest versions ([01d0920](https://github.com/dyte-in/docs/commit/01d0920fe256a6b6dc3b48e282c9cc03259dd0ad)) +- new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) +- new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) +- now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) +- polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) +- remove blog and add algolia creds ([a731a6a](https://github.com/dyte-in/docs/commit/a731a6a49442311566e8b4e84b7e8e0bb3f8658d)) +- **rn:** update docs for 0.3.0, 0.4.0 ([a16938a](https://github.com/dyte-in/docs/commit/a16938a43d72d2de3a768c8e44740f861b0c1d28)) +- **rn:** update to 13.x, add label docs ([7e8a283](https://github.com/dyte-in/docs/commit/7e8a283200f1129289c8a965da3bafb6a68210fd)) +- set dark mode as default ([ace13ad](https://github.com/dyte-in/docs/commit/ace13addcd17275547e297edce6a1a679dd2cd15)) +- **ui:** added dot-after utility for adding a dot after an element ([f056bc8](https://github.com/dyte-in/docs/commit/f056bc8b6efaabaf95951c027a5aaf23a350218a)) +- update api v1 with webhook `enabled` field ([94141e6](https://github.com/dyte-in/docs/commit/94141e6bab5249c5765b6730f1b467bdf6e5986b)) +- update docs according to release and version number ([649943d](https://github.com/dyte-in/docs/commit/649943d15c53b7a958c4e1d6809409fb6ea89353)) +- update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) +- upgrade `tailwindcss` to `3.0.19` ([2c088ec](https://github.com/dyte-in/docs/commit/2c088ec630f3041f17954b9979b4bcd465323b12)) +- use `groupId` to group `Tabs` selections ([ea3d967](https://github.com/dyte-in/docs/commit/ea3d967a876778d2167b7c4e5f1ccadd9f5d9765)) +- version updates ([78ab521](https://github.com/dyte-in/docs/commit/78ab52102f09f97931f3a93639eac9a9565c8007)) +- **web:** i18n support ([fd042c8](https://github.com/dyte-in/docs/commit/fd042c8893491daf9fe4ff47e926f7798192e37b)) +- **websdk:** update to 0.19.x ([76add80](https://github.com/dyte-in/docs/commit/76add80271c60585e8a78fda3be8a0b909b9dfd3)) # 1.0.0 (2022-02-22) - ### Bug Fixes -* add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) -* add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) -* **api:** glitch when navigating to /api/ from navbar ([51d97ac](https://github.com/dyte-in/docs/commit/51d97ac1e50dcdd33d7d77ff265e96168e66a027)) -* **api:** remove url so support link points to email ([b79beea](https://github.com/dyte-in/docs/commit/b79beea3114a0b8e768974f894f64dd3397a3b02)) -* **api:** response codes starting with `4` have a red color ([8d2499a](https://github.com/dyte-in/docs/commit/8d2499ad09bc5274059c37f657acb30b10aea8b4)) -* **api:** update api reference page design ([4e2b3d4](https://github.com/dyte-in/docs/commit/4e2b3d407aae4e1ada41d19a624d88b6225c3fbb)) -* **api:** updated responses design with color indicators ([fcd6b0a](https://github.com/dyte-in/docs/commit/fcd6b0a497c1ff6299e1f4dffd5a148a8effa3d0)) -* broken links by typo ([fff68a1](https://github.com/dyte-in/docs/commit/fff68a1e42f4f0b0e87fb33dcad092c13a925e20)) -* build errors due to ssr for /api ([d2881a7](https://github.com/dyte-in/docs/commit/d2881a741dcb20215db397f95ece7ec524b00232)) -* build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) -* changed sidebars file for /docs ([773e065](https://github.com/dyte-in/docs/commit/773e065394c09f73433552f91109352497058dc4)) -* compress pngs ([68d5741](https://github.com/dyte-in/docs/commit/68d57417dc8796c597c06fce257931606c70832a)) -* context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) -* context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) -* contextswitcher glitch in /docs fixed ([6c18f9d](https://github.com/dyte-in/docs/commit/6c18f9d7b5ec5d0dcc027215aea7fa1b2448e755)) -* **crawl:** add `guides` section to crawler ([62b8ee4](https://github.com/dyte-in/docs/commit/62b8ee47690e0bdcf0376dbd5c6db3e31adf4735)) -* **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) -* **docs:** add `webinar` doc in guides sidebar ([a15816f](https://github.com/dyte-in/docs/commit/a15816f18fb0277c7905b2120c1c376c5afa3a8b)) -* docsearch final config, updated /api/ path ([93bc744](https://github.com/dyte-in/docs/commit/93bc74458fec1b0dd3ad377182b3241cf592860d)) -* **docs:** home description meta tag set properly now ([a4f6d69](https://github.com/dyte-in/docs/commit/a4f6d699ddd48d3323225917515c5c9e32f7991c)) -* **docs:** sidebar parity for `docs` and `guides` ([2e82ffd](https://github.com/dyte-in/docs/commit/2e82ffd9f5eac0342b9b45aafb15b7a1c93ec358)) -* **docs:** update how-dyte-works.png image 🚀 ([ced66d0](https://github.com/dyte-in/docs/commit/ced66d044082467236c298324a6ab3a5ed7fc546)) -* **docs:** update meeting-ui images for mobile, add preview image ([0449a72](https://github.com/dyte-in/docs/commit/0449a72066c930b230e534e5a7377f611426b023)) -* **docs:** update mobile meeting-ui diagram ([d92138b](https://github.com/dyte-in/docs/commit/d92138bac6052717895d118614a80cde0dcda061)) -* **docs:** updated images and fixed metadata content ([e54cc7a](https://github.com/dyte-in/docs/commit/e54cc7a35c055867ed73907f73d9290a0ecf4a9b)) -* enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) -* **flutter:** meeting mdx table methods intendation ([c3d8fbf](https://github.com/dyte-in/docs/commit/c3d8fbfa01c0b24755047baeec6cf4deda485c2f)) -* **flutter:** meeting.mdx methods intendation ([336c8be](https://github.com/dyte-in/docs/commit/336c8bee42ec214813d2682f0099a74ebce5cd9d)) -* **footer:** updated footer text and replaced form with sign up link ([e7aa701](https://github.com/dyte-in/docs/commit/e7aa701d0a4438c38ba84f303df98d9326b16e79)) -* **link:** update demo app link to `app.dyte.in` ([1164181](https://github.com/dyte-in/docs/commit/1164181a1e0712fbfac529bbbd076a2795364205)) -* make docsearch detect subsections with selectors ([2872783](https://github.com/dyte-in/docs/commit/2872783011f95a40e15222ea2509d39062f1dfef)) -* make sidebars not collapsible in react, flutter ([4fd70e0](https://github.com/dyte-in/docs/commit/4fd70e0d67cd17b6a3f76c2bf5bdd5606fed1f59)) -* mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) -* now working with older node and with yarn ([279cff9](https://github.com/dyte-in/docs/commit/279cff99f50b39e5e84aaa9194f19fa1993866c0)) -* proper links to sample apps ([067ace0](https://github.com/dyte-in/docs/commit/067ace06c9d6a5802d40c264041cf63d374c8275)) -* redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) -* remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) -* remove broken link in react-native ([f4602a7](https://github.com/dyte-in/docs/commit/f4602a763f0fb2be7f32d9d04b25b34f2b747fcd)) -* remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) -* remove navbar lv0 items, update docsearch config ([7cb9483](https://github.com/dyte-in/docs/commit/7cb94837fb5f3b1ad31708ee55e3a6aec9be2fe9)) -* remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) -* removed `next` in prod build, updated docsearch creds ([29cbf81](https://github.com/dyte-in/docs/commit/29cbf817fe4cb9a0c7942ae7469cd37191024fea)) -* restructure navbar links ([e3ec2ce](https://github.com/dyte-in/docs/commit/e3ec2cefbe8378fe909e2d4d7c7927e99652ee42)) -* sidebar now sticks again ([c20d7d7](https://github.com/dyte-in/docs/commit/c20d7d76500caa836812697ccc36c48b140e5a73)) -* **stoplight:** remove font size, update package ([1a2e1cf](https://github.com/dyte-in/docs/commit/1a2e1cf2e71116ef1de93897171c64f586fa5f29)) -* tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) -* theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) -* typo ([86542c7](https://github.com/dyte-in/docs/commit/86542c7104984d4b8400f114647895ad50e8e2af)) -* typo `shownn`, embed code typo ([190d1d7](https://github.com/dyte-in/docs/commit/190d1d7fb57233f838a71dbb5f78fb2b1eb07d43)) -* typo in android docs ([96cfd7f](https://github.com/dyte-in/docs/commit/96cfd7f0b77d2210e06cc4a2b8e4244697dffb6a)) -* **ui:** .string color in textrequestbody was not visible ([e2c8507](https://github.com/dyte-in/docs/commit/e2c850784e2c94884a9a216f4feb4536c29a0fb9)) -* **ui:** add react native icon in getstarted section ([b1e646a](https://github.com/dyte-in/docs/commit/b1e646aad014155247286219b71b84af163079b2)) -* **ui:** added hashchange detection in introduction page ([99b1324](https://github.com/dyte-in/docs/commit/99b1324b3cabb5f9efd56c271a1411949bfae2f5)) -* **ui:** added primary-100 for lighter primary shade (navbar) ([107f9f9](https://github.com/dyte-in/docs/commit/107f9f95a0874cef5ee1e9b24f65860f8f5fe067)) -* **ui:** alignment of ([3ffd379](https://github.com/dyte-in/docs/commit/3ffd37946497069714010f95788ce248be27e1a8)) -* **ui:** animate-pulse added for `dot-after` utility class ([4a0d955](https://github.com/dyte-in/docs/commit/4a0d955c8f0f2e1778d4a6394174180b70f2bb76)) -* **ui:** api ref code color improvements ([fc1a571](https://github.com/dyte-in/docs/commit/fc1a57194da88e7c2ca4cf9a2cc7d7aae4b90880)) -* **ui:** api reference - added border between right sections, response button ([f726f84](https://github.com/dyte-in/docs/commit/f726f84773f6397c53c8dc8c0b9c12e63c515733)) -* **ui:** api reference border color changed ([67e9df8](https://github.com/dyte-in/docs/commit/67e9df84a5089fecbf4852a914e8654a842d6eb0)) -* **ui:** api reference design update, revert css loading ([9ca2715](https://github.com/dyte-in/docs/commit/9ca27153d7f058a221413eaf409f5ac178250351)) -* **ui:** api reference design updates, spacing etc ([932d821](https://github.com/dyte-in/docs/commit/932d8216c054071cf7eb7c738651a0daac6a7a70)) -* **ui:** API reference ui customized, search box animated ([be73dbe](https://github.com/dyte-in/docs/commit/be73dbe53bca4897187f8599fb0563b071ec3d84)) -* **ui:** api version switcher design cleanup ([0af13eb](https://github.com/dyte-in/docs/commit/0af13eb60cc6dadee39420fbc6e9c2f9923b6021)) -* **ui:** change highlighted line color ([d1845b5](https://github.com/dyte-in/docs/commit/d1845b561f2424b24e858a75041e6ea2bb5f9214)) -* **ui:** changed API reference code colors ([6a8ca3c](https://github.com/dyte-in/docs/commit/6a8ca3ccde34f172d4328fc489bad8169a8d08bd)) -* **ui:** changed BlogIcon ([86d2beb](https://github.com/dyte-in/docs/commit/86d2bebdddab3d2368589f1e60aa251146be1007)) -* **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) -* **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) -* **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) -* **ui:** design updates, stoplight sentence case fix ([4617fbc](https://github.com/dyte-in/docs/commit/4617fbc737f43c7b5d0993f6def9ad17e34636fd)) -* **ui:** dropdown design is consistent, added social links ([cea8eb2](https://github.com/dyte-in/docs/commit/cea8eb2a19defc752beba0084bd9a899e54e9c94)) -* **ui:** font sizes and spacing in elements updated ([649ad2a](https://github.com/dyte-in/docs/commit/649ad2a6358b2a97ee5c712d78a261376e45fa90)) -* **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) -* **ui:** hashchange error in mobile fixed ([42f995a](https://github.com/dyte-in/docs/commit/42f995a541040808bb6dd90694101d1e07c9074b)) -* **ui:** hidden version dropdown in mobile sidebar ([122bbda](https://github.com/dyte-in/docs/commit/122bbda019f9ee8f3d0f1f4f38d4c30a0ac19846)) -* **ui:** icon background blended with text ([c0c501b](https://github.com/dyte-in/docs/commit/c0c501b841d15e3b4254288133bfbcbc6d4f9bcb)) -* **ui:** increase base font-size for elements ([c173a7e](https://github.com/dyte-in/docs/commit/c173a7e855470d321ef09fa08d21fdbdc5ed9ed8)) -* **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([aaa2008](https://github.com/dyte-in/docs/commit/aaa2008f7dc109678a2de6eaed23219cf871db91)) -* **ui:** increased space between left sidebar and container in large screens ([a603bf8](https://github.com/dyte-in/docs/commit/a603bf82a211d2569e8af4b389f24490161171be)) -* **ui:** left and right scrollbar removed, added scrollbar styles ([5b1cbf8](https://github.com/dyte-in/docs/commit/5b1cbf8036d161e43a088faa793edcc011747beb)) -* **ui:** made /api responsive on mobile ([3684efe](https://github.com/dyte-in/docs/commit/3684efe44804285eae87e0931b144dbc09fc5a5e)) -* **ui:** make scrollbar corner transparent ([803ef8a](https://github.com/dyte-in/docs/commit/803ef8a68d551f8eee6c532db47ca618acd48a5c)) -* **ui:** minor ui fixes in API reference ([15e7819](https://github.com/dyte-in/docs/commit/15e78194ccc18e1c3f77258f4c0d31c1cc2ce2de)) -* **ui:** move response tab buttons to the right ([a78610e](https://github.com/dyte-in/docs/commit/a78610e42a8a58aa70563c0b051110bab59b79db)) -* **ui:** now using "Source Sans Pro" and "Source Code Pro" ([6830377](https://github.com/dyte-in/docs/commit/6830377a8fcaa1ac5a73aa47f7cd77f7f2cda206)) -* **ui:** padding in mobile reset to default ([8aea5e2](https://github.com/dyte-in/docs/commit/8aea5e2d5af792c54285c20d8c3f58fc1e076c4a)) -* **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) -* **ui:** refactored api reference design ([9d5e8aa](https://github.com/dyte-in/docs/commit/9d5e8aa51d8a7fb677333bfe47eb7c597c82f537)) -* **ui:** remove current page highlight from api version switcher ([e164a96](https://github.com/dyte-in/docs/commit/e164a96cffb663a2de196e13cebdfa24a67a4294)) -* **ui:** remove icons from introduction (how to use) ([a4ea8b9](https://github.com/dyte-in/docs/commit/a4ea8b902698746d0fbab6525fdaf0ff17982cdb)) -* **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) -* **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) -* **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) -* **ui:** typo which hid the hamburger menu in mobile ([e92ac01](https://github.com/dyte-in/docs/commit/e92ac01daf0d75cb16126dcbbac83d65388d4ebc)) -* **ui:** update footer form ([8682240](https://github.com/dyte-in/docs/commit/8682240cfb74d278d6bd943cb1630ff9c2ee0328)) -* **ui:** update footer sign up link design ([079ebc4](https://github.com/dyte-in/docs/commit/079ebc4175ef08aea9143f31e1e8e68e932f6b58)) -* **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) -* **ui:** update heading colors for dark mode ([8304f4f](https://github.com/dyte-in/docs/commit/8304f4f37f0878278bdcd6b31183bcaab4f1417b)) -* **ui:** update links in footer ([2a7cdd3](https://github.com/dyte-in/docs/commit/2a7cdd3876e0a4ba56abf93d2967fe238af51391)) -* **ui:** update stoplight elements colors ([3de8474](https://github.com/dyte-in/docs/commit/3de84747751229857445e50a923ac738271d5fd5)) -* **ui:** updated GetStartedCard design ([3a772a5](https://github.com/dyte-in/docs/commit/3a772a55488a11b3a59dc0820b8333b52d99924f)) -* **ui:** updated leading for mobile ([eac4a5e](https://github.com/dyte-in/docs/commit/eac4a5e947c05cd49dd14f5cb5616b9403c45eef)) -* **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) -* **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) -* **ui:** use drop-shadow instead of shadow for showcase ([c6028fb](https://github.com/dyte-in/docs/commit/c6028fbdbe12a45fb180a327d8b80a1a30b498c5)) -* **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) -* **ui:** using fira sans and fira code ([2f47f57](https://github.com/dyte-in/docs/commit/2f47f57e9d5ff0543e8b1f523ac468af77f46eac)) -* **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) -* **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) -* update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) -* updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) -* updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) -* updated handlePreferredDoc code, added comments ([9cb114b](https://github.com/dyte-in/docs/commit/9cb114b5425bb0c4192eebf9ef0fea7ca9dc7979)) -* updated sidebar for guides section, design updates ([3a9350d](https://github.com/dyte-in/docs/commit/3a9350da03a60fd7835c794b7bb1c537bdcfe466)) -* use same sidebar content for `guides` and `docs` ([628aa91](https://github.com/dyte-in/docs/commit/628aa91f46c3118c7cb996c237ca5a87e3cf1660)) -* **webhooks:** updated docs for organizedBy field in webhook body ([b4ca40b](https://github.com/dyte-in/docs/commit/b4ca40b2090c0b35d116c7b93f6918c1573b4ed3)) -* **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) -* **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) -* **web:** setupscreen is true by default ([aee3b5e](https://github.com/dyte-in/docs/commit/aee3b5e5ebe4cf47a4c90980c4512dc8b8307bcb)) - +- add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) +- add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) +- **api:** glitch when navigating to /api/ from navbar ([51d97ac](https://github.com/dyte-in/docs/commit/51d97ac1e50dcdd33d7d77ff265e96168e66a027)) +- **api:** remove url so support link points to email ([b79beea](https://github.com/dyte-in/docs/commit/b79beea3114a0b8e768974f894f64dd3397a3b02)) +- **api:** response codes starting with `4` have a red color ([8d2499a](https://github.com/dyte-in/docs/commit/8d2499ad09bc5274059c37f657acb30b10aea8b4)) +- **api:** update api reference page design ([4e2b3d4](https://github.com/dyte-in/docs/commit/4e2b3d407aae4e1ada41d19a624d88b6225c3fbb)) +- **api:** updated responses design with color indicators ([fcd6b0a](https://github.com/dyte-in/docs/commit/fcd6b0a497c1ff6299e1f4dffd5a148a8effa3d0)) +- broken links by typo ([fff68a1](https://github.com/dyte-in/docs/commit/fff68a1e42f4f0b0e87fb33dcad092c13a925e20)) +- build errors due to ssr for /api ([d2881a7](https://github.com/dyte-in/docs/commit/d2881a741dcb20215db397f95ece7ec524b00232)) +- build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) +- changed sidebars file for /docs ([773e065](https://github.com/dyte-in/docs/commit/773e065394c09f73433552f91109352497058dc4)) +- compress pngs ([68d5741](https://github.com/dyte-in/docs/commit/68d57417dc8796c597c06fce257931606c70832a)) +- context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) +- context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) +- contextswitcher glitch in /docs fixed ([6c18f9d](https://github.com/dyte-in/docs/commit/6c18f9d7b5ec5d0dcc027215aea7fa1b2448e755)) +- **crawl:** add `guides` section to crawler ([62b8ee4](https://github.com/dyte-in/docs/commit/62b8ee47690e0bdcf0376dbd5c6db3e31adf4735)) +- **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) +- **docs:** add `webinar` doc in guides sidebar ([a15816f](https://github.com/dyte-in/docs/commit/a15816f18fb0277c7905b2120c1c376c5afa3a8b)) +- docsearch final config, updated /api/ path ([93bc744](https://github.com/dyte-in/docs/commit/93bc74458fec1b0dd3ad377182b3241cf592860d)) +- **docs:** home description meta tag set properly now ([a4f6d69](https://github.com/dyte-in/docs/commit/a4f6d699ddd48d3323225917515c5c9e32f7991c)) +- **docs:** sidebar parity for `docs` and `guides` ([2e82ffd](https://github.com/dyte-in/docs/commit/2e82ffd9f5eac0342b9b45aafb15b7a1c93ec358)) +- **docs:** update how-dyte-works.png image 🚀 ([ced66d0](https://github.com/dyte-in/docs/commit/ced66d044082467236c298324a6ab3a5ed7fc546)) +- **docs:** update meeting-ui images for mobile, add preview image ([0449a72](https://github.com/dyte-in/docs/commit/0449a72066c930b230e534e5a7377f611426b023)) +- **docs:** update mobile meeting-ui diagram ([d92138b](https://github.com/dyte-in/docs/commit/d92138bac6052717895d118614a80cde0dcda061)) +- **docs:** updated images and fixed metadata content ([e54cc7a](https://github.com/dyte-in/docs/commit/e54cc7a35c055867ed73907f73d9290a0ecf4a9b)) +- enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) +- **flutter:** meeting mdx table methods intendation ([c3d8fbf](https://github.com/dyte-in/docs/commit/c3d8fbfa01c0b24755047baeec6cf4deda485c2f)) +- **flutter:** meeting.mdx methods intendation ([336c8be](https://github.com/dyte-in/docs/commit/336c8bee42ec214813d2682f0099a74ebce5cd9d)) +- **footer:** updated footer text and replaced form with sign up link ([e7aa701](https://github.com/dyte-in/docs/commit/e7aa701d0a4438c38ba84f303df98d9326b16e79)) +- **link:** update demo app link to `app.dyte.in` ([1164181](https://github.com/dyte-in/docs/commit/1164181a1e0712fbfac529bbbd076a2795364205)) +- make docsearch detect subsections with selectors ([2872783](https://github.com/dyte-in/docs/commit/2872783011f95a40e15222ea2509d39062f1dfef)) +- make sidebars not collapsible in react, flutter ([4fd70e0](https://github.com/dyte-in/docs/commit/4fd70e0d67cd17b6a3f76c2bf5bdd5606fed1f59)) +- mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) +- now working with older node and with yarn ([279cff9](https://github.com/dyte-in/docs/commit/279cff99f50b39e5e84aaa9194f19fa1993866c0)) +- proper links to sample apps ([067ace0](https://github.com/dyte-in/docs/commit/067ace06c9d6a5802d40c264041cf63d374c8275)) +- redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) +- remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) +- remove broken link in react-native ([f4602a7](https://github.com/dyte-in/docs/commit/f4602a763f0fb2be7f32d9d04b25b34f2b747fcd)) +- remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) +- remove navbar lv0 items, update docsearch config ([7cb9483](https://github.com/dyte-in/docs/commit/7cb94837fb5f3b1ad31708ee55e3a6aec9be2fe9)) +- remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) +- removed `next` in prod build, updated docsearch creds ([29cbf81](https://github.com/dyte-in/docs/commit/29cbf817fe4cb9a0c7942ae7469cd37191024fea)) +- restructure navbar links ([e3ec2ce](https://github.com/dyte-in/docs/commit/e3ec2cefbe8378fe909e2d4d7c7927e99652ee42)) +- sidebar now sticks again ([c20d7d7](https://github.com/dyte-in/docs/commit/c20d7d76500caa836812697ccc36c48b140e5a73)) +- **stoplight:** remove font size, update package ([1a2e1cf](https://github.com/dyte-in/docs/commit/1a2e1cf2e71116ef1de93897171c64f586fa5f29)) +- tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) +- theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) +- typo ([86542c7](https://github.com/dyte-in/docs/commit/86542c7104984d4b8400f114647895ad50e8e2af)) +- typo `shownn`, embed code typo ([190d1d7](https://github.com/dyte-in/docs/commit/190d1d7fb57233f838a71dbb5f78fb2b1eb07d43)) +- typo in android docs ([96cfd7f](https://github.com/dyte-in/docs/commit/96cfd7f0b77d2210e06cc4a2b8e4244697dffb6a)) +- **ui:** .string color in textrequestbody was not visible ([e2c8507](https://github.com/dyte-in/docs/commit/e2c850784e2c94884a9a216f4feb4536c29a0fb9)) +- **ui:** add react native icon in getstarted section ([b1e646a](https://github.com/dyte-in/docs/commit/b1e646aad014155247286219b71b84af163079b2)) +- **ui:** added hashchange detection in introduction page ([99b1324](https://github.com/dyte-in/docs/commit/99b1324b3cabb5f9efd56c271a1411949bfae2f5)) +- **ui:** added primary-100 for lighter primary shade (navbar) ([107f9f9](https://github.com/dyte-in/docs/commit/107f9f95a0874cef5ee1e9b24f65860f8f5fe067)) +- **ui:** alignment of ([3ffd379](https://github.com/dyte-in/docs/commit/3ffd37946497069714010f95788ce248be27e1a8)) +- **ui:** animate-pulse added for `dot-after` utility class ([4a0d955](https://github.com/dyte-in/docs/commit/4a0d955c8f0f2e1778d4a6394174180b70f2bb76)) +- **ui:** api ref code color improvements ([fc1a571](https://github.com/dyte-in/docs/commit/fc1a57194da88e7c2ca4cf9a2cc7d7aae4b90880)) +- **ui:** api reference - added border between right sections, response button ([f726f84](https://github.com/dyte-in/docs/commit/f726f84773f6397c53c8dc8c0b9c12e63c515733)) +- **ui:** api reference border color changed ([67e9df8](https://github.com/dyte-in/docs/commit/67e9df84a5089fecbf4852a914e8654a842d6eb0)) +- **ui:** api reference design update, revert css loading ([9ca2715](https://github.com/dyte-in/docs/commit/9ca27153d7f058a221413eaf409f5ac178250351)) +- **ui:** api reference design updates, spacing etc ([932d821](https://github.com/dyte-in/docs/commit/932d8216c054071cf7eb7c738651a0daac6a7a70)) +- **ui:** API reference ui customized, search box animated ([be73dbe](https://github.com/dyte-in/docs/commit/be73dbe53bca4897187f8599fb0563b071ec3d84)) +- **ui:** api version switcher design cleanup ([0af13eb](https://github.com/dyte-in/docs/commit/0af13eb60cc6dadee39420fbc6e9c2f9923b6021)) +- **ui:** change highlighted line color ([d1845b5](https://github.com/dyte-in/docs/commit/d1845b561f2424b24e858a75041e6ea2bb5f9214)) +- **ui:** changed API reference code colors ([6a8ca3c](https://github.com/dyte-in/docs/commit/6a8ca3ccde34f172d4328fc489bad8169a8d08bd)) +- **ui:** changed BlogIcon ([86d2beb](https://github.com/dyte-in/docs/commit/86d2bebdddab3d2368589f1e60aa251146be1007)) +- **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) +- **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) +- **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) +- **ui:** design updates, stoplight sentence case fix ([4617fbc](https://github.com/dyte-in/docs/commit/4617fbc737f43c7b5d0993f6def9ad17e34636fd)) +- **ui:** dropdown design is consistent, added social links ([cea8eb2](https://github.com/dyte-in/docs/commit/cea8eb2a19defc752beba0084bd9a899e54e9c94)) +- **ui:** font sizes and spacing in elements updated ([649ad2a](https://github.com/dyte-in/docs/commit/649ad2a6358b2a97ee5c712d78a261376e45fa90)) +- **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) +- **ui:** hashchange error in mobile fixed ([42f995a](https://github.com/dyte-in/docs/commit/42f995a541040808bb6dd90694101d1e07c9074b)) +- **ui:** hidden version dropdown in mobile sidebar ([122bbda](https://github.com/dyte-in/docs/commit/122bbda019f9ee8f3d0f1f4f38d4c30a0ac19846)) +- **ui:** icon background blended with text ([c0c501b](https://github.com/dyte-in/docs/commit/c0c501b841d15e3b4254288133bfbcbc6d4f9bcb)) +- **ui:** increase base font-size for elements ([c173a7e](https://github.com/dyte-in/docs/commit/c173a7e855470d321ef09fa08d21fdbdc5ed9ed8)) +- **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([aaa2008](https://github.com/dyte-in/docs/commit/aaa2008f7dc109678a2de6eaed23219cf871db91)) +- **ui:** increased space between left sidebar and container in large screens ([a603bf8](https://github.com/dyte-in/docs/commit/a603bf82a211d2569e8af4b389f24490161171be)) +- **ui:** left and right scrollbar removed, added scrollbar styles ([5b1cbf8](https://github.com/dyte-in/docs/commit/5b1cbf8036d161e43a088faa793edcc011747beb)) +- **ui:** made /api responsive on mobile ([3684efe](https://github.com/dyte-in/docs/commit/3684efe44804285eae87e0931b144dbc09fc5a5e)) +- **ui:** make scrollbar corner transparent ([803ef8a](https://github.com/dyte-in/docs/commit/803ef8a68d551f8eee6c532db47ca618acd48a5c)) +- **ui:** minor ui fixes in API reference ([15e7819](https://github.com/dyte-in/docs/commit/15e78194ccc18e1c3f77258f4c0d31c1cc2ce2de)) +- **ui:** move response tab buttons to the right ([a78610e](https://github.com/dyte-in/docs/commit/a78610e42a8a58aa70563c0b051110bab59b79db)) +- **ui:** now using "Source Sans Pro" and "Source Code Pro" ([6830377](https://github.com/dyte-in/docs/commit/6830377a8fcaa1ac5a73aa47f7cd77f7f2cda206)) +- **ui:** padding in mobile reset to default ([8aea5e2](https://github.com/dyte-in/docs/commit/8aea5e2d5af792c54285c20d8c3f58fc1e076c4a)) +- **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) +- **ui:** refactored api reference design ([9d5e8aa](https://github.com/dyte-in/docs/commit/9d5e8aa51d8a7fb677333bfe47eb7c597c82f537)) +- **ui:** remove current page highlight from api version switcher ([e164a96](https://github.com/dyte-in/docs/commit/e164a96cffb663a2de196e13cebdfa24a67a4294)) +- **ui:** remove icons from introduction (how to use) ([a4ea8b9](https://github.com/dyte-in/docs/commit/a4ea8b902698746d0fbab6525fdaf0ff17982cdb)) +- **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) +- **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) +- **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) +- **ui:** typo which hid the hamburger menu in mobile ([e92ac01](https://github.com/dyte-in/docs/commit/e92ac01daf0d75cb16126dcbbac83d65388d4ebc)) +- **ui:** update footer form ([8682240](https://github.com/dyte-in/docs/commit/8682240cfb74d278d6bd943cb1630ff9c2ee0328)) +- **ui:** update footer sign up link design ([079ebc4](https://github.com/dyte-in/docs/commit/079ebc4175ef08aea9143f31e1e8e68e932f6b58)) +- **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) +- **ui:** update heading colors for dark mode ([8304f4f](https://github.com/dyte-in/docs/commit/8304f4f37f0878278bdcd6b31183bcaab4f1417b)) +- **ui:** update links in footer ([2a7cdd3](https://github.com/dyte-in/docs/commit/2a7cdd3876e0a4ba56abf93d2967fe238af51391)) +- **ui:** update stoplight elements colors ([3de8474](https://github.com/dyte-in/docs/commit/3de84747751229857445e50a923ac738271d5fd5)) +- **ui:** updated GetStartedCard design ([3a772a5](https://github.com/dyte-in/docs/commit/3a772a55488a11b3a59dc0820b8333b52d99924f)) +- **ui:** updated leading for mobile ([eac4a5e](https://github.com/dyte-in/docs/commit/eac4a5e947c05cd49dd14f5cb5616b9403c45eef)) +- **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) +- **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) +- **ui:** use drop-shadow instead of shadow for showcase ([c6028fb](https://github.com/dyte-in/docs/commit/c6028fbdbe12a45fb180a327d8b80a1a30b498c5)) +- **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) +- **ui:** using fira sans and fira code ([2f47f57](https://github.com/dyte-in/docs/commit/2f47f57e9d5ff0543e8b1f523ac468af77f46eac)) +- **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) +- **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) +- update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) +- updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) +- updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) +- updated handlePreferredDoc code, added comments ([9cb114b](https://github.com/dyte-in/docs/commit/9cb114b5425bb0c4192eebf9ef0fea7ca9dc7979)) +- updated sidebar for guides section, design updates ([3a9350d](https://github.com/dyte-in/docs/commit/3a9350da03a60fd7835c794b7bb1c537bdcfe466)) +- use same sidebar content for `guides` and `docs` ([628aa91](https://github.com/dyte-in/docs/commit/628aa91f46c3118c7cb996c237ca5a87e3cf1660)) +- **webhooks:** updated docs for organizedBy field in webhook body ([b4ca40b](https://github.com/dyte-in/docs/commit/b4ca40b2090c0b35d116c7b93f6918c1573b4ed3)) +- **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) +- **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) +- **web:** setupscreen is true by default ([aee3b5e](https://github.com/dyte-in/docs/commit/aee3b5e5ebe4cf47a4c90980c4512dc8b8307bcb)) ### Features -* add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) -* add crawl script ([f8a6ac6](https://github.com/dyte-in/docs/commit/f8a6ac6f3716da1b69e420053a72a990151a5696)) -* add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) -* add embed docs ([f0cd561](https://github.com/dyte-in/docs/commit/f0cd561e3deca228d7fbbe1863a483fe9543cc68)) -* add fake ios version ([9f485df](https://github.com/dyte-in/docs/commit/9f485df237a5af0dfd98bb621ea19c2d9ab2e3bb)) -* add initial redesigned getstarted section ([89d7322](https://github.com/dyte-in/docs/commit/89d7322886a9f019a63c0d2d743f85ccbf830879)) -* add ios updates ([a480d05](https://github.com/dyte-in/docs/commit/a480d0590eff30b72a6195cbc8ece1e5b57698da)) -* add metadata for /api route ([3919457](https://github.com/dyte-in/docs/commit/3919457c6b69b6648531db72dfce5211b1682af1)) -* add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) -* add setLabel API docs ([6f6f05e](https://github.com/dyte-in/docs/commit/6f6f05ed6d44851e73f2cd8724c6fef0c935da87)) -* add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) -* add v2 api with version switcher dropdown ([2291484](https://github.com/dyte-in/docs/commit/229148476628dcbc84ff0c7f1258645760920a1b)) -* add videos for mobile and desktop ([c80c09a](https://github.com/dyte-in/docs/commit/c80c09a9de1afc2d868d3483fcf102ffd539750f)) -* add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([c937c00](https://github.com/dyte-in/docs/commit/c937c0067b95c6dca0dda28c01c7038d66bfa5e8)) -* add yellow status color for 5xx response codes ([7a51fa2](https://github.com/dyte-in/docs/commit/7a51fa2b9577f624ddbccf071b2aeaaca197df4b)) -* added `tailwindcss/nesting` for nested css ([cc6f3a7](https://github.com/dyte-in/docs/commit/cc6f3a79aab48a3bc944209016fa74e9172f769e)) -* added algolia docsearch code ([6267011](https://github.com/dyte-in/docs/commit/6267011d26881098d29d242bce1c0fd3d0d766a5)) -* added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) -* added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) -* added known vector icons issue in docs ([1b9c54c](https://github.com/dyte-in/docs/commit/1b9c54cea9703be982b231f870355ee3250fbf96)) -* added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) -* added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) -* added posthog ([3c98e19](https://github.com/dyte-in/docs/commit/3c98e1987a806d8078772f9ba142d6e6bc67ea57)) -* added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) -* added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) -* bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) -* **docs:** add steps to write docs in README ([03326a2](https://github.com/dyte-in/docs/commit/03326a2bc4846764fce51eb12e88b799724ad8b5)) -* **dx:** add linting: react, prettier ([70c4e3b](https://github.com/dyte-in/docs/commit/70c4e3b6b5396411ac0ef85402f6958705a5d5d6)) -* enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) -* enable search ([f2a5496](https://github.com/dyte-in/docs/commit/f2a549605e13cb53b1e66bc4f5b1d88cab45014c)) -* **flutter:** version 0.5.x docs ([cdda32d](https://github.com/dyte-in/docs/commit/cdda32d35387656bae08794edd976b6d05b24514)) -* **iframe:** add doc for handling meetingEnded ([65ed129](https://github.com/dyte-in/docs/commit/65ed1297243243940fb236bb72df11c18eeea41a)) -* mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) -* **mobile-sdks:** added localMediaConnected docs ([e09016d](https://github.com/dyte-in/docs/commit/e09016dda87e2f222cc653ebfa5f19501320e695)) -* **mobile-sdk:** Updated sdk to latest versions ([fc205e7](https://github.com/dyte-in/docs/commit/fc205e71aa158d333c3700af8e02158058826aad)) -* new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) -* new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) -* now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) -* polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) -* **release:** setup husky, semantic-release, commitlint, commitizen, jest ([d9895b2](https://github.com/dyte-in/docs/commit/d9895b257af32bdef7205168101c9607156f2902)) -* remove blog and add algolia creds ([f5979e9](https://github.com/dyte-in/docs/commit/f5979e93321ae44c8fcf202f4b913e5714246e35)) -* **rn:** update docs for 0.3.0, 0.4.0 ([6f54d1e](https://github.com/dyte-in/docs/commit/6f54d1e58abe640cfadf16629a5c30312cd1bf42)) -* **rn:** update to 13.x, add label docs ([c4026e6](https://github.com/dyte-in/docs/commit/c4026e6826013001f39dd6c9f2b543094960ef61)) -* set dark mode as default ([d865a55](https://github.com/dyte-in/docs/commit/d865a5580e86396f8918b5d9ec4a9a8d4d6f0a6c)) -* **ui:** added dot-after utility for adding a dot after an element ([b05ffb5](https://github.com/dyte-in/docs/commit/b05ffb5e4fa0a9f5b6fd59e03faff93880bd8b5c)) -* update api v1 with webhook `enabled` field ([d629b40](https://github.com/dyte-in/docs/commit/d629b4086ba554a8f2d1a82ad2771488fd8beadf)) -* update docs according to release and version number ([f920f4f](https://github.com/dyte-in/docs/commit/f920f4f9a21f8f7fa858daed480c90f5c03e6c79)) -* update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) -* upgrade `tailwindcss` to `3.0.19` ([c149cf4](https://github.com/dyte-in/docs/commit/c149cf439eafd981f9217abf4b8f8562a36e250e)) -* use `groupId` to group `Tabs` selections ([505b407](https://github.com/dyte-in/docs/commit/505b4073cbf2312c1e7b48b5382daadbaf2671d1)) -* version updates ([ba45601](https://github.com/dyte-in/docs/commit/ba45601efec496b8af94750d280da2011eee807b)) -* **web:** i18n support ([34386bf](https://github.com/dyte-in/docs/commit/34386bf1cb3fdb21d379125d1bf055a75cc6590f)) -* **websdk:** update to 0.19.x ([be85687](https://github.com/dyte-in/docs/commit/be8568779519dfb64cba64657a05458e324f8017)) +- add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) +- add crawl script ([f8a6ac6](https://github.com/dyte-in/docs/commit/f8a6ac6f3716da1b69e420053a72a990151a5696)) +- add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) +- add embed docs ([f0cd561](https://github.com/dyte-in/docs/commit/f0cd561e3deca228d7fbbe1863a483fe9543cc68)) +- add fake ios version ([9f485df](https://github.com/dyte-in/docs/commit/9f485df237a5af0dfd98bb621ea19c2d9ab2e3bb)) +- add initial redesigned getstarted section ([89d7322](https://github.com/dyte-in/docs/commit/89d7322886a9f019a63c0d2d743f85ccbf830879)) +- add ios updates ([a480d05](https://github.com/dyte-in/docs/commit/a480d0590eff30b72a6195cbc8ece1e5b57698da)) +- add metadata for /api route ([3919457](https://github.com/dyte-in/docs/commit/3919457c6b69b6648531db72dfce5211b1682af1)) +- add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) +- add setLabel API docs ([6f6f05e](https://github.com/dyte-in/docs/commit/6f6f05ed6d44851e73f2cd8724c6fef0c935da87)) +- add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) +- add v2 api with version switcher dropdown ([2291484](https://github.com/dyte-in/docs/commit/229148476628dcbc84ff0c7f1258645760920a1b)) +- add videos for mobile and desktop ([c80c09a](https://github.com/dyte-in/docs/commit/c80c09a9de1afc2d868d3483fcf102ffd539750f)) +- add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([c937c00](https://github.com/dyte-in/docs/commit/c937c0067b95c6dca0dda28c01c7038d66bfa5e8)) +- add yellow status color for 5xx response codes ([7a51fa2](https://github.com/dyte-in/docs/commit/7a51fa2b9577f624ddbccf071b2aeaaca197df4b)) +- added `tailwindcss/nesting` for nested css ([cc6f3a7](https://github.com/dyte-in/docs/commit/cc6f3a79aab48a3bc944209016fa74e9172f769e)) +- added algolia docsearch code ([6267011](https://github.com/dyte-in/docs/commit/6267011d26881098d29d242bce1c0fd3d0d766a5)) +- added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) +- added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) +- added known vector icons issue in docs ([1b9c54c](https://github.com/dyte-in/docs/commit/1b9c54cea9703be982b231f870355ee3250fbf96)) +- added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) +- added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) +- added posthog ([3c98e19](https://github.com/dyte-in/docs/commit/3c98e1987a806d8078772f9ba142d6e6bc67ea57)) +- added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) +- added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) +- bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) +- **docs:** add steps to write docs in README ([03326a2](https://github.com/dyte-in/docs/commit/03326a2bc4846764fce51eb12e88b799724ad8b5)) +- **dx:** add linting: react, prettier ([70c4e3b](https://github.com/dyte-in/docs/commit/70c4e3b6b5396411ac0ef85402f6958705a5d5d6)) +- enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) +- enable search ([f2a5496](https://github.com/dyte-in/docs/commit/f2a549605e13cb53b1e66bc4f5b1d88cab45014c)) +- **flutter:** version 0.5.x docs ([cdda32d](https://github.com/dyte-in/docs/commit/cdda32d35387656bae08794edd976b6d05b24514)) +- **iframe:** add doc for handling meetingEnded ([65ed129](https://github.com/dyte-in/docs/commit/65ed1297243243940fb236bb72df11c18eeea41a)) +- mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) +- **mobile-sdks:** added localMediaConnected docs ([e09016d](https://github.com/dyte-in/docs/commit/e09016dda87e2f222cc653ebfa5f19501320e695)) +- **mobile-sdk:** Updated sdk to latest versions ([fc205e7](https://github.com/dyte-in/docs/commit/fc205e71aa158d333c3700af8e02158058826aad)) +- new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) +- new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) +- now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) +- polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) +- **release:** setup husky, semantic-release, commitlint, commitizen, jest ([d9895b2](https://github.com/dyte-in/docs/commit/d9895b257af32bdef7205168101c9607156f2902)) +- remove blog and add algolia creds ([f5979e9](https://github.com/dyte-in/docs/commit/f5979e93321ae44c8fcf202f4b913e5714246e35)) +- **rn:** update docs for 0.3.0, 0.4.0 ([6f54d1e](https://github.com/dyte-in/docs/commit/6f54d1e58abe640cfadf16629a5c30312cd1bf42)) +- **rn:** update to 13.x, add label docs ([c4026e6](https://github.com/dyte-in/docs/commit/c4026e6826013001f39dd6c9f2b543094960ef61)) +- set dark mode as default ([d865a55](https://github.com/dyte-in/docs/commit/d865a5580e86396f8918b5d9ec4a9a8d4d6f0a6c)) +- **ui:** added dot-after utility for adding a dot after an element ([b05ffb5](https://github.com/dyte-in/docs/commit/b05ffb5e4fa0a9f5b6fd59e03faff93880bd8b5c)) +- update api v1 with webhook `enabled` field ([d629b40](https://github.com/dyte-in/docs/commit/d629b4086ba554a8f2d1a82ad2771488fd8beadf)) +- update docs according to release and version number ([f920f4f](https://github.com/dyte-in/docs/commit/f920f4f9a21f8f7fa858daed480c90f5c03e6c79)) +- update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) +- upgrade `tailwindcss` to `3.0.19` ([c149cf4](https://github.com/dyte-in/docs/commit/c149cf439eafd981f9217abf4b8f8562a36e250e)) +- use `groupId` to group `Tabs` selections ([505b407](https://github.com/dyte-in/docs/commit/505b4073cbf2312c1e7b48b5382daadbaf2671d1)) +- version updates ([ba45601](https://github.com/dyte-in/docs/commit/ba45601efec496b8af94750d280da2011eee807b)) +- **web:** i18n support ([34386bf](https://github.com/dyte-in/docs/commit/34386bf1cb3fdb21d379125d1bf055a75cc6590f)) +- **websdk:** update to 0.19.x ([be85687](https://github.com/dyte-in/docs/commit/be8568779519dfb64cba64657a05458e324f8017)) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index d4a3ef8ed8..e5b9fa711a 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,3 +1,3 @@ # Code of Conduct -All Dyte repos are governed by our Community Participation Guidelines, available at: https://dyte.notion.site/dyte/Dyte-Community-Participation-Guidelines-CPG-4b3af58fdf3545c2a3065773a9154728 \ No newline at end of file +All Dyte repos are governed by our Community Participation Guidelines, available at: https://dyte.notion.site/dyte/Dyte-Community-Participation-Guidelines-CPG-4b3af58fdf3545c2a3065773a9154728 diff --git a/bin/ui-kit/component-docs.cjs b/bin/ui-kit/component-docs.cjs index 96f2241b1d..fbaa8e7322 100644 --- a/bin/ui-kit/component-docs.cjs +++ b/bin/ui-kit/component-docs.cjs @@ -100,11 +100,11 @@ for (const component of components) { writeMDXFile( `${basePaths.react}/${tag}.mdx`, - generateFile(component, 'react') + generateFile(component, 'react'), ); writeMDXFile( `${basePaths.angular}/${tag}.mdx`, - generateFile(component, 'angular') + generateFile(component, 'angular'), ); } diff --git a/bin/ui-kit/utils.cjs b/bin/ui-kit/utils.cjs index 237c08b3bc..7115cf4537 100644 --- a/bin/ui-kit/utils.cjs +++ b/bin/ui-kit/utils.cjs @@ -10,7 +10,7 @@ const { prettier: prettierConfig } = require('../../package.json'); function writeMDXFile(path, text) { return fs.writeFileSync( path, - prettier.format(text, { ...prettierConfig, parser: 'mdx' }) + prettier.format(text, { ...prettierConfig, parser: 'mdx' }), ); } diff --git a/bin/update-metadata.cjs b/bin/update-metadata.cjs index 75f63511e8..4866f17bdd 100644 --- a/bin/update-metadata.cjs +++ b/bin/update-metadata.cjs @@ -42,7 +42,7 @@ for (const section of Object.keys(prefixes)) { const headingMatch = content.match(/^# (.*)/m); if (!headingMatch && !existingTitle) { console.log( - `File ${filePath} does not have an H1 heading. Skipping...` + `File ${filePath} does not have an H1 heading. Skipping...`, ); continue; } @@ -66,7 +66,7 @@ for (const section of Object.keys(prefixes)) { const updatedFileContent = grayMatter.stringify( content + updatedContent.join('\n'), - data + data, ); fs.writeFileSync(filePath, updatedFileContent); diff --git a/cspell.json b/cspell.json index bdf5c56c9d..98db702ce8 100644 --- a/cspell.json +++ b/cspell.json @@ -21,4 +21,4 @@ "waitlisted", "htmlui" ] -} \ No newline at end of file +} diff --git a/docs/android-core/Introduction.mdx b/docs/android-core/Introduction.mdx index 535c4431f2..2eddd55d95 100644 --- a/docs/android-core/Introduction.mdx +++ b/docs/android-core/Introduction.mdx @@ -8,33 +8,33 @@ import ProductSection from '/docs/partials/_product-section.mdx'; # Introduction -The Dyte Core SDK is designed to provide you with an easy way to incorporate live video, voice, livestream and chat capabilities -into your Android apps. The Core SDK acts as a data-only layer. It provides simple APIs offering high-level primitives and +The Dyte Core SDK is designed to provide you with an easy way to incorporate live video, voice, livestream and chat capabilities +into your Android apps. The Core SDK acts as a data-only layer. It provides simple APIs offering high-level primitives and abstracting away complex media and networking optimizations. ## Why Core SDK? -The Core SDK was developed with a user-friendly approach to eliminate the complexity of managing streams. Unlike traditional -SDKs that require knowledge of WebRTC functioning, Dyte's Core SDK provides a simple API that abstracts out the complexity, -making it easier for developers to use. For instance, enabling video with Dyte's Core SDK is as easy as calling +The Core SDK was developed with a user-friendly approach to eliminate the complexity of managing streams. Unlike traditional +SDKs that require knowledge of WebRTC functioning, Dyte's Core SDK provides a simple API that abstracts out the complexity, +making it easier for developers to use. For instance, enabling video with Dyte's Core SDK is as easy as calling `meeting.localUser.enableVideo()`. ## Utility Modules -The Core SDK includes various modules for in-call utilities like chat, polls, and recording that enable building a UI on top of +The Core SDK includes various modules for in-call utilities like chat, polls, and recording that enable building a UI on top of it. The following are the core SDK modules: -- **meeting.localUser**: This consists of properties and methods corresponding to the current (local) user, such as enabling or -disabling their audio and video, getting a list of media devices or changing the device, or sharing your mobile screen. -- **meeting.participants**: Use this module to get useful information about the other participants that are present in the -meeting. A host can use this module for access control. For example, the host can mute or kick a participant. +- **meeting.localUser**: This consists of properties and methods corresponding to the current (local) user, such as enabling or + disabling their audio and video, getting a list of media devices or changing the device, or sharing your mobile screen. +- **meeting.participants**: Use this module to get useful information about the other participants that are present in the + meeting. A host can use this module for access control. For example, the host can mute or kick a participant. - **meeting.chat**: It provides the methods to integrate chat features such as sending/receiving text, images, and files. -- **meeting.polls**: Meetings can have polls. This module lets you perform actions related to polls, that is create and manage -a poll within a meeting. -- **meeting.recording**: When a meeting needs to be recorded, this module can be used. It lets you start or stop a recording, -and get the current status of an ongoing recording. -- **meeting.meta**: This object consists of all the metadata related to the current meeting, such as the title, the timestamp -of when it started, and more. +- **meeting.polls**: Meetings can have polls. This module lets you perform actions related to polls, that is create and manage + a poll within a meeting. +- **meeting.recording**: When a meeting needs to be recorded, this module can be used. It lets you start or stop a recording, + and get the current status of an ongoing recording. +- **meeting.meta**: This object consists of all the metadata related to the current meeting, such as the title, the timestamp + of when it started, and more. - **meeting.plugins**: Provides the list of available plugins and active plugins. Use this module to enable or disable plugins as needed. diff --git a/docs/android-core/chat/introduction.mdx b/docs/android-core/chat/introduction.mdx index 7fc1ab3d69..a9afa3a9fc 100644 --- a/docs/android-core/chat/introduction.mdx +++ b/docs/android-core/chat/introduction.mdx @@ -71,4 +71,4 @@ variables. Android Core Introducing chat - \ No newline at end of file + diff --git a/docs/android-core/chat/receiving-chat-messages.mdx b/docs/android-core/chat/receiving-chat-messages.mdx index 0d547a1c78..6d2c2e526f 100644 --- a/docs/android-core/chat/receiving-chat-messages.mdx +++ b/docs/android-core/chat/receiving-chat-messages.mdx @@ -41,4 +41,4 @@ The `onMessageRateLimitReset()` method will be called when the rate limit for se Android Core Receiving chat - \ No newline at end of file + diff --git a/docs/android-core/chat/sending-a-chat-message.mdx b/docs/android-core/chat/sending-a-chat-message.mdx index 9960a2fb4a..aedbf28a86 100644 --- a/docs/android-core/chat/sending-a-chat-message.mdx +++ b/docs/android-core/chat/sending-a-chat-message.mdx @@ -77,4 +77,4 @@ when (err) { Android Core Sending chat - \ No newline at end of file + diff --git a/docs/android-core/livestream/dyte-livestream-listener.mdx b/docs/android-core/livestream/dyte-livestream-listener.mdx index a1e2fb13a4..d6c09f3b0c 100644 --- a/docs/android-core/livestream/dyte-livestream-listener.mdx +++ b/docs/android-core/livestream/dyte-livestream-listener.mdx @@ -116,5 +116,8 @@ This event is triggered when a stage request is rejected. The `peer` object cont Android Core Livestream Event Listeners - + diff --git a/docs/android-core/livestream/dyte-livestream-object.mdx b/docs/android-core/livestream/dyte-livestream-object.mdx index 3f02797a8e..5ec4f9ec19 100644 --- a/docs/android-core/livestream/dyte-livestream-object.mdx +++ b/docs/android-core/livestream/dyte-livestream-object.mdx @@ -78,5 +78,8 @@ dyteMobileClient.livestream.rejectAll(); Android Core Livestream Objects and Methods - + diff --git a/docs/android-core/livestream/introduction.mdx b/docs/android-core/livestream/introduction.mdx index d4208800c5..4b3e1cb83a 100644 --- a/docs/android-core/livestream/introduction.mdx +++ b/docs/android-core/livestream/introduction.mdx @@ -17,5 +17,8 @@ The foundation of Dyte's livestreaming is based on a stage, which can be accesse Android Core Introduction - + diff --git a/docs/android-core/local-user/events.mdx b/docs/android-core/local-user/events.mdx index 3261d799ac..2de9d4050e 100644 --- a/docs/android-core/local-user/events.mdx +++ b/docs/android-core/local-user/events.mdx @@ -74,7 +74,6 @@ meeting.addSelfEventsListener(object : DyteSelfEventsListener { }) ``` - @@ -91,7 +90,6 @@ meeting.addSelfEventsListener(new DyteSelfEventsListener() { }); ``` - @@ -119,7 +117,6 @@ WaitListStatus waitListStatus = meeting.localUser.getWaitListStatus(); - You can listen to those changes in `onWaitListStatusUpdate()` callbacks diff --git a/docs/android-core/local-user/introduction.mdx b/docs/android-core/local-user/introduction.mdx index 7463daa0af..b8d4bf4d59 100644 --- a/docs/android-core/local-user/introduction.mdx +++ b/docs/android-core/local-user/introduction.mdx @@ -63,7 +63,6 @@ DyteMeetingInfoV2 meetingInfo = new DyteMeetingInfoV2( - ## Get local user video view To display the `localUser` preview in a view, utilize the `getSelfPreview()` method on `localUser`. This method provides a View that can be added to any `ViewGroup` in Android. @@ -141,7 +140,6 @@ meeting.localUser.enableAudio(error -> null); - ## Enable/disable camera Enable/disable your camera in the meeting using `disableVideo()` and `enableVideo()` methods, and check the current status with `videoEnabled`. @@ -177,13 +175,11 @@ meeting.localUser.enableVideo(error -> null); - ## Enable / Disable Screen share :::tip Note To use screenshare on Android devices running Android API 14 and above, you will need to declare the following permission in your app's AndroidManifest.xml. - `` Adding above permission will require you to do extra steps on Google Play Console while submitting the app. For more information please refer [this](https://support.google.com/googleplay/android-developer/answer/13392821?hl=en#declare). diff --git a/docs/android-core/local-user/manage-media-devices.mdx b/docs/android-core/local-user/manage-media-devices.mdx index 1f79dc4e44..1859c0e51f 100644 --- a/docs/android-core/local-user/manage-media-devices.mdx +++ b/docs/android-core/local-user/manage-media-devices.mdx @@ -89,5 +89,8 @@ meeting.getLocalUser().setVideoDevice(device); Android Core Manage Media Devices - + diff --git a/docs/android-core/local-user/manage-permissions.mdx b/docs/android-core/local-user/manage-permissions.mdx index 0156d08c15..b3f70b4435 100644 --- a/docs/android-core/local-user/manage-permissions.mdx +++ b/docs/android-core/local-user/manage-permissions.mdx @@ -76,5 +76,8 @@ meeting.addSelfEventsListener(new : DyteSelfEventsListener() { Android Core Media Permissions - + diff --git a/docs/android-core/participants/events.mdx b/docs/android-core/participants/events.mdx index ccf58c71c0..94fd5a26ed 100644 --- a/docs/android-core/participants/events.mdx +++ b/docs/android-core/participants/events.mdx @@ -61,7 +61,6 @@ Triggers an event when any participant leaves the meeting. } ``` - @@ -74,11 +73,9 @@ Triggers an event when any participant leaves the meeting. }; ``` - - ### Participants update Triggers an event whenever there is any change in the `meeting.participants` object. This includes any updates to participant lists or changes in individual participant within those lists. @@ -117,13 +114,13 @@ Triggers an event when any participant starts / stops video. - ```kotlin - private val participantEventsListener = object : DyteParticipantsEventListener { - override fun onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean) { - // your code here to handle participant video toggle update - } - } - ``` +```kotlin + private val participantEventsListener = object : DyteParticipantsEventListener { + override fun onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean) { + // your code here to handle participant video toggle update + } + } +``` @@ -141,7 +138,6 @@ Triggers an event when any participant starts / stops video. - ### Audio update Triggers an event when any participant starts / stops audio. @@ -254,7 +250,6 @@ Triggers an event when there is any change in pinned participant in the meeting. } ``` - @@ -316,26 +311,26 @@ Triggers an event whenever there is any change in participant. - ```kotlin - private val participantUpdateListener = object : DyteParticipantUpdateListener { - override fun onUpdate(participant: DyteRemoteParticipant) { - // your code here to handle participant update - } - } - ``` +```kotlin + private val participantUpdateListener = object : DyteParticipantUpdateListener { + override fun onUpdate(participant: DyteRemoteParticipant) { + // your code here to handle participant update + } + } +``` - ```java - DyteParticipantUpdateListener participantUpdateListener = new DyteParticipantUpdateListener() { - @Override - public void onUpdate(DyteRemoteParticipant participant) { - // your code here to handle participant update - } - } - ``` +```java + DyteParticipantUpdateListener participantUpdateListener = new DyteParticipantUpdateListener() { + @Override + public void onUpdate(DyteRemoteParticipant participant) { + // your code here to handle participant update + } + } +``` @@ -369,8 +364,6 @@ Triggers an event when the participant starts / stops video. - - ### Audio update Triggers an event when the participant starts / stops audio. @@ -402,7 +395,6 @@ Triggers an event when the participant starts / stops audio. - ### Pinned & Unpinned participant Triggers an event when the participant is pinned / unpinned. @@ -443,7 +435,6 @@ Triggers an event when the participant is pinned / unpinned. - ### Screen share started & ended Triggers an event when the participant starts / stops screen sharing. diff --git a/docs/android-core/participants/participant-object.mdx b/docs/android-core/participants/participant-object.mdx index 768ccb4685..7e73769ece 100644 --- a/docs/android-core/participants/participant-object.mdx +++ b/docs/android-core/participants/participant-object.mdx @@ -138,7 +138,6 @@ participant.ifPresent(pcpt -> { You can also `pin` or `unpin` a participant in the meeting. All "pinned" participants are added to the `meeting.participants.pinned` list. - diff --git a/docs/android-core/participants/remote-participants.mdx b/docs/android-core/participants/remote-participants.mdx index 4920d6a7b5..d939e11657 100644 --- a/docs/android-core/participants/remote-participants.mdx +++ b/docs/android-core/participants/remote-participants.mdx @@ -38,7 +38,6 @@ List active = meeting.getParticipants().getActive(); - The `meeting.participants` object has the following **lists** of participants - **joined**: A list that contains all the participants who are currently in the meeting diff --git a/docs/android-core/participants/waitlisted-participants.mdx b/docs/android-core/participants/waitlisted-participants.mdx index f9b99d517e..c8188f8747 100644 --- a/docs/android-core/participants/waitlisted-participants.mdx +++ b/docs/android-core/participants/waitlisted-participants.mdx @@ -40,7 +40,6 @@ meeting.getParticipants().acceptWaitingRoomRequest(waitlistedParticipant.id); - ### Rejecting Requests To deny a waiting room request, use the `rejectWaitingRoomRequest(String)` method on a `DyteParticipants` object: diff --git a/docs/android-core/plugins/enable-disable-plugin.mdx b/docs/android-core/plugins/enable-disable-plugin.mdx index 3779d2157f..19fd9ed5ae 100644 --- a/docs/android-core/plugins/enable-disable-plugin.mdx +++ b/docs/android-core/plugins/enable-disable-plugin.mdx @@ -50,7 +50,7 @@ plugins.forEach { plugin -> ### Get Plugin View When a plugin is enabled, the core SDK adds a communication layer between the plugin inside the WebView and -itself (meeting object). The `getPluginView()` method returns a configured WebView of an active plugin, that can be added to a +itself (meeting object). The `getPluginView()` method returns a configured WebView of an active plugin, that can be added to a ViewGroup. ```kotlin diff --git a/docs/android-core/plugins/extra.mdx b/docs/android-core/plugins/extra.mdx index c49f467ec5..840ecc1b9d 100644 --- a/docs/android-core/plugins/extra.mdx +++ b/docs/android-core/plugins/extra.mdx @@ -51,7 +51,7 @@ meeting.addPluginEventsListener(pluginEventListener) ## Upload file to a plugin -You can upload a file to a plugin that supports file uploads using the `uploadFile()` method. This method comes in handy when +You can upload a file to a plugin that supports file uploads using the `uploadFile()` method. This method comes in handy when building your own plugin. ```kotlin diff --git a/docs/android-core/polls/introduction.mdx b/docs/android-core/polls/introduction.mdx index 41077a2cb0..be656d6ab6 100644 --- a/docs/android-core/polls/introduction.mdx +++ b/docs/android-core/polls/introduction.mdx @@ -69,7 +69,6 @@ meeting.addMeetingRoomEventsListener(object : }) ``` - Android Core Polls Introduction diff --git a/docs/android-core/polls/voting-on-a-poll.mdx b/docs/android-core/polls/voting-on-a-poll.mdx index 1660581252..7f72d30e4e 100644 --- a/docs/android-core/polls/voting-on-a-poll.mdx +++ b/docs/android-core/polls/voting-on-a-poll.mdx @@ -32,4 +32,4 @@ meeting.poll.vote(poll, selectedPollOption) Android Core Voting On a Poll - \ No newline at end of file + diff --git a/docs/android-core/pre-call/1-media-preview.mdx b/docs/android-core/pre-call/1-media-preview.mdx index a083b1078d..b78f398647 100644 --- a/docs/android-core/pre-call/1-media-preview.mdx +++ b/docs/android-core/pre-call/1-media-preview.mdx @@ -6,7 +6,6 @@ This section provides developers with the tools to prepare the media environment If you are using our UI Kits, this functionality can be handled by `DyteSetupFragment` or built with `DyteParticipantTileView` and `DyteSettingsFragment` components. - ## Properties - `meeting.localUser.audioEnabled`: A boolean value indicating if the audio currently enabled. @@ -87,7 +86,6 @@ meeting.addSelfEventsListener(new DyteSelfEventsListener() { - **2. Enable/Disable camera** @@ -124,6 +122,7 @@ flowchart LR class eam basic; ``` +
Whenever there is an update in the video state of the local user, the Core SDK notifies the client through the `onVideoUpdate` callback @@ -156,7 +155,6 @@ meeting.addSelfEventsListener(new DyteSelfEventsListener() {
- ### Changing Media Device Media devices represent the hardware for the camera, microphone, and speaker devices. To get the list of media devices currently diff --git a/docs/android-core/pre-call/2-handling-permissions.mdx b/docs/android-core/pre-call/2-handling-permissions.mdx index c9e2b26025..34bf967196 100644 --- a/docs/android-core/pre-call/2-handling-permissions.mdx +++ b/docs/android-core/pre-call/2-handling-permissions.mdx @@ -34,6 +34,7 @@ boolean micPermissionGranted = meeting.localUser.isMicrophonePermissionGranted() Alternatively, you can also use Android's standard way to check if these permissions are granted: + - `android.permission.CAMERA` - `android.permission.RECORD_AUDIO` diff --git a/docs/android-core/pre-call/4-waiting-room.mdx b/docs/android-core/pre-call/4-waiting-room.mdx index fca489b828..2abff87a0c 100644 --- a/docs/android-core/pre-call/4-waiting-room.mdx +++ b/docs/android-core/pre-call/4-waiting-room.mdx @@ -31,7 +31,6 @@ meeting.addMeetingRoomEventsListener(object : DyteMeetingRoomEventsListener { }) ``` - @@ -45,7 +44,6 @@ meeting.addMeetingRoomEventsListener(new DyteMeetingRoomEventsListener() { }) ``` - @@ -55,7 +53,7 @@ If the user is waitlisted, the `onWaitListStatusUpdate` callback in `DyteSelfEve user's waitlist status. You can check the `waitListStatus` to determine their status: - `WAITING`: Local user is in the waiting room. -- `REJECTED`: Local user's join room request is rejected by the host. +- `REJECTED`: Local user's join room request is rejected by the host. diff --git a/docs/android-core/pre-call/_category_.json b/docs/android-core/pre-call/_category_.json index 22e5bdec8e..23939cdb04 100644 --- a/docs/android-core/pre-call/_category_.json +++ b/docs/android-core/pre-call/_category_.json @@ -2,5 +2,5 @@ "position": 3, "label": "Pre-call", "collapsible": true, - "className":"pre-call-docs" + "className": "pre-call-docs" } diff --git a/docs/android-core/quickstart.mdx b/docs/android-core/quickstart.mdx index 3fbc18b0c2..207b51730a 100644 --- a/docs/android-core/quickstart.mdx +++ b/docs/android-core/quickstart.mdx @@ -92,12 +92,12 @@ DyteMobileClient dyteClient = DyteMeetingBuilder.INSTANCE.build(activity); Configure the following properties in the `DyteMeetingInfoV2` class. You must pass a valid participant `authToken` obtained from the [Add Participant](/api/?v=v2#/operations/add_participant) API. -| Name | Description | -|---------------|----------------------------------------------------------------------------------------| +| Name | Description | +| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `authToken` | After you've created the meeting, add each participant to the meeting using the [Add Participant API](/api?v=v2#/operations/add_participant) The API response contains the `authToken`. | -| `enableAudio` | Set whether to join the meeting with your Mic ON (`true`) or OFF (`false`). | -| `enableVideo` | Set whether to join the meeting with your Camera ON (`true`) or OFF (`false`).| -| `baseDomain` | Base domain of the dyte's environment you have created the meeting on. Only required if using a white-labeled domain, defaults to "dyte.io" | +| `enableAudio` | Set whether to join the meeting with your Mic ON (`true`) or OFF (`false`). | +| `enableVideo` | Set whether to join the meeting with your Camera ON (`true`) or OFF (`false`). | +| `baseDomain` | Base domain of the dyte's environment you have created the meeting on. Only required if using a white-labeled domain, defaults to "dyte.io" | diff --git a/docs/android-core/recording.mdx b/docs/android-core/recording.mdx index 5ea48ee992..f85a4aad77 100644 --- a/docs/android-core/recording.mdx +++ b/docs/android-core/recording.mdx @@ -13,7 +13,7 @@ The `meeting.recording` object in Dyte's Android Core SDK provides APIs to manag ### Recording State -The `meeting.recording.recordingState` property indicates the current state of the recording. Possible states include `IDLE`, +The `meeting.recording.recordingState` property indicates the current state of the recording. Possible states include `IDLE`, `STARTING`, `RECORDING`, `PAUSED`, and `STOPPING`. ### Starting a Recording @@ -50,7 +50,7 @@ meeting.recording.resume() ### Listening for Recording Events -To handle recording-related events, implement the `DyteRecordingEventsListener` interface. This interface provides callbacks for +To handle recording-related events, implement the `DyteRecordingEventsListener` interface. This interface provides callbacks for various recording events: - `onMeetingRecordingStarted()`: Called when the recording is started or resumed, either by the user or their peer. diff --git a/docs/android-core/stage-management/1-introduction.mdx b/docs/android-core/stage-management/1-introduction.mdx index 3442a3b6f6..baf354c3c4 100644 --- a/docs/android-core/stage-management/1-introduction.mdx +++ b/docs/android-core/stage-management/1-introduction.mdx @@ -27,7 +27,7 @@ enum. These status values include: - `ON_STAGE`: Indicates that the user is currently on the stage and is allowed to publish media. - `OFF_STAGE`: Indicates that the user is a viewer and is not on the stage. They can see and listen to those on stage. - `REQUESTED_TO_JOIN_STAGE`: Indicates that the user has a pending request to join the stage. This status is assigned to the user -until the host accepts or rejects their request. + until the host accepts or rejects their request. - `ACCEPTED_TO_JOIN_STAGE`: Indicates that the host has accepted the user's request to join the stage. The `meeting.stage.stageStatus` property provides the current stage status of the local user. @@ -111,4 +111,4 @@ Next, we'll explore the Stage Management APIs for hosts, allowing them to manage Android Core Stage Introduction - \ No newline at end of file + diff --git a/docs/android-core/upgrade-v2/1-introduction.mdx b/docs/android-core/upgrade-v2/1-introduction.mdx index cc857bc16b..5ee14ea8e1 100644 --- a/docs/android-core/upgrade-v2/1-introduction.mdx +++ b/docs/android-core/upgrade-v2/1-introduction.mdx @@ -14,11 +14,10 @@ With the v2 release of the Dyte Core SDK, we're introducing a major upgrade focu - `DyteMeetingParticipant.clientSpecificId` -> `DyteMeetingParticipant.customParticipantId` - Removed `DyteMeetingInfo` (V1) - ### 2. Removal of Deprecated APIs We have removed deprecated methods and properties in favour of improved, uniform, and clearer versions. - + - Removed `DyteParticipants.screenshares` (use `DyteParticipants.screenShares`). The deprecated type `DyteScreenShareMeetingParticipant` has also been removed - **Chat Methods**: Removed deprecated file and image send methods. The new lambda-based methods take more reliable `Uri`s & return proper errors - File message methods: @@ -50,8 +49,7 @@ We have removed deprecated methods and properties in favour of improved, uniform - `DyteSelfEventsListener.onStageStatusUpdated`. Use `DyteStageEventListener.onStageStatusUpdated()` - `DyteStageEventListener.onPresentRequestAccepted(participant: DyteJoinedMeetingParticipant)` - `DyteMeetingRoomEventsListener.onActiveTabUpdate(id: String, tabType: ActiveTabType)`. - Use `DyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)` - + Use `DyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)` ### 3. Revamped Error Handling @@ -59,10 +57,9 @@ We have removed deprecated methods and properties in favour of improved, uniform - All public APIs provide proper errors and additional error data where applicable for better debugging - Utilises Kotlin sealed classes for better type safety - ### 4. API Structural Changes We made a few direct breaking changes in our APIs to simplify the types, make methods more intuitive and ensure uniformity across platforms.  For example, `DyteMeetingParticipant` has been restructured to align with real-world entities. -Learn more about the direct breaking changes and migration instructions on the next page. \ No newline at end of file +Learn more about the direct breaking changes and migration instructions on the next page. diff --git a/docs/android-core/upgrade-v2/2-breaking-changes-migration.mdx b/docs/android-core/upgrade-v2/2-breaking-changes-migration.mdx index 918ffe73ba..a12bac8a17 100644 --- a/docs/android-core/upgrade-v2/2-breaking-changes-migration.mdx +++ b/docs/android-core/upgrade-v2/2-breaking-changes-migration.mdx @@ -6,32 +6,33 @@ tags: - v2 --- -This section provides details about the additional breaking changes made in Dyte Core SDK v2 and provides migration guidance. +This section provides details about the additional breaking changes made in Dyte Core SDK v2 and provides migration guidance. The changes span multiple modules, mainly simplifying the APIs or renaming them to ensure uniformity across the platforms. - ### Changes in Participant Hierarchy and Simplified Types The participant hierarchy has been simplified to align better with real-world entities: - **Old Structure**: + - `DyteMeetingParticipant` was the parent class with direct subtypes: - - `DyteJoinedMeetingParticipant` - - `DyteWaitlistedParticipant` + - `DyteJoinedMeetingParticipant` + - `DyteWaitlistedParticipant` - `DyteJoinedMeetingParticipant` had two subtypes: - - `DyteScreenShareMeetingParticipant` - - `DyteSelfParticipant` (local user) + - `DyteScreenShareMeetingParticipant` + - `DyteSelfParticipant` (local user) - **New Structure**: + - `DyteMeetingParticipant` still represents a participant in a meeting which is simply either: - - `DyteSelfParticipant` (local user) or - - `DyteRemoteParticipant` (other participants in the meeting) + - `DyteSelfParticipant` (local user) or + - `DyteRemoteParticipant` (other participants in the meeting) - Moved methods for managing waiting room requests to `DyteParticipants`: - `DyteWaitlistedParticipant.acceptWaitListedRequest()` -> `DyteParticipants.acceptWaitingRoomRequest(id)` - `DyteWaitlistedParticipant.rejectWaitListedRequest()` -> `DyteParticipants.rejectWaitingRoomRequest(id)` -The old participant hierarchy was complex, with certain types representing temporary states or behaviour at runtime. +The old participant hierarchy was complex, with certain types representing temporary states or behaviour at runtime. The new structure simplifies this by clearly differentiating between the local user and remote participants. **Migration Instructions**: @@ -41,39 +42,36 @@ The new structure simplifies this by clearly differentiating between the local u - `DyteSelfParticipant` is now a direct subtype of `DyteMeetingParticipant`. - Update the Waiting Room management logic to use APIs from `DyteParticipants` for accepting/rejecting waiting room requests. - ### Changes in DyteMeetingRoomEventsListener Connection State Callbacks The following connection state callbacks have been removed: - `onMeetingRoomDisconnected`, `onConnectingToMeetingRoom`, `onConnectedToMeetingRoom`, -`onDisconnectedFromMeetingRoom`, `onMeetingRoomConnectionFailed`, `onReconnectingToMeetingRoom`, -`onReconnectedToMeetingRoom`, `onMeetingRoomReconnectionFailed` + `onDisconnectedFromMeetingRoom`, `onMeetingRoomConnectionFailed`, `onReconnectingToMeetingRoom`, + `onReconnectedToMeetingRoom`, `onMeetingRoomReconnectionFailed` These callbacks have been consolidated into a single unified callback: `onSocketConnectionUpdate(newState: SocketConnectionState)` **Migration Instructions**: -- Move all connection state handling, mainly reconnection logic from the old callbacks to `onSocketConnectionUpdate()`. -The new callback provides a `SocketConnectionState` parameter that represents the current state of the meeting connection. - +- Move all connection state handling, mainly reconnection logic from the old callbacks to `onSocketConnectionUpdate()`. + The new callback provides a `SocketConnectionState` parameter that represents the current state of the meeting connection. -`DyteMeetingInfoV2.baseUrl` has been renamed to `DyteMeetingInfoV2.baseDomain`. This change is applicable only +`DyteMeetingInfoV2.baseUrl` has been renamed to `DyteMeetingInfoV2.baseDomain`. This change is applicable only if you are using a white-labeled domain. - ### Other Breaking Changes module-wise #### 1. DyteMobileClient (meeting) - The following methods now return `MeetingError` in the `onFailure` callback instead of `DyteError`: - - `init()`, `leaveRoom()`, `release()` + - `init()`, `leaveRoom()`, `release()` - Renamed some methods for adding/removing listeners to align with the respective listener names: - - `addParticipantEventsListener()` -> `addParticipantsEventListener()` - - `addPollsEventsListener()` -> `addPollsEventListener()` - - `addStageEventsListener()` -> `addStageEventListener()` - - `addLivestreamEventListener()` -> `addLivestreamEventListener()` + - `addParticipantEventsListener()` -> `addParticipantsEventListener()` + - `addPollsEventsListener()` -> `addPollsEventListener()` + - `addStageEventsListener()` -> `addStageEventListener()` + - `addLivestreamEventListener()` -> `addLivestreamEventListener()` - Changes in `DyteMeetingRoomEventsListener` callbacks: - Failure callbacks now return standardised `MeetingError` instead of `Exception`: - `onMeetingInitFailed(exception: Exception)` -> `onMeetingInitFailed(error: MeetingError)` @@ -105,14 +103,14 @@ if you are using a white-labeled domain. - Callbacks are now given only for remote participant events. Local user changes are dispatched to `DyteSelfEventsListener` - Listener renamed from `DyteParticipantEventsListener` to `DyteParticipantsEventListener` - Merged `onScreenShareStarted` & `onScreenShareEnded` into a single callback: - `onScreenShareUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` + `onScreenShareUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` - Removed `onNoActiveSpeaker()`. Now `onActiveSpeakerChanged(participant: DyteRemoteParticipant?)` gets a null value when active participant is cleared - Removed unused, uncalled `onScreenSharesUpdated()`, `onSetAsActiveSpeaker()`, & `onRemovedAsActiveSpeaker()` - Following callbacks have been tweaked for consistency & clarity: - - `onAudioUpdate(audioEnabled: Boolean, participant: DyteMeetingParticipant)` -> `onAudioUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` - - `onVideoUpdate(videoEnabled: Boolean, participant: DyteMeetingParticipant)` -> `onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` - - `onPinned()` -> `onParticipantPinned(participant: DyteRemoteParticipant)` - - `onUnpinned()` -> `onParticipantUnpinned(participant: DyteRemoteParticipant)` + - `onAudioUpdate(audioEnabled: Boolean, participant: DyteMeetingParticipant)` -> `onAudioUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` + - `onVideoUpdate(videoEnabled: Boolean, participant: DyteMeetingParticipant)` -> `onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Boolean)` + - `onPinned()` -> `onParticipantPinned(participant: DyteRemoteParticipant)` + - `onUnpinned()` -> `onParticipantUnpinned(participant: DyteRemoteParticipant)` **Migration Instructions**: @@ -126,9 +124,9 @@ if you are using a white-labeled domain. - `grantAccess()`, `denyAccess()`, and `kick()` now take a list of user IDs, making them more flexible - Removed unused `REJECTED_TO_JOIN_STAGE` constant from `StageStatus` enum - Removed the `DyteStageStatus` typealias -- DyteStageEventListener: Callbacks now consistently use the term '*stage*' to align with the **DyteStage** module for better clarity +- DyteStageEventListener: Callbacks now consistently use the term '_stage_' to align with the **DyteStage** module for better clarity - Redundant peer callbacks have been removed to simplify the API. Those events can be inferred as per use-case by - `onPeerStageStatusUpdated(participant: DyteRemoteParticipant, oldStatus: StageStatus, newStatus: StageStatus)` + `onPeerStageStatusUpdated(participant: DyteRemoteParticipant, oldStatus: StageStatus, newStatus: StageStatus)` - `onPresentRequestReceived()` -> `onStageAccessRequestAccepted()` - `onStageStatusUpdated(stageStatus: DyteStageStatus)` -> `onStageStatusUpdated(oldStatus: StageStatus, newStatus: StageStatus)` - `onPresentRequestAdded(participant: DyteJoinedMeetingParticipant)` -> `onNewStageAccessRequest(participant: DyteRemoteParticipant)` @@ -154,7 +152,7 @@ if you are using a white-labeled domain. - Removed following error callbacks from `DyteRecordingEventsListener` as `DyteRecording` methods now return proper errors: - `onMeetingRecordingStopError()`, `onMeetingRecordingPauseError()`, `onMeetingRecordingResumeError()` - `onMeetingRecordingStarted()`, `onMeetingRecordingEnded()`, and `onMeetingRecordingStateUpdated()` have been merged into a single callback: -`onRecordingStateChanged(oldState: DyteRecordingState, newState: DyteRecordingState)`. + `onRecordingStateChanged(oldState: DyteRecordingState, newState: DyteRecordingState)`. **Migration Instructions** @@ -172,8 +170,8 @@ if you are using a white-labeled domain. - `DyteLivestream.liveStreamUrl` -> `DyteLivestream.playbackUrl` - Changes in `DyteLivestreamEventsListener`: - The `DyteLiveStreamEventsListener` has been renamed to `DyteLivestreamEventListener` - - `onLiveStreamStarting`, `onLiveStreamStarted`, `onLiveStreamEnding`, and `onLiveStreamEnded` have been consolidated into - `onLivestreamStateChanged(oldState: LivestreamState, newState: LivestreamState)` + - `onLiveStreamStarting`, `onLiveStreamStarted`, `onLiveStreamEnding`, and `onLiveStreamEnded` have been consolidated into + `onLivestreamStateChanged(oldState: LivestreamState, newState: LivestreamState)` - `onLiveStreamErrored()` -> `onLivestreamError(message: String)` - `onLiveStreamStateUpdate(data: DyteLivestreamData)` ->  `onLivestreamUpdate(data: DyteLivestreamData)` - Removed `onStageCountUpdated(count: Int)` @@ -182,4 +180,4 @@ if you are using a white-labeled domain. - Update all class and property references to replace "LiveStream" with "Livestream" - Use the new `LivestreamState` enum values, replacing old state with the new, simplified states -- Update callbacks in `DyteLivestreamEventListener` to the new versions, ensuring state changes are handled using `onLivestreamStateChanged` and other revised methods \ No newline at end of file +- Update callbacks in `DyteLivestreamEventListener` to the new versions, ensuring state changes are handled using `onLivestreamStateChanged` and other revised methods diff --git a/docs/android/advanced-usage.mdx b/docs/android/advanced-usage.mdx index 3756e47eda..047f51a934 100644 --- a/docs/android/advanced-usage.mdx +++ b/docs/android/advanced-usage.mdx @@ -204,5 +204,8 @@ participant.unpin(); Android Advanced usage - + diff --git a/docs/android/build-pre-call-ui/_category_.json b/docs/android/build-pre-call-ui/_category_.json index c8ceff5fb9..ff59d70cc0 100644 --- a/docs/android/build-pre-call-ui/_category_.json +++ b/docs/android/build-pre-call-ui/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Pre-call preview UI", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/build-pre-call-ui/build-your-own/_category_.json b/docs/android/build-pre-call-ui/build-your-own/_category_.json index d581b593ba..ec59ec7c2d 100644 --- a/docs/android/build-pre-call-ui/build-your-own/_category_.json +++ b/docs/android/build-pre-call-ui/build-your-own/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Build your own", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/build-pre-call-ui/build-your-own/add-audio-video-device.mdx b/docs/android/build-pre-call-ui/build-your-own/add-audio-video-device.mdx index 302251d7d9..6982a22f0c 100644 --- a/docs/android/build-pre-call-ui/build-your-own/add-audio-video-device.mdx +++ b/docs/android/build-pre-call-ui/build-your-own/add-audio-video-device.mdx @@ -14,9 +14,11 @@ dyteSettingsFragment.show( ``` ## for video device Selection + You can access list of video devices like `meeting.localUser.getVideoDevices()` and selected video device can be accessed with `meeting.localUser.getSelectedVideoDevice()` To render the video device selection you can use following code + ```xml - @@ -90,4 +90,4 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?) { height="560" alt="Meeting Precall post skeleton changes" className="mb-10" -/> \ No newline at end of file +/> diff --git a/docs/android/build-pre-call-ui/build-your-own/edit-user-name.mdx b/docs/android/build-pre-call-ui/build-your-own/edit-user-name.mdx index 41da607163..3c6ec04805 100644 --- a/docs/android/build-pre-call-ui/build-your-own/edit-user-name.mdx +++ b/docs/android/build-pre-call-ui/build-your-own/edit-user-name.mdx @@ -19,7 +19,7 @@ We add a `` element for entering the participant name. We should ```xml {15, 21} - @@ -64,7 +64,7 @@ nameAtom.addTextChangedListener( } override fun afterTextChanged(s: Editable?) { - meeting.self.setDisplayName(s?.toString()) + meeting.self.setDisplayName(s?.toString()) } } ) @@ -72,4 +72,4 @@ nameAtom.addTextChangedListener( `meeting.self.setDisplayName(participantName)` sets the new name for the participant. -At the end, we let user join the meeting using `meeting.join();`. \ No newline at end of file +At the end, we let user join the meeting using `meeting.join();`. diff --git a/docs/android/build-pre-call-ui/build-your-own/initial-code-skeleton.mdx b/docs/android/build-pre-call-ui/build-your-own/initial-code-skeleton.mdx index 413953734e..21fe3c7908 100644 --- a/docs/android/build-pre-call-ui/build-your-own/initial-code-skeleton.mdx +++ b/docs/android/build-pre-call-ui/build-your-own/initial-code-skeleton.mdx @@ -23,7 +23,7 @@ Barebone xml needed to redner ui for self name and a button to join the meeting ```xml - diff --git a/docs/android/chat/_category_.json b/docs/android/chat/_category_.json index c5985249e2..fce8ca11dd 100644 --- a/docs/android/chat/_category_.json +++ b/docs/android/chat/_category_.json @@ -2,4 +2,4 @@ "position": 7, "label": "Chat", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/chat/prebuilt-screen.mdx b/docs/android/chat/prebuilt-screen.mdx index 1439c0e125..a6a8f8794f 100644 --- a/docs/android/chat/prebuilt-screen.mdx +++ b/docs/android/chat/prebuilt-screen.mdx @@ -5,25 +5,25 @@ title: Prebuilt Chat Screen ## Introduction to Chat in Dyte Meetings -In Dyte meetings, participants can also engage in real-time communication by sending chat messages. -These messages can be text, images, or files, depending on the [chat permissions](/guides/livestream/advanced/configuring-permissions#chat) +In Dyte meetings, participants can also engage in real-time communication by sending chat messages. +These messages can be text, images, or files, depending on the [chat permissions](/guides/livestream/advanced/configuring-permissions#chat) set in their preset. ## Dyte's Prebuilt Chat Screen -Dyte's Android UI Kit includes prebuilt Chat screen that handle the complete chat logic and offer +Dyte's Android UI Kit includes prebuilt Chat screen that handle the complete chat logic and offer a range of features to enhance the chat experience in Dyte meetings: - **Display Messages**: Displays all chat messages, including text, images, and files, in a clear and organized manner - **Image Preview**: Allows users to tap on an image message to view it in full screen - **File Download**: Enables users to download files sent in chat messages with a simple tap -- **Message Composer**: Provides a user-friendly interface for composing messages, supporting text, -image, and file messages. It automatically adjusts the UI based on the user's chat permissions, -hiding or disabling options that are not permitted -- **Auto-Scroll**: Auto-scrolls to new messages as they are received but stops auto-scrolling if the user -has scrolled up to read an old message -- **Device Permissions**: Handles device permissions elegantly on all supported Android versions for sending images, files, -and downloading files to the device. This saves developers effort, allowing them to focus on building their apps +- **Message Composer**: Provides a user-friendly interface for composing messages, supporting text, + image, and file messages. It automatically adjusts the UI based on the user's chat permissions, + hiding or disabling options that are not permitted +- **Auto-Scroll**: Auto-scrolls to new messages as they are received but stops auto-scrolling if the user + has scrolled up to read an old message +- **Device Permissions**: Handles device permissions elegantly on all supported Android versions for sending images, files, + and downloading files to the device. This saves developers effort, allowing them to focus on building their apps
+
## Using Dyte's Chat screen @@ -67,8 +68,8 @@ val dyteChatBottomSheet = DyteChatBottomSheet() dyteChatBottomSheet.show(childFragmentManager, TAG) ``` -2. **DyteChatFragment**: Shows the chat UI inside an Android Fragment, providing the flexibility to display the chat UI -full screen or as a part of the screen with other UI elements. +2. **DyteChatFragment**: Shows the chat UI inside an Android Fragment, providing the flexibility to display the chat UI + full screen or as a part of the screen with other UI elements. ```xml @@ -89,5 +90,5 @@ supportFragmentManager.beginTransaction() ## Wrap-Up -By integrating Dyte's prebuilt Chat screens into your app, you can enhance the communication experience for users -during Dyte meetings. \ No newline at end of file +By integrating Dyte's prebuilt Chat screens into your app, you can enhance the communication experience for users +during Dyte meetings. diff --git a/docs/android/components/_category_.json b/docs/android/components/_category_.json index 478b1886f4..d51fe60e5d 100644 --- a/docs/android/components/_category_.json +++ b/docs/android/components/_category_.json @@ -2,4 +2,4 @@ "position": 10, "label": "Components", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/customize-meeting-ui.mdx b/docs/android/customize-meeting-ui.mdx index 1fa5c267f5..942f3dc6b5 100644 --- a/docs/android/customize-meeting-ui.mdx +++ b/docs/android/customize-meeting-ui.mdx @@ -158,5 +158,8 @@ dyteUIKit.loadUi() Android Customize your Meeting UI - + diff --git a/docs/android/participants/_category_.json b/docs/android/participants/_category_.json index 7715a510fa..ced656c0e4 100644 --- a/docs/android/participants/_category_.json +++ b/docs/android/participants/_category_.json @@ -2,4 +2,4 @@ "position": 7, "label": "Participants", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/plugins/_category_.json b/docs/android/plugins/_category_.json index be7f419864..5772922e2f 100644 --- a/docs/android/plugins/_category_.json +++ b/docs/android/plugins/_category_.json @@ -2,4 +2,4 @@ "position": 8, "label": "Plugins", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/polls/_category_.json b/docs/android/polls/_category_.json index a8cba27665..38f4bee4c0 100644 --- a/docs/android/polls/_category_.json +++ b/docs/android/polls/_category_.json @@ -2,4 +2,4 @@ "position": 9, "label": "Polls", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/polls/prebuilt-create-poll.mdx b/docs/android/polls/prebuilt-create-poll.mdx index 4dbe40bdd2..d0ddeb51a3 100644 --- a/docs/android/polls/prebuilt-create-poll.mdx +++ b/docs/android/polls/prebuilt-create-poll.mdx @@ -3,20 +3,20 @@ sidebar_position: 2 title: Prebuilt Create Poll Screen --- -In Dyte meetings, participants can create polls to gather opinions or make decisions collectively. -The ability to create polls is determined by the [polls permissions](/guides/livestream/advanced/configuring-permissions#polls) +In Dyte meetings, participants can create polls to gather opinions or make decisions collectively. +The ability to create polls is determined by the [polls permissions](/guides/livestream/advanced/configuring-permissions#polls) set in the participant's preset. ## Using Dyte's Create Poll Screen -Dyte's Android UI Kit provides a user-friendly prebuilt screen, [DyteCreatePollBottomSheet](/android/components/dyte-poll-form), +Dyte's Android UI Kit provides a user-friendly prebuilt screen, [DyteCreatePollBottomSheet](/android/components/dyte-poll-form), for creating polls in a Dyte meeting. When using the DyteCreatePollBottomSheet, the poll creator can: - Add more options to the poll (default is 2) - Choose to make the poll voting anonymous - Choose to hide the poll results before voting, keeping the vote count and voters hidden from participants -To integrate the `DyteCreatePollBottomSheet` into your app and allow participants to create polls, +To integrate the `DyteCreatePollBottomSheet` into your app and allow participants to create polls, use the provided code snippet: ```kotlin @@ -36,8 +36,3 @@ createPollBottomSheet.show(childFragmentManager, TAG) **Wrap Up**: With Dyte's prebuilt Create Poll screen, you can easily add interactive polls features to your app, enhancing participant engagement in Dyte meetings. - - - - - diff --git a/docs/android/polls/prebuilt-polls-screen.mdx b/docs/android/polls/prebuilt-polls-screen.mdx index 151dc70df6..53955c193a 100644 --- a/docs/android/polls/prebuilt-polls-screen.mdx +++ b/docs/android/polls/prebuilt-polls-screen.mdx @@ -5,9 +5,9 @@ title: Prebuilt Polls Screen ## Introduction to Polls in Dyte Meetings -In Dyte meetings, participants can engage in polls to gather opinions or make decisions collectively. -Polls enhance the interactive nature of meetings, allowing participants to actively express their views. -The ability to create, or interact with polls is determined by the [polls permissions](/guides/livestream/advanced/configuring-permissions#polls) +In Dyte meetings, participants can engage in polls to gather opinions or make decisions collectively. +Polls enhance the interactive nature of meetings, allowing participants to actively express their views. +The ability to create, or interact with polls is determined by the [polls permissions](/guides/livestream/advanced/configuring-permissions#polls) set in the participant's preset. ## Dyte's Prebuilt Polls Screen @@ -31,8 +31,8 @@ val dytePollsBottomSheet = DytePollsBottomSheet() dytePollsBottomSheet.show(childFragmentManager, TAG) ``` -2. **DytePollsFragment**: Shows the list of ongoing polls inside an Android fragment, providing flexibility -to show the Polls UI fullscreen or in a part of the screen along with other UI elements. +2. **DytePollsFragment**: Shows the list of ongoing polls inside an Android fragment, providing flexibility + to show the Polls UI fullscreen or in a part of the screen along with other UI elements. ```xml @@ -61,5 +61,5 @@ supportFragmentManager.beginTransaction() ## Next Steps -In the next guide, we will explore the "Prebuilt Create Poll screen" which allows participants to create polls -if they have permission in their preset. \ No newline at end of file +In the next guide, we will explore the "Prebuilt Create Poll screen" which allows participants to create polls +if they have permission in their preset. diff --git a/docs/android/render-participant-videos/_category_.json b/docs/android/render-participant-videos/_category_.json index f5d9d4223c..c27ad0df06 100644 --- a/docs/android/render-participant-videos/_category_.json +++ b/docs/android/render-participant-videos/_category_.json @@ -2,4 +2,4 @@ "position": 6, "label": "Render participant videos", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/android/render-participant-videos/custom-ui.mdx b/docs/android/render-participant-videos/custom-ui.mdx index ba63f3f727..ca432125b1 100644 --- a/docs/android/render-participant-videos/custom-ui.mdx +++ b/docs/android/render-participant-videos/custom-ui.mdx @@ -3,19 +3,19 @@ title: Building Your Own UI sidebar_position: 2 --- -In this guide, we will walk you through building a custom UI to render participant videos using -Dyte's Android UI Kit. We will use an example of a video calling app like FaceTime to demonstrate +In this guide, we will walk you through building a custom UI to render participant videos using +Dyte's Android UI Kit. We will use an example of a video calling app like FaceTime to demonstrate how to display participant videos in your own UI. ## Video Calling Example -Let's consider a video calling app where two participants are in a call. The UI of our example app +Let's consider a video calling app where two participants are in a call. The UI of our example app will feature: -- **Remote Participant Tile**: This tile will render the video of the other participant, occupying -the main area of the screen -- **Local User Tile**: Positioned at the right-bottom corner, this tile will display your video -i.e. of the local user +- **Remote Participant Tile**: This tile will render the video of the other participant, occupying + the main area of the screen +- **Local User Tile**: Positioned at the right-bottom corner, this tile will display your video + i.e. of the local user @@ -78,8 +78,8 @@ to represent the remote participant and the local user.
``` -2. **UI Logic**: Bind the DyteParticipantTileViews to the respective participants and activate -them to render the videos. +2. **UI Logic**: Bind the DyteParticipantTileViews to the respective participants and activate + them to render the videos. ```kotlin import dyte.io.uikit.view.participanttile.DyteParticipantTileView @@ -110,12 +110,13 @@ class VideoCallActivity : AppCompatActivity() { } ``` -3. **Adding Controls** (Bonus): You can easily add controls like mic toggle, camera toggle, -and leave call button using the [DyteMicToggleButton](/android/components/dyte-mic-toggle), -[DyteCameraToggleButton](/android/components/dyte-camera-toggle), and [DyteLeaveButton](/android/components/dyte-leave-button) -provided by Dyte's Android UI Kit. +3. **Adding Controls** (Bonus): You can easily add controls like mic toggle, camera toggle, + and leave call button using the [DyteMicToggleButton](/android/components/dyte-mic-toggle), + [DyteCameraToggleButton](/android/components/dyte-camera-toggle), and [DyteLeaveButton](/android/components/dyte-leave-button) + provided by Dyte's Android UI Kit. Here's the screenshot of the UI implemented: + - ## Wrap-Up + Congratulations! You've successfully built a custom UI to render participant videos using Dyte's Android UI Kit. -With components like **DyteGridView** and **DyteParticipantTileView**, Dyte's UI Kit simplifies video rendering +With components like **DyteGridView** and **DyteParticipantTileView**, Dyte's UI Kit simplifies video rendering in meetings and offers the flexibility to create dynamic video calling experiences. ### Complete Code -You can find the complete code for this example in Dyte's [Facetime sample repository](https://github.com/dyte-io/android-samples/tree/main/samples/facetime). +You can find the complete code for this example in Dyte's [Facetime sample repository](https://github.com/dyte-io/android-samples/tree/main/samples/facetime). Feel free to explore and try it out! - diff --git a/docs/android/render-participant-videos/using-dytegrid.mdx b/docs/android/render-participant-videos/using-dytegrid.mdx index 95eefe2393..539f4be62b 100644 --- a/docs/android/render-participant-videos/using-dytegrid.mdx +++ b/docs/android/render-participant-videos/using-dytegrid.mdx @@ -3,8 +3,8 @@ title: Using DyteGridView sidebar_position: 1 --- -The [DyteGridView](/android/components/dyte-grid) is a custom Android View provided by Dyte's Android UI Kit, designed to simplify -the rendering of participant videos in a meeting. It abstracts the grid handling logic, making it easy to +The [DyteGridView](/android/components/dyte-grid) is a custom Android View provided by Dyte's Android UI Kit, designed to simplify +the rendering of participant videos in a meeting. It abstracts the grid handling logic, making it easy to display videos in a grid layout. To render participant videos using `DyteGridView`, follow these steps: @@ -19,8 +19,8 @@ To render participant videos using `DyteGridView`, follow these steps: /> ``` -2. **Activate DyteGridView**: In your fragment or activity class, activate the `DyteGridViewV2` by calling the -`activate` method with an instance of `DyteMobileClient`. +2. **Activate DyteGridView**: In your fragment or activity class, activate the `DyteGridViewV2` by calling the + `activate` method with an instance of `DyteMobileClient`. ```kotlin import dyte.io.uikit.view.dytegrid.DyteGridViewV2 @@ -50,5 +50,5 @@ After activation, the DyteGridView will automatically render the videos of the p ## Building Your Own UI -While DyteGridView provides a convenient way to render participant videos, you may want to customize the UI further. +While DyteGridView provides a convenient way to render participant videos, you may want to customize the UI further. In the next section, we will explore how to build your own UI to render participant videos according to your application's specific requirements. diff --git a/docs/android/sample-app.mdx b/docs/android/sample-app.mdx index 572bc1c295..1ea027a440 100644 --- a/docs/android/sample-app.mdx +++ b/docs/android/sample-app.mdx @@ -12,5 +12,8 @@ You can check out an example of this integration by cloning our Android Sample app - + diff --git a/docs/angular-ui-kit/basics/components-basics.mdx b/docs/angular-ui-kit/basics/components-basics.mdx index 19bf3e0ab8..ac0a27a693 100644 --- a/docs/angular-ui-kit/basics/components-basics.mdx +++ b/docs/angular-ui-kit/basics/components-basics.mdx @@ -229,5 +229,8 @@ simpleGrid.participants = [meeting.self, meeting.self]; Angular UI Kit Components Basics - + diff --git a/docs/angular-ui-kit/basics/pre-requisite.mdx b/docs/angular-ui-kit/basics/pre-requisite.mdx index 0022813715..ff72c6afc5 100644 --- a/docs/angular-ui-kit/basics/pre-requisite.mdx +++ b/docs/angular-ui-kit/basics/pre-requisite.mdx @@ -119,5 +119,8 @@ This components depends on the values from `states` object. Angular UI Kit Prerequisite - + diff --git a/docs/angular-ui-kit/components/dyte-network-indicator.mdx b/docs/angular-ui-kit/components/dyte-network-indicator.mdx index 9e402b782e..2c4dd91849 100644 --- a/docs/angular-ui-kit/components/dyte-network-indicator.mdx +++ b/docs/angular-ui-kit/components/dyte-network-indicator.mdx @@ -11,9 +11,14 @@ A component that indicates poor network connection. It listens to the mediaScoreUpdate event of the passed participant to get the score. ```tsx - (participant as DyteParticipant).addListener('mediaScoreUpdate', ({ kind, isScreenshare, score, scoreStats }) => { - console.log(`Score for ${isScreenshare ? 'screen share': ''} ${kind} was:: ${score}`); -}); +(participant as DyteParticipant).addListener( + 'mediaScoreUpdate', + ({ kind, isScreenshare, score, scoreStats }) => { + console.log( + `Score for ${isScreenshare ? 'screen share' : ''} ${kind} was:: ${score}`, + ); + }, +); ``` :::note info @@ -28,4 +33,4 @@ This component will only be visible if the network quality is poor (less than or React UI Kit dyte-network-indicator - \ No newline at end of file + diff --git a/docs/angular-ui-kit/customizations/custom-iconpack.mdx b/docs/angular-ui-kit/customizations/custom-iconpack.mdx index 3d585e265a..d9f423e0ac 100644 --- a/docs/angular-ui-kit/customizations/custom-iconpack.mdx +++ b/docs/angular-ui-kit/customizations/custom-iconpack.mdx @@ -149,5 +149,8 @@ Icon Pack object type: Angular UI Kit Customize Meeting Icons - + diff --git a/docs/angular-ui-kit/customizations/custom-locale.mdx b/docs/angular-ui-kit/customizations/custom-locale.mdx index 72214b77af..49f0e9550f 100644 --- a/docs/angular-ui-kit/customizations/custom-locale.mdx +++ b/docs/angular-ui-kit/customizations/custom-locale.mdx @@ -96,5 +96,8 @@ import DefaultLanguageI18N from '/docs/partials/_default-language-i18n.mdx'; Angular UI Kit Customize Meeting Locale - + diff --git a/docs/angular-ui-kit/design-system.mdx b/docs/angular-ui-kit/design-system.mdx index 01bad465bc..00deeee616 100644 --- a/docs/angular-ui-kit/design-system.mdx +++ b/docs/angular-ui-kit/design-system.mdx @@ -73,7 +73,7 @@ const designTokens = { fontFamily: 'Custom Font', // or googleFont: 'A Google Font', -} +}; ``` Set either of these values in your design tokens. @@ -232,5 +232,8 @@ const designTokens = { Angular UI Kit Design System - + diff --git a/docs/angular-ui-kit/quickstart.mdx b/docs/angular-ui-kit/quickstart.mdx index 9bf113dd84..bf862995aa 100644 --- a/docs/angular-ui-kit/quickstart.mdx +++ b/docs/angular-ui-kit/quickstart.mdx @@ -124,8 +124,10 @@ class AppComponent { } ``` - Angular UI Kit Quickstart - + diff --git a/docs/angular-ui-kit/release-notes.mdx b/docs/angular-ui-kit/release-notes.mdx index 4283a237b8..560dc4e496 100644 --- a/docs/angular-ui-kit/release-notes.mdx +++ b/docs/angular-ui-kit/release-notes.mdx @@ -15,5 +15,8 @@ The release notes lists all new features, resolved issues, and known issues of A Angular UI Kit Release Notes - + diff --git a/docs/cli/getting-started.mdx b/docs/cli/getting-started.mdx index ec48bd7057..7816b38ca0 100644 --- a/docs/cli/getting-started.mdx +++ b/docs/cli/getting-started.mdx @@ -62,6 +62,8 @@ dyte auth org CLI Getting started - - + diff --git a/docs/cli/installation.mdx b/docs/cli/installation.mdx index b83c6d8d98..92b7528f70 100644 --- a/docs/cli/installation.mdx +++ b/docs/cli/installation.mdx @@ -21,5 +21,8 @@ npm install -g @dytesdk/cli CLI Dyte CLI - + diff --git a/docs/cli/meetings.mdx b/docs/cli/meetings.mdx index a33e45beac..e897e216e2 100644 --- a/docs/cli/meetings.mdx +++ b/docs/cli/meetings.mdx @@ -35,5 +35,8 @@ dyte meetings info CLI Meetings - + diff --git a/docs/cli/plugins.mdx b/docs/cli/plugins.mdx index 4577798257..91bd0f0666 100644 --- a/docs/cli/plugins.mdx +++ b/docs/cli/plugins.mdx @@ -174,5 +174,8 @@ dyte plugins version change-latest -v CLI Plugins - + diff --git a/docs/cli/recording.mdx b/docs/cli/recording.mdx index cb2575c305..5065ba0ea4 100644 --- a/docs/cli/recording.mdx +++ b/docs/cli/recording.mdx @@ -68,5 +68,8 @@ command you need to retrieve that particular recording! ::: CLI Recordings - + diff --git a/docs/cli/webhooks.mdx b/docs/cli/webhooks.mdx index 97c58d0935..56e6d8dcf1 100644 --- a/docs/cli/webhooks.mdx +++ b/docs/cli/webhooks.mdx @@ -20,5 +20,8 @@ dyte webhooks create CLI Webhooks - + diff --git a/docs/community-packages/device-emulator/examples.mdx b/docs/community-packages/device-emulator/examples.mdx index abd45a0212..85a452a907 100644 --- a/docs/community-packages/device-emulator/examples.mdx +++ b/docs/community-packages/device-emulator/examples.mdx @@ -15,5 +15,8 @@ You can find the source code for this here [https://github.com/dyte-io/device-em Community Packages Examples - + diff --git a/docs/community-packages/device-emulator/intro.mdx b/docs/community-packages/device-emulator/intro.mdx index 76ef647555..36b1559011 100644 --- a/docs/community-packages/device-emulator/intro.mdx +++ b/docs/community-packages/device-emulator/intro.mdx @@ -163,5 +163,8 @@ navigator.mediaDevices.silenceDevice(deviceId, false); Community Packages Introduction - + diff --git a/docs/community-packages/index.mdx b/docs/community-packages/index.mdx index afc4e71f92..2fbc972953 100644 --- a/docs/community-packages/index.mdx +++ b/docs/community-packages/index.mdx @@ -46,5 +46,8 @@ We are excited to see the new applications and platforms that you will build usi Community Packages Community packages - + diff --git a/docs/flutter-core/chat/introduction.mdx b/docs/flutter-core/chat/introduction.mdx index 72e0e411b9..018ab1db55 100644 --- a/docs/flutter-core/chat/introduction.mdx +++ b/docs/flutter-core/chat/introduction.mdx @@ -53,5 +53,8 @@ extra property in addition to `DyteChatMessage` properties: Flutter Core Introducing chat - + diff --git a/docs/flutter-core/chat/receiving-chat-messages.mdx b/docs/flutter-core/chat/receiving-chat-messages.mdx index 5174d604ed..d0b60a0e4e 100644 --- a/docs/flutter-core/chat/receiving-chat-messages.mdx +++ b/docs/flutter-core/chat/receiving-chat-messages.mdx @@ -64,5 +64,8 @@ Whenever a chat message is received, the `dyteClient.chat.messages` list is auto Flutter Core Receiving chat messages - + diff --git a/docs/flutter-core/chat/sending-a-chat-message.mdx b/docs/flutter-core/chat/sending-a-chat-message.mdx index 59958a1414..4dc3991e7a 100644 --- a/docs/flutter-core/chat/sending-a-chat-message.mdx +++ b/docs/flutter-core/chat/sending-a-chat-message.mdx @@ -51,5 +51,8 @@ dyteClient.chat.sendFileMessage(filePath, fileName); Flutter Core Sending a chat message - + diff --git a/docs/flutter-core/local-user/manage-media-devices.mdx b/docs/flutter-core/local-user/manage-media-devices.mdx index f25ef6e340..54d30d0246 100644 --- a/docs/flutter-core/local-user/manage-media-devices.mdx +++ b/docs/flutter-core/local-user/manage-media-devices.mdx @@ -59,5 +59,8 @@ await dyteClient.localUser.setVideoDevice(device); Flutter Core Manage Media Devices - + diff --git a/docs/flutter-core/participants/events.mdx b/docs/flutter-core/participants/events.mdx index 084cb02486..30c6e60f5b 100644 --- a/docs/flutter-core/participants/events.mdx +++ b/docs/flutter-core/participants/events.mdx @@ -150,5 +150,8 @@ Other events: Flutter Core Participant Events - + diff --git a/docs/flutter-core/participants/introduction.mdx b/docs/flutter-core/participants/introduction.mdx index eb6c5f6dea..25b552fbbc 100644 --- a/docs/flutter-core/participants/introduction.mdx +++ b/docs/flutter-core/participants/introduction.mdx @@ -136,5 +136,8 @@ class ParticipantNotifier implements DyteParticipantEventsListener{ Flutter Core Introduction - + diff --git a/docs/flutter-core/participants/participant-object.mdx b/docs/flutter-core/participants/participant-object.mdx index fe72228365..7e852e7c77 100644 --- a/docs/flutter-core/participants/participant-object.mdx +++ b/docs/flutter-core/participants/participant-object.mdx @@ -154,5 +154,8 @@ participant.pin(); Flutter Core The participant object - + diff --git a/docs/flutter-core/polls/voting-on-a-poll.mdx b/docs/flutter-core/polls/voting-on-a-poll.mdx index 8a9cd5e228..e0ec56ce0b 100644 --- a/docs/flutter-core/polls/voting-on-a-poll.mdx +++ b/docs/flutter-core/polls/voting-on-a-poll.mdx @@ -31,5 +31,8 @@ dyteClient.polls.vote(poll, selectedPollOption); Flutter Core Voting on a poll - + diff --git a/docs/flutter-core/room-metadata.mdx b/docs/flutter-core/room-metadata.mdx index 4939aedee0..0eecfa4ad7 100644 --- a/docs/flutter-core/room-metadata.mdx +++ b/docs/flutter-core/room-metadata.mdx @@ -28,5 +28,8 @@ print("The local user has joined room ${roomName}."); Flutter Core Room Metadata - + diff --git a/docs/flutter/Components/dyte-chat-icon-widget.mdx b/docs/flutter/Components/dyte-chat-icon-widget.mdx index 7387a90692..4537809dcd 100644 --- a/docs/flutter/Components/dyte-chat-icon-widget.mdx +++ b/docs/flutter/Components/dyte-chat-icon-widget.mdx @@ -23,7 +23,6 @@ When the `DyteChatIconWidget` is tapped, it performs two primary actions: 1. Marks all chat messages as read. 2. Navigates the user to the `ChatsPage`. -| Chat Icon | Chat Screen | -| --- | --- | +| Chat Icon | Chat Screen | +| --------------------------------------------------------------------- | --------------------------------------------------------------- | | | | - diff --git a/docs/flutter/Components/dyte-join-button.mdx b/docs/flutter/Components/dyte-join-button.mdx index 153f6bb363..8f627e09f6 100644 --- a/docs/flutter/Components/dyte-join-button.mdx +++ b/docs/flutter/Components/dyte-join-button.mdx @@ -27,7 +27,6 @@ DyteJoinButton( - `width`: (Optional) The width of the button. If not specified, it defaults to the width defined by the button style. - `isDisabled`: (Optional) A boolean that disables the button when set to `true`. Default is `false`. - ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-leave-button.mdx b/docs/flutter/Components/dyte-leave-button.mdx index b8cf52daa4..9a8d67e7ca 100644 --- a/docs/flutter/Components/dyte-leave-button.mdx +++ b/docs/flutter/Components/dyte-leave-button.mdx @@ -21,7 +21,6 @@ DyteLeaveButton( - `height`: (Optional) The height of the button. If not specified, it defaults to a predefined size based on the design tokens. - `width`: (Optional) The width of the button. If not specified, it defaults to a predefined size based on the design tokens. - ## Features - **Customizable Size**: The size of the button can be adjusted using the `height` and `width` properties. @@ -30,4 +29,4 @@ DyteLeaveButton( ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-leave-meeting-dialog.mdx b/docs/flutter/Components/dyte-leave-meeting-dialog.mdx index 5cca39831f..4ad73b18ad 100644 --- a/docs/flutter/Components/dyte-leave-meeting-dialog.mdx +++ b/docs/flutter/Components/dyte-leave-meeting-dialog.mdx @@ -1,4 +1,3 @@ - # DyteLeaveMeetingDialog A dialog widget designed for confirming the action of leaving a Dyte meeting. This widget is part of the Dyte UI Kit and is intended to provide a clear and concise user interface for confirming the exit process from a meeting environment. @@ -32,7 +31,9 @@ The `DyteLeaveMeetingDialog` utilizes `DyteDesignTokens` for theming: - **Action Buttons**: Includes "Cancel" and "Leave" buttons, allowing the user to either cancel the action or confirm their intent to leave the meeting. - **Host Controls**: If the user has host permissions, an additional button "End meeting for all" is displayed, providing the option to end the meeting for all participants. - ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-meeting-title.mdx b/docs/flutter/Components/dyte-meeting-title.mdx index 47e1701078..c861b16528 100644 --- a/docs/flutter/Components/dyte-meeting-title.mdx +++ b/docs/flutter/Components/dyte-meeting-title.mdx @@ -1,4 +1,3 @@ - # DyteMeetingTitle A simple, customizable widget designed to display the title of a Dyte meeting. This widget is part of the Dyte UI Kit and integrates seamlessly with Dyte's design system and meeting services. @@ -18,8 +17,6 @@ DyteMeetingTitle( - `dyteMobileClient`: (**Required**) An instance of `DyteMobileClient`. This is used to fetch and display the current meeting's title. - `designToken`: (Optional) An instance of `DyteDesignTokens` for customizing the appearance according to the Dyte Design System. If not specified, the widget will use the global design tokens. - - ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-participant-tile.mdx b/docs/flutter/Components/dyte-participant-tile.mdx index 9bbc3e74fb..8d184ff021 100644 --- a/docs/flutter/Components/dyte-participant-tile.mdx +++ b/docs/flutter/Components/dyte-participant-tile.mdx @@ -8,7 +8,6 @@ A comprehensive widget designed to display a participant's video or avatar withi ::: - ## Usage Below is an example of how to use the `DyteParticipantTile` in your Flutter application: @@ -29,7 +28,6 @@ DyteParticipantTile( - `height`: (Optional) The height of the tile. Default is `240`. - `width`: (Optional) The width of the tile. Default is `180`. - ## Features - **Video or Avatar Display**: Automatically displays the participant's video feed if available; otherwise, shows the participant's avatar. @@ -38,8 +36,6 @@ DyteParticipantTile( - **Audio Status**: Shows an icon indicating whether the participant's audio is on or off. - **Name Tag**: Displays the participant's name and, if applicable, indicates if they are the local user with a "You" tag. - - ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-provider.mdx b/docs/flutter/Components/dyte-provider.mdx index 917623bbda..612b4666be 100644 --- a/docs/flutter/Components/dyte-provider.mdx +++ b/docs/flutter/Components/dyte-provider.mdx @@ -19,7 +19,6 @@ DyteProvider( if you don't want to wrap the root of your app inside `DyteProvider`, you can also wrap a specific part of your app where you want to use Dyte components but after adding `DyteProvider` you need a `MaterialApp` widget under it. - This approach ensures that all the necessary Dyte setup is done before your app UI starts, allowing you to utilize Dyte features seamlessly within your application. ## Properties @@ -55,4 +54,4 @@ class MyApp extends StatelessWidget { } ``` -By wrapping your app with `DyteProvider`, you ensure that all necessary Dyte setups are initialized and available for your app components, allowing you to build a fully functional Dyte-enabled application. \ No newline at end of file +By wrapping your app with `DyteProvider`, you ensure that all necessary Dyte setups are initialized and available for your app components, allowing you to build a fully functional Dyte-enabled application. diff --git a/docs/flutter/Components/dyte-self-audio-toggle.mdx b/docs/flutter/Components/dyte-self-audio-toggle.mdx index 662a925faa..3c803f7aec 100644 --- a/docs/flutter/Components/dyte-self-audio-toggle.mdx +++ b/docs/flutter/Components/dyte-self-audio-toggle.mdx @@ -32,4 +32,4 @@ The widget uses `DyteDesignTokens` for theming, which allows for customization a ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/Components/dyte-self-video-toggle.mdx b/docs/flutter/Components/dyte-self-video-toggle.mdx index 0fab74f455..1f0b7b53d0 100644 --- a/docs/flutter/Components/dyte-self-video-toggle.mdx +++ b/docs/flutter/Components/dyte-self-video-toggle.mdx @@ -31,7 +31,6 @@ DyteSelfVideoToggleButton( The widget utilizes `DyteDesignTokens` for theming, which allows customization following the Dyte Design System. The `designTokens` can either be passed as a parameter or will default to the global design tokens. - ## Screenshot - \ No newline at end of file + diff --git a/docs/flutter/design-token.mdx b/docs/flutter/design-token.mdx index 8264c5f394..e393f2abe0 100644 --- a/docs/flutter/design-token.mdx +++ b/docs/flutter/design-token.mdx @@ -41,11 +41,11 @@ With `DyteDesignToken`, you can customize the following design properties: You have two options to customize the UI Kit's theme: -#### Pass a single color. +#### Pass a single color. You can pass a single color to the `backgroundColor`, `brandColor` parameters. Or you can use a combination of `backgroundColorSwatch` and `brandColor` to customize the theme. -#### Use a color swatch. +#### Use a color swatch. For the brand color swatch, make sure it contains 5 entries with keys 300, 400, 500, 600, and 700. For the background color swatch, provide 5 entries with keys 600, 700, 800, 900, and 1000. @@ -137,5 +137,8 @@ final uikitInfo = DyteUIKitInfo(meetingInfo, Flutter Design System - + diff --git a/docs/flutter/introduction.mdx b/docs/flutter/introduction.mdx index 50df59c126..0d539344ee 100644 --- a/docs/flutter/introduction.mdx +++ b/docs/flutter/introduction.mdx @@ -45,5 +45,8 @@ In iOS, for downloading attachments in chat, add the following permissions in yo Flutter Introduction - + diff --git a/docs/guides/capabilities/ai/index.mdx b/docs/guides/capabilities/ai/index.mdx index 7da3c26557..3b0486df52 100644 --- a/docs/guides/capabilities/ai/index.mdx +++ b/docs/guides/capabilities/ai/index.mdx @@ -7,14 +7,13 @@ Learn how you can harnesses the power of Artificial Intelligence in Dyte meeting title="Meeting Transcription" to="/guides/capabilities/ai/meeting-transcription" /> - + - Meeting AI Guide - + diff --git a/docs/guides/capabilities/ai/meeting-summary.mdx b/docs/guides/capabilities/ai/meeting-summary.mdx index b326de653f..2535dcc973 100644 --- a/docs/guides/capabilities/ai/meeting-summary.mdx +++ b/docs/guides/capabilities/ai/meeting-summary.mdx @@ -13,11 +13,11 @@ This feature makes it easy to capture key points and action items, providing a c :::info To generate a meeting summary, transcription must be enabled. The summarization feature relies on the transcription data to create accurate and meaningful summaries. ::: + ## Enabling Meeting Summarization To enable automatic summarization post meeting, you can set the `summarize_on_end` flag when creating a meeting using the [REST API](/api#/operations/create_meeting). - ### Summarization Configuration Options You can tailor the summarization process using the following configuration options: @@ -58,6 +58,7 @@ Select the type of summary based on the nature of the meeting. Supported types a ```json lines "summary_type": "team_meeting" ``` + ### Example Configuration Here is an example of how to enable summarization in the meeting creation API call: @@ -76,8 +77,6 @@ Here is an example of how to enable summarization in the meeting creation API ca } ``` - - ## Consuming Summaries There are two ways to consume the generated summaries: @@ -102,5 +101,8 @@ If you need to generate a summary after the meeting has ended, you can trigger t Meeting Summary Guide - + diff --git a/docs/guides/capabilities/ai/meeting-transcription.mdx b/docs/guides/capabilities/ai/meeting-transcription.mdx index 10735e3dc6..4a8fcd5c34 100644 --- a/docs/guides/capabilities/ai/meeting-transcription.mdx +++ b/docs/guides/capabilities/ai/meeting-transcription.mdx @@ -10,7 +10,6 @@ description: >- Dyte's meeting transcription allows you to transcribe your Dyte meetings in real-time, making it easy to capture important discussions and refer back to them later. This guide will walk you through how to use this feature effectively. - ## Control transcriptions for participants using presets You can control whether or not a participant's audio will be transcribe with the help of the `transcription_enabled` flag in the participant's preset. @@ -22,34 +21,33 @@ You can create a new preset on our [Developer Portal](https://dev.dyte.io/preset You can control transcription behavior through a configurable AI setup. When creating a meeting using the [REST API](/api#/operations/create_meeting), you can pass an AI configuration for transcriptions. This allows for greater control over the transcription process. - ### Supported Languages You can specify the language for transcription to ensure accurate and relevant results. The following languages are supported: - -- *English (United States):* `en-US` -- *English (India):* `en-IN` -- *German:* `de` -- *Hindi:* `hi` -- *Swedish:* `sv` -- *Russian:* `ru` -- *Polish:* `pl` -- *Greek:* `el` -- *French:* `fr` -- *Dutch:* `nl` -- *Turkish* `tr` -- *Spanish* `es` -- *Italian* `it` -- *Portuguese* `pt` -- *Romanian* `ro` -- *Korean* `ko` -- *Indonesia* `id` -- *Multi* `multi` +- _English (United States):_ `en-US` +- _English (India):_ `en-IN` +- _German:_ `de` +- _Hindi:_ `hi` +- _Swedish:_ `sv` +- _Russian:_ `ru` +- _Polish:_ `pl` +- _Greek:_ `el` +- _French:_ `fr` +- _Dutch:_ `nl` +- _Turkish_ `tr` +- _Spanish_ `es` +- _Italian_ `it` +- _Portuguese_ `pt` +- _Romanian_ `ro` +- _Korean_ `ko` +- _Indonesia_ `id` +- _Multi_ `multi` ```json lines "language": "en-US" ``` + ### Keywords Keywords can be added to help the transcription engine accurately detect and transcribe specific terms, such as names, technical jargon, or other context-specific words. This is particularly useful in meetings where certain terms are frequently used and need to be recognized correctly. @@ -58,10 +56,10 @@ Keywords can be added to help the transcription engine accurately detect and tra "keywords": ["Dyte", "Mary", "Sue"] ``` - ### Profanity Filter You can enable or disable the profanity filter based on your needs. This feature ensures that any offensive language is either included or excluded from the transcriptions, depending on your preference. + ```json lines "profanity_filter": false ``` @@ -69,7 +67,9 @@ You can enable or disable the profanity filter based on your needs. This feature By utilizing these new features, you can customize the transcription experience to better suit your needs. ### Example Configuration + Here is an example of how to pass the AI configuration in the [meeting creation API](/api#/operations/create_meeting): + ```json { "title": "Meeting Transcriptions", @@ -81,7 +81,6 @@ Here is an example of how to pass the AI configuration in the [meeting creation } } } - ``` ## Consuming transcripts @@ -112,6 +111,7 @@ meeting.ai.on('transcript', (transcriptData) => { ``` As participants speak during the meeting, you'll receive partial transcripts, giving you real-time feedback even before they finish their sentences. The `isPartialTranscript` flag in the transcript data shows whether the transcript is partial or final. + ```json { "id": "1a2b3c4d-5678-90ab-cdef-1234567890ab", @@ -124,6 +124,7 @@ As participants speak during the meeting, you'll receive partial transcripts, gi "date": "Wed Aug 07 2024 10:15:30 GMT+0530 (India Standard Time)" } ``` + In the example above, `isPartialTranscript` is true, indicating the transcript is still in progress. Once the participant finishes speaking, the final transcript will be sent with `isPartialTranscript` set to false. This helps you distinguish between ongoing speech and completed transcriptions, making the transcription process more dynamic and responsive. ### Consume transcript via a post-meeting webhook @@ -165,5 +166,8 @@ To test if meeting transcription has been configured for your organization, perf Meeting Transcription Guide - + diff --git a/docs/guides/capabilities/breakoutroom/create-breakout-rooms.mdx b/docs/guides/capabilities/breakoutroom/create-breakout-rooms.mdx index 8bc92eb0ff..b2b1badeba 100644 --- a/docs/guides/capabilities/breakoutroom/create-breakout-rooms.mdx +++ b/docs/guides/capabilities/breakoutroom/create-breakout-rooms.mdx @@ -144,5 +144,8 @@ You can select which participants you would like in each room. To assign partici Create a Breakout Room Guide - + diff --git a/docs/guides/capabilities/breakoutroom/introduction-breakout-rooms.mdx b/docs/guides/capabilities/breakoutroom/introduction-breakout-rooms.mdx index 26ee4d7eab..8b52aab667 100644 --- a/docs/guides/capabilities/breakoutroom/introduction-breakout-rooms.mdx +++ b/docs/guides/capabilities/breakoutroom/introduction-breakout-rooms.mdx @@ -61,5 +61,8 @@ As mentioned earlier, each breakout session is a separate session. Each breakout Introduction to Dyte's Breakout Rooms Guide - + diff --git a/docs/guides/capabilities/chat/export-chat-dump.mdx b/docs/guides/capabilities/chat/export-chat-dump.mdx index 95c2935f3f..517124b022 100644 --- a/docs/guides/capabilities/chat/export-chat-dump.mdx +++ b/docs/guides/capabilities/chat/export-chat-dump.mdx @@ -95,5 +95,8 @@ blog. Export Chat Messages Guide - + diff --git a/docs/guides/capabilities/misc/embed.mdx b/docs/guides/capabilities/misc/embed.mdx index 858b70e196..8c7bd8590c 100644 --- a/docs/guides/capabilities/misc/embed.mdx +++ b/docs/guides/capabilities/misc/embed.mdx @@ -55,5 +55,8 @@ function receiveMessage(evt) { No code Integration Guide - + diff --git a/docs/guides/capabilities/misc/livestreaming-other-platforms.mdx b/docs/guides/capabilities/misc/livestreaming-other-platforms.mdx index 5d54b1912c..853fa44045 100644 --- a/docs/guides/capabilities/misc/livestreaming-other-platforms.mdx +++ b/docs/guides/capabilities/misc/livestreaming-other-platforms.mdx @@ -46,5 +46,8 @@ You may notice a few seconds of lag between the meeting and the stream. Restream to Social Platforms Guide - + diff --git a/docs/guides/capabilities/polls/getting_started.mdx b/docs/guides/capabilities/polls/getting_started.mdx index 148452bc7f..cd886cb169 100644 --- a/docs/guides/capabilities/polls/getting_started.mdx +++ b/docs/guides/capabilities/polls/getting_started.mdx @@ -157,7 +157,7 @@ Check the implementation in your desired framework. await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` @@ -170,7 +170,7 @@ Here is a snippet of a poll where votes are anonymous. await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` @@ -193,7 +193,7 @@ dyteClient.polls.create( await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` diff --git a/docs/guides/capabilities/recording/advanced/add-watermark.mdx b/docs/guides/capabilities/recording/advanced/add-watermark.mdx index e3dbae731f..b924f3a98b 100644 --- a/docs/guides/capabilities/recording/advanced/add-watermark.mdx +++ b/docs/guides/capabilities/recording/advanced/add-watermark.mdx @@ -19,21 +19,23 @@ Dyte's watermark feature enables you to include an image as a watermark in your ```json { - "video_config": { - "watermark": { - "url": "https://test.io/images/client-logos-6.webp", - "position": "left top", - "size": { - "height": 20, - "width": 100, - } - } + "video_config": { + "watermark": { + "url": "https://test.io/images/client-logos-6.webp", + "position": "left top", + "size": { + "height": 20, + "width": 100 + } } + } } - ``` Add Watermark to your Recording Guide - + diff --git a/docs/guides/capabilities/recording/advanced/configure-dyte-bucket-config.mdx b/docs/guides/capabilities/recording/advanced/configure-dyte-bucket-config.mdx index 2f010e57e9..0446210378 100644 --- a/docs/guides/capabilities/recording/advanced/configure-dyte-bucket-config.mdx +++ b/docs/guides/capabilities/recording/advanced/configure-dyte-bucket-config.mdx @@ -31,5 +31,8 @@ For more information on how to set your extrenal storage configuration, see [Pub Manage Dyte's Default Recording Upload Settings Guide - + diff --git a/docs/guides/capabilities/recording/advanced/create-record-app-using-sdks.mdx b/docs/guides/capabilities/recording/advanced/create-record-app-using-sdks.mdx index c91b8fec38..4364010363 100644 --- a/docs/guides/capabilities/recording/advanced/create-record-app-using-sdks.mdx +++ b/docs/guides/capabilities/recording/advanced/create-record-app-using-sdks.mdx @@ -127,5 +127,8 @@ In the [Start Recording a Meeting](/api#/operations/start_recording) API, provid Create Custom Recording App Using Recording SDKs Guide - + diff --git a/docs/guides/capabilities/recording/advanced/interactive-recording.mdx b/docs/guides/capabilities/recording/advanced/interactive-recording.mdx index b370dbbbc0..47934d373e 100644 --- a/docs/guides/capabilities/recording/advanced/interactive-recording.mdx +++ b/docs/guides/capabilities/recording/advanced/interactive-recording.mdx @@ -93,5 +93,8 @@ hls.on(Hls.Events.FRAG_CHANGED, onFragChanged); Interactive Recordings with Timed Metadata Guide - + diff --git a/docs/guides/capabilities/recording/advanced/manage-recording-config-hierarchy.mdx b/docs/guides/capabilities/recording/advanced/manage-recording-config-hierarchy.mdx index c87bfa54d5..3952180272 100644 --- a/docs/guides/capabilities/recording/advanced/manage-recording-config-hierarchy.mdx +++ b/docs/guides/capabilities/recording/advanced/manage-recording-config-hierarchy.mdx @@ -37,5 +37,8 @@ In this scenario, the Start recording a meeting API takes precedence over the Cr Manage Recording Config Precedence Order Guide - + diff --git a/docs/guides/capabilities/recording/configure-audio-codec.mdx b/docs/guides/capabilities/recording/configure-audio-codec.mdx index c9a333af57..77cdb934bd 100644 --- a/docs/guides/capabilities/recording/configure-audio-codec.mdx +++ b/docs/guides/capabilities/recording/configure-audio-codec.mdx @@ -49,5 +49,8 @@ When the recording is completed, you can use the `audio_download_url` provided i Set Audio Configurations Guide - + diff --git a/docs/guides/capabilities/recording/configure-codecs.mdx b/docs/guides/capabilities/recording/configure-codecs.mdx index 6058a941c5..cdfa1aa3c5 100644 --- a/docs/guides/capabilities/recording/configure-codecs.mdx +++ b/docs/guides/capabilities/recording/configure-codecs.mdx @@ -38,5 +38,8 @@ When the recording is completed, you can use the `downloadUrl` provided in the r Configure Video Settings Guide - + diff --git a/docs/guides/capabilities/recording/custom-cloud-storage.mdx b/docs/guides/capabilities/recording/custom-cloud-storage.mdx index 14b84de5e2..60e8fcd609 100644 --- a/docs/guides/capabilities/recording/custom-cloud-storage.mdx +++ b/docs/guides/capabilities/recording/custom-cloud-storage.mdx @@ -51,7 +51,6 @@ precedence and override the storage details configured in the Developer Portal. To familiarize yourself with the Dyte REST APIs, we recommend exploring the [Dyte REST API Quickstart Guide](https://docs.dyte.io/guides/rest-apis/quickstart). - ### Using the `storage_config` option in the Start Recording API This allows for the most granular level of control, and lets you specify a @@ -78,7 +77,6 @@ curl --request POST \ To familiarize yourself with the Dyte REST APIs, we recommend exploring the [Dyte REST API Quickstart Guide](https://docs.dyte.io/guides/rest-apis/quickstart). - ## Supported Cloud Providers Currently, the following cloud providers are supported: @@ -157,5 +155,8 @@ For more information, see [start recording a meeting](/api#/operations/start_rec Publish Recorded File to Your Cloud Provider Guide - + diff --git a/docs/guides/capabilities/recording/monitor-status.mdx b/docs/guides/capabilities/recording/monitor-status.mdx index c3a10e3b3a..8cd02eb161 100644 --- a/docs/guides/capabilities/recording/monitor-status.mdx +++ b/docs/guides/capabilities/recording/monitor-status.mdx @@ -18,7 +18,6 @@ The recording of a meeting can have the following states: | UPLOADED | The recording file upload is complete and the status webhook is also triggered. | | ERRORED | There was an irrecoverable error while recording the meeting and the file will not be available. | - ## Fetching the state There are two ways you can track what state a recording is in or view more @@ -44,5 +43,8 @@ Alternatively, you can also use the following APIs: Monitor Recording Status Guide - + diff --git a/docs/guides/capabilities/recording/recording-overview.mdx b/docs/guides/capabilities/recording/recording-overview.mdx index 093b773dd9..612591a380 100644 --- a/docs/guides/capabilities/recording/recording-overview.mdx +++ b/docs/guides/capabilities/recording/recording-overview.mdx @@ -60,8 +60,10 @@ A typical workflow for recording a meeting involves the following steps: [GET endpoint](/api/?v=v2#/operations/get_one_recording), webhook or from the Developer Portal. - Recording Overview Guide - + diff --git a/docs/guides/capabilities/recording/stop-recording.mdx b/docs/guides/capabilities/recording/stop-recording.mdx index a516ed44c0..61aea562ef 100644 --- a/docs/guides/capabilities/recording/stop-recording.mdx +++ b/docs/guides/capabilities/recording/stop-recording.mdx @@ -25,5 +25,8 @@ When a recording is stopped, it transitions to the `UPLOADING` state and then to Stop Recording a Meeting Guide - + diff --git a/docs/guides/capabilities/screensharing/displaying.mdx b/docs/guides/capabilities/screensharing/displaying.mdx index a476390649..1e6f5af22a 100644 --- a/docs/guides/capabilities/screensharing/displaying.mdx +++ b/docs/guides/capabilities/screensharing/displaying.mdx @@ -27,7 +27,7 @@ const { meeting } = useDyteMeeting(); // Array of participants having their screenshare on const ssParticipants = useDyteSelector((m) => - m.participant.joined.toArray().filter((p) => p.screenShareEnabled) + m.participant.joined.toArray().filter((p) => p.screenShareEnabled), ); // or using traditional event listeners @@ -67,7 +67,7 @@ const { meeting } = useDyteMeeting(); // Array of participants having their screenshare on const ssParticipants = useDyteSelector((m) => - m.participant.joined.toArray().filter((p) => p.screenShareEnabled) + m.participant.joined.toArray().filter((p) => p.screenShareEnabled), ); // or using traditional event listeners diff --git a/docs/guides/capabilities/screensharing/enabling.mdx b/docs/guides/capabilities/screensharing/enabling.mdx index 893fad83c0..1b8886e2f8 100644 --- a/docs/guides/capabilities/screensharing/enabling.mdx +++ b/docs/guides/capabilities/screensharing/enabling.mdx @@ -117,7 +117,7 @@ meeting.self.on( } else { // handle stop screen share } - } + }, ); ``` @@ -138,7 +138,7 @@ meeting.self.on( } else { // handle stop screen share } - } + }, ); ``` @@ -159,7 +159,7 @@ meeting.self.on( } else { // handle stop screen share } - } + }, ); ``` diff --git a/docs/guides/capabilities/sip.mdx b/docs/guides/capabilities/sip.mdx index 15aed55e57..1e3a084d78 100644 --- a/docs/guides/capabilities/sip.mdx +++ b/docs/guides/capabilities/sip.mdx @@ -93,7 +93,7 @@ app.post('/voice', (request, response) => { username: '', password: '', }, - 'sip:@sip.dyte.io' + 'sip:@sip.dyte.io', ); // Render the response as XML in reply to the webhook request @@ -107,5 +107,8 @@ Hurray 🎉, You have completed the Twilio Voice setup guide. SIP Interconnect Guide - + diff --git a/docs/guides/capabilities/video/add-virtual-background.mdx b/docs/guides/capabilities/video/add-virtual-background.mdx index 29cc0d0e6f..9922c9c8a3 100644 --- a/docs/guides/capabilities/video/add-virtual-background.mdx +++ b/docs/guides/capabilities/video/add-virtual-background.mdx @@ -43,7 +43,9 @@ If you installed the package using a script tag, the `DyteVideoBackgroundTransfo 2.x versions of DyteVideoBackgroundTransformer use their own rendering mechanism thus require you to disable the default per frame canvas rendering. ```js -await meeting.self.setVideoMiddlewareGlobalConfig({ disablePerFrameCanvasRendering: true }); +await meeting.self.setVideoMiddlewareGlobalConfig({ + disablePerFrameCanvasRendering: true, +}); ``` For reference, A middleware such as [company branding](https://github.com/dyte-in/streams-middleware-samples/blob/main/video/company-branding.js) with the default per frame rendering can be rewritten without per frame rendering as [this](https://github.com/dyte-in/streams-middleware-samples/blob/main/video/middleware-with-per-frame-rendering-disabled/company-branding.js). @@ -56,12 +58,11 @@ Now that we have disabled the per frame rendering, We can initialise the DyteVid ```js const videoBackgroundTransformer = await DyteVideoBackgroundTransformer.init({ - meeting: meeting, - segmentationConfig: { - pipeline: 'canvas2dCpu', // 'webgl2' | 'canvas2dCpu' - }, + meeting: meeting, + segmentationConfig: { + pipeline: 'canvas2dCpu', // 'webgl2' | 'canvas2dCpu' + }, }); - ``` To customise DyteVideoBackgroundTransformer configs, please refer to the [video background transfomer](https://www.npmjs.com/package/@dytesdk/video-background-transformer?activeTab=readme) NPM package. @@ -86,7 +87,7 @@ To incorporate an image as a background, follow these steps: ```js const videoMiddleware = await videoBackgroundTransformer.createStaticBackgroundVideoMiddleware( - `IMAGE_LINK_OF_YOUR_LIKING` + `IMAGE_LINK_OF_YOUR_LIKING`, ); ``` @@ -95,7 +96,7 @@ For example: ```js const videoMiddleware = await videoBackgroundTransformer.createStaticBackgroundVideoMiddleware( - `https://assets.dyte.io/backgrounds/bg-dyte-office.jpg` + `https://assets.dyte.io/backgrounds/bg-dyte-office.jpg`, ); ``` @@ -138,5 +139,8 @@ meeting.self.removeVideoMiddleware(videoMiddleware); Virtual Background Guide - + diff --git a/docs/guides/capabilities/webhooks/index.mdx b/docs/guides/capabilities/webhooks/index.mdx index 073bd2f4e3..7a8eff786c 100644 --- a/docs/guides/capabilities/webhooks/index.mdx +++ b/docs/guides/capabilities/webhooks/index.mdx @@ -24,5 +24,8 @@ Learn how Dyte uses webhooks to push real-time updates to your applications. Webhooks and Events Guide - + diff --git a/docs/guides/capabilities/webhooks/signatures.mdx b/docs/guides/capabilities/webhooks/signatures.mdx index ef9ab7c60c..87900cc2e3 100644 --- a/docs/guides/capabilities/webhooks/signatures.mdx +++ b/docs/guides/capabilities/webhooks/signatures.mdx @@ -55,7 +55,7 @@ app.post('/webhook', express.json({ type: 'application/json' }), (req, res) => { 'RSA-SHA256', Buffer.from(JSON.stringify(payload)), dytePublicKey, - Buffer.from(signature, 'base64') + Buffer.from(signature, 'base64'), ); // ... do further processing }); @@ -87,5 +87,8 @@ Webhook IDs are commonly utilized for the following purposes: Verify Webhooks Using Dyte's Signature and Webhook ID Guide - + diff --git a/docs/guides/capabilities/webhooks/webhook-events.mdx b/docs/guides/capabilities/webhooks/webhook-events.mdx index 6d13fdbe6c..871d30f403 100644 --- a/docs/guides/capabilities/webhooks/webhook-events.mdx +++ b/docs/guides/capabilities/webhooks/webhook-events.mdx @@ -225,6 +225,7 @@ The payload for this event is like the following: This event is triggered when the summary of a meeting becomes available after the meeting ends. The payload for this event is structured as follows: + ```json { "event": "meeting.summary", @@ -237,10 +238,10 @@ The payload for this event is structured as follows: "startedAt": "2023-08-10T10:31:20.173Z", "endedAt": "2023-08-10T10:33:56.771Z", "organizedBy": { - "id": "d6f046b8-b638-4cf7-8090-d9332447ae49", - "name": "Dyte" - } - }, + "id": "d6f046b8-b638-4cf7-8090-d9332447ae49", + "name": "Dyte" + } + }, "summaryDownloadUrl": "https://sample.com/summary.txt", "summaryDownloadUrlExpiry": "2023-12-13 07:08:39.051621Z" } @@ -417,5 +418,8 @@ This event is triggered when a livestream's status changes. Possible values for Webhook Events List Guide - + diff --git a/docs/guides/capabilities/webhooks/webhooks-and-events.mdx b/docs/guides/capabilities/webhooks/webhooks-and-events.mdx index fb46a618a9..41370acdcc 100644 --- a/docs/guides/capabilities/webhooks/webhooks-and-events.mdx +++ b/docs/guides/capabilities/webhooks/webhooks-and-events.mdx @@ -167,5 +167,8 @@ Register your publicly accessible HTTPS URL using the Set Up Webhooks to Receive Real-time Updates Guide - + diff --git a/docs/guides/capabilities/webhooks/webhooks-overview.mdx b/docs/guides/capabilities/webhooks/webhooks-overview.mdx index e0b40ff5b7..f68265b5f0 100644 --- a/docs/guides/capabilities/webhooks/webhooks-overview.mdx +++ b/docs/guides/capabilities/webhooks/webhooks-overview.mdx @@ -84,5 +84,8 @@ For example, Webhooks Overview Guide - + diff --git a/docs/guides/capabilities/webinar/intro-webinar.mdx b/docs/guides/capabilities/webinar/intro-webinar.mdx index a4edfe9f81..3969c88aa3 100644 --- a/docs/guides/capabilities/webinar/intro-webinar.mdx +++ b/docs/guides/capabilities/webinar/intro-webinar.mdx @@ -35,5 +35,8 @@ The following are some of the highlights of Dyte's webinar: Introduction to Dyte's Webinar Guide - + diff --git a/docs/guides/interactive-onboarding/add-participant.mdx b/docs/guides/interactive-onboarding/add-participant.mdx index 6ee7d2baee..dea558b93d 100644 --- a/docs/guides/interactive-onboarding/add-participant.mdx +++ b/docs/guides/interactive-onboarding/add-participant.mdx @@ -6,8 +6,8 @@ sidebar_class_name: interactive-tour add-participant import { InteractiveTour } from '@site/src/components/InteractiveTour'; - + - + diff --git a/docs/guides/interactive-onboarding/create-meeting.mdx b/docs/guides/interactive-onboarding/create-meeting.mdx index 773a3f0ec9..a6cb9e6e5d 100644 --- a/docs/guides/interactive-onboarding/create-meeting.mdx +++ b/docs/guides/interactive-onboarding/create-meeting.mdx @@ -6,8 +6,8 @@ sidebar_class_name: interactive-tour create-meeting import { InteractiveTour } from '@site/src/components/InteractiveTour/index'; - + - + diff --git a/docs/guides/interactive-onboarding/init-sdk.mdx b/docs/guides/interactive-onboarding/init-sdk.mdx index a1375cbf63..216b6cbeb5 100644 --- a/docs/guides/interactive-onboarding/init-sdk.mdx +++ b/docs/guides/interactive-onboarding/init-sdk.mdx @@ -6,8 +6,8 @@ sidebar_class_name: interactive-tour init-sdk import { InteractiveTour } from '@site/src/components/InteractiveTour'; - + - + diff --git a/docs/guides/interactive-onboarding/join-meeting.mdx b/docs/guides/interactive-onboarding/join-meeting.mdx index 86eca37c01..4ee5dda614 100644 --- a/docs/guides/interactive-onboarding/join-meeting.mdx +++ b/docs/guides/interactive-onboarding/join-meeting.mdx @@ -6,8 +6,8 @@ sidebar_class_name: interactive-tour init-sdk import { InteractiveTour } from '@site/src/components/InteractiveTour'; - + - + diff --git a/docs/guides/live-video/build-live-video-app.mdx b/docs/guides/live-video/build-live-video-app.mdx index c22e2fac73..b6d7e3647c 100644 --- a/docs/guides/live-video/build-live-video-app.mdx +++ b/docs/guides/live-video/build-live-video-app.mdx @@ -17,9 +17,9 @@ import IntegrateDyte from '/docs/partials/_integrate-dyte.mdx'; Server Integration Guide - - + + - - - diff --git a/docs/guides/live-video/client-setup/android.mdx b/docs/guides/live-video/client-setup/android.mdx index e18a9d2c99..5c61616d49 100644 --- a/docs/guides/live-video/client-setup/android.mdx +++ b/docs/guides/live-video/client-setup/android.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_android-quickstart.mdx'; Android Guide - + diff --git a/docs/guides/live-video/client-setup/angular.mdx b/docs/guides/live-video/client-setup/angular.mdx index 94969eb91a..a3ddf09015 100644 --- a/docs/guides/live-video/client-setup/angular.mdx +++ b/docs/guides/live-video/client-setup/angular.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_angular-quickstart.mdx'; Angular Guide - + diff --git a/docs/guides/live-video/client-setup/flutter.mdx b/docs/guides/live-video/client-setup/flutter.mdx index 2f1cc659a3..55303ea806 100644 --- a/docs/guides/live-video/client-setup/flutter.mdx +++ b/docs/guides/live-video/client-setup/flutter.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_flutter-quickstart.mdx'; Flutter Guide - + diff --git a/docs/guides/live-video/client-setup/index.mdx b/docs/guides/live-video/client-setup/index.mdx index dcbf5dd029..5802d75708 100644 --- a/docs/guides/live-video/client-setup/index.mdx +++ b/docs/guides/live-video/client-setup/index.mdx @@ -8,5 +8,8 @@ import ClientSetup from '/docs/partials/_client-setup-index.mdx'; Client Setup Guide - + diff --git a/docs/guides/live-video/client-setup/ios.mdx b/docs/guides/live-video/client-setup/ios.mdx index a1ac1fc4f6..89b8e0f443 100644 --- a/docs/guides/live-video/client-setup/ios.mdx +++ b/docs/guides/live-video/client-setup/ios.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_ios-quickstart.mdx'; iOS Guide - + diff --git a/docs/guides/live-video/client-setup/javascript.mdx b/docs/guides/live-video/client-setup/javascript.mdx index cce60ac3ff..3a9a4a97f3 100644 --- a/docs/guides/live-video/client-setup/javascript.mdx +++ b/docs/guides/live-video/client-setup/javascript.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_html-quickstart.mdx'; Javascript Guide - + diff --git a/docs/guides/live-video/client-setup/react.mdx b/docs/guides/live-video/client-setup/react.mdx index f624a7e080..bde58e8c85 100644 --- a/docs/guides/live-video/client-setup/react.mdx +++ b/docs/guides/live-video/client-setup/react.mdx @@ -14,5 +14,8 @@ import Quickstart from '/docs/partials/_react-quickstart.mdx'; React Guide - + diff --git a/docs/guides/live-video/get-started.mdx b/docs/guides/live-video/get-started.mdx index 85cc3259d5..3f0f925a3f 100644 --- a/docs/guides/live-video/get-started.mdx +++ b/docs/guides/live-video/get-started.mdx @@ -12,5 +12,5 @@ import Setup from '/docs/partials/_setup.mdx'; Setup Guide - + diff --git a/docs/guides/live-video/intro-video-conf.mdx b/docs/guides/live-video/intro-video-conf.mdx index 3ca5bce6f6..eb8d1ae6b6 100644 --- a/docs/guides/live-video/intro-video-conf.mdx +++ b/docs/guides/live-video/intro-video-conf.mdx @@ -8,32 +8,43 @@ description: >- Dyte's live video platform, built upon [WebRTC](https://dyte.io/blog/webrtc/), enables you to seamlessly incorporate real-time communication features into your web and mobile applications. Using Dyte's REST APIs and client-side SDKs, you can effortlessly acquire, transmit, and play media within your applications. - - + 1️⃣} + icon={ + + 1️⃣ + + } title="Get your keys" to="./get-started" description="Learn how to register on Dyte and get your API Keys" /> 2️⃣} + icon={ + + 2️⃣ + + } title="Concepts" to="./concepts" description="Learn about the architecture, design and basic concepts behind Dyte" /> 3️⃣} + icon={ + + 3️⃣ + + } title="Server Setup" to="./build-live-video-app" description="Steps to access Dyte's REST API" /> 4️⃣} + icon={ + + 4️⃣ + + } title="Client Setup" to="./client-setup" description="Set up and configure your client to integrate video calls " diff --git a/docs/guides/live-video/next-steps.mdx b/docs/guides/live-video/next-steps.mdx index 05dfd35a66..063b8a04b1 100644 --- a/docs/guides/live-video/next-steps.mdx +++ b/docs/guides/live-video/next-steps.mdx @@ -5,7 +5,6 @@ sidebar_position: 5 # Next Steps - ## Capabilities } /> -## REST API Reference +## REST API Reference + +/> + ## UI Kit diff --git a/docs/guides/livestream/advanced/configuring-permissions.mdx b/docs/guides/livestream/advanced/configuring-permissions.mdx index d5ae7d6d58..1fbd52ed14 100644 --- a/docs/guides/livestream/advanced/configuring-permissions.mdx +++ b/docs/guides/livestream/advanced/configuring-permissions.mdx @@ -197,5 +197,8 @@ Specify the URL of the logo. Configure Permissions Guide - + diff --git a/docs/guides/livestream/advanced/livestream-any-rtmp.mdx b/docs/guides/livestream/advanced/livestream-any-rtmp.mdx index 0d8368dd17..5e1c8a56af 100644 --- a/docs/guides/livestream/advanced/livestream-any-rtmp.mdx +++ b/docs/guides/livestream/advanced/livestream-any-rtmp.mdx @@ -120,5 +120,8 @@ they default to 60. Custom / RTMP Video Input Guide - + diff --git a/docs/guides/livestream/build-livestream-app.mdx b/docs/guides/livestream/build-livestream-app.mdx index adddab6c01..e100b4f922 100644 --- a/docs/guides/livestream/build-livestream-app.mdx +++ b/docs/guides/livestream/build-livestream-app.mdx @@ -35,5 +35,8 @@ import Admonition from '@theme/Admonition'; Server Integration Guide - + diff --git a/docs/guides/livestream/client-setup/android.mdx b/docs/guides/livestream/client-setup/android.mdx index 790b5412ea..a7d2996af7 100644 --- a/docs/guides/livestream/client-setup/android.mdx +++ b/docs/guides/livestream/client-setup/android.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_android-quickstart.mdx'; Android Guide - + diff --git a/docs/guides/livestream/client-setup/angular.mdx b/docs/guides/livestream/client-setup/angular.mdx index 95092beb02..c86ea678c5 100644 --- a/docs/guides/livestream/client-setup/angular.mdx +++ b/docs/guides/livestream/client-setup/angular.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_angular-quickstart.mdx'; Angular Guide - + diff --git a/docs/guides/livestream/client-setup/flutter.mdx b/docs/guides/livestream/client-setup/flutter.mdx index 92e4a06995..d4286a0bd0 100644 --- a/docs/guides/livestream/client-setup/flutter.mdx +++ b/docs/guides/livestream/client-setup/flutter.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_flutter-quickstart.mdx'; Flutter Guide - + diff --git a/docs/guides/livestream/client-setup/index.mdx b/docs/guides/livestream/client-setup/index.mdx index c88dabc2cf..35bcc77eba 100644 --- a/docs/guides/livestream/client-setup/index.mdx +++ b/docs/guides/livestream/client-setup/index.mdx @@ -8,5 +8,8 @@ import ClientSetup from '/docs/partials/_client-setup-index.mdx'; Client Setup Guide - + diff --git a/docs/guides/livestream/client-setup/ios.mdx b/docs/guides/livestream/client-setup/ios.mdx index c8c1b336b2..ce3e7c3d75 100644 --- a/docs/guides/livestream/client-setup/ios.mdx +++ b/docs/guides/livestream/client-setup/ios.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_ios-quickstart.mdx'; iOS Guide - + diff --git a/docs/guides/livestream/client-setup/javascript.mdx b/docs/guides/livestream/client-setup/javascript.mdx index 9c9f366797..dbeeac8a25 100644 --- a/docs/guides/livestream/client-setup/javascript.mdx +++ b/docs/guides/livestream/client-setup/javascript.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_html-quickstart.mdx'; HTML Guide - + diff --git a/docs/guides/livestream/client-setup/react.mdx b/docs/guides/livestream/client-setup/react.mdx index 2c7c7e125a..59bc7e68bc 100644 --- a/docs/guides/livestream/client-setup/react.mdx +++ b/docs/guides/livestream/client-setup/react.mdx @@ -12,5 +12,8 @@ import Quickstart from '/docs/partials/_react-quickstart.mdx'; React Guide - + diff --git a/docs/guides/livestream/livestream-overview.mdx b/docs/guides/livestream/livestream-overview.mdx index 5af1df84a5..1c425f181c 100644 --- a/docs/guides/livestream/livestream-overview.mdx +++ b/docs/guides/livestream/livestream-overview.mdx @@ -23,7 +23,6 @@ On this page, you will find an overview to help you craft an exceptional user ex - [UI Kit](#ui-kit): Learn about Dyte's prebuilt library of UI components through guides on integrating them and customizing them to align with your brand's identity - [Reference](#reference): Build a better understanding of the core SDK that provides APIs driving your live streaming experience along with references for the REST APIs that power your live streams - ## Essentials { connections.find( (connection) => connection.connectionId === - connectionCreatedEvent.connection.connectionId + connectionCreatedEvent.connection.connectionId, ) ) { console.log('connection already exists'); @@ -93,7 +93,7 @@ session.on('connectionDestroyed', (connectionDestroyedEvent) => { connections = connections.filter( (connection) => connection.connectionId !== - connectionDestroyedEvent.connection.connectionId + connectionDestroyedEvent.connection.connectionId, ); }); ``` diff --git a/docs/guides/rest-apis/v2-migration-guide.mdx b/docs/guides/rest-apis/v2-migration-guide.mdx index d334bd7bbe..033d7c3669 100644 --- a/docs/guides/rest-apis/v2-migration-guide.mdx +++ b/docs/guides/rest-apis/v2-migration-guide.mdx @@ -194,14 +194,14 @@ The following table maps the Dyte API v2 endpoints to the corresponding v1. ### Meetings and participants -| **Action** | **v1** | **v2** | -| ------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------ | -| Create a meeting | POST /v1/organizations/\{orgId\}/meeting | POST /v2/meetings | -| Update details of a meeting | PATCH /v1/organizations/\{orgId\}/meetings/\{meetingId\} | PATCH /v2/meetings/\{meetingId\} | -| Fetch details of a meeting in an org | GET /v1/organizations/\{orgId\}/meetings/\{meetingId\} | GET /v2/meetings/\{meetingId\} | -| Fetch details of all the meetings in an org | GET /v1/organizations/\{orgId\}/meetings | GET /v2/meetings | -| Add a participant | POST /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participant | POST /v2/meetings/\{meetingId\}/participants | -| Fetch all participants in a meeting | GET /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participants | GET /v2/meetings/\{meetingId\}/participants | +| **Action** | **v1** | **v2** | +| ------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| Create a meeting | POST /v1/organizations/\{orgId\}/meeting | POST /v2/meetings | +| Update details of a meeting | PATCH /v1/organizations/\{orgId\}/meetings/\{meetingId\} | PATCH /v2/meetings/\{meetingId\} | +| Fetch details of a meeting in an org | GET /v1/organizations/\{orgId\}/meetings/\{meetingId\} | GET /v2/meetings/\{meetingId\} | +| Fetch details of all the meetings in an org | GET /v1/organizations/\{orgId\}/meetings | GET /v2/meetings | +| Add a participant | POST /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participant | POST /v2/meetings/\{meetingId\}/participants | +| Fetch all participants in a meeting | GET /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participants | GET /v2/meetings/\{meetingId\}/participants | | Fetch details of a participant in a meeting | GET /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participants/\{participantId\} | GET /v2/meetings/\{meetingId\}/participants/\{participantId\} | | Edit participant details | PATCH /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participants/\{participantId\} | PATCH /v2/meetings/\{meetingId\}/participants/\{participantId\} | | Delete a participant | DELETE /v1/organizations/\{orgId\}/meetings/\{meetingId\}/participants/\{participantId\} | DELETE /v2/meetings/\{meetingId\}/participants/\{participantId\} | @@ -228,9 +228,9 @@ The following table maps the Dyte API v2 endpoints to the corresponding v1. ### Presets -| **Action** | **v1** | **v2** | -| ------------------------- | ----------------------------------------------- | ----------------------------- | -| Create a preset | POST /v1/organizations/\{organizationId\}/preset | POST /v2/presets | +| **Action** | **v1** | **v2** | +| ------------------------- | ------------------------------------------------- | ------------------------------- | +| Create a preset | POST /v1/organizations/\{organizationId\}/preset | POST /v2/presets | | Update a preset | PATCH /v1/organizations/\{organizationId\}/preset | PATCH /v2/presets/\{preset_id\} | | Fetch details of a preset | GET /v1/organizations/\{organizationId\}/presets | GET /v2/presets/\{preset_id\} | diff --git a/docs/guides/voice-conf/concepts.mdx b/docs/guides/voice-conf/concepts.mdx index d54d1a9b58..7009e9c11c 100644 --- a/docs/guides/voice-conf/concepts.mdx +++ b/docs/guides/voice-conf/concepts.mdx @@ -3,7 +3,6 @@ title: Concepts sidebar_position: 3 --- - ## Basic Concepts This section takes you through Dyte's key concepts and the terminology. diff --git a/docs/guides/voice-conf/get-started.mdx b/docs/guides/voice-conf/get-started.mdx index df6e96691c..ff26a232df 100644 --- a/docs/guides/voice-conf/get-started.mdx +++ b/docs/guides/voice-conf/get-started.mdx @@ -11,6 +11,5 @@ import Setup from '/docs/partials/_setup.mdx'; Setup Guide - + - diff --git a/docs/guides/voice-conf/intro-voice-conf.mdx b/docs/guides/voice-conf/intro-voice-conf.mdx index 75289c2e50..dbb279a065 100644 --- a/docs/guides/voice-conf/intro-voice-conf.mdx +++ b/docs/guides/voice-conf/intro-voice-conf.mdx @@ -5,39 +5,49 @@ sidebar_position: 1 Dyte's voice conferencing platform, built upon [WebRTC](https://dyte.io/blog/webrtc/), enables you to seamlessly incorporate real-time communication features into your web and mobile applications. Using Dyte's REST APIs and client-side SDKs, you can effortlessly acquire, transmit, and play media within your applications. - - + 1️⃣} + icon={ + + 1️⃣ + + } title="Get your keys" to="./get-started" description="Learn how to register on Dyte and get your API Keys" /> 2️⃣} + icon={ + + 2️⃣ + + } title="Concepts" to="./concepts" description="Learn about the architecture, design and basic concepts behind Dyte" /> 3️⃣} + icon={ + + 3️⃣ + + } title="Server Setup" to="./build-voice-app" description="Steps to access Dyte's REST API" /> 4️⃣} + icon={ + + 4️⃣ + + } title="Client Setup" to="./client-setup" description="Set up and configure your client to integrate video calls " /> - Overview Guide - ## Core SDK - } /> -## REST API Reference +## REST API Reference + +/> + ## UI Kit @@ -96,4 +95,4 @@ sidebar_position: 5 } /> } /> } /> - \ No newline at end of file + diff --git a/docs/ios-core/chat/_category_.json b/docs/ios-core/chat/_category_.json index 175c0faaec..e96d76d691 100644 --- a/docs/ios-core/chat/_category_.json +++ b/docs/ios-core/chat/_category_.json @@ -2,4 +2,4 @@ "position": 6, "label": "Chat", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ios-core/chat/receiving-chat-messages.mdx b/docs/ios-core/chat/receiving-chat-messages.mdx index 64e755e40f..24c7d416c6 100644 --- a/docs/ios-core/chat/receiving-chat-messages.mdx +++ b/docs/ios-core/chat/receiving-chat-messages.mdx @@ -27,7 +27,7 @@ extension MeetingViewModel: DyteChatEventsListener { } func onMessageRateLimitReset() { - // when the rate limit for sending messages of self is reset + // when the rate limit for sending messages of self is reset } } ``` diff --git a/docs/ios-core/chat/sending-a-chat-message.mdx b/docs/ios-core/chat/sending-a-chat-message.mdx index 41bc0faa8a..948a31b28a 100644 --- a/docs/ios-core/chat/sending-a-chat-message.mdx +++ b/docs/ios-core/chat/sending-a-chat-message.mdx @@ -60,4 +60,4 @@ Possible `ChatFileError`s are: - `PermissionDenied`: The user does not have permission to send a file. - `RateLimitBreached`: The user has breached the rate limit for sending messages. - `ReadFailed`: The file could not be read. -- `UploadFailed`: The file could not be uploaded. \ No newline at end of file +- `UploadFailed`: The file could not be uploaded. diff --git a/docs/ios-core/local-user/_category_.json b/docs/ios-core/local-user/_category_.json index 38f1722fd3..4d176f571a 100644 --- a/docs/ios-core/local-user/_category_.json +++ b/docs/ios-core/local-user/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Local User", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ios-core/local-user/introduction.mdx b/docs/ios-core/local-user/introduction.mdx index 81987dda16..7cc35d3d39 100644 --- a/docs/ios-core/local-user/introduction.mdx +++ b/docs/ios-core/local-user/introduction.mdx @@ -63,7 +63,7 @@ initialization process. You can setup the audio and video tracks by simply calling `enableAudio()` and `enableVideo()` like below: ```swift -meeting.localUser.enableAudio{ err in +meeting.localUser.enableAudio{ err in if let error = err { print("Error enabling audio: \(error)") } @@ -71,7 +71,7 @@ meeting.localUser.enableAudio{ err in ``` ```swift -meeting.localUser.enableVideo{ err in +meeting.localUser.enableVideo{ err in if let error = err { print("Error enabling video: \(error)") } diff --git a/docs/ios-core/participants/_category_.json b/docs/ios-core/participants/_category_.json index 2599bb6c6c..70b81d9be7 100644 --- a/docs/ios-core/participants/_category_.json +++ b/docs/ios-core/participants/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Remote Participants", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ios-core/participants/remote-participants.mdx b/docs/ios-core/participants/remote-participants.mdx index cbe206cd43..b4410b4714 100644 --- a/docs/ios-core/participants/remote-participants.mdx +++ b/docs/ios-core/participants/remote-participants.mdx @@ -34,7 +34,6 @@ The `meeting.participants` object has the following **lists** of participants Therefore if you were to make a video / audio grid of participants, you'd use the `active` map, but to display the list of all participants in the meeting you'd use the `joined` map. - iOS Core Participants diff --git a/docs/ios-core/plugins/_category_.json b/docs/ios-core/plugins/_category_.json index 072077b2d4..0ee544156d 100644 --- a/docs/ios-core/plugins/_category_.json +++ b/docs/ios-core/plugins/_category_.json @@ -2,4 +2,4 @@ "position": 7, "label": "Plugins", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ios-core/pre-call/_category_.json b/docs/ios-core/pre-call/_category_.json index c37e3a93bb..23939cdb04 100644 --- a/docs/ios-core/pre-call/_category_.json +++ b/docs/ios-core/pre-call/_category_.json @@ -3,4 +3,4 @@ "label": "Pre-call", "collapsible": true, "className": "pre-call-docs" -} \ No newline at end of file +} diff --git a/docs/ios-core/quickstart.mdx b/docs/ios-core/quickstart.mdx index adbd02156f..9a82970fa2 100644 --- a/docs/ios-core/quickstart.mdx +++ b/docs/ios-core/quickstart.mdx @@ -128,7 +128,7 @@ Add `authToken` that you got from the REST API to constructor of DyteMeetingInfo | `authToken` | After you've created the meeting, add each participant to the meeting using the [Add Participant API](/api?v=v2#/operations/add_participant) The API response contains the `authToken`. | | `enableAudio` | Set whether to join the meeting with your Mic ON or OFF by passing `true` or `false`. | | `enableVideo` | Set whether to join the meeting with your Camera ON or OFF by passing `true` or `false`. | -| `baseDomain` | Base URL of the dyte's enviorment you have created the meeting on. | +| `baseDomain` | Base URL of the dyte's enviorment you have created the meeting on. | ```swift let meetingInfo = DyteMeetingInfoV2(authToken: authToken, @@ -186,9 +186,9 @@ To join the meeting room, do the following only after you received the doInit co ```swift func onMeetingInitCompleted() { meeting.joinRoom { - + } onRoomJoinFailed: { - + } } ``` diff --git a/docs/ios-core/stage-management/_category_.json b/docs/ios-core/stage-management/_category_.json index 753fc8761b..197e839ce2 100644 --- a/docs/ios-core/stage-management/_category_.json +++ b/docs/ios-core/stage-management/_category_.json @@ -2,4 +2,4 @@ "position": 9, "label": "Stage Management", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ios-core/upgrade-v2/1-introduction.mdx b/docs/ios-core/upgrade-v2/1-introduction.mdx index 3849382949..f7cf18c13e 100644 --- a/docs/ios-core/upgrade-v2/1-introduction.mdx +++ b/docs/ios-core/upgrade-v2/1-introduction.mdx @@ -14,11 +14,10 @@ With the v2 release of the Dyte Core SDK, we're introducing a major upgrade focu - `DyteMeetingParticipant.customParticipantId` -> `DyteMeetingParticipant.customParticipantId` - Removed `DyteMeetingInfo` (V1) - ### 2. Removal of Deprecated APIs We have removed deprecated methods and properties in favour of improved, uniform, and clearer versions. - + - Removed `DyteParticipants.screenshares` (use `DyteParticipants.screenShares`). The deprecated type `DyteScreenShareMeetingParticipant` has also been removed - **Chat Methods**: Removed deprecated file and image send methods. The new closure-based methods take `NSURL`s & return proper errors - File message methods: @@ -50,8 +49,7 @@ We have removed deprecated methods and properties in favour of improved, uniform - `DyteSelfEventsListener.onStageStatusUpdated`. Use `DyteStageEventListener.onStageStatusUpdated()` - `DyteStageEventListener.onPresentRequestAccepted(participant: DyteJoinedMeetingParticipant)` - `DyteMeetingRoomEventsListener.onActiveTabUpdate(id: String, tabType: ActiveTabType)`. - Use `DyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)` - + Use `DyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)` ### 3. Revamped Error Handling @@ -59,10 +57,9 @@ We have removed deprecated methods and properties in favour of improved, uniform - All public APIs provide proper errors and additional error data where applicable for better debugging - Uses enums for error codes, making it easier to handle specific cases - ### 4. API Structural Changes We made a few direct breaking changes in our APIs to simplify the types, make methods more intuitive and ensure uniformity across platforms.  For example, `DyteMeetingParticipant` has been restructured to align with real-world entities. -Learn more about the direct breaking changes and migration instructions on the next page. \ No newline at end of file +Learn more about the direct breaking changes and migration instructions on the next page. diff --git a/docs/ios-core/upgrade-v2/2-breaking-changes-migration.mdx b/docs/ios-core/upgrade-v2/2-breaking-changes-migration.mdx index 43f0b566ae..c81d26a5cc 100644 --- a/docs/ios-core/upgrade-v2/2-breaking-changes-migration.mdx +++ b/docs/ios-core/upgrade-v2/2-breaking-changes-migration.mdx @@ -6,15 +6,15 @@ tags: - v2 --- -This section provides details about the additional breaking changes made in Dyte Core SDK v2 and provides migration guidance. +This section provides details about the additional breaking changes made in Dyte Core SDK v2 and provides migration guidance. The changes span multiple modules, mainly simplifying the APIs or renaming them to ensure uniformity across the platforms. - ### Changes in Participant Hierarchy and Simplified Types The participant hierarchy has been simplified to align better with real-world entities: - **Old Structure**: + - `DyteMeetingParticipant` was the parent class with direct subtypes: - `DyteJoinedMeetingParticipant` - `DyteWaitlistedParticipant` @@ -23,6 +23,7 @@ The participant hierarchy has been simplified to align better with real-world en - `DyteSelfParticipant` (local user) - **New Structure**: + - `DyteMeetingParticipant` still represents a participant in a meeting which is simply either: - `DyteSelfParticipant` (local user) or - `DyteRemoteParticipant` (other participants in the meeting) @@ -31,7 +32,7 @@ The participant hierarchy has been simplified to align better with real-world en - `DyteWaitlistedParticipant.acceptWaitListedRequest()` -> `DyteParticipants.acceptWaitingRoomRequest(id)` - `DyteWaitlistedParticipant.rejectWaitListedRequest()` -> `DyteParticipants.rejectWaitingRoomRequest(id)` -The old participant hierarchy was complex, with certain types representing temporary states or behaviour at runtime. +The old participant hierarchy was complex, with certain types representing temporary states or behaviour at runtime. The new structure simplifies this by clearly differentiating between the local user and remote participants. **Migration Instructions**: @@ -41,39 +42,36 @@ The new structure simplifies this by clearly differentiating between the local u - `DyteSelfParticipant` is now a direct subtype of `DyteMeetingParticipant`. - Update the Waiting Room management logic to use APIs from `DyteParticipants` for accepting/rejecting waiting room requests. - ### Changes in DyteMeetingRoomEventsListener Connection State Callbacks The following connection state callbacks have been removed: - `onMeetingRoomDisconnected`, `onConnectingToMeetingRoom`, `onConnectedToMeetingRoom`, -`onDisconnectedFromMeetingRoom`, `onMeetingRoomConnectionFailed`, `onReconnectingToMeetingRoom`, -`onReconnectedToMeetingRoom`, `onMeetingRoomReconnectionFailed` + `onDisconnectedFromMeetingRoom`, `onMeetingRoomConnectionFailed`, `onReconnectingToMeetingRoom`, + `onReconnectedToMeetingRoom`, `onMeetingRoomReconnectionFailed` These callbacks have been consolidated into a single unified callback: `onSocketConnectionUpdate(newState: SocketConnectionState)` **Migration Instructions**: -- Move all connection state handling, mainly reconnection logic from the old callbacks to `onSocketConnectionUpdate()`. -The new callback provides a `SocketConnectionState` parameter that represents the current state of the meeting connection. - +- Move all connection state handling, mainly reconnection logic from the old callbacks to `onSocketConnectionUpdate()`. + The new callback provides a `SocketConnectionState` parameter that represents the current state of the meeting connection. -`DyteMeetingInfoV2.baseUrl` has been renamed to `DyteMeetingInfoV2.baseDomain`. This change is applicable only if you +`DyteMeetingInfoV2.baseUrl` has been renamed to `DyteMeetingInfoV2.baseDomain`. This change is applicable only if you are using a white-labeled domain. In normal cases, now you just need to pass `authToken`, `enableAudio` & `enableVideo`. - ### Other Breaking Changes module-wise #### 1. DyteMobileClient (meeting) - The following methods now return `MeetingError` in the `onFailure` callback instead of `DyteError`: - - `init()`, `leaveRoom()`, `release()` + - `init()`, `leaveRoom()`, `release()` - Renamed some methods for adding/removing listeners to align with the respective listener names: - - `addParticipantEventsListener()` -> `addParticipantsEventListener()` - - `addPollsEventsListener()` -> `addPollsEventListener()` - - `addStageEventsListener()` -> `addStageEventListener()` - - `addLivestreamEventListener()` -> `addLivestreamEventListener()` + - `addParticipantEventsListener()` -> `addParticipantsEventListener()` + - `addPollsEventsListener()` -> `addPollsEventListener()` + - `addStageEventsListener()` -> `addStageEventListener()` + - `addLivestreamEventListener()` -> `addLivestreamEventListener()` - Changes in `DyteMeetingRoomEventsListener` callbacks: - Failure callbacks now return standardised `MeetingError` instead of `Exception`: - `onMeetingInitFailed(exception: KotlinException)` -> `onMeetingInitFailed(error: MeetingError)` @@ -89,7 +87,7 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - `enableScreenshare()` -> `enableScreenShare()` - `disableScreenshare()` -> `disableScreenShare()` - Merged `onScreenShareStarted` & `onScreenShareStopped` into a single callback: -`onScreenShareUpdate(isEnabled: Bool)` + `onScreenShareUpdate(isEnabled: Bool)` - Moved `onRoomMessage()` callback from `DyteSelfEventsListener` to `DyteParticipantsEventListener` and renamed it to `onNewBroadcastMessage()` - Removed the unused `onProximityChanged(isNear: Bool)` @@ -107,14 +105,14 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - Callbacks are now given only for remote participant events. Local user changes are dispatched to `DyteSelfEventsListener` - Listener renamed from `DyteParticipantEventsListener` to `DyteParticipantsEventListener` - Merged `onScreenShareStarted` & `onScreenShareEnded` into a single callback: - `onScreenShareUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` + `onScreenShareUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` - Removed `onNoActiveSpeaker()`. Now `onActiveSpeakerChanged(participant: DyteRemoteParticipant?)` gets a null value when active participant is cleared - Removed unused, uncalled `onScreenSharesUpdated()`, `onSetAsActiveSpeaker()`, & `onRemovedAsActiveSpeaker()` - Following callbacks have been tweaked for consistency & clarity: - - `onAudioUpdate(audioEnabled: Bool, participant: DyteMeetingParticipant)` -> `onAudioUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` - - `onVideoUpdate(videoEnabled: Bool, participant: DyteMeetingParticipant)` -> `onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` - - `onPinned()` -> `onParticipantPinned(participant: DyteRemoteParticipant)` - - `onUnpinned()` -> `onParticipantUnpinned(participant: DyteRemoteParticipant)` + - `onAudioUpdate(audioEnabled: Bool, participant: DyteMeetingParticipant)` -> `onAudioUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` + - `onVideoUpdate(videoEnabled: Bool, participant: DyteMeetingParticipant)` -> `onVideoUpdate(participant: DyteRemoteParticipant, isEnabled: Bool)` + - `onPinned()` -> `onParticipantPinned(participant: DyteRemoteParticipant)` + - `onUnpinned()` -> `onParticipantUnpinned(participant: DyteRemoteParticipant)` **Migration Instructions**: @@ -127,9 +125,9 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - Removed methods `grantAccessAll()` and `denyAccessAll()` - `grantAccess()`, `denyAccess()`, and `kick()` now take a list of user IDs, making them more flexible - Removed unused `.rejectedToJoinStage` constant from `StageStatus` enum -- DyteStageEventListener: Callbacks now consistently use the term '*stage*' to align with the **DyteStage** module for better clarity +- DyteStageEventListener: Callbacks now consistently use the term '_stage_' to align with the **DyteStage** module for better clarity - Redundant peer callbacks have been removed to simplify the API. Those events can be inferred as per use-case by - `onPeerStageStatusUpdated(participant: DyteRemoteParticipant, oldStatus: StageStatus, newStatus: StageStatus)` + `onPeerStageStatusUpdated(participant: DyteRemoteParticipant, oldStatus: StageStatus, newStatus: StageStatus)` - `onPresentRequestReceived()` -> `onStageAccessRequestAccepted()` - `onStageStatusUpdated(stageStatus: DyteStageStatus)` -> `onStageStatusUpdated(oldStatus: StageStatus, newStatus: StageStatus)` - `onPresentRequestAdded(participant: DyteJoinedMeetingParticipant)` -> `onNewStageAccessRequest(participant: DyteRemoteParticipant)` @@ -155,7 +153,7 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - Removed following error callbacks from `DyteRecordingEventsListener` as `DyteRecording` methods now return proper errors: - `onMeetingRecordingStopError()`, `onMeetingRecordingPauseError()`, `onMeetingRecordingResumeError()` - `onMeetingRecordingStarted()`, `onMeetingRecordingEnded()`, and `onMeetingRecordingStateUpdated()` have been merged into a single callback: -`onRecordingStateChanged(oldState: DyteRecordingState, newState: DyteRecordingState)`. + `onRecordingStateChanged(oldState: DyteRecordingState, newState: DyteRecordingState)`. **Migration Instructions** @@ -173,8 +171,8 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - `DyteLivestream.liveStreamUrl` -> `DyteLivestream.playbackUrl` - Changes in `DyteLivestreamEventsListener`: - The `DyteLiveStreamEventsListener` has been renamed to `DyteLivestreamEventListener` - - `onLiveStreamStarting`, `onLiveStreamStarted`, `onLiveStreamEnding`, and `onLiveStreamEnded` have been consolidated into - `onLivestreamStateChanged(oldState: LivestreamState, newState: LivestreamState)` + - `onLiveStreamStarting`, `onLiveStreamStarted`, `onLiveStreamEnding`, and `onLiveStreamEnded` have been consolidated into + `onLivestreamStateChanged(oldState: LivestreamState, newState: LivestreamState)` - `onLiveStreamErrored()` -> `onLivestreamError(message: String)` - `onLiveStreamStateUpdate(data: DyteLivestreamData)` ->  `onLivestreamUpdate(data: DyteLivestreamData)` - Removed `onStageCountUpdated(count: Int)` @@ -183,4 +181,4 @@ are using a white-labeled domain. In normal cases, now you just need to pass `au - Update all class and property references to replace "LiveStream" with "Livestream" - Use the new `LivestreamState` enum values, replacing old state with the new, simplified states -- Update callbacks in `DyteLivestreamEventListener` to the new versions, ensuring state changes are handled using `onLivestreamStateChanged` and other revised methods \ No newline at end of file +- Update callbacks in `DyteLivestreamEventListener` to the new versions, ensuring state changes are handled using `onLivestreamStateChanged` and other revised methods diff --git a/docs/ios/Pre-Built-Plugins_Guides/Plugins.mdx b/docs/ios/Pre-Built-Plugins_Guides/Plugins.mdx index ec0ac72c53..2b6b92793d 100644 --- a/docs/ios/Pre-Built-Plugins_Guides/Plugins.mdx +++ b/docs/ios/Pre-Built-Plugins_Guides/Plugins.mdx @@ -3,34 +3,40 @@ description: >- Learn how to use and customize the DyteAvatarView component in Dyte's iOS UiKit with our detailed documentation. --- - + # Pre-built Plugin screen + ## Overview: How to use existing plugins screen. + We have to use a class [DytePluginViewController](/ios/components/dyte-plugins), which is used to show exising list of plugins supported in current meeting. -Screen is build with [UITableView](https://developer.apple.com/documentation/uikit/uitableview). - +Screen is build with [UITableView](https://developer.apple.com/documentation/uikit/uitableview). ```swift private func showPluginScreen() { let controller = DytePluginViewController(plugins: meeting.plugins.all) let navigationController = UINavigationController(rootViewController: controller) navigationController.modalPresentationStyle = .fullScreen - presentingViewController.present(navigationController, + presentingViewController.present(navigationController, animated: false, completion: nil) } ``` + We can use above code to launch list of plugin screen inside app. -Example Image +Example Image Every Cell of UITableView we are showing a plugin with activate/deactivate icon on the extreme right. -For example Plugin name "Rustpad v2" in 3rd cell is showing a cross icon to deactivate plugin and every other cell is showing icon +For example Plugin name "Rustpad v2" in 3rd cell is showing a cross icon to deactivate plugin and every other cell is showing icon to activate plugin. - iOS DyteAvatarView diff --git a/docs/ios/Pre-Built-Plugins_Guides/load-plugin.mdx b/docs/ios/Pre-Built-Plugins_Guides/load-plugin.mdx index 5e7f44a144..962c9dfbe7 100644 --- a/docs/ios/Pre-Built-Plugins_Guides/load-plugin.mdx +++ b/docs/ios/Pre-Built-Plugins_Guides/load-plugin.mdx @@ -3,10 +3,11 @@ description: >- Learn how to use and customize the DyteAvatarView component in Dyte's iOS UiKit with our detailed documentation. --- - # Load Plugins + ## Overview: How to display plugins inside plugins view. + To display individual plugin inside App. We will be using component [DytePluginsView](/ios/components/dyte-plugin-view) ### Creating plugin view @@ -19,11 +20,12 @@ To display individual plugin inside App. We will be using component [DytePlugins let pluginView = DytePluginsView(videoPeerViewModel:viewModel) self.view.addSubview(pluginView) ``` -Use above code to create instance of DytePluginsView and add this view to any view of your choice. + +Use above code to create instance of DytePluginsView and add this view to any view of your choice. #### Loading pluginView with plugins -You can get the list of active plugins with the help of below API +You can get the list of active plugins with the help of below API ```swift let plugins: [DytePlugin] = self.dyteMobileClient.plugins.active @@ -34,20 +36,20 @@ for plugin in plugins { arrButtons.append(button) } ``` + To show `arrButtons` created from above code on the [DytePluginsView](/ios/components/dyte-plugin-view), We will be using -below API. +below API. ```swift self.pluginView.setButtons(buttons: arrButtons, selectedIndex: 0) { [weak self] button, pluginIsClicked in guard let self = self else {return} - // We are having plugin button tapped by the user. - // So to load this plugin inside PluginsView we need to call this API. + // We are having plugin button tapped by the user. + // So to load this plugin inside PluginsView we need to call this API. self.pluginView.show(pluginView: button.plugin.getPluginView()) } ``` - iOS DyteAvatarView diff --git a/docs/ios/Pre-Built-Polls_Guides/Polls.mdx b/docs/ios/Pre-Built-Polls_Guides/Polls.mdx index d30ff74097..73a9e56550 100644 --- a/docs/ios/Pre-Built-Polls_Guides/Polls.mdx +++ b/docs/ios/Pre-Built-Polls_Guides/Polls.mdx @@ -5,12 +5,20 @@ description: >- --- # Pre-built create poll Scren + ## Overview: How to use existing create polls screen. + We have to use a class [DyteCreatePollsViewController](/ios/components/dyte-poll-form), which is used to create polls for the participant. -Example Image +Example Image When user press the create poll button, use below code + ```swift @objc func createPollClick(button: DyteButton) { let controller = DyteCreatePollsViewController(dyteMobileClient: dyteMobileClient) { [weak self] result in diff --git a/docs/ios/Pre-Built-Polls_Guides/prebuilt_polls.mdx b/docs/ios/Pre-Built-Polls_Guides/prebuilt_polls.mdx index 3d484d91ee..3609c12897 100644 --- a/docs/ios/Pre-Built-Polls_Guides/prebuilt_polls.mdx +++ b/docs/ios/Pre-Built-Polls_Guides/prebuilt_polls.mdx @@ -5,11 +5,18 @@ description: >- --- # Pre-built Polls Screen + ## Overview: How to use existing polls screen. + We have to use a class [DyteShowPollsViewController](/ios/components/dyte-polls), which is used to show exising list of polls created by participants in current meeting. With a button at the bottom to create polls. -Example Image +Example Image ### To launch this screen we have to use below API. diff --git a/docs/ios/components/dyte-active-tab-selector-view.mdx b/docs/ios/components/dyte-active-tab-selector-view.mdx index f96ae4ec49..89bc474b94 100644 --- a/docs/ios/components/dyte-active-tab-selector-view.mdx +++ b/docs/ios/components/dyte-active-tab-selector-view.mdx @@ -6,35 +6,45 @@ description: >- --- # DyteActiveTabSelectorView + ## Overview -A view which show list of button of Type [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) shown - horizontally. -Example Image +A view which show list of button of Type [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) shown +horizontally. +Example Image ```swift var buttons: [DytePluginScreenShareTabButton] ``` -Array of buttons of Type [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) which are shown inside this list. +Array of buttons of Type [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) which are shown inside this list. ```swift func scrollToVisible(button: DytePluginScreenShareTabButton) ``` + When there are buttons more than width of this view, Then use this method to scroll to button. + #### Parameters: -**button:** button which should must be present inside `var buttons: [DytePluginScreenShareTabButton]` +**button:** button which should must be present inside `var buttons: [DytePluginScreenShareTabButton]` ```swift -func setAndDisplayButtons(_ buttons: [DytePluginScreenShareTabButton]) +func setAndDisplayButtons(_ buttons: [DytePluginScreenShareTabButton]) ``` + This method is used to update buttons on this view. Setting buttons will reset buttons on this view. + #### Parameters: -**buttons:** Array of [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) - to be shown on `DyteActiveTabSelectorView` +**buttons:** Array of [DytePluginScreenShareTabButton](/ios/components/dyte-pluginScreenShareTab-button) +to be shown on `DyteActiveTabSelectorView` iOS DytePluginViewController diff --git a/docs/ios/components/dyte-avatar.mdx b/docs/ios/components/dyte-avatar.mdx index 8860d377b4..3a0a53c4a9 100644 --- a/docs/ios/components/dyte-avatar.mdx +++ b/docs/ios/components/dyte-avatar.mdx @@ -5,9 +5,10 @@ description: >- --- # DyteAvatarView + ## Overview -View which renders a participant's image or their initials. If image is present then name initials are not +View which renders a participant's image or their initials. If image is present then name initials are not shown vice versa. ### Topics: @@ -17,28 +18,32 @@ shown vice versa. ```swift init(participant: DyteMeetingParticipant) ``` + Creates DyteAvatarView for the participant object you passed. #### Parameters: -**participant:** Participant object for which you want to show image/name initials. +**participant:** Participant object for which you want to show image/name initials. -### Explicit update the participant object for this view to show. +### Explicit update the participant object for this view to show. ```swift func set(participant: DyteMeetingParticipant) ``` -Update Avatar view with recent participant object. + +Update Avatar view with recent participant object. + #### Parameters: -**participant:** Participant object for which you want to show image/name initials. +**participant:** Participant object for which you want to show image/name initials. ### Refreshing DyteAvatarView with latest values. ```swift func refresh() ``` -Call this method to refresh the view. + +Call this method to refresh the view. For example if someone update the participant name. Then call this to show latest values. diff --git a/docs/ios/components/dyte-button.mdx b/docs/ios/components/dyte-button.mdx index 2843d9e45b..b2c7cc0864 100644 --- a/docs/ios/components/dyte-button.mdx +++ b/docs/ios/components/dyte-button.mdx @@ -6,7 +6,9 @@ description: >- --- # DyteButton + ## Overview + A button that follows Dyte's Design System. ### Topics: @@ -14,18 +16,21 @@ A button that follows Dyte's Design System. ### Creating a button. ```swift -public init(style: Style = .solid, dyteButtonState: States = .active, size: Size = .large, appearance: DyteButtonAppearance = DyteButtonAppearanceModel()) +public init(style: Style = .solid, dyteButtonState: States = .active, size: Size = .large, appearance: DyteButtonAppearance = DyteButtonAppearanceModel()) ``` + Creates DyteButton for the **Style** **States** **Size** you passed. #### Parameters: -*Optional* -**style:** passed any type of Style. Default value of style is `solid`. -**dyteButtonState:** passed any type of States. Default value of states is `active`. -**size:** passed any type of Size. Default value of size is `large`. + +_Optional_ +**style:** passed any type of Style. Default value of style is `solid`. +**dyteButtonState:** passed any type of States. Default value of states is `active`. +**size:** passed any type of Size. Default value of size is `large`. **appearance:** Any type which conforms to protocol `DyteButtonAppearance` ### Style + ```swift public enum Style { case solid @@ -41,6 +46,7 @@ public enum Style { ``` ### States + ```swift public enum States { @@ -53,14 +59,17 @@ public enum States ``` ### Size + ```swift public enum Size { case small case medium - case large + case large } ``` + For example we can use DyteButton as follows + ```swift let dyteImage = DyteImage(image:ImageProvider.image(named: "icon_down_arrow")) let downloadButton: DyteButton = { diff --git a/docs/ios/components/dyte-camera-toggle.mdx b/docs/ios/components/dyte-camera-toggle.mdx index a13a3419d7..fbbe8d7a85 100644 --- a/docs/ios/components/dyte-camera-toggle.mdx +++ b/docs/ios/components/dyte-camera-toggle.mdx @@ -5,26 +5,30 @@ description: >- --- # DyteSwitchCameraButtonControlBar + ## Overview -This button is use to implement the action for toggling the Camera from front to back and vice-versa. +This button is use to implement the action for toggling the Camera from front to back and vice-versa. ### Topics: -### Creating a Camera toggles button. +### Creating a Camera toggles button. ```swift init(meeting: DyteMobileClient) ``` + #### Parameters: -**meeting:** Current ongoing meeting object. +**meeting:** Current ongoing meeting object. + +### Override the onClick action. -### Override the onClick action. ```swift func onClick(button: DyteControlBarButton) ``` -You can override this method inside the subclass of `DyteSwitchCameraButtonControlBar` to customize the functionality when user presses this button. + +You can override this method inside the subclass of `DyteSwitchCameraButtonControlBar` to customize the functionality when user presses this button. iOS DyteCameraToggle diff --git a/docs/ios/components/dyte-chat.mdx b/docs/ios/components/dyte-chat.mdx index 143cd88f67..788d01496f 100644 --- a/docs/ios/components/dyte-chat.mdx +++ b/docs/ios/components/dyte-chat.mdx @@ -6,20 +6,22 @@ description: >- --- # DyteChatViewController + ## Overview -A view controller used to show chat screen with image & file upload and auto-scroll functionality. +A view controller used to show chat screen with image & file upload and auto-scroll functionality. ### Topics: -### Creating a chat screen. +### Creating a chat screen. ```swift init(meeting: DyteMobileClient) ``` + #### Parameters: -**meeting:** Current ongoing meeting object. +**meeting:** Current ongoing meeting object. iOS DyteChatViewController diff --git a/docs/ios/components/dyte-clock.mdx b/docs/ios/components/dyte-clock.mdx index 7a4b330618..f75fa61f0b 100644 --- a/docs/ios/components/dyte-clock.mdx +++ b/docs/ios/components/dyte-clock.mdx @@ -5,26 +5,27 @@ description: >- with our detailed documentation. --- - - # DyteClockView + ## Overview -This view is used to show elapsed time for the meeting in the format Hours:Minute:Seconds. +This view is used to show elapsed time for the meeting in the format Hours:Minute:Seconds. ### Topics: ### Creating a clock view ```swift - init(meeting: DyteMobileClient, appearance: DyteTextAppearance = AppTheme.shared.clockViewAppearance) + init(meeting: DyteMobileClient, appearance: DyteTextAppearance = AppTheme.shared.clockViewAppearance) ``` -Creates a DyteClockView for meeting passed. -#### Parameters: -*Required* +Creates a DyteClockView for meeting passed. + +#### Parameters: + +_Required_ **meeting:** Current ongoing meeting object. -*Optional* +_Optional_ **appearance:** Any type which conforms to protocol "DyteTextAppearance" ```swift diff --git a/docs/ios/components/dyte-configure-alertview-protocol.mdx b/docs/ios/components/dyte-configure-alertview-protocol.mdx index b7fe90d3bb..438c73c570 100644 --- a/docs/ios/components/dyte-configure-alertview-protocol.mdx +++ b/docs/ios/components/dyte-configure-alertview-protocol.mdx @@ -5,8 +5,10 @@ description: >- --- # ConfigureWebinerAlertView + ## Overview -Methods and properties for managing Webinar AlertView. This will create an alert which will tells user about their + +Methods and properties for managing Webinar AlertView. This will create an alert which will tells user about their Audio and Video status before joining the webinar stage. ## Topics: @@ -16,18 +18,22 @@ Audio and Video status before joining the webinar stage. ```swift init(meeting: DyteMobileClient, participant: DyteJoinedMeetingParticipant) { ``` + #### Parameters: -Required: -meeting: Current ongoing meeting object. -participant: Participant to join stage. -### Show AlertView to user +Required: +meeting: Current ongoing meeting object. +participant: Participant to join stage. + +### Show AlertView to user ```swift func show(on view: UIView) ``` + #### Parameters: -Required: + +Required: view: Parent View on which this alertView will be shown ### Button with functionality to join stage @@ -35,7 +41,8 @@ view: Parent View on which this alertView will be shown ```swift var confirmAndJoinButton: DyteButton {get} ``` -Define it as follows + +Define it as follows ```swift public let confirmAndJoinButton: DyteButton = { @@ -45,19 +52,20 @@ public let confirmAndJoinButton: DyteButton = { ``` ### Button with functionality to remove the alertview - + ```swift var cancelButton: DyteButton {get } ``` -Define it as follows - ```swift +Define it as follows + +```swift public let cancelButton: DyteButton = { - let button = DyteUIUTility.createButton(text: "Cancel") - button.backgroundColor = dyteSharedTokenColor.background.shade800 - return button + let button = DyteUIUTility.createButton(text: "Cancel") + button.backgroundColor = dyteSharedTokenColor.background.shade800 + return button }() - ``` +``` iOS ConfigureWebinerAlertView diff --git a/docs/ios/components/dyte-controlbar-button.mdx b/docs/ios/components/dyte-controlbar-button.mdx index 2ba6211020..77729d14aa 100644 --- a/docs/ios/components/dyte-controlbar-button.mdx +++ b/docs/ios/components/dyte-controlbar-button.mdx @@ -6,23 +6,27 @@ description: >- --- # DyteControlBarButton + ## Overview + Subclass of [UIButton](https://developer.apple.com/documentation/uikit/uibutton) A skeleton component used for composing Dyte buttons which are mostly add inside DyteTabbarBar This is a base class for component likes [DyteAudioButtonControlBar](/ios/components/dyte-mic-toggle) [DyteMoreButtonControlBar](/ios/components/dyte-more-toggle) -### Creating button -```swift -init(image: DyteImage, title: String = "", appearance: DyteControlBarButtonAppearance = DyteControlBarButtonAppearanceModel()) +### Creating button + +```swift +init(image: DyteImage, title: String = "", appearance: DyteControlBarButtonAppearance = DyteControlBarButtonAppearanceModel()) ``` + #### Parameters -*Required* + +_Required_ **image:** Instance of type `DyteImage` to be passed -*Optional* +_Optional_ **title:** title to be shown below the DyteImage. Default value of this is Empty Strings. **appearance:** Any type that follows `DyteControlBarButtonAppearance` - iOS DyteControlBarButton diff --git a/docs/ios/components/dyte-end-meeting.mdx b/docs/ios/components/dyte-end-meeting.mdx index 1380d25c54..bf9ce68bc2 100644 --- a/docs/ios/components/dyte-end-meeting.mdx +++ b/docs/ios/components/dyte-end-meeting.mdx @@ -1,9 +1,9 @@ - # DyteEndMeetingControlBarButton + ## Overview -This button is use to implement the action for leaving the meeting. You can add functionality to leave the meeting -inside the app by using this button. +This button is use to implement the action for leaving the meeting. You can add functionality to leave the meeting +inside the app by using this button. ### Topics: @@ -12,20 +12,23 @@ inside the app by using this button. ```swift init(meeting: DyteMobileClient, alertViewController: UIViewController , onClick:((DyteEndMeetingControlBarButton, DyteLeaveDialog.DyteLeaveDialogAlertButtonType)->Void)? = nil, appearance: DyteControlBarButtonAppearance = AppTheme.shared.controlBarButtonAppearance) ``` -Creates a DyteEndMeetingControlBarButton with multiple parameters. + +Creates a DyteEndMeetingControlBarButton with multiple parameters. #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. + +_Required_ +**meeting:** Current ongoing meeting object. **alertViewController:** UIViewController object on which you want to present the UIAlertViewController. UIAlertView shown as final confirmation -to leave meeting from the user. -*Optional* -**onClick:** Closure that you passed to get callback when user take action on UIAlertView -appearance: Any type which conforms to protocol "DyteControlBarButtonAppearance" +to leave meeting from the user. +_Optional_ +**onClick:** Closure that you passed to get callback when user take action on UIAlertView +appearance: Any type which conforms to protocol "DyteControlBarButtonAppearance" +### Override the onClick action. -### Override the onClick action. -```swift -open func onClick(button: DyteEndMeetingControlBarButton) +```swift +open func onClick(button: DyteEndMeetingControlBarButton) ``` -You can override this method inside the subclass of `DyteEndMeetingControlBarButton` to customize the functionality when user presses this button. + +You can override this method inside the subclass of `DyteEndMeetingControlBarButton` to customize the functionality when user presses this button. diff --git a/docs/ios/components/dyte-join-stage.mdx b/docs/ios/components/dyte-join-stage.mdx index 9c3a36a371..be789490bd 100644 --- a/docs/ios/components/dyte-join-stage.mdx +++ b/docs/ios/components/dyte-join-stage.mdx @@ -5,8 +5,11 @@ description: >- --- # DyteWebinarAlertView + ## Overview + A confirmation dialog screen which is shown + - When the user's request to Join Stage is approved by the meeting host. - When host invites the localUser to join stage. @@ -17,14 +20,16 @@ A confirmation dialog screen which is shown ```swift init(meeting: DyteMobileClient, participant: DyteJoinedMeetingParticipant) { ``` -Creates a [DyteAudioButtonControlBar](/ios/components/dyte-mic-toggle) with multiple parameters. + +Creates a [DyteAudioButtonControlBar](/ios/components/dyte-mic-toggle) with multiple parameters. #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. -**participant:** Participant to join stage. -For example below code to join stage. +_Required_ +**meeting:** Current ongoing meeting object. +**participant:** Participant to join stage. + +For example below code to join stage. ```swift let alert = WebinarAlertView(meetingClient: meeting, participant: meeting.localUser) diff --git a/docs/ios/components/dyte-leave-alert-actions.mdx b/docs/ios/components/dyte-leave-alert-actions.mdx index 5dde97d504..1e0955090c 100644 --- a/docs/ios/components/dyte-leave-alert-actions.mdx +++ b/docs/ios/components/dyte-leave-alert-actions.mdx @@ -1,25 +1,24 @@ - - # DyteLeaveDialogAlertButtonType + ## Overview -Button types to show different action which can be taken by user when decided to leave meeting. +Button types to show different action which can be taken by user when decided to leave meeting. ### Topics: -#### Types. -*case* **willLeaveMeeting** - Action type which tells the client that user is about to leave a meeting. - -*case* **didLeaveMeeting** - Action type which tells the client that user leaved a meeting. +#### Types. + +_case_ **willLeaveMeeting** + Action type which tells the client that user is about to leave a meeting. -*case* **willEndMeetingForAll** - Action type which tells the client that user is about to end meeting for all participants. +_case_ **didLeaveMeeting** + Action type which tells the client that user leaved a meeting. -*case* **didEndMeetingForAll** - Action type which tells the client that user has ended meeting for all participants. +_case_ **willEndMeetingForAll** + Action type which tells the client that user is about to end meeting for all participants. -*case* **cancel** - Action type that tells the client that user revert his action. +_case_ **didEndMeetingForAll** + Action type which tells the client that user has ended meeting for all participants. +_case_ **cancel** + Action type that tells the client that user revert his action. diff --git a/docs/ios/components/dyte-leave-meeting-alert.mdx b/docs/ios/components/dyte-leave-meeting-alert.mdx index 5aa7c475ad..93729adfbc 100644 --- a/docs/ios/components/dyte-leave-meeting-alert.mdx +++ b/docs/ios/components/dyte-leave-meeting-alert.mdx @@ -1,33 +1,38 @@ - # DyteLeaveDialog + ## Overview -This class is use to show UIAlertView with various option present to user before ending the meeting. +This class is use to show UIAlertView with various option present to user before ending the meeting. ### Topics: -### Creating a Leave Dialog shown to user. +### Creating a Leave Dialog shown to user. ```swift -init(meeting: DyteMobileClient, onClick:((DyteLeaveDialogAlertButtonType)->Void)? = nil) +init(meeting: DyteMobileClient, onClick:((DyteLeaveDialogAlertButtonType)->Void)? = nil) ``` -Creates a `DyteLeaveDialog` to end meeting with options to be selected by user of type `DyteLeaveDialogAlertButtonType`. + +Creates a `DyteLeaveDialog` to end meeting with options to be selected by user of type `DyteLeaveDialogAlertButtonType`. #### Parameters: -*Required* -**meeting:** Default meeting object -*Optional* -**onClick:** Callback is used to tell the action taken by user. Action is of type `DyteLeaveDialogAlertButtonType` +_Required_ +**meeting:** Default meeting object +_Optional_ +**onClick:** Callback is used to tell the action taken by user. Action is of type `DyteLeaveDialogAlertButtonType` ### Show alert to user. + ```swift -func show(on viewController: UIViewController) +func show(on viewController: UIViewController) ``` + Call this method to present an alert on viewController passed. + #### Parameters: -*Required* + +_Required_ **viewController:** ViewController on which you want to present this alert. diff --git a/docs/ios/components/dyte-meeting-titlelabel.mdx b/docs/ios/components/dyte-meeting-titlelabel.mdx index 8e06b4a826..aff5be68c3 100644 --- a/docs/ios/components/dyte-meeting-titlelabel.mdx +++ b/docs/ios/components/dyte-meeting-titlelabel.mdx @@ -6,21 +6,25 @@ description: >- --- # DyteMeetingTitleLabel + Subclass of [UILabel](https://developer.apple.com/documentation/uikit/uilabel) which displays the title of the meeting. ### Topics: -### Creating a DyteMeetingTitleLabel. + +### Creating a DyteMeetingTitleLabel. ```swift init(meeting: DyteMobileClient, appearance: DyteTextAppearance = AppTheme.shared.meetingTitleAppearance) ``` + #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. -*Optional* + +_Required_ +**meeting:** Current ongoing meeting object. +_Optional_ **appearance:** Any type which conforms to protocol "DyteTextAppearance" -For example you can use this as below. +For example you can use this as below. ```swift let title = DyteMeetingTitleLabel(meeting: self.meeting) diff --git a/docs/ios/components/dyte-mic-toggle.mdx b/docs/ios/components/dyte-mic-toggle.mdx index 0d3d930267..933aee4aaf 100644 --- a/docs/ios/components/dyte-mic-toggle.mdx +++ b/docs/ios/components/dyte-mic-toggle.mdx @@ -5,9 +5,11 @@ description: >- --- # DyteAudioButtonControlBar + ## Overview + Subclass of [DyteControlBarButton](/ios/components/dyte-controlbar-button) -This button is use to implement the action for mute/unmute microphone for the ongoing meeting. +This button is use to implement the action for mute/unmute microphone for the ongoing meeting. ### Topics: @@ -16,22 +18,24 @@ This button is use to implement the action for mute/unmute microphone for the on ```swift init(meeting: DyteMobileClient, onClick:((DyteAudioButtonControlBar)->Void)? = nil, appearance: DyteControlBarButtonAppearance = AppTheme.shared.controlBarButtonAppearance) ``` -Creates a `DyteAudioButtonControlBar` with multiple parameters. + +Creates a `DyteAudioButtonControlBar` with multiple parameters. #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. -*Optional* + +_Required_ +**meeting:** Current ongoing meeting object. +_Optional_ **onClick:** Closure that you passed to get callback when user click this button. -**appearance:** Any type which conforms to protocol `DyteControlBarButtonAppearance` +**appearance:** Any type which conforms to protocol `DyteControlBarButtonAppearance` +### Override the onClick action. -### Override the onClick action. -```swift -open func onClick(button: DyteAudioButtonControlBar) +```swift +open func onClick(button: DyteAudioButtonControlBar) ``` -You can override this method inside the subclass of `DyteAudioButtonControlBar` to customize the functionality when user presses this button. +You can override this method inside the subclass of `DyteAudioButtonControlBar` to customize the functionality when user presses this button. iOS DyteAudioButtonControlBar diff --git a/docs/ios/components/dyte-more-toggle.mdx b/docs/ios/components/dyte-more-toggle.mdx index b4e48566ff..39de67f15a 100644 --- a/docs/ios/components/dyte-more-toggle.mdx +++ b/docs/ios/components/dyte-more-toggle.mdx @@ -5,21 +5,23 @@ description: >- --- # DyteMoreButtonControlBar + ## Overview + Subclass of [DyteControlBarButton](/ios/components/dyte-controlbar-button) -This button is use to show/hide bottom sheet. Pressing this button again and again will toggle show/hide bottom sheet. You can add this button to show various action which are applicable according +This button is use to show/hide bottom sheet. Pressing this button again and again will toggle show/hide bottom sheet. You can add this button to show various action which are applicable according to your presets for eg. You can show below actions + 1. Mute audio for all participants 2. Mute video for all participants 3. Start/Stop meeting recording. 4. Can launch plugins. 5. Can launch polls. 6. Can lauch chats screen. -7. Can launch settings screen. +7. Can launch settings screen. All options depends on Users presets. - ### Topics: ### Creating a More Menu meeting button which you mostly add inside Control Bar. @@ -27,21 +29,25 @@ All options depends on Users presets. ```swift init(meeting: DyteMobileClient, presentingViewController: UIViewController, settingViewControllerCompletion:(()->Void)? = nil) { ``` -Creates a DyteMoreButtonControlBar with multiple parameters. + +Creates a DyteMoreButtonControlBar with multiple parameters. #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. + +_Required_ +**meeting:** Current ongoing meeting object. **presentingViewController:** UIViewController object on which you want to present this bottom sheet. -*Optional* -**settingViewControllerCompletion:** Closure that you passed to get callback when user open Setting screen from setting option +_Optional_ +**settingViewControllerCompletion:** Closure that you passed to get callback when user open Setting screen from setting option from bottom sheet and closed it. When user press back from setting screen then you get this callback. -### Override the onClick action. -```swift -func onClick(button: DyteControlBarButton) +### Override the onClick action. + +```swift +func onClick(button: DyteControlBarButton) ``` -You can override this method inside the subclass of `DyteMoreButtonControlBar` to customize the functionality when user presses this button. + +You can override this method inside the subclass of `DyteMoreButtonControlBar` to customize the functionality when user presses this button. iOS DyteMoreToggleButton diff --git a/docs/ios/components/dyte-name-tag.mdx b/docs/ios/components/dyte-name-tag.mdx index ec04c07036..f689fc3629 100644 --- a/docs/ios/components/dyte-name-tag.mdx +++ b/docs/ios/components/dyte-name-tag.mdx @@ -6,43 +6,47 @@ description: >- --- # DyteMeetingNameTag + ## Overview -This view is use show participant name followed by mic image (mute/unmute). +This view is use show participant name followed by mic image (mute/unmute). ### Topics: -### Creating a meeting tag. +### Creating a meeting tag. ```swift init(meeting: DyteMobileClient, participant: DyteMeetingParticipant, appearance: DyteNameTagAppearance = AppTheme.shared.nameTagAppearance) ``` #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. -**participant:** Participant object for which you want to show name and Mic state enabled/disbaled. -*Optional* -**appearance:** Any type which conforms to protocol "DyteNameTagAppearance" -### Explicit update the participant object for this view to show. +_Required_ +**meeting:** Current ongoing meeting object. +**participant:** Participant object for which you want to show name and Mic state enabled/disbaled. +_Optional_ +**appearance:** Any type which conforms to protocol "DyteNameTagAppearance" + +### Explicit update the participant object for this view to show. ```swift func set(participant: DyteMeetingParticipant) ``` -Update Meeting tag view with recent participant object. + +Update Meeting tag view with recent participant object. + #### Parameters: -**participant:** Participant object for which you want to show name and Mic state enabled/disbaled. +**participant:** Participant object for which you want to show name and Mic state enabled/disbaled. ### Refreshing DyteMeetingNameTag with latest values. ```swift func refresh() ``` -Call this method to refresh the view. -For example if someone update the participant name. Then call this to show latest values. +Call this method to refresh the view. +For example if someone update the participant name. Then call this to show latest values. iOS DyteMeetingNameTag diff --git a/docs/ios/components/dyte-navigationbar.mdx b/docs/ios/components/dyte-navigationbar.mdx index 0fe005c632..f10ac15603 100644 --- a/docs/ios/components/dyte-navigationbar.mdx +++ b/docs/ios/components/dyte-navigationbar.mdx @@ -5,15 +5,14 @@ description: >- with our detailed documentation. --- - - # DyteNavigationBar + ## Overview + This view is used as Navigation bar and can be added anywhere on any UIView. -This view consist of title and back button. +This view consist of title and back button. We can add custom action to back button by using -`func setClicks(previousButton:@escaping(DyteControlBarButton)->Void)` - +`func setClicks(previousButton:@escaping(DyteControlBarButton)->Void)` ### Topics: @@ -22,12 +21,15 @@ We can add custom action to back button by using ```swift init(title: String) ``` -Creates a DyteNavigationBar with title. + +Creates a DyteNavigationBar with title. #### Parameters: + **title:** Title shown at the center of NavigationBar. ### Getting titleLabel which is of type UILabel + ```swift let titleLabel: DyteLabel ``` @@ -43,8 +45,8 @@ let leftButton: DyteControlBarButton ```swift func setBackButtonClick(callBack: @escaping(DyteControlBarButton)->Void) ``` -This method is used to set the callback which is called when the user presses the back button. +This method is used to set the callback which is called when the user presses the back button. iOS DyteNavigationBar diff --git a/docs/ios/components/dyte-participant-count.mdx b/docs/ios/components/dyte-participant-count.mdx index a2e6c40f6f..2c2acc229c 100644 --- a/docs/ios/components/dyte-participant-count.mdx +++ b/docs/ios/components/dyte-participant-count.mdx @@ -6,22 +6,27 @@ description: >- --- # DyteParticipantCountView + ## Overview + Subclass of [UILabel](https://developer.apple.com/documentation/uikit/uilabel) which shows count of total joined participants in a meeting. ### Topics: -### Creating a DyteParticipantCountView. + +### Creating a DyteParticipantCountView. ```swift init(meeting: DyteMobileClient, appearance: DyteTextAppearance = AppTheme.shared.participantCountAppearance) { ``` + #### Parameters: -*Required* -**meeting:** Current ongoing meeting object. -*Optional:* + +_Required_ +**meeting:** Current ongoing meeting object. +_Optional:_ **appearance:** Any type which conforms to protocol "DyteTextAppearance" -For example you can use this as below. +For example you can use this as below. ```swift public lazy var lblSubtitle: DyteParticipantCountView = { diff --git a/docs/ios/components/dyte-pluginScreenShareTab-button.mdx b/docs/ios/components/dyte-pluginScreenShareTab-button.mdx index c37062d69d..f006773851 100644 --- a/docs/ios/components/dyte-pluginScreenShareTab-button.mdx +++ b/docs/ios/components/dyte-pluginScreenShareTab-button.mdx @@ -6,7 +6,9 @@ description: >- --- # DytePluginScreenShareTabButton + ## Overview + Subclass of [UIButton](https://developer.apple.com/documentation/uikit/uibutton) Mostly used to add plugin button to [DyteActiveTabSelectorView](/ios/components/dyte-active-tab-selector-view) @@ -15,38 +17,50 @@ Mostly used to add plugin button to [DyteActiveTabSelectorView](/ios/components/ ### Creating button ```swift -init(image: DyteImage?, title: String = "", id: String = "", appearance: DytePluginScreenShareTabButtonDesignDependency = DytePluginScreenShareTabButtonDesignDependencyModel()) +init(image: DyteImage?, title: String = "", id: String = "", appearance: DytePluginScreenShareTabButtonDesignDependency = DytePluginScreenShareTabButtonDesignDependencyModel()) ``` + #### Parameters -*Required* + +_Required_ **image:** Image of type `DyteImage` to be shown on extreme left. -*Optional* +_Optional_ **title:** Title of type String to be shown as button title. **id:** identifier used to identify this button. -**appearance:** Any type that confirms to DytePluginScreenShareTabButtonDesignDependency +**appearance:** Any type that confirms to DytePluginScreenShareTabButtonDesignDependency + +Example Image -Example Image +For example in above image , We have created three buttons -For example in above image , We have created three buttons 1. With title "Rustpad V2" and isSelected = `false` 2. With title "Excalidraw" and isSelected = `false` 3. With title "DocShare" and isSelected = `true` -### Setting the image and title +### Setting the image and title + Set the image and title which is used when client sets `UIButton` [isSelected](https://developer.apple.com/documentation/uikit/uicontrol/1618203-isselected) property ```swift func setSelected(image: DyteImage) ``` + #### Parameters -**image:** Image of type `DyteImage` to be shown on extreme left when [isSelected](https://developer.apple.com/documentation/uikit/uicontrol/1618203-isselected) sets to `true`. + +**image:** Image of type `DyteImage` to be shown on extreme left when [isSelected](https://developer.apple.com/documentation/uikit/uicontrol/1618203-isselected) sets to `true`. ```swift func setSelected(title: String) ``` + #### Parameters -**title:** Title of type String to be shown when [isSelected](https://developer.apple.com/documentation/uikit/uicontrol/1618203-isselected) sets to `true`. +**title:** Title of type String to be shown when [isSelected](https://developer.apple.com/documentation/uikit/uicontrol/1618203-isselected) sets to `true`. iOS DytePluginViewController diff --git a/docs/ios/components/dyte-plugins.mdx b/docs/ios/components/dyte-plugins.mdx index 64c809c103..abb5e07f19 100644 --- a/docs/ios/components/dyte-plugins.mdx +++ b/docs/ios/components/dyte-plugins.mdx @@ -6,21 +6,23 @@ description: >- --- # DytePluginViewController + ## Overview + A viewcontroller which lists all available plugins from their preset, and ability to enable or disable plugins. - ### Topics: -### Creating a DytePluginViewController. + +### Creating a DytePluginViewController. ```swift init(plugins: [DytePlugin]) ``` -#### Parameters: -**meeting:** Current ongoing meeting object. +#### Parameters: +**meeting:** Current ongoing meeting object. ```swift let controller = DytePluginViewController(plugins: dyteMobileClient.plugins.all) diff --git a/docs/ios/components/dyte-poll-form.mdx b/docs/ios/components/dyte-poll-form.mdx index ab89d5b02c..a09886169c 100644 --- a/docs/ios/components/dyte-poll-form.mdx +++ b/docs/ios/components/dyte-poll-form.mdx @@ -5,17 +5,22 @@ description: >- --- # DyteCreatePollsViewController + ## Overview + A view controller used to create and publish a poll. ### Topics: -### Creating a DyteCreatePollsViewController. + +### Creating a DyteCreatePollsViewController. ```swift init(meeting: DyteMobileClient) ``` + #### Parameters: -**meeting:** Current ongoing meeting object. + +**meeting:** Current ongoing meeting object. ### To show DyteCreatePollsViewController do in iOS as follows: diff --git a/docs/ios/components/dyte-polls.mdx b/docs/ios/components/dyte-polls.mdx index 6c215b1c0a..d09814cf83 100644 --- a/docs/ios/components/dyte-polls.mdx +++ b/docs/ios/components/dyte-polls.mdx @@ -7,18 +7,20 @@ description: >- # DyteShowPollsViewController ## Overview + A view controller used to show list of existing polls and a button to create polls ### Topics: -### Creating a show polls screen. +### Creating a show polls screen. ```swift init(meeting: DyteMobileClient) ``` + #### Parameters: -**meeting:** Current ongoing meeting object. +**meeting:** Current ongoing meeting object. ### To present DyteShowPollsViewController do in iOS as follows: diff --git a/docs/ios/components/dyte-recording-indicator.mdx b/docs/ios/components/dyte-recording-indicator.mdx index ef1138ef71..c473451442 100644 --- a/docs/ios/components/dyte-recording-indicator.mdx +++ b/docs/ios/components/dyte-recording-indicator.mdx @@ -6,26 +6,30 @@ description: >- --- # DyteRecordingView + ## Overview + This view is used to show Recording status of an ongoing meeting. When a participant starts recording meeting, this view will automatically get visible to user and start blinking. When participant stop recording then this view get automatically hide. - ### Topics: ### Creating a recording view + ```swift init(meeting: DyteMobileClient, title: String = "Rec", image: DyteImage? = nil, appearance: DyteRecordingViewAppearance = DyteRecordingViewAppearanceModel(designLibrary: DesignLibrary.shared)) ``` -Creates a DyteRecordingView with specified title and other informations. + +Creates a DyteRecordingView with specified title and other informations. #### Parameters: -*Required* -**meeting:** Default meeting object -*Optional:* + +_Required_ +**meeting:** Default meeting object +_Optional:_ **title:** String which you want to show. Default value is “Rec” **image:** Image of type DtyeImage. Default value of it is nil. -**appearance:** Any type which conforms to protocol “DyteRecordingViewAppearance” +**appearance:** Any type which conforms to protocol “DyteRecordingViewAppearance” ```swift private lazy var recordingView: DyteRecordingView = { @@ -36,11 +40,15 @@ private lazy var recordingView: DyteRecordingView = { ``` ### Managing the recording view + ```swift func blinking(start: Bool) ``` -Force start and stop blinking of the recording view. + +Force start and stop blinking of the recording view. + #### Parameters: + **start:** `true` for start blinking, if you specify `false` then blinking is stop and view automatically gets disappear. diff --git a/docs/ios/components/dyte-settings.mdx b/docs/ios/components/dyte-settings.mdx index 4cfec50fa4..0884371402 100644 --- a/docs/ios/components/dyte-settings.mdx +++ b/docs/ios/components/dyte-settings.mdx @@ -6,29 +6,34 @@ description: >- --- # DyteSettingViewController + ## Overview + A screen that is used to show settings to switch between different audio/video devices. +### Create DyteSettingViewController -### Create DyteSettingViewController ```swift init(nameTag: String, meeting: DyteMobileClient, completion:(()->Void)? = nil) ``` + Creates settings screen with name tag. #### Parameters: -*Required:* + +_Required:_ **nameTag:** An String representing participant name. -**meeting:** Default meeting object -*Optional:* +**meeting:** Default meeting object +_Optional:_ **completion:** Closure to get a callback when user presses back button present on [DyteNavigationBar](/ios/components/dyte-navigationbar) ### Hide/Show top bar + ```swift var shouldShowTopBar: Bool = true ``` -Default value is `true`. To hide the topbar assign this to `false`. +Default value is `true`. To hide the topbar assign this to `false`. ### To show DyteSettingViewController do in iOS as follows: diff --git a/docs/ios/components/dyte-setup-screen-delegate.mdx b/docs/ios/components/dyte-setup-screen-delegate.mdx index 4d50177624..3e83582284 100644 --- a/docs/ios/components/dyte-setup-screen-delegate.mdx +++ b/docs/ios/components/dyte-setup-screen-delegate.mdx @@ -6,23 +6,26 @@ description: >- --- # SetupViewControllerDelegate + ## Overview + A protocol which will be used as delegate to [SetupViewController](/ios/components/dyte-setup-screen). ## Topics: ```swift -protocol SetupViewControllerDelegate +protocol SetupViewControllerDelegate ``` + The interface for an object that serves as a Setup ViewController's delegate. -### Methods: - - ```swift - func userJoinedMeetingSuccessfully(sender: UIViewController) - ``` - Tells delegate object when a user successfully joined the meeting so your app can take the next indicated action. +### Methods: + +```swift +func userJoinedMeetingSuccessfully(sender: UIViewController) +``` +Tells delegate object when a user successfully joined the meeting so your app can take the next indicated action. iOS SetupViewController diff --git a/docs/ios/components/dyte-setup-screen.mdx b/docs/ios/components/dyte-setup-screen.mdx index bcc0f88c70..eb433977d9 100644 --- a/docs/ios/components/dyte-setup-screen.mdx +++ b/docs/ios/components/dyte-setup-screen.mdx @@ -6,34 +6,39 @@ description: >- --- # DyteSetupViewController + ## Overview + A screen shown before joining the meeting, where you can edit your display name, -and media settings. This screen initialize the meeting and on successfull initialization +and media settings. This screen initialize the meeting and on successfull initialization it shows a join button to join meeting. ## Topics: -### Create SetupViewController +### Create SetupViewController + ```swift init(meetingInfo: DyteMeetingInfoV2, mobileClient: DyteMobileClient, - completion:@escaping()->Void) + completion:@escaping()->Void) ``` -Creates setup screen with the configuration object of type `DyteMeetingInfoV2` + +Creates setup screen with the configuration object of type `DyteMeetingInfoV2` #### Parameters: -Required: + +Required: meetingInfo: An instance of type `DyteMeetingInfoV2` -meeting: Default meeting object -completion: escaping closure to get a callback when Meetings ends up. For example. When user leaved the meeting then -you want to present the starting screen. +meeting: Default meeting object +completion: escaping closure to get a callback when Meetings ends up. For example. When user leaved the meeting then +you want to present the starting screen. ```swift let controller = SetupViewController(meetingInfo: dyteMeetingInfo, meeting: metting) { [weak self] in guard let self = self else {return} self.dismiss(animated: true) - self.view.hideActivityIndicator() + self.view.hideActivityIndicator() } controller.modalPresentationStyle = .fullScreen self.present(controller, animated: true) @@ -44,6 +49,7 @@ self.present(controller, animated: true) ```swift weak var delegate: SetupViewControllerDelegate? ``` + The delegate of the [SetupViewController](/ios/components/dyte-setup-screen) object. diff --git a/docs/ios/helper-classes/dyte-plugin-view-model.mdx b/docs/ios/helper-classes/dyte-plugin-view-model.mdx index 0d3ff0c050..8c8e240b95 100644 --- a/docs/ios/helper-classes/dyte-plugin-view-model.mdx +++ b/docs/ios/helper-classes/dyte-plugin-view-model.mdx @@ -6,62 +6,71 @@ description: >- --- # VideoPeerViewModel + ## Overview -A view model for instances of class [DyteParticipantTileView](/ios/components/dyte-participant-tile-view). -### Create instance of this class +A view model for instances of class [DyteParticipantTileView](/ios/components/dyte-participant-tile-view). + +### Create instance of this class ```swift init(meeting: DyteMobileClient, participant: DyteJoinedMeetingParticipant, showSelfPreviewVideo: Bool, showScreenShareVideoView: Bool = false) ``` -#### Parameters + +#### Parameters + **meeting:** Current ongoing meeting. -**participant:** Participant for whom you want to load video. -**showSelfPreviewVideo**: This flags tell whether you want load video of self or not. `true` load video of self -**showScreenShareVideoView:** This flag will tell wheter to load screen share view' +**participant:** Participant for whom you want to load video. +**showSelfPreviewVideo**: This flags tell whether you want load video of self or not. `true` load video of self +**showScreenShareVideoView:** This flag will tell wheter to load screen share view' + +### Update the participant -### Update the participant ```swift func set(participant: DyteJoinedMeetingParticipant) ``` -### Call back when audio state gets updated +### Call back when audio state gets updated ```swift var audioUpdate: (()->Void)? ``` -Whenever `func onAudioUpdate(isEnabled: Bool)` protocol method of `DyteParticipantUpdateListener` get called, - this Call back is generated. -### Call back when video state gets updated +Whenever `func onAudioUpdate(isEnabled: Bool)` protocol method of `DyteParticipantUpdateListener` get called, +this Call back is generated. + +### Call back when video state gets updated ```swift var videoUpdate: (()->Void)? ``` -Whenever `func onVideoUpdate(isEnabled: Bool)` protocol method of `DyteParticipantUpdateListener` get called, - this Call back is generated. +Whenever `func onVideoUpdate(isEnabled: Bool)` protocol method of `DyteParticipantUpdateListener` get called, +this Call back is generated. + +### Call back when participants gets updated -### Call back when participants gets updated ```swift var loadNewParticipant: ((DyteJoinedMeetingParticipant)->Void)? ``` + Whenever `func set(participant: DyteJoinedMeetingParticipant)` get called, Call back is generated +### Call back when name initials of participant gets updated -### Call back when name initials of participant gets updated ```swift var nameInitialsUpdate: (()->Void)? ``` + Whenever `func refreshInitialName` get called, Call back is generated -### Call back when name of participant gets updated +### Call back when name of participant gets updated ```swift var nameUpdate: (()->Void)? ``` -Whenever `func refreshNameTag` get called, Call back is generated +Whenever `func refreshNameTag` get called, Call back is generated iOS DytePluginViewController diff --git a/docs/ios/quickstart.mdx b/docs/ios/quickstart.mdx index 4fdb90618c..c1cf5cff65 100644 --- a/docs/ios/quickstart.mdx +++ b/docs/ios/quickstart.mdx @@ -21,7 +21,7 @@ a sample application from the You'll learn how to: -- [Install the Dyte SDK](#step-1-install\-the-sdk) +- [Install the Dyte SDK](#step-1-install-the-sdk) - [Configure a Dyte meeting](#step-2-configure-a-dyte-meeting) - [Initialize the SDK](#step-3-initialize-the-sdk) - [Launch the meeting UI](#step-4-launch-the-meeting-ui) @@ -41,8 +41,9 @@ You must complete the following steps: to the meeting. This API returns the authentication token that is required to initialize your frontend SDKs. ## Step 1: Install the SDK + - + - ### **CocoaPods** @@ -57,7 +58,7 @@ pod install ``` - + - ### **Swift Package Manager** Add `DyteUiKit` SDK through Swift Package Manager in Xcode. Use https://github.com/dyte-in/ios-uikit-framework.git as the package source. @@ -65,7 +66,6 @@ pod install - Add the necessary fonts and permission entries in the `info.plist` file. You can customize the strings shown in the permission pop-ups to match your audience preferences. ```xml @@ -93,7 +93,6 @@ It's important to note that the use of background modes should be justified and Sources: Apple Developer Documentation: [Declaring Your App's Supported Background Tasks](https://developer.apple.com/documentation/bundleresources/information_property_list/uibackgroundmodes) - ## Step 2: Configure a Dyte meeting Configure the following properties in the `DyteMeetingInfoV2` class. You must pass a valid participant `authToken` @@ -106,12 +105,12 @@ obtained from the [Add Participant](/api/?v=v2#/operations/add_participant) API. | `enableVideo` | Set whether to join the meeting with your Camera ON (`true`) or OFF (`false`). | | `baseUrl` | Base URL of the Dyte environment you have created the meeting on. | -```swift +```swift let meetingInfo = DyteMeetingInfoV2(authToken: "", - enableAudio: true, - enableVideo: true, + enableAudio: true, + enableVideo: true, baseUrl: "dyte.io") - ``` +``` ## Step 3: Initialize the SDK @@ -120,8 +119,8 @@ To set the initialization properties in the `DyteUiKit` class, simply initialize ```swift let meetingInfo = DyteMeetingInfoV2(authToken: "", - enableAudio: true, - enableVideo: true, + enableAudio: true, + enableVideo: true, baseUrl: "dyte.io") let dyteUikit = DyteUiKit(meetingInfoV2: meetingInfo) @@ -148,8 +147,8 @@ class ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) let meetingInfo = DyteMeetingInfoV2(authToken: "", - enableAudio: true, - enableVideo: true, + enableAudio: true, + enableVideo: true, baseUrl: "dyte.io") dyteUikit = DyteUiKit(meetingInfoV2: meetingInfo) let controller = dyteUikit.startMeeting { diff --git a/docs/partials/_android-quickstart.mdx b/docs/partials/_android-quickstart.mdx index 3a5f685457..c12dc83545 100644 --- a/docs/partials/_android-quickstart.mdx +++ b/docs/partials/_android-quickstart.mdx @@ -20,7 +20,6 @@ You can also checkout our and run a sample application from the [Android Samples GitHub repository](https://github.com/dyte-io/android-samples/). - ## Before Getting Started Make sure you've a mechanism to get `authToken` from your server-side, which you would have received as part of [Add Participant](/guides/live-video/build-live-video-app#step-2-add-participants) call. diff --git a/docs/partials/_html-quickstart.mdx b/docs/partials/_html-quickstart.mdx index e2f7657e7e..7ada6e0361 100644 --- a/docs/partials/_html-quickstart.mdx +++ b/docs/partials/_html-quickstart.mdx @@ -15,11 +15,9 @@ import { applications with a variety of meeting UI customization options. - For getting started quickly, you can use our [sample code](https://github.com/dyte-io/html-samples#samples). You can clone and run a sample application from the [HTML UI Kit GitHub repository](https://github.com/dyte-io/html-samples). - ## Before getting started Make sure you've a mechanism to get authToken from your server-side, which you would have received as part of [Add Participant](/guides/live-video/build-live-video-app#step-2-add-participants) call. diff --git a/docs/partials/_setup.mdx b/docs/partials/_setup.mdx index 7740cb072d..ce0583346e 100644 --- a/docs/partials/_setup.mdx +++ b/docs/partials/_setup.mdx @@ -1,7 +1,6 @@ import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; - - **Register in the Developer Portal** To get started with Dyte, you must first register an account on the [Developer portal](https://dev.dyte.io). @@ -13,19 +12,18 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; - **Get your API Keys** Copy the [API Keys](https://dev.dyte.io/apikeys) for your organization from -the Developer portal. The API Key is unique to your organization and is -required as an authorization header to use Dyte REST APIs. + the Developer portal. The API Key is unique to your organization and is + required as an authorization header to use Dyte REST APIs. - The next guide Concepts will talk about the basic concepts used in a system using Dyte! diff --git a/docs/partials/error-codes/_web_core_debug_system_error_codes.mdx b/docs/partials/error-codes/_web_core_debug_system_error_codes.mdx index 49b7fd466a..76ed589f52 100644 --- a/docs/partials/error-codes/_web_core_debug_system_error_codes.mdx +++ b/docs/partials/error-codes/_web_core_debug_system_error_codes.mdx @@ -39,4 +39,5 @@ Here is a list of error code prefixes corresponding to each Dyte modules: | AI (transcripts, summary) | 18xx | | Livestream | 19xx | | Stage | 20xx | ----------------------------------------------------------- \ No newline at end of file + +--- diff --git a/docs/partials/error-codes/_web_core_error_codes_details.mdx b/docs/partials/error-codes/_web_core_error_codes_details.mdx index 93a96521ea..1ee3c1ec5c 100644 --- a/docs/partials/error-codes/_web_core_error_codes_details.mdx +++ b/docs/partials/error-codes/_web_core_error_codes_details.mdx @@ -63,16 +63,19 @@ await meeting.leaveRoom(); # Controller ### Error code: 0100 + - **Error message**: Internal exception - **Possible reason**: An unexpected error occurred within the Controller module. - **Possible solution**: Check the logs for more details and retry the operation. If you continue to experience issue, please [reach out](https://dyte.io/contact) to us for the help. ### Error code: 0101 + - **Error message**: Permission denied - **Possible reason**: The participant does not have the required permissions to perform the action. - **Possible solution**: Verify the participant's permissions in their respective [preset](https://dev.dyte.io/presets) and try again. ### Error code: 0102 + - **Error message**: Prerequisite module missing - **Possible reason**: A required module such as `self` for the Controller is missing or not initialized. - **Possible solution**: Ensure all prerequisite modules are properly passed in `DyteClient` initialization. @@ -80,6 +83,7 @@ await meeting.leaveRoom(); # RoomNodeClient ### Error code: 0200 + - **Error message**: Internal exception - **Possible reason**: An unexpected error occurred within the RoomNodeClient module. - **Possible solution**: Check the logs for more details and retry the operation. If you continue to experience issue, please [reach out](https://dyte.io/contact) to us for the help. @@ -87,6 +91,7 @@ await meeting.leaveRoom(); # HiveNodeClient ### Error code: 0300 + - **Error message**: Internal exception - **Possible reason**: An unexpected error occurred within the HiveNodeClient module. - **Possible solution**: Check the logs for more details and retry the operation. If you continue to experience issue, please [reach out](https://dyte.io/contact) to us for the help. @@ -94,11 +99,13 @@ await meeting.leaveRoom(); # SocketService ### Error code: 0400 + - **Error message**: Internal exception - **Possible reason**: An unexpected error occurred within the SocketService module. - **Possible solution**: Check the logs for more details and retry the operation. If you continue to experience issue, please [reach out](https://dyte.io/contact) to us for the help. ### Error code: 0404 + - **Error message**: Missing prerequisites to establish a websocket connection - **Possible reason**: Required prerequisites for establishing a WebSocket connection are missing. - **Possible solution**: Ensure all prerequisites (e.g., JWT auth token with meetingId, network connectivity) are met. This is extremely rare case and usually indicates an issue in Dyte SDK. @@ -106,46 +113,53 @@ await meeting.leaveRoom(); # Chat ### Error code: 0500 + - **Error message**: Internal exception - **Possible reason**: An unexpected error occurred within the Chat module. - **Possible solution**: Check the logs for more details and retry the operation. If you continue to experience issue, please [reach out](https://dyte.io/contact) to us for the help. ### Error code: 0501 + - **Error message**: Permission denied. - **Possible reason**: The participant does not have the required permissions to perform the action. - **Possible solution**: Verify the participant's permissions in their respective [preset](https://dev.dyte.io/presets) and try again. ### Error code: 0502 + - **Error message**: Invalid message body. - **Possible reason**: The message body does not conform to the expected format. - **Possible solution**: The type `Message` is not defined correctly. See [Chat](/web-core/chat/introduction). ### Error code: 0503 + - **Error message**: Text message is too large. - **Possible reason**: The message exceeds the allowed character limit. - **Possible solution**: Reduce the message length and try again. ### Error code: 0504 + - **Error message**: Message not found by the given ID. - **Possible reason**: The message ID provided does not correspond to an existing message. - **Possible solution**: Verify the message ID and ensure the message exists before querying. ### Error code: 0505 + - **Error message**: Action not permitted without joining room. - **Possible reason**: The participant attempted to perform an action that requires them to join the meeting first. - **Possible solution**: The participant attempted to execute an action that is only permitted for individuals who have already joined the meeting. to proceed, they must first join the meeting using `meeting.join()` before attempting the action again. ### Error code: 0506 + - **Error message**: Message search is disabled. - **Possible reason**: The message search feature is turned off. - **Possible solution**: Please [reach out](https://dyte.io/contact) to us for the help. ### Error code: 0510 + - **Error message**: Invalid channel name. - **Possible reason**: The channel name provided does not meet the required format or does not exist. - **Possible solution**: Ensure the channel name is correctly formatted and exists in the system. - { - if (kind === 'video') { - console.log( - `Your ${isScreenshare ? 'screenshare' : 'video'} quality score is `, - score - ); - } +meeting.self.on( + 'mediaScoreUpdate', + ({ kind, isScreenshare, score, scoreStats }) => { + if (kind === 'video') { + console.log( + `Your ${isScreenshare ? 'screenshare' : 'video'} quality score is `, + score, + ); + } - if (kind === 'audio') { - console.log('Your audio quality score is ', score); - } + if (kind === 'audio') { + console.log('Your audio quality score is ', score); + } - if (score < 5) { - console.log('Your media quality is poor'); - } -}); + if (score < 5) { + console.log('Your media quality is poor'); + } + }, +); ``` The `scoreStats` object contains the statistics that contributed to the calculated media score. @@ -58,4 +61,4 @@ The `mediaScoreUpdate` event will be emitted with an object similar to the follo "bandwidthLimitations": false } } -``` \ No newline at end of file +``` diff --git a/docs/react-ui-kit/build-in-call-ui/_category_.json b/docs/react-ui-kit/build-in-call-ui/_category_.json index 4c70bdd5f5..ab1621cdae 100644 --- a/docs/react-ui-kit/build-in-call-ui/_category_.json +++ b/docs/react-ui-kit/build-in-call-ui/_category_.json @@ -2,4 +2,4 @@ "position": 7, "label": "In-call UI", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/_category_.json b/docs/react-ui-kit/build-in-call-ui/build-your-own/_category_.json index ef86d1e7e1..5e93b70db5 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/_category_.json +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/_category_.json @@ -2,4 +2,4 @@ "position": 2, "label": "Build your own", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/add-custom-sidebar.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/add-custom-sidebar.mdx index b63e30f4b2..7f3e16d342 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/add-custom-sidebar.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/add-custom-sidebar.mdx @@ -21,17 +21,17 @@ import { useDyteMeeting, useDyteSelector } from '@dytesdk/react-web-core'; import { useEffect, useState } from 'react'; function SidebarWithCustomUI({ - meeting, states, config, setStates, +meeting, states, config, setStates, }: { meeting: DyteClient, config: UIConfig, states: CustomStates, setStates: SetStates } ){ - const [tabs, setTabs] = useState([ - { id: 'chat', name: 'chat' }, - { id: 'polls', name: 'polls' }, - { id: 'participants', name: 'participants' }, - { id: 'plugins', name: 'plugins' }, - { id: 'guidelines', name: 'Guidelines' } - ]); - const [view, setView] = useState('sidebar'); +const [tabs, setTabs] = useState([ +{ id: 'chat', name: 'chat' }, +{ id: 'polls', name: 'polls' }, +{ id: 'participants', name: 'participants' }, +{ id: 'plugins', name: 'plugins' }, +{ id: 'guidelines', name: 'Guidelines' } +]); +const [view, setView] = useState('sidebar'); if(!states.activeSidebar || (!states.sidebar && !states.customSidebar)){ return null; @@ -294,31 +294,51 @@ Let's say, we want to show some meeting guidelines to all the participants in a We have added a custom button to trigger the UI as well using `DyteControlbarButton` component. ```tsx - { - if(states.activeSidebar && !states.sidebar && states.customSidebar === 'guidelines'){ - setStates( (oldState) => { return { ...oldState, activeSidebar: false, sidebar: null, customSidebar: null }}); - } else { - setStates( (oldState) => { return { ...oldState, activeSidebar: true, sidebar: null, customSidebar: 'guidelines' }}); - } - }} - icon={defaultIconPack.add} - label={'Open Custom SideBar'} - /> + { + if ( + states.activeSidebar && + !states.sidebar && + states.customSidebar === 'guidelines' + ) { + setStates((oldState) => { + return { + ...oldState, + activeSidebar: false, + sidebar: null, + customSidebar: null, + }; + }); + } else { + setStates((oldState) => { + return { + ...oldState, + activeSidebar: true, + sidebar: null, + customSidebar: 'guidelines', + }; + }); + } + }} + icon={defaultIconPack.add} + label={'Open Custom SideBar'} +/> ``` For such a sidebar extension, we will have to update the types as well if in case you are using react with Typescript. ```tsx -import type { States } from "@dytesdk/ui-kit"; -import { DyteSidebarSection } from "@dytesdk/ui-kit/dist/types/components/dyte-sidebar/dyte-sidebar"; +import type { States } from '@dytesdk/ui-kit'; +import { DyteSidebarSection } from '@dytesdk/ui-kit/dist/types/components/dyte-sidebar/dyte-sidebar'; export type CustomSideBarTabs = DyteSidebarSection | 'guidelines'; -export type CustomStates = States & { activeMediaPreviewModal?: boolean, customSidebar?: CustomSideBarTabs } +export type CustomStates = States & { + activeMediaPreviewModal?: boolean; + customSidebar?: CustomSideBarTabs; +}; export type SetStates = React.Dispatch>; ``` Now that we know how we can add a custom sidebar, we can move on to customise the `DyteStage` component further. - diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-control-bar.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-control-bar.mdx index 9d3dee4e11..70a276296c 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-control-bar.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-control-bar.mdx @@ -24,7 +24,7 @@ import { useDyteMeeting, useDyteSelector } from '@dytesdk/react-web-core'; import { useEffect, useState } from 'react'; function ControlBarWithCustomUI({ - meeting, states, config, setStates, +meeting, states, config, setStates, }: { meeting: DyteClient, config: UIConfig, states: CustomStates, setStates: SetStates } ){ @@ -59,6 +59,7 @@ function ControlBarWithCustomUI({ + } export default function Meeting() { @@ -74,9 +75,9 @@ export default function Meeting() { }); useEffect(() => { - async function setupMeetingConfigs(){ - const theme = meeting!.self.config; - const { config } = generateConfig(theme, meeting!); +async function setupMeetingConfigs(){ +const theme = meeting!.self.config; +const { config } = generateConfig(theme, meeting!); /** * Full screen toggle, by default requests dyte-meeting/DyteMeeting element to be in full screen. @@ -108,11 +109,12 @@ useEffect(() => { }, [meeting]); return ( - /** - * Using a ref hack, we are adding "dyteStateUpdate" listener, - * so that we can listen to child component's internal state changes. - */ -
{ +/\*\* + +- Using a ref hack, we are adding "dyteStateUpdate" listener, +- so that we can listen to child component's internal state changes. + \*/ +
{ el?.addEventListener('dyteStateUpdate', (e) => { const { detail: newStateUpdate } = e as unknown as { detail: CustomStates }; setStates((oldState: CustomStates) => { return { @@ -127,136 +129,138 @@ return ( } -/** -* DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit -*/ -class DyteStateListenersUtils{ - - getStates: () => CustomStates; +/\*\* - getStateSetter: () => (newState: CustomStates) => void; +- DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit + \*/ + class DyteStateListenersUtils{ - getMeeting: () => DyteClient; + getStates: () => CustomStates; - get states(){ - return this.getStates(); - } - - get setGlobalStates(){ - return this.getStateSetter(); - }; + getStateSetter: () => (newState: CustomStates) => void; - get meeting(){ - return this.getMeeting(); - } - - constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ - this.getMeeting = getMeeting; - this.getStates = getGlobalStates; - this.getStateSetter = getGlobalStateSetter; - } - private updateStates(newState: CustomStates){ - this.setGlobalStates((oldState: CustomStates) => { return { - ...oldState, - ...newState, - }}); - console.log(newState); - } - private roomJoinedListener = () => { - this.updateStates({ meeting: 'joined' }); - }; + getMeeting: () => DyteClient; - private socketServiceRoomJoinedListener = () => { - if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; - this.updateStates({ meeting: 'joined' }); - }; + get states(){ + return this.getStates(); + } - private waitlistedListener = () => { - this.updateStates({ meeting: 'waiting' }); + get setGlobalStates(){ + return this.getStateSetter(); }; - private roomLeftListener = ({ state }: { state: RoomLeftState }) => { - const states = this.states; - if (states?.roomLeftState === 'disconnected') { - this.updateStates({ meeting: 'ended', roomLeftState: state }); - return; - } - this.updateStates({ meeting: 'ended', roomLeftState: state }); - }; + get meeting(){ + return this.getMeeting(); + } - private mediaPermissionUpdateListener = ({ kind, message }: { - kind: PermissionSettings['kind'], - message: string, - }) => { - if (['audio', 'video'].includes(kind!)) { - if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ + this.getMeeting = getMeeting; + this.getStates = getGlobalStates; + this.getStateSetter = getGlobalStateSetter; + } + private updateStates(newState: CustomStates){ + this.setGlobalStates((oldState: CustomStates) => { return { + ...oldState, + ...newState, + }}); + console.log(newState); + } + private roomJoinedListener = () => { + this.updateStates({ meeting: 'joined' }); + }; + + private socketServiceRoomJoinedListener = () => { + if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; + this.updateStates({ meeting: 'joined' }); + }; + + private waitlistedListener = () => { + this.updateStates({ meeting: 'waiting' }); + }; + + private roomLeftListener = ({ state }: { state: RoomLeftState }) => { + const states = this.states; + if (states?.roomLeftState === 'disconnected') { + this.updateStates({ meeting: 'ended', roomLeftState: state }); return; - const permissionModalSettings: PermissionSettings = { - enabled: true, - kind, - }; - this.updateStates({ activePermissionsMessage: permissionModalSettings }); - } - }; - - private joinStateAcceptedListener = () => { - this.updateStates({ activeJoinStage: true }); - }; + } + this.updateStates({ meeting: 'ended', roomLeftState: state }); + }; + + private mediaPermissionUpdateListener = ({ kind, message }: { + kind: PermissionSettings['kind'], + message: string, + }) => { + if (['audio', 'video'].includes(kind!)) { + if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + return; + const permissionModalSettings: PermissionSettings = { + enabled: true, + kind, + }; + this.updateStates({ activePermissionsMessage: permissionModalSettings }); + } + }; + + private joinStateAcceptedListener = () => { + this.updateStates({ activeJoinStage: true }); + }; + + private handleChangingMeeting(destinationMeetingId: string) { + this.updateStates({ + activeBreakoutRoomsManager: { + ...this.states.activeBreakoutRoomsManager, + active: this.states.activeBreakoutRoomsManager!.active, + destinationMeetingId, + } + }); + } - private handleChangingMeeting(destinationMeetingId: string) { - this.updateStates({ - activeBreakoutRoomsManager: { - ...this.states.activeBreakoutRoomsManager, - active: this.states.activeBreakoutRoomsManager!.active, - destinationMeetingId, + addDyteEventListeners(){ + if (this.meeting.meta.viewType === 'LIVESTREAM') { + this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); } - }); - } + this.meeting.self.addListener('roomJoined', this.roomJoinedListener); - addDyteEventListeners(){ - if (this.meeting.meta.viewType === 'LIVESTREAM') { - this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); - } - this.meeting.self.addListener('roomJoined', this.roomJoinedListener); + this.meeting.self.addListener('waitlisted', this.waitlistedListener); + this.meeting.self.addListener('roomLeft', this.roomLeftListener); + this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); + this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - this.meeting.self.addListener('waitlisted', this.waitlistedListener); - this.meeting.self.addListener('roomLeft', this.roomLeftListener); - this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); - this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - - if (this.meeting.connectedMeetings.supportsConnectedMeetings) { - this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); - } + if (this.meeting.connectedMeetings.supportsConnectedMeetings) { + this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); + } - } - cleanupDyteEventListeners(){ + } + cleanupDyteEventListeners(){ - } + } } -/** -* setFullScreenToggleTargetElement updates the ui-kit config, -* to set targetElement to full screen toggle. -*/ -function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ - if (config.root && Array.isArray(config.root['div#controlbar-left'])) { - const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); - if(fullScreenToggleIndex > -1){ - config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { - variant: 'vertical', - targetElement: document.querySelector("#"+targetElementId), - }]; - } - } - ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { - const configElem = config?.root?.[configElemKey] as any; - configElem?.forEach((dyteElemConfigSet: any) => { - if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { - dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); - } - }); - }); -} +/\*\* + +- setFullScreenToggleTargetElement updates the ui-kit config, +- to set targetElement to full screen toggle. + \*/ + function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ + if (config.root && Array.isArray(config.root['div#controlbar-left'])) { + const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); + if(fullScreenToggleIndex > -1){ + config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { + variant: 'vertical', + targetElement: document.querySelector("#"+targetElementId), + }]; + } + } + ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { + const configElem = config?.root?.[configElemKey] as any; + configElem?.forEach((dyteElemConfigSet: any) => { + if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { + dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); + } + }); + }); + } ` } /> diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-header.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-header.mdx index ee08e800c3..54aeb86aae 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-header.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/customize-header.mdx @@ -24,10 +24,10 @@ import { useDyteMeeting, useDyteSelector } from '@dytesdk/react-web-core'; import { useEffect, useState } from 'react'; function HeaderWithCustomUI({ - meeting, states, config, +meeting, states, config, }: { meeting: DyteClient, config: UIConfig, states: CustomStates, setStates: SetStates } ){ - + return
@@ -44,6 +44,7 @@ function HeaderWithCustomUI({
+ } export default function Meeting() { @@ -59,9 +60,9 @@ export default function Meeting() { }); useEffect(() => { - async function setupMeetingConfigs(){ - const theme = meeting!.self.config; - const { config } = generateConfig(theme, meeting!); +async function setupMeetingConfigs(){ +const theme = meeting!.self.config; +const { config } = generateConfig(theme, meeting!); /** * Full screen toggle, by default requests dyte-meeting/DyteMeeting element to be in full screen. @@ -93,11 +94,12 @@ useEffect(() => { }, [meeting]); return ( - /** - * Using a ref hack, we are adding "dyteStateUpdate" listener, - * so that we can listen to child component's internal state changes. - */ -
{ +/\*\* + +- Using a ref hack, we are adding "dyteStateUpdate" listener, +- so that we can listen to child component's internal state changes. + \*/ +
{ el?.addEventListener('dyteStateUpdate', (e) => { const { detail: newStateUpdate } = e as unknown as { detail: CustomStates }; setStates((oldState: CustomStates) => { return { @@ -112,137 +114,139 @@ return ( } -/** -* DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit -*/ -class DyteStateListenersUtils{ +/\*\* - getStates: () => CustomStates; +- DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit + \*/ + class DyteStateListenersUtils{ - getStateSetter: () => (newState: CustomStates) => void; + getStates: () => CustomStates; - getMeeting: () => DyteClient; + getStateSetter: () => (newState: CustomStates) => void; - get states(){ - return this.getStates(); - } - - get setGlobalStates(){ - return this.getStateSetter(); - }; - - get meeting(){ - return this.getMeeting(); - } - - constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ - this.getMeeting = getMeeting; - this.getStates = getGlobalStates; - this.getStateSetter = getGlobalStateSetter; - } - private updateStates(newState: CustomStates){ - this.setGlobalStates((oldState: CustomStates) => { return { - ...oldState, - ...newState, - }}); - console.log(newState); - } - private roomJoinedListener = () => { - this.updateStates({ meeting: 'joined' }); - }; + getMeeting: () => DyteClient; - private socketServiceRoomJoinedListener = () => { - if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; - this.updateStates({ meeting: 'joined' }); - }; + get states(){ + return this.getStates(); + } - private waitlistedListener = () => { - this.updateStates({ meeting: 'waiting' }); + get setGlobalStates(){ + return this.getStateSetter(); }; - private roomLeftListener = ({ state }: { state: RoomLeftState }) => { - const states = this.states; - if (states?.roomLeftState === 'disconnected') { - this.updateStates({ meeting: 'ended', roomLeftState: state }); - return; - } - this.updateStates({ meeting: 'ended', roomLeftState: state }); - }; + get meeting(){ + return this.getMeeting(); + } - private mediaPermissionUpdateListener = ({ kind, message }: { - kind: PermissionSettings['kind'], - message: string, - }) => { - if (['audio', 'video'].includes(kind!)) { - if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ + this.getMeeting = getMeeting; + this.getStates = getGlobalStates; + this.getStateSetter = getGlobalStateSetter; + } + private updateStates(newState: CustomStates){ + this.setGlobalStates((oldState: CustomStates) => { return { + ...oldState, + ...newState, + }}); + console.log(newState); + } + private roomJoinedListener = () => { + this.updateStates({ meeting: 'joined' }); + }; + + private socketServiceRoomJoinedListener = () => { + if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; + this.updateStates({ meeting: 'joined' }); + }; + + private waitlistedListener = () => { + this.updateStates({ meeting: 'waiting' }); + }; + + private roomLeftListener = ({ state }: { state: RoomLeftState }) => { + const states = this.states; + if (states?.roomLeftState === 'disconnected') { + this.updateStates({ meeting: 'ended', roomLeftState: state }); return; - const permissionModalSettings: PermissionSettings = { - enabled: true, - kind, - }; - this.updateStates({ activePermissionsMessage: permissionModalSettings }); - } - }; - - private joinStateAcceptedListener = () => { - this.updateStates({ activeJoinStage: true }); - }; + } + this.updateStates({ meeting: 'ended', roomLeftState: state }); + }; + + private mediaPermissionUpdateListener = ({ kind, message }: { + kind: PermissionSettings['kind'], + message: string, + }) => { + if (['audio', 'video'].includes(kind!)) { + if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + return; + const permissionModalSettings: PermissionSettings = { + enabled: true, + kind, + }; + this.updateStates({ activePermissionsMessage: permissionModalSettings }); + } + }; + + private joinStateAcceptedListener = () => { + this.updateStates({ activeJoinStage: true }); + }; + + private handleChangingMeeting(destinationMeetingId: string) { + this.updateStates({ + activeBreakoutRoomsManager: { + ...this.states.activeBreakoutRoomsManager, + active: this.states.activeBreakoutRoomsManager!.active, + destinationMeetingId, + } + }); + } - private handleChangingMeeting(destinationMeetingId: string) { - this.updateStates({ - activeBreakoutRoomsManager: { - ...this.states.activeBreakoutRoomsManager, - active: this.states.activeBreakoutRoomsManager!.active, - destinationMeetingId, + addDyteEventListeners(){ + if (this.meeting.meta.viewType === 'LIVESTREAM') { + this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); } - }); - } + this.meeting.self.addListener('roomJoined', this.roomJoinedListener); - addDyteEventListeners(){ - if (this.meeting.meta.viewType === 'LIVESTREAM') { - this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); - } - this.meeting.self.addListener('roomJoined', this.roomJoinedListener); - - this.meeting.self.addListener('waitlisted', this.waitlistedListener); - this.meeting.self.addListener('roomLeft', this.roomLeftListener); - this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); - this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); + this.meeting.self.addListener('waitlisted', this.waitlistedListener); + this.meeting.self.addListener('roomLeft', this.roomLeftListener); + this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); + this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - if (this.meeting.connectedMeetings.supportsConnectedMeetings) { - this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); - } + if (this.meeting.connectedMeetings.supportsConnectedMeetings) { + this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); + } - } - cleanupDyteEventListeners(){ + } + cleanupDyteEventListeners(){ - } + } } -/** -* setFullScreenToggleTargetElement updates the ui-kit config, -* to set targetElement to full screen toggle. -*/ -function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ - if (config.root && Array.isArray(config.root['div#controlbar-left'])) { - const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); - if(fullScreenToggleIndex > -1){ - config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { - variant: 'vertical', - targetElement: document.querySelector("#"+targetElementId), - }]; - } - } - ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { - const configElem = config?.root?.[configElemKey] as any; - configElem?.forEach((dyteElemConfigSet: any) => { - if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { - dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); - } - }); - }); -} +/\*\* + +- setFullScreenToggleTargetElement updates the ui-kit config, +- to set targetElement to full screen toggle. + \*/ + function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ + if (config.root && Array.isArray(config.root['div#controlbar-left'])) { + const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); + if(fullScreenToggleIndex > -1){ + config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { + variant: 'vertical', + targetElement: document.querySelector("#"+targetElementId), + }]; + } + } + ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { + const configElem = config?.root?.[configElemKey] as any; + configElem?.forEach((dyteElemConfigSet: any) => { + if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { + dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); + } + }); + }); + } ` } /> @@ -251,5 +255,3 @@ Please note that the `DyteRecordingIndicator` will be shown only when recording if user's preset has a logo, that logo will be shown using `DyteLogo` component. Now that we know how we can build a custom header, let's move on to discuss how we can build a custom footer otherwise knows as control bar. - - diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx index 6104d49a1d..282a2dc510 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx @@ -42,9 +42,9 @@ export default function Meeting() { }); useEffect(() => { - async function setupMeetingConfigs(){ - const theme = meeting!.self.config; - const { config } = generateConfig(theme, meeting!); +async function setupMeetingConfigs(){ +const theme = meeting!.self.config; +const { config } = generateConfig(theme, meeting!); /** * Full screen toggle, by default requests dyte-meeting/DyteMeeting element to be in full screen. @@ -76,11 +76,12 @@ useEffect(() => { }, [meeting]); return ( - /** - * Using a ref hack, we are adding "dyteStateUpdate" listener, - * so that we can listen to child component's internal state changes. - */ -
{ +/\*\* + +- Using a ref hack, we are adding "dyteStateUpdate" listener, +- so that we can listen to child component's internal state changes. + \*/ +
{ el?.addEventListener('dyteStateUpdate', (e) => { const { detail: newStateUpdate } = e as unknown as { detail: CustomStates }; setStates((oldState: CustomStates) => { return { @@ -99,137 +100,139 @@ function CustomDyteMeetingUI({ meeting, config, states, setStates }: { meeting: return
Your Custom UI will come here
; } -/** -* DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit -*/ -class DyteStateListenersUtils{ - - getStates: () => CustomStates; +/\*\* - getStateSetter: () => (newState: CustomStates) => void; +- DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit + \*/ + class DyteStateListenersUtils{ - getMeeting: () => DyteClient; + getStates: () => CustomStates; - get states(){ - return this.getStates(); - } - - get setGlobalStates(){ - return this.getStateSetter(); - }; + getStateSetter: () => (newState: CustomStates) => void; - get meeting(){ - return this.getMeeting(); - } + getMeeting: () => DyteClient; - constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ - this.getMeeting = getMeeting; - this.getStates = getGlobalStates; - this.getStateSetter = getGlobalStateSetter; - } - private updateStates(newState: CustomStates){ - this.setGlobalStates((oldState: CustomStates) => { return { - ...oldState, - ...newState, - }}); - console.log(newState); - } - private roomJoinedListener = () => { - this.updateStates({ meeting: 'joined' }); - }; - - private socketServiceRoomJoinedListener = () => { - if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; - this.updateStates({ meeting: 'joined' }); - }; + get states(){ + return this.getStates(); + } - private waitlistedListener = () => { - this.updateStates({ meeting: 'waiting' }); + get setGlobalStates(){ + return this.getStateSetter(); }; - private roomLeftListener = ({ state }: { state: RoomLeftState }) => { - const states = this.states; - if (states?.roomLeftState === 'disconnected') { - this.updateStates({ meeting: 'ended', roomLeftState: state }); - return; - } - this.updateStates({ meeting: 'ended', roomLeftState: state }); - }; + get meeting(){ + return this.getMeeting(); + } - private mediaPermissionUpdateListener = ({ kind, message }: { - kind: PermissionSettings['kind'], - message: string, - }) => { - if (['audio', 'video'].includes(kind!)) { - if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ + this.getMeeting = getMeeting; + this.getStates = getGlobalStates; + this.getStateSetter = getGlobalStateSetter; + } + private updateStates(newState: CustomStates){ + this.setGlobalStates((oldState: CustomStates) => { return { + ...oldState, + ...newState, + }}); + console.log(newState); + } + private roomJoinedListener = () => { + this.updateStates({ meeting: 'joined' }); + }; + + private socketServiceRoomJoinedListener = () => { + if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; + this.updateStates({ meeting: 'joined' }); + }; + + private waitlistedListener = () => { + this.updateStates({ meeting: 'waiting' }); + }; + + private roomLeftListener = ({ state }: { state: RoomLeftState }) => { + const states = this.states; + if (states?.roomLeftState === 'disconnected') { + this.updateStates({ meeting: 'ended', roomLeftState: state }); return; - const permissionModalSettings: PermissionSettings = { - enabled: true, - kind, - }; - this.updateStates({ activePermissionsMessage: permissionModalSettings }); - } - }; - - private joinStateAcceptedListener = () => { - this.updateStates({ activeJoinStage: true }); - }; + } + this.updateStates({ meeting: 'ended', roomLeftState: state }); + }; + + private mediaPermissionUpdateListener = ({ kind, message }: { + kind: PermissionSettings['kind'], + message: string, + }) => { + if (['audio', 'video'].includes(kind!)) { + if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + return; + const permissionModalSettings: PermissionSettings = { + enabled: true, + kind, + }; + this.updateStates({ activePermissionsMessage: permissionModalSettings }); + } + }; + + private joinStateAcceptedListener = () => { + this.updateStates({ activeJoinStage: true }); + }; + + private handleChangingMeeting(destinationMeetingId: string) { + this.updateStates({ + activeBreakoutRoomsManager: { + ...this.states.activeBreakoutRoomsManager, + active: this.states.activeBreakoutRoomsManager!.active, + destinationMeetingId, + } + }); + } - private handleChangingMeeting(destinationMeetingId: string) { - this.updateStates({ - activeBreakoutRoomsManager: { - ...this.states.activeBreakoutRoomsManager, - active: this.states.activeBreakoutRoomsManager!.active, - destinationMeetingId, + addDyteEventListeners(){ + if (this.meeting.meta.viewType === 'LIVESTREAM') { + this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); } - }); - } + this.meeting.self.addListener('roomJoined', this.roomJoinedListener); - addDyteEventListeners(){ - if (this.meeting.meta.viewType === 'LIVESTREAM') { - this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); - } - this.meeting.self.addListener('roomJoined', this.roomJoinedListener); + this.meeting.self.addListener('waitlisted', this.waitlistedListener); + this.meeting.self.addListener('roomLeft', this.roomLeftListener); + this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); + this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - this.meeting.self.addListener('waitlisted', this.waitlistedListener); - this.meeting.self.addListener('roomLeft', this.roomLeftListener); - this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); - this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - - if (this.meeting.connectedMeetings.supportsConnectedMeetings) { - this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); - } + if (this.meeting.connectedMeetings.supportsConnectedMeetings) { + this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); + } - } - cleanupDyteEventListeners(){ + } + cleanupDyteEventListeners(){ - } + } } -/** -* setFullScreenToggleTargetElement updates the ui-kit config, -* to set targetElement to full screen toggle. -*/ -function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ - if (config.root && Array.isArray(config.root['div#controlbar-left'])) { - const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); - if(fullScreenToggleIndex > -1){ - config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { - variant: 'vertical', - targetElement: document.querySelector("#"+targetElementId), - }]; - } - } - ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { - const configElem = config?.root?.[configElemKey] as any; - configElem?.forEach((dyteElemConfigSet: any) => { - if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { - dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); - } - }); - }); -} +/\*\* + +- setFullScreenToggleTargetElement updates the ui-kit config, +- to set targetElement to full screen toggle. + \*/ + function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ + if (config.root && Array.isArray(config.root['div#controlbar-left'])) { + const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); + if(fullScreenToggleIndex > -1){ + config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { + variant: 'vertical', + targetElement: document.querySelector("#"+targetElementId), + }]; + } + } + ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { + const configElem = config?.root?.[configElemKey] as any; + configElem?.forEach((dyteElemConfigSet: any) => { + if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { + dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); + } + }); + }); + } ` } /> @@ -245,16 +248,21 @@ In the above code snippets, we are generating configs using the preset configura Post this, We are extending the config to pass the targetElement to full screen toggle and storing this config to be passed to child components. ```tsx - setFullScreenToggleTargetElement({config, targetElementId: 'root'}); - setConfig({...config}); +setFullScreenToggleTargetElement({ config, targetElementId: 'root' }); +setConfig({ ...config }); ``` We need to also ensure that web-core & ui-kit states are in sync. Since we are handling states now, we will have to add web-core & ui-kit listeners. To add web-core listeners, `DyteStateListenersUtils` class, is being used. + ```tsx - const stateListenersUtils = new DyteStateListenersUtils(() => meeting, () => states, () => setStates); - stateListenersUtils.addDyteEventListeners(); +const stateListenersUtils = new DyteStateListenersUtils( + () => meeting, + () => states, + () => setStates, +); +stateListenersUtils.addDyteEventListeners(); ``` To add ui-kit state listeners, we are using ref based hack to ensure that every propagated `dyteStateUpdate` event is listened to. @@ -274,5 +282,3 @@ ref={(el) => { To join the meeting, we are using `await meeting.join();`. Now that we know the extra overhead that comes with splitting `DyteMeeting` component, let's start with showing custom UIs as per the meeting state. - - diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/stage-ui-using-dyte-grid.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/stage-ui-using-dyte-grid.mdx index b336e3eeb9..680d8b761f 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/stage-ui-using-dyte-grid.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/stage-ui-using-dyte-grid.mdx @@ -214,6 +214,7 @@ export class DyteStateListenersUtils{ ` } /> Few of the crucial components that we added here are: + 1. `DyteNotifications` to show notifications related to device plug/unplug and peer join/leave. 2. `DyteParticipantsAudio` to play other participant audio. 3. `DyteSidebar` to show sidebars for Chat, Plugins and polls. @@ -222,5 +223,3 @@ Few of the crucial components that we added here are: `DyteGrid` is the most crucial component here. It internally changes the UI based on the shared screens, pinned participants, spotlight, multi-user call. In upcoming guides we will discuss how we can build DyteGrid from scratch as well. But before that, let's discuss how we can build a custom sidebar next. - - diff --git a/docs/react-ui-kit/build-in-call-ui/build-your-own/states based UI Split.mdx b/docs/react-ui-kit/build-in-call-ui/build-your-own/states based UI Split.mdx index 1be013bd5e..d1b0afcbb1 100644 --- a/docs/react-ui-kit/build-in-call-ui/build-your-own/states based UI Split.mdx +++ b/docs/react-ui-kit/build-in-call-ui/build-your-own/states based UI Split.mdx @@ -19,26 +19,27 @@ import { defaultConfig, generateConfig } from '@dytesdk/react-ui-kit'; import { useDyteMeeting, useDyteSelector } from '@dytesdk/react-web-core'; import { useEffect, useState } from 'react'; -function CustomDyteMeeting({ meeting, config, states, setStates }: { meeting: DyteClient, config: UIConfig, states: CustomStates, setStates: SetStates}){ - if (!meeting) { - return
A loading screen comes here
; - } - +function CustomDyteMeeting({ meeting, config, states, setStates }: { meeting: DyteClient, config: UIConfig, states: CustomStates, setStates: SetStates}){ +if (!meeting) { +return
A loading screen comes here
; +} + if (states.meeting === 'setup') { return
Pre-call UI comes here
; } - + if(states.meeting === 'ended'){ return
Post-call UI comes here
; } - + if(states.meeting === 'waiting'){ return
Waiting room UI comes here
; } - + if(states.meeting === 'joined'){ return
In-call UI comes here
; } + } export default function Meeting() { @@ -54,9 +55,9 @@ export default function Meeting() { }); useEffect(() => { - async function setupMeetingConfigs(){ - const theme = meeting!.self.config; - const { config } = generateConfig(theme, meeting!); +async function setupMeetingConfigs(){ +const theme = meeting!.self.config; +const { config } = generateConfig(theme, meeting!); /** * Full screen toggle, by default requests dyte-meeting/DyteMeeting element to be in full screen. @@ -88,11 +89,12 @@ useEffect(() => { }, [meeting]); return ( - /** - * Using a ref hack, we are adding "dyteStateUpdate" listener, - * so that we can listen to child component's internal state changes. - */ -
{ +/\*\* + +- Using a ref hack, we are adding "dyteStateUpdate" listener, +- so that we can listen to child component's internal state changes. + \*/ +
{ el?.addEventListener('dyteStateUpdate', (e) => { const { detail: newStateUpdate } = e as unknown as { detail: CustomStates }; setStates((oldState: CustomStates) => { return { @@ -107,140 +109,142 @@ return ( } -/** -* DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit -*/ -class DyteStateListenersUtils{ - - getStates: () => CustomStates; +/\*\* - getStateSetter: () => (newState: CustomStates) => void; +- DyteStateListenersUtils is a class that listens to web-core changes and syncs them with ui-kit + \*/ + class DyteStateListenersUtils{ - getMeeting: () => DyteClient; + getStates: () => CustomStates; - get states(){ - return this.getStates(); - } + getStateSetter: () => (newState: CustomStates) => void; - get setGlobalStates(){ - return this.getStateSetter(); - }; + getMeeting: () => DyteClient; - get meeting(){ - return this.getMeeting(); - } - - constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ - this.getMeeting = getMeeting; - this.getStates = getGlobalStates; - this.getStateSetter = getGlobalStateSetter; - } - private updateStates(newState: CustomStates){ - this.setGlobalStates((oldState: CustomStates) => { return { - ...oldState, - ...newState, - }}); - console.log(newState); - } - private roomJoinedListener = () => { - this.updateStates({ meeting: 'joined' }); - }; - - private socketServiceRoomJoinedListener = () => { - if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; - this.updateStates({ meeting: 'joined' }); - }; + get states(){ + return this.getStates(); + } - private waitlistedListener = () => { - this.updateStates({ meeting: 'waiting' }); + get setGlobalStates(){ + return this.getStateSetter(); }; - private roomLeftListener = ({ state }: { state: RoomLeftState }) => { - const states = this.states; - if (states?.roomLeftState === 'disconnected') { - this.updateStates({ meeting: 'ended', roomLeftState: state }); - return; - } - this.updateStates({ meeting: 'ended', roomLeftState: state }); - }; + get meeting(){ + return this.getMeeting(); + } - private mediaPermissionUpdateListener = ({ kind, message }: { - kind: PermissionSettings['kind'], - message: string, - }) => { - if (['audio', 'video'].includes(kind!)) { - if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + constructor(getMeeting: () => DyteClient, getGlobalStates: () => CustomStates, getGlobalStateSetter: () => (newState: CustomStates) => void){ + this.getMeeting = getMeeting; + this.getStates = getGlobalStates; + this.getStateSetter = getGlobalStateSetter; + } + private updateStates(newState: CustomStates){ + this.setGlobalStates((oldState: CustomStates) => { return { + ...oldState, + ...newState, + }}); + console.log(newState); + } + private roomJoinedListener = () => { + this.updateStates({ meeting: 'joined' }); + }; + + private socketServiceRoomJoinedListener = () => { + if (this.meeting.stage.status === 'ON_STAGE' || this.meeting.stage.status === undefined) return; + this.updateStates({ meeting: 'joined' }); + }; + + private waitlistedListener = () => { + this.updateStates({ meeting: 'waiting' }); + }; + + private roomLeftListener = ({ state }: { state: RoomLeftState }) => { + const states = this.states; + if (states?.roomLeftState === 'disconnected') { + this.updateStates({ meeting: 'ended', roomLeftState: state }); return; - const permissionModalSettings: PermissionSettings = { - enabled: true, - kind, - }; - this.updateStates({ activePermissionsMessage: permissionModalSettings }); - } - }; - - private joinStateAcceptedListener = () => { - this.updateStates({ activeJoinStage: true }); - }; + } + this.updateStates({ meeting: 'ended', roomLeftState: state }); + }; + + private mediaPermissionUpdateListener = ({ kind, message }: { + kind: PermissionSettings['kind'], + message: string, + }) => { + if (['audio', 'video'].includes(kind!)) { + if (message === 'ACCEPTED' || message === 'NOT_REQUESTED' || this.states.activeDebugger) + return; + const permissionModalSettings: PermissionSettings = { + enabled: true, + kind, + }; + this.updateStates({ activePermissionsMessage: permissionModalSettings }); + } + }; + + private joinStateAcceptedListener = () => { + this.updateStates({ activeJoinStage: true }); + }; + + private handleChangingMeeting(destinationMeetingId: string) { + this.updateStates({ + activeBreakoutRoomsManager: { + ...this.states.activeBreakoutRoomsManager, + active: this.states.activeBreakoutRoomsManager!.active, + destinationMeetingId, + } + }); + } - private handleChangingMeeting(destinationMeetingId: string) { - this.updateStates({ - activeBreakoutRoomsManager: { - ...this.states.activeBreakoutRoomsManager, - active: this.states.activeBreakoutRoomsManager!.active, - destinationMeetingId, + addDyteEventListeners(){ + if (this.meeting.meta.viewType === 'LIVESTREAM') { + this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); } - }); - } - - addDyteEventListeners(){ - if (this.meeting.meta.viewType === 'LIVESTREAM') { - this.meeting.self.addListener('socketServiceRoomJoined', this.socketServiceRoomJoinedListener); - } - this.meeting.self.addListener('roomJoined', this.roomJoinedListener); + this.meeting.self.addListener('roomJoined', this.roomJoinedListener); - this.meeting.self.addListener('waitlisted', this.waitlistedListener); - this.meeting.self.addListener('roomLeft', this.roomLeftListener); - this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); - this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); + this.meeting.self.addListener('waitlisted', this.waitlistedListener); + this.meeting.self.addListener('roomLeft', this.roomLeftListener); + this.meeting.self.addListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener); + this.meeting.self.addListener('joinStageRequestAccepted', this.joinStateAcceptedListener); - if (this.meeting.connectedMeetings.supportsConnectedMeetings) { - this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); - } + if (this.meeting.connectedMeetings.supportsConnectedMeetings) { + this.meeting.connectedMeetings.once('changingMeeting', this.handleChangingMeeting); + } - } - cleanupDyteEventListeners(){ + } + cleanupDyteEventListeners(){ - } + } } -/** -* setFullScreenToggleTargetElement updates the ui-kit config, -* to set targetElement to full screen toggle. -*/ -function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ - if (config.root && Array.isArray(config.root['div#controlbar-left'])) { - const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); - if(fullScreenToggleIndex > -1){ - config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { - variant: 'vertical', - targetElement: document.querySelector("#"+targetElementId), - }]; - } - } - ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { - const configElem = config?.root?.[configElemKey] as any; - configElem?.forEach((dyteElemConfigSet: any) => { - if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { - dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); - } - }); - }); -} +/\*\* + +- setFullScreenToggleTargetElement updates the ui-kit config, +- to set targetElement to full screen toggle. + \*/ + function setFullScreenToggleTargetElement({config, targetElementId}: { config: UIConfig, targetElementId: string }){ + if (config.root && Array.isArray(config.root['div#controlbar-left'])) { + const fullScreenToggleIndex = config.root['div#controlbar-left'].indexOf('dyte-fullscreen-toggle'); + if(fullScreenToggleIndex > -1){ + config.root['div#controlbar-left'][fullScreenToggleIndex] = ['dyte-fullscreen-toggle', { + variant: 'vertical', + targetElement: document.querySelector("#"+targetElementId), + }]; + } + } + ['dyte-more-toggle.activeMoreMenu', 'dyte-more-toggle.activeMoreMenu.md', 'dyte-more-toggle.activeMoreMenu.sm'].forEach((configElemKey) => { + const configElem = config?.root?.[configElemKey] as any; + configElem?.forEach((dyteElemConfigSet: any) => { + if (dyteElemConfigSet[0] === 'dyte-fullscreen-toggle') { + dyteElemConfigSet[1].targetElement = document.querySelector("#"+targetElementId); + } + }); + }); + } ` } /> Since we have already discussed how you can [build a custom pre-call UI from scratch](/react-ui-kit/build-pre-call-ui/default-setup-screen), we will now focus exclusively on the in-meeting UI. -In the next steps, we will learn how we can create custom header, footer and the stage UI using Dyte components. \ No newline at end of file +In the next steps, we will learn how we can create custom header, footer and the stage UI using Dyte components. diff --git a/docs/react-ui-kit/build-pre-call-ui/_category_.json b/docs/react-ui-kit/build-pre-call-ui/_category_.json index 91f023a437..f03f021f66 100644 --- a/docs/react-ui-kit/build-pre-call-ui/_category_.json +++ b/docs/react-ui-kit/build-pre-call-ui/_category_.json @@ -2,4 +2,4 @@ "position": 6, "label": "Pre-call preview UI", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/build-pre-call-ui/build-your-own/_category_.json b/docs/react-ui-kit/build-pre-call-ui/build-your-own/_category_.json index d581b593ba..ec59ec7c2d 100644 --- a/docs/react-ui-kit/build-pre-call-ui/build-your-own/_category_.json +++ b/docs/react-ui-kit/build-pre-call-ui/build-your-own/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Build your own", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-audio-video-preview.mdx b/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-audio-video-preview.mdx index 51afb64411..5ef6ca4f3f 100644 --- a/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-audio-video-preview.mdx +++ b/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-audio-video-preview.mdx @@ -45,47 +45,44 @@ import { useDyteMeeting } from '@dytesdk/react-web-core'; export default function CustomMeetingPreview() { const { meeting } = useDyteMeeting(); - return ( -
-
-
- - - - - -
+
+
+ + + + + +
- - -
-
-
-
-
-

Joining as {meeting.self.name}

-
- { - await meeting.join(); - }} - > - Join - -
-
-
- ); + }} > + + +
+ +
+
+
+

Joining as {meeting.self.name}

+
+ { +await meeting.join(); +}} > +Join + +
+
+
+); } `} /> diff --git a/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-middleware.mdx b/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-middleware.mdx index d3ed988758..747598eb1e 100644 --- a/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-middleware.mdx +++ b/docs/react-ui-kit/build-pre-call-ui/build-your-own/add-middleware.mdx @@ -47,8 +47,8 @@ export default function CustomMeetingPreview() { /** * @dytesdk/ui-kit-addons/video-background uses @dytesdk/video-background-transformer. * To customise DyteVideoBackgroundTransformer configs, please refer to https://www.npmjs.com/package/@dytesdk/video-background-transformer?activeTab=readme. - * - */ + * + */ const videoBackground = new VideoBackground({ modes: ['blur', 'virtual'], segmentationConfig: { @@ -88,7 +88,7 @@ export default function CustomMeetingPreview() { icon={effectsSVG} onClick={() => { const changer = document.querySelector( - 'dyte-background-changer' + 'dyte-background-changer', ); if (changer) { const isOpen = changer?.getAttribute('data-open') === 'true'; diff --git a/docs/react-ui-kit/build-pre-call-ui/build-your-own/edit-user-name.mdx b/docs/react-ui-kit/build-pre-call-ui/build-your-own/edit-user-name.mdx index 0d9b283712..8dbf7bf0df 100644 --- a/docs/react-ui-kit/build-pre-call-ui/build-your-own/edit-user-name.mdx +++ b/docs/react-ui-kit/build-pre-call-ui/build-your-own/edit-user-name.mdx @@ -36,50 +36,48 @@ export default function CustomMeetingPreview() { const permissions = useDyteSelector((m) => m.self.permissions); const [participantName, setParticipantName] = useState(""); - useEffect(() => { - if (!meeting) { - return; - } - setParticipantName(meeting.self.name); - }, [meeting]); +useEffect(() => { +if (!meeting) { +return; +} +setParticipantName(meeting.self.name); +}, [meeting]); - return ( -
-
-
-
-
-

Joining as

-
- {permissions.canEditDisplayName && ( - setParticipantName(event.target.value)} - /> - )} - { - if (participantName) { - if (permissions.canEditDisplayName) { - await meeting.self.setName(participantName); - } - await meeting.join(); - } - }} - > - Join - -
-
-
- ); +return ( +
+
+
+
+
+

Joining as

+
+{permissions.canEditDisplayName && ( + setParticipantName(event.target.value)} +/> +)} + { +if (participantName) { +if (permissions.canEditDisplayName) { +await meeting.self.setName(participantName); +} +await meeting.join(); +} +}} > +Join + +
+
+
+); } `} /> diff --git a/docs/react-ui-kit/build-pre-call-ui/default-setup-screen.mdx b/docs/react-ui-kit/build-pre-call-ui/default-setup-screen.mdx index 0c34c5a755..724e4f3f97 100644 --- a/docs/react-ui-kit/build-pre-call-ui/default-setup-screen.mdx +++ b/docs/react-ui-kit/build-pre-call-ui/default-setup-screen.mdx @@ -26,13 +26,13 @@ export default function MyMeeting() { const { meeting } = useDyteMeeting(); const roomState = useDyteSelector((m) => m.self.roomState); - return ( -
- {roomState === 'init' && } - {roomState === 'joined' &&
Custom in-meeting UI
} - {roomState === 'ended' &&
Custom post-meeting UI
} -
- ); +return ( +
+{roomState === 'init' && } +{roomState === 'joined' &&
Custom in-meeting UI
} +{roomState === 'ended' &&
Custom post-meeting UI
} +
+); }` } /> diff --git a/docs/react-ui-kit/components/_category_.json b/docs/react-ui-kit/components/_category_.json index c2235c031c..4f7cac3b55 100644 --- a/docs/react-ui-kit/components/_category_.json +++ b/docs/react-ui-kit/components/_category_.json @@ -3,4 +3,4 @@ "label": "Components", "collapsible": true, "collapsed": false -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/components/dyte-network-indicator.mdx b/docs/react-ui-kit/components/dyte-network-indicator.mdx index 39317af7c7..ceeab7a3bf 100644 --- a/docs/react-ui-kit/components/dyte-network-indicator.mdx +++ b/docs/react-ui-kit/components/dyte-network-indicator.mdx @@ -15,9 +15,14 @@ A component that indicates poor network connection. It listens to the mediaScoreUpdate event of the passed participant to get the score. ```tsx - (participant as DyteParticipant).addListener('mediaScoreUpdate', ({ kind, isScreenshare, score, scoreStats }) => { - console.log(`Score for ${isScreenshare ? 'screen share': ''} ${kind} was:: ${score}`); -}); +(participant as DyteParticipant).addListener( + 'mediaScoreUpdate', + ({ kind, isScreenshare, score, scoreStats }) => { + console.log( + `Score for ${isScreenshare ? 'screen share' : ''} ${kind} was:: ${score}`, + ); + }, +); ``` :::note info @@ -32,4 +37,4 @@ This component will only be visible if the network quality is poor (less than or React UI Kit DyteNetworkIndicator - \ No newline at end of file + diff --git a/docs/react-ui-kit/components/dyte-participant-tile.mdx b/docs/react-ui-kit/components/dyte-participant-tile.mdx index 8d0409a723..6ef1614d60 100644 --- a/docs/react-ui-kit/components/dyte-participant-tile.mdx +++ b/docs/react-ui-kit/components/dyte-participant-tile.mdx @@ -34,7 +34,6 @@ export default function MyMeetingUI() { You can change the `nameTagPosition` to any of the supported values and change the placement of audio-visualizer in name-tag as well. - - - - - - ); + + + + +); } `} /> - ## Props diff --git a/docs/react-ui-kit/customizations/_category_.json b/docs/react-ui-kit/customizations/_category_.json index fe0067b628..5203281e3e 100644 --- a/docs/react-ui-kit/customizations/_category_.json +++ b/docs/react-ui-kit/customizations/_category_.json @@ -2,4 +2,4 @@ "position": 10, "label": "Customizations", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/react-ui-kit/customizations/custom-iconpack.mdx b/docs/react-ui-kit/customizations/custom-iconpack.mdx index 4c8419f601..a2b3969678 100644 --- a/docs/react-ui-kit/customizations/custom-iconpack.mdx +++ b/docs/react-ui-kit/customizations/custom-iconpack.mdx @@ -135,5 +135,8 @@ Icon Pack object type: React UI Kit Customize Meeting Icons - + diff --git a/docs/react-ui-kit/customizations/custom-locale.mdx b/docs/react-ui-kit/customizations/custom-locale.mdx index b3807819a6..eac8ee9937 100644 --- a/docs/react-ui-kit/customizations/custom-locale.mdx +++ b/docs/react-ui-kit/customizations/custom-locale.mdx @@ -82,5 +82,8 @@ import DefaultLanguageI18N from '/docs/partials/_default-language-i18n.mdx'; React UI Kit Customize Meeting Locale - + diff --git a/docs/react-ui-kit/display-videos.mdx b/docs/react-ui-kit/display-videos.mdx index eb2b6de49c..26a2bb2f58 100644 --- a/docs/react-ui-kit/display-videos.mdx +++ b/docs/react-ui-kit/display-videos.mdx @@ -15,7 +15,7 @@ video tile grid components function Meeting() { const { meeting } = useDyteMeeting(); const activeParticipants = useDyteSelector( - (meeting) => meeting.participants.active + (meeting) => meeting.participants.active, ); function ParticipantTile({ participant, meeting }) { diff --git a/docs/react-ui-kit/introduction.mdx b/docs/react-ui-kit/introduction.mdx index c8a20793dc..8b25e2cb99 100644 --- a/docs/react-ui-kit/introduction.mdx +++ b/docs/react-ui-kit/introduction.mdx @@ -24,8 +24,6 @@ The library uses a layered design structure allowing you to start with a prebuil - **Mix and match**: Use some components from our component library, build some custom components yourself. Read the [basics of our component design](/react-ui-kit/basics/integrate) and checkout the [gallery of available components](/react-ui-kit/components) - React UI Kit Introduction - diff --git a/docs/react-ui-kit/quickstart.mdx b/docs/react-ui-kit/quickstart.mdx index eea5874e72..3cf54de05f 100644 --- a/docs/react-ui-kit/quickstart.mdx +++ b/docs/react-ui-kit/quickstart.mdx @@ -125,10 +125,9 @@ export default function MyMeetingUI() { const { meeting } = useDyteMeeting(); return ( + -); -} -`} /> +); } `} /> React UI Kit Quickstart diff --git a/docs/react-ui-kit/using-hooks.mdx b/docs/react-ui-kit/using-hooks.mdx index c8e39f2165..df7127b95b 100644 --- a/docs/react-ui-kit/using-hooks.mdx +++ b/docs/react-ui-kit/using-hooks.mdx @@ -99,7 +99,7 @@ Here is how you can get all the joined participants data: ```jsx const joinedParticipants = useDyteSelector( - (meeting) => meeting.participants.joined + (meeting) => meeting.participants.joined, ); ``` diff --git a/docs/react-web-core/introduction.mdx b/docs/react-web-core/introduction.mdx index 193b6310e3..788418ab1d 100644 --- a/docs/react-web-core/introduction.mdx +++ b/docs/react-web-core/introduction.mdx @@ -14,11 +14,11 @@ The Core SDK acts as a data-only layer, offering high-level primitives and abstr [React Hooks](https://beta.reactjs.org/reference/react) are functions that allow developers to manage state and other React features in functional components. Hooks were introduced in React version 16.8 as a way to simplify the code. Dyte provides the following built-in hooks: - - useDyteClient() - - useDyteMeeting() - - useDyteSelector() +- useDyteClient() +- useDyteMeeting() +- useDyteSelector() - See [Hooks](/react-ui-kit/using-hooks) for more information. +See [Hooks](/react-ui-kit/using-hooks) for more information. ## Utility Modules diff --git a/docs/react-web-core/local-user/events.mdx b/docs/react-web-core/local-user/events.mdx index 7b14b422f7..825a8807b8 100644 --- a/docs/react-web-core/local-user/events.mdx +++ b/docs/react-web-core/local-user/events.mdx @@ -66,10 +66,10 @@ Triggered when the user starts / stops the screen share using ```ts const screenShareEnabled = useDyteSelector( - (meeting) => meeting.self.screenShareEnabled + (meeting) => meeting.self.screenShareEnabled, ); const screenShareTrack = useDyteSelector( - (meeting) => meeting.self.screenShareTrack + (meeting) => meeting.self.screenShareTrack, ); ``` @@ -97,11 +97,10 @@ meeting.self.on('deviceUpdate', ({ device }) => { ## Network quality score -import SelfMediaScoreUpdate from '@site/docs/partials/events/_self-media-score-update.mdx' +import SelfMediaScoreUpdate from '@site/docs/partials/events/_self-media-score-update.mdx'; - ## Permission Updates Triggered when permissions are updated dynamically by a privileged user diff --git a/docs/react-web-core/local-user/introduction.mdx b/docs/react-web-core/local-user/introduction.mdx index f7a3cd9775..fbcb989581 100644 --- a/docs/react-web-core/local-user/introduction.mdx +++ b/docs/react-web-core/local-user/introduction.mdx @@ -10,7 +10,7 @@ tags: # Introduction -Accessible via `self` key within the `meeting` object, the local user object consists of all the information related to the current participant and methods to configure media and other states. +Accessible via `self` key within the `meeting` object, the local user object consists of all the information related to the current participant and methods to configure media and other states. ## Properties @@ -44,20 +44,27 @@ Here is a list of properties that local user provides: **States**: - `waitlistStatus`: Indicates if the local user has been waitlisted or not. It - can take the following values: - + can take the following values: + ```ts - "accepted" | "waiting" | "rejected" | "none" + 'accepted' | 'waiting' | 'rejected' | 'none'; ``` - `isPinned`: A boolean value indicating if the local user is pinned or not. - `roomJoined`: A boolean value indicating if the local user is in the meeting - `roomState`: Indicates the state of the user in the meeting. It can take the following values: - - ```ts - "init" | "joined" | "waitlisted" | "rejected" | "kicked" | "left" | "ended" | "disconnected" - ``` + + ```ts + 'init' | + 'joined' | + 'waitlisted' | + 'rejected' | + 'kicked' | + 'left' | + 'ended' | + 'disconnected'; + ``` ```mermaid stateDiagram-v2 @@ -88,9 +95,6 @@ return ( ) ``` - - - ## Change the name of the local user @@ -101,6 +105,7 @@ meeting. ```ts await meeting.self.setName('New Name'); ``` + ## Media ### Mute/Unmute microphone @@ -142,7 +147,6 @@ await meeting.self.disableScreenShare(); meeting.self.screenShareEnabled; ``` - React Web Core Introduction diff --git a/docs/react-web-core/participants/events.mdx b/docs/react-web-core/participants/events.mdx index 1d6f85bf08..fe4944d997 100644 --- a/docs/react-web-core/participants/events.mdx +++ b/docs/react-web-core/participants/events.mdx @@ -25,7 +25,7 @@ const viewMode = useDyteSelector((meeting) => meeting.participants.viewMode); ```ts const pageChanged = useDyteSelector( - (meeting) => meeting.participants.pageCount + (meeting) => meeting.participants.pageCount, ); ``` @@ -36,7 +36,7 @@ speak. ```ts const activeSpeaker = useDyteSelector( - (meeting) => meeting.participants.lastActiveSpeaker + (meeting) => meeting.participants.lastActiveSpeaker, ); ``` @@ -55,7 +55,7 @@ Trigger an event when any participant joins the meeting. ```ts const joinedParticipants = useDyteSelector( - (meeting) => meeting.participants.joined + (meeting) => meeting.participants.joined, ); ``` @@ -65,7 +65,7 @@ Trigger an event when a participant is pinned / unpinned. ```ts const pinnedParticipants = useDyteSelector( - (meeting) => meeting.participants.pinned + (meeting) => meeting.participants.pinned, ); ``` @@ -75,7 +75,7 @@ Trigger an event when the target participant starts / stops video. ```ts const videoEnabled = useDyteSelector( - (m) => m.participants.joined.get(participantId).videoEnabled + (m) => m.participants.joined.get(participantId).videoEnabled, ); ``` @@ -97,7 +97,7 @@ Trigger an event when the target participant starts / stops screen share. ```ts const screenShareEnabled = useDyteSelector( - (m) => m.participants.joined.get(participantId).screenShareEnabled + (m) => m.participants.joined.get(participantId).screenShareEnabled, ); ``` @@ -105,19 +105,16 @@ Trigger an event when any participant starts / stops screen share. ```ts const screensharingParticipant = useDyteSelector((m) => - m.participants.joined.toArray().find((p) => p.screenShareEnabled) + m.participants.joined.toArray().find((p) => p.screenShareEnabled), ); ``` ## Network quality score -import ParticipantMediaScoreUpdate from '@site/docs/partials/events/_participant-media-score-update.mdx' +import ParticipantMediaScoreUpdate from '@site/docs/partials/events/_participant-media-score-update.mdx'; - - - ## Events for specific participant If you want to subscribe to above events but for a specific participant only, diff --git a/docs/react-web-core/participants/participant-object.mdx b/docs/react-web-core/participants/participant-object.mdx index 4afb23f1a9..653f20ae2a 100644 --- a/docs/react-web-core/participants/participant-object.mdx +++ b/docs/react-web-core/participants/participant-object.mdx @@ -30,6 +30,7 @@ The participant object has the following properties. screen share stream. **Metadata**: + - `id`: The `participantId` of the participant (aka `peerId`). - `userId`: The `userId` of the participant. - `name`: The participant's name. @@ -53,7 +54,7 @@ meeting.participants.joined 'The participant with id', participantId, 'has toggled their mic to', - audioEnabled + audioEnabled, ); }); ``` @@ -72,9 +73,9 @@ meeting.participants.joined.on( 'The participant with id', participant.id, 'has toggled their mic to', - audioEnabled + audioEnabled, ); - } + }, ); ``` diff --git a/docs/react-web-core/polls/creating-a-poll.mdx b/docs/react-web-core/polls/creating-a-poll.mdx index 5ca22fa9fa..8627ed87cb 100644 --- a/docs/react-web-core/polls/creating-a-poll.mdx +++ b/docs/react-web-core/polls/creating-a-poll.mdx @@ -27,7 +27,7 @@ The following snippet creates a poll where votes are anonymous. await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` diff --git a/docs/react-web-core/pre-call/1-media-preview.mdx b/docs/react-web-core/pre-call/1-media-preview.mdx index 17aa78cc4b..0c2fe5c96f 100644 --- a/docs/react-web-core/pre-call/1-media-preview.mdx +++ b/docs/react-web-core/pre-call/1-media-preview.mdx @@ -2,7 +2,6 @@ This section focuses on pre-call functionality, providing developers with the tools needed to prepare the media environment before joining the meeting. If you are using our UI Kits, this will be handled by `dyte-setup-screen` or could be built with `dyte-participant-tile`, `dyte-settings` components. - ## Properties - `audioEnabled`: A boolean value indicating if the audio currently enabled. @@ -39,7 +38,6 @@ flowchart LR
- ```ts const audioEnabled = useDyteSelector((m) => m.self.audioEnabled); const audioTrack = useDyteSelector((m) => m.self.audioTrack); @@ -49,21 +47,20 @@ const audioTrack = useDyteSelector((m) => m.self.audioTrack); or if you want a traditional JS event you can use the `audioUpdate` event - ```ts // Alternatively useEffect(() => { - if(!meeting) return; + if (!meeting) return; - const onAudioUpdate = ({ audioEnabled, audioTrack })=> { - // if enabled show a visual(izer) preview of the audio to the user + const onAudioUpdate = ({ audioEnabled, audioTrack }) => { + // if enabled show a visual(izer) preview of the audio to the user }; meeting.self.on('audioUpdate', onAudioUpdate); return () => { - meeting.self.removeListener('audioUpdate', onAudioUpdate) - } -}, [meeting]) + meeting.self.removeListener('audioUpdate', onAudioUpdate); + }; +}, [meeting]); ``` **2. Enable/Disable camera** @@ -85,6 +82,7 @@ flowchart LR class eam basic; ``` +
```ts diff --git a/docs/react-web-core/pre-call/2-handling-permissions.mdx b/docs/react-web-core/pre-call/2-handling-permissions.mdx index 2e76ecd8b9..8b0458f19c 100644 --- a/docs/react-web-core/pre-call/2-handling-permissions.mdx +++ b/docs/react-web-core/pre-call/2-handling-permissions.mdx @@ -1,13 +1,12 @@ # Handling Browser Permissions -## Properties +## Properties `self.mediaPermissions`: The current audio and video **browser permissions** given by the local - user. +user. Permissions start with `NOT_REQUESTED` and can go into 4 different states - ```mermaid stateDiagram-v2 NOT_REQUESTED --> ACCEPTED @@ -18,7 +17,6 @@ stateDiagram-v2
- - `ACCEPTED` - The user accepted browser permission prompts - `DENIED` - The user denied browser permission prompts - `SYSTEM_DENIED` - The user's browser does not have the required permission, in this case usually the OS hasn't granted permission the browser application @@ -34,7 +32,6 @@ One other thing to note down here is user might revoke permission later, or migh
- Use the `mediaPermissionUpdate` event on `self` to listen for these changes ```mermaid @@ -46,5 +43,5 @@ stateDiagram-v2 ACCEPTED --> DENIED ACCEPTED --> COULD_NOT_START DENIED --> ACCEPTED - COULD_NOT_START --> ACCEPTED -``` \ No newline at end of file + COULD_NOT_START --> ACCEPTED +``` diff --git a/docs/react-web-core/pre-call/3-virtual-bg.mdx b/docs/react-web-core/pre-call/3-virtual-bg.mdx index 197e06cb0b..8517ea50fe 100644 --- a/docs/react-web-core/pre-call/3-virtual-bg.mdx +++ b/docs/react-web-core/pre-call/3-virtual-bg.mdx @@ -2,7 +2,8 @@ sidebar_label: Virtual BG and Noise Cancellation --- -# +# + ## Virtual Background ### Installation @@ -39,7 +40,9 @@ If you installed the package using a script tag, the `DyteVideoBackgroundTransfo 2.x versions of DyteVideoBackgroundTransformer use their own rendering mechanism thus require you to disable the default per frame canvas rendering. ```js -await meeting.self.setVideoMiddlewareGlobalConfig({ disablePerFrameCanvasRendering: true }); +await meeting.self.setVideoMiddlewareGlobalConfig({ + disablePerFrameCanvasRendering: true, +}); ``` For reference, A middleware such as [company branding](https://github.com/dyte-in/streams-middleware-samples/blob/main/video/company-branding.js) with the default per frame rendering can be rewritten without per frame rendering as [this](https://github.com/dyte-in/streams-middleware-samples/blob/main/video/middleware-with-per-frame-rendering-disabled/company-branding.js). @@ -52,12 +55,11 @@ Now that we have disabled the per frame rendering, We can initialise the DyteVid ```js const videoBackgroundTransformer = await DyteVideoBackgroundTransformer.init({ - meeting: meeting, - segmentationConfig: { - pipeline: 'canvas2dCpu', // 'webgl2' | 'canvas2dCpu' - }, + meeting: meeting, + segmentationConfig: { + pipeline: 'canvas2dCpu', // 'webgl2' | 'canvas2dCpu' + }, }); - ``` To customise DyteVideoBackgroundTransformer configs, please refer to the [video background transfomer](https://www.npmjs.com/package/@dytesdk/video-background-transformer?activeTab=readme) NPM package. @@ -75,7 +77,7 @@ To incorporate an image as a background, create a static background video middle ```js const videoMiddleware = await videoBackgroundTransformer.createStaticBackgroundVideoMiddleware( - `https://assets.dyte.io/backgrounds/bg-dyte-office.jpg` + `https://assets.dyte.io/backgrounds/bg-dyte-office.jpg`, ); meeting.self.addVideoMiddleware(videoMiddleware); ``` @@ -108,7 +110,6 @@ meeting.self.removeVideoMiddleware(videoMiddleware); ## Noise Cancellation (Krisp.ai) - :::info note This is a paid addon, contact support@dyte.io for access. @@ -116,6 +117,7 @@ This is a paid addon, contact support@dyte.io for access. ::: ### Installation + Create/Append to the .npmrc file in the project root with the below contents ``` @@ -142,4 +144,4 @@ await krisp.init(meeting); ``` krisp.activate() // krisp.deactivate() -``` \ No newline at end of file +``` diff --git a/docs/react-web-core/pre-call/4-meeting-meta.mdx b/docs/react-web-core/pre-call/4-meeting-meta.mdx index d0e9c10da8..84f31b0eb4 100644 --- a/docs/react-web-core/pre-call/4-meeting-meta.mdx +++ b/docs/react-web-core/pre-call/4-meeting-meta.mdx @@ -2,7 +2,7 @@ ### Change the name of the user -Allow the user to edit their name by calling `setName` method. +Allow the user to edit their name by calling `setName` method. ```ts await meeting.self.setName('New Name'); @@ -13,5 +13,5 @@ await meeting.self.setName('New Name'); Before joining the meeting, you can get a list of people current in the meeting by using the method ```ts -meeting.participants.getParticipantsInMeetingPreJoin() -``` \ No newline at end of file +meeting.participants.getParticipantsInMeetingPreJoin(); +``` diff --git a/docs/react-web-core/pre-call/5-waiting-room.mdx b/docs/react-web-core/pre-call/5-waiting-room.mdx index d5a42a62cf..c1cb1752b5 100644 --- a/docs/react-web-core/pre-call/5-waiting-room.mdx +++ b/docs/react-web-core/pre-call/5-waiting-room.mdx @@ -22,7 +22,7 @@ Each of these state changes generate their own events. ```ts const roomState = useDyteSelector((m) => m.self.roomState); -const joined = roomState === "joined"; +const joined = roomState === 'joined'; ``` Alternatively @@ -30,29 +30,28 @@ Alternatively ```ts meeting.self.on('roomJoined', () => { // local user is in the meeting -}) +}); ``` - **waitlisted** ```ts const roomState = useDyteSelector((m) => m.self.roomState); -const isWaitlisted = roomState === "waitlisted"; +const isWaitlisted = roomState === 'waitlisted'; ``` ```ts meeting.self.on('waitlisted', () => { // local user is waitlisted -}) +}); ``` -- **rejected** - +- **rejected** ```ts meeting.self.on('roomLeft', ({ state }) => { // state = rejected when host rejects the entry -}) +}); ``` -Host can use [these methods to accept/reject participants](/web-core/participants#waiting-room-methods) \ No newline at end of file +Host can use [these methods to accept/reject participants](/web-core/participants#waiting-room-methods) diff --git a/docs/react-web-core/pre-call/_category_.json b/docs/react-web-core/pre-call/_category_.json index 22e5bdec8e..23939cdb04 100644 --- a/docs/react-web-core/pre-call/_category_.json +++ b/docs/react-web-core/pre-call/_category_.json @@ -2,5 +2,5 @@ "position": 3, "label": "Pre-call", "collapsible": true, - "className":"pre-call-docs" + "className": "pre-call-docs" } diff --git a/docs/react-web-core/quickstart.mdx b/docs/react-web-core/quickstart.mdx index bb38eb00f1..98340ae57c 100644 --- a/docs/react-web-core/quickstart.mdx +++ b/docs/react-web-core/quickstart.mdx @@ -113,7 +113,7 @@ const Meeting = () => { // these are optimized so that re-renders only occur when the selected slice changes const messages = useDyteSelector((meeting) => meeting.chat.messages); const activeParticipants = useDyteSelector( - (meeting) => meeting.participants.active + (meeting) => meeting.participants.active, ); return
{/* render your UI */}
; diff --git a/docs/react-web-core/reference/DyteAi.md b/docs/react-web-core/reference/DyteAi.md index be1031becf..b4b57067a7 100644 --- a/docs/react-web-core/reference/DyteAi.md +++ b/docs/react-web-core/reference/DyteAi.md @@ -11,18 +11,18 @@ This module consists of the `ai` object which is used to interface with Dyte's A You can obtain the live meeting transcript and use other meeting AI features such as summary, and agenda using this object. - -* [DyteAi](#module_DyteAi) - * [.parseTranscript()](#module_DyteAi.parseTranscript) - * [.parseTranscripts()](#module_DyteAi.parseTranscripts) +- [DyteAi](#module_DyteAi) + - [.parseTranscript()](#module_DyteAi.parseTranscript) + - [.parseTranscripts()](#module_DyteAi.parseTranscripts) ### meeting.ai.parseTranscript() + Parse a single line transcript ### meeting.ai.parseTranscripts() -Parse a multi-line transcript +Parse a multi-line transcript diff --git a/docs/react-web-core/reference/DyteChat.md b/docs/react-web-core/reference/DyteChat.md index 6cd7dd4b3f..7ebb15598b 100644 --- a/docs/react-web-core/reference/DyteChat.md +++ b/docs/react-web-core/reference/DyteChat.md @@ -9,171 +9,179 @@ web_core_version: 1.32.1 This is the chat module, which can be used to send and receive messages from the meeting. - -* [DyteChat](#module_DyteChat) - * [.messages](#module_DyteChat+messages) - * [.channels](#module_DyteChat+channels) - * [.roomJoined](#module_DyteChat+roomJoined) - * [.pinned](#module_DyteChat+pinned) - * [.sendTextMessage(message)](#module_DyteChat+sendTextMessage) - * [.sendImageMessage(image)](#module_DyteChat+sendImageMessage) - * [.sendFileMessage(file)](#module_DyteChat+sendFileMessage) - * [.sendMessage(message, participantIds)](#module_DyteChat+sendMessage) - * [.getMessagesByUser(userId)](#module_DyteChat+getMessagesByUser) - * [.getMessagesByType(type)](#module_DyteChat+getMessagesByType) - * [.pin(id)](#module_DyteChat+pin) - * [.unpin(id)](#module_DyteChat+unpin) - * [.getMessages()](#module_DyteChat+getMessages) - * [.createChannel()](#module_DyteChat+createChannel) - * [.updateChannel()](#module_DyteChat+updateChannel) - * [.sendMessageToChannel(message, channelId)](#module_DyteChat+sendMessageToChannel) - * [.getChannelMembers()](#module_DyteChat+getChannelMembers) - * [.searchMessages()](#module_DyteChat+searchMessages) - * [.markLastReadMessage()](#module_DyteChat+markLastReadMessage) +- [DyteChat](#module_DyteChat) + - [.messages](#module_DyteChat+messages) + - [.channels](#module_DyteChat+channels) + - [.roomJoined](#module_DyteChat+roomJoined) + - [.pinned](#module_DyteChat+pinned) + - [.sendTextMessage(message)](#module_DyteChat+sendTextMessage) + - [.sendImageMessage(image)](#module_DyteChat+sendImageMessage) + - [.sendFileMessage(file)](#module_DyteChat+sendFileMessage) + - [.sendMessage(message, participantIds)](#module_DyteChat+sendMessage) + - [.getMessagesByUser(userId)](#module_DyteChat+getMessagesByUser) + - [.getMessagesByType(type)](#module_DyteChat+getMessagesByType) + - [.pin(id)](#module_DyteChat+pin) + - [.unpin(id)](#module_DyteChat+unpin) + - [.getMessages()](#module_DyteChat+getMessages) + - [.createChannel()](#module_DyteChat+createChannel) + - [.updateChannel()](#module_DyteChat+updateChannel) + - [.sendMessageToChannel(message, channelId)](#module_DyteChat+sendMessageToChannel) + - [.getChannelMembers()](#module_DyteChat+getChannelMembers) + - [.searchMessages()](#module_DyteChat+searchMessages) + - [.markLastReadMessage()](#module_DyteChat+markLastReadMessage) ### chat.messages + An array of chat messages. ### chat.channels + An Array of all available channels. ### chat.roomJoined + Returns true if the local participant has joined the meeting. ### chat.pinned + Returns an array of pinned messages. ### chat.sendTextMessage(message) -Sends a chat text message to the room. +Sends a chat text message to the room. -| Param | Description | -| --- | --- | +| Param | Description | +| ------- | ------------------------------------------ | | message | The message that must be sent to the room. | ### chat.sendImageMessage(image) -Sends an image message to the meeting. +Sends an image message to the meeting. -| Param | Description | -| --- | --- | +| Param | Description | +| ----- | ----------------------------- | | image | The image that is to be sent. | ### chat.sendFileMessage(file) -Sends a file to the meeting. +Sends a file to the meeting. -| Param | Description | -| --- | --- | -| file | A File object. | +| Param | Description | +| ----- | -------------- | +| file | A File object. | ### chat.sendMessage(message, participantIds) + Sends a message to the meeting. This method can be used to send text, image, or file messages. The message type is determined by the key 'type' in `message` object. - -| Param | Description | -| --- | --- | -| message | An object including the type and content of the message. | -| participantIds | An array including the userIds of the participants. | +| Param | Description | +| -------------- | -------------------------------------------------------- | +| message | An object including the type and content of the message. | +| participantIds | An array including the userIds of the participants. | ### chat.getMessagesByUser(userId) -Returns an array of messages sent by a specific userId. +Returns an array of messages sent by a specific userId. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ---------------------------------------------- | | userId | The user id of the user that sent the message. | ### chat.getMessagesByType(type) -Returns an array of 'text', 'image' or 'file' messages. +Returns an array of 'text', 'image' or 'file' messages. -| Param | Description | -| --- | --- | -| type | 'text', 'image', or 'file'. | +| Param | Description | +| ----- | --------------------------- | +| type | 'text', 'image', or 'file'. | ### chat.pin(id) -Pins a chat message +Pins a chat message -| Param | Description | -| --- | --- | -| id | ID of the message to be pinned | +| Param | Description | +| ----- | ------------------------------ | +| id | ID of the message to be pinned | ### chat.unpin(id) -Unpins a chat message +Unpins a chat message -| Param | Description | -| --- | --- | -| id | ID of the message to be unpinned | +| Param | Description | +| ----- | -------------------------------- | +| id | ID of the message to be unpinned | ### chat.getMessages() + Gets chat messages in a paginated manner ### chat.createChannel() + Creates a channel with specified name and userIds as members ### chat.updateChannel() + Updates the channel ### chat.sendMessageToChannel(message, channelId) + Sends a message to a channel. This method can be used to send text, image, or file messages. The message type is determined by the key 'type' in `message` object. - -| Param | Description | -| --- | --- | -| message | An object including the type and content of the message. | -| channelId | Id of the channel where you want to send the message. | +| Param | Description | +| --------- | -------------------------------------------------------- | +| message | An object including the type and content of the message. | +| channelId | Id of the channel where you want to send the message. | ### chat.getChannelMembers() + returns a list of members added to the channel ### chat.searchMessages() + search messages ### chat.markLastReadMessage() -marks last read message in a channel +marks last read message in a channel diff --git a/docs/react-web-core/reference/DyteClient.md b/docs/react-web-core/reference/DyteClient.md index c79df9b249..ef602bbc02 100644 --- a/docs/react-web-core/reference/DyteClient.md +++ b/docs/react-web-core/reference/DyteClient.md @@ -12,40 +12,40 @@ An object of the DyteClient class can be created using `await initMeeting({ ... })`. Typically, an object of `DyteClient` is named `meeting`. - -* [DyteClient](#module_DyteClient) - * _instance_ - * [.participants](#module_DyteClient+participants) - * [.self](#module_DyteClient+self) - * [.meta](#module_DyteClient+meta) - * [.ai](#module_DyteClient+ai) - * [.plugins](#module_DyteClient+plugins) - * [.chat](#module_DyteClient+chat) - * [.polls](#module_DyteClient+polls) - * [.remote](#module_DyteClient+remote) - * [.connectedMeetings](#module_DyteClient+connectedMeetings) - * [.join()](#module_DyteClient+join) - * [.leave()](#module_DyteClient+leave) +- [DyteClient](#module_DyteClient) + - _instance_ + - [.participants](#module_DyteClient+participants) + - [.self](#module_DyteClient+self) + - [.meta](#module_DyteClient+meta) + - [.ai](#module_DyteClient+ai) + - [.plugins](#module_DyteClient+plugins) + - [.chat](#module_DyteClient+chat) + - [.polls](#module_DyteClient+polls) + - [.remote](#module_DyteClient+remote) + - [.connectedMeetings](#module_DyteClient+connectedMeetings) + - [.join()](#module_DyteClient+join) + - [.leave()](#module_DyteClient+leave) ### initMeeting(options) + The `initMeeting` method can be used to instantiate the DyteClient class. This returns an instance of DyteClient, which can be used to perform actions on the meeting. - -| Param | Description | -| --- | --- | -| options | The options object. | -| options.authToken | The authorization token received using the API. | -| options.baseURI | The base URL of the API. | -| options.defaults | The default audio and video settings. | -| options.onError | optional error callback, To listen for Dyte SDK errors | +| Param | Description | +| ----------------- | ------------------------------------------------------ | +| options | The options object. | +| options.authToken | The authorization token received using the API. | +| options.baseURI | The base URL of the API. | +| options.defaults | The default audio and video settings. | +| options.onError | optional error callback, To listen for Dyte SDK errors | ### meeting.participants + The `participants` object consists of 4 maps of participants, `waitlisted`, `joined`, `active`, `pinned`. The maps are indexed by `peerId`s, and the values are the corresponding participant objects. @@ -53,6 +53,7 @@ The `participants` object consists of 4 maps of participants, ### meeting.self + The `self` object can be used to manipulate audio and video settings, and other configurations for the local participant. This exposes methods to enable and disable media tracks, share the user's screen, etc. @@ -60,12 +61,14 @@ to enable and disable media tracks, share the user's screen, etc. ### meeting.meta + The `room` object stores information about the current meeting, such as chat messages, polls, room name, etc. ### meeting.ai + The `ai` object is used to interface with Dyte's AI features. You can obtain the live meeting transcript and use other meeting AI features such as summary, and agenda using this object. @@ -73,30 +76,35 @@ features such as summary, and agenda using this object. ### meeting.plugins + The `plugins` object stores information about the plugins available in the current meeting. It exposes methods to activate and deactivate them. ### meeting.chat + The chat object stores the chat messages that were sent in the meeting. This includes text messages, images, and files. ### meeting.polls + The polls object stores the polls that were initiated in the meeting. It exposes methods to create and vote on polls. ### meeting.remote + The remote object stores the remote control requests for the meeting. It exposes methods to request, accept and end the remote control. ### meeting.connectedMeetings + The connectedMeetings object stores the connected meetings states. It exposes methods to create/read/update/delete methods for connected meetings. @@ -105,18 +113,21 @@ It exposes methods to create/read/update/delete methods for connected meetings. ### meeting.join() + The `join()` method can be used to join the meeting. A `roomJoined` event is emitted on `self` when the room is joined successfully. ### meeting.leave() + The `leave()` method can be used to leave a meeting. ### ~~meeting.joinRoom()~~ -***Deprecated*** + +**_Deprecated_** The `joinRoom()` method can be used to join the meeting. A `roomJoined` event is emitted on `self` when the room is joined successfully. @@ -124,8 +135,7 @@ is emitted on `self` when the room is joined successfully. ### ~~meeting.leaveRoom()~~ -***Deprecated*** - -The `leaveRoom()` method can be used to leave a meeting. +**_Deprecated_** +The `leaveRoom()` method can be used to leave a meeting. diff --git a/docs/react-web-core/reference/DyteConnectedMeetings.md b/docs/react-web-core/reference/DyteConnectedMeetings.md index d162aaee3a..2a487a051e 100644 --- a/docs/react-web-core/reference/DyteConnectedMeetings.md +++ b/docs/react-web-core/reference/DyteConnectedMeetings.md @@ -9,49 +9,52 @@ web_core_version: 1.32.1 This consists of the methods to faciliate connected meetings - -* [DyteConnectedMeetings](#module_DyteConnectedMeetings) - * [.getConnectedMeetings()](#module_DyteConnectedMeetings+getConnectedMeetings) - * [.createMeetings()](#module_DyteConnectedMeetings+createMeetings) - * [.updateMeetings()](#module_DyteConnectedMeetings+updateMeetings) - * [.deleteMeetings()](#module_DyteConnectedMeetings+deleteMeetings) - * [.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds)](#module_DyteConnectedMeetings+moveParticipants) - * [.moveParticipantsWithCustomPreset()](#module_DyteConnectedMeetings+moveParticipantsWithCustomPreset) +- [DyteConnectedMeetings](#module_DyteConnectedMeetings) + - [.getConnectedMeetings()](#module_DyteConnectedMeetings+getConnectedMeetings) + - [.createMeetings()](#module_DyteConnectedMeetings+createMeetings) + - [.updateMeetings()](#module_DyteConnectedMeetings+updateMeetings) + - [.deleteMeetings()](#module_DyteConnectedMeetings+deleteMeetings) + - [.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds)](#module_DyteConnectedMeetings+moveParticipants) + - [.moveParticipantsWithCustomPreset()](#module_DyteConnectedMeetings+moveParticipantsWithCustomPreset) ### connectedMeetings.getConnectedMeetings() + get connected meeting state ### connectedMeetings.createMeetings() + create connected meetings ### connectedMeetings.updateMeetings() + update meeting title ### connectedMeetings.deleteMeetings() + delete connected meetings ### connectedMeetings.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds) -Trigger event to move participants +Trigger event to move participants -| Param | Type | Description | -| --- | --- | --- | -| sourceMeetingId | string | id of source meeting | -| destinationMeetingId | string | id of destination meeting | -| participantIds | Array.<string> | list of id of the participants | +| Param | Type | Description | +| -------------------- | --------------------------------- | ------------------------------ | +| sourceMeetingId | string | id of source meeting | +| destinationMeetingId | string | id of destination meeting | +| participantIds | Array.<string> | list of id of the participants | ### connectedMeetings.moveParticipantsWithCustomPreset() -Trigger event to move participants with custom preset +Trigger event to move participants with custom preset diff --git a/docs/react-web-core/reference/DyteLivestream.md b/docs/react-web-core/reference/DyteLivestream.md index d01d07c3ad..87d254083b 100644 --- a/docs/react-web-core/reference/DyteLivestream.md +++ b/docs/react-web-core/reference/DyteLivestream.md @@ -10,18 +10,18 @@ web_core_version: 1.32.1 The DyteLivestream module represents the state of the current livestream, and allows to start/stop live streams. - -* [DyteLivestream](#module_DyteLivestream) - * [.start()](#module_DyteLivestream+start) - * [.stop()](#module_DyteLivestream+stop) +- [DyteLivestream](#module_DyteLivestream) + - [.start()](#module_DyteLivestream+start) + - [.stop()](#module_DyteLivestream+stop) ### livestream.start() + Starts livestreaming the meeting. ### livestream.stop() -Stops livestreaming the meeting. +Stops livestreaming the meeting. diff --git a/docs/react-web-core/reference/DyteMeta.md b/docs/react-web-core/reference/DyteMeta.md index 17e06864ab..42af2d17fd 100644 --- a/docs/react-web-core/reference/DyteMeta.md +++ b/docs/react-web-core/reference/DyteMeta.md @@ -9,82 +9,90 @@ web_core_version: 1.32.1 This consists of the metadata of the meeting, such as the room name and the title. - -* [DyteMeta](#module_DyteMeta) - * [.selfActiveTab](#module_DyteMeta+selfActiveTab) - * [.broadcastTabChanges](#module_DyteMeta+broadcastTabChanges) - * [.viewType](#module_DyteMeta+viewType) - * [.meetingStartedTimestamp](#module_DyteMeta+meetingStartedTimestamp) - * [.meetingTitle](#module_DyteMeta+meetingTitle) - * [.sessionId](#module_DyteMeta+sessionId) - * [.meetingId](#module_DyteMeta+meetingId) - * [.mediaConnected](#module_DyteMeta+mediaConnected) - * [.socketConnected](#module_DyteMeta+socketConnected) - * [.setBroadcastTabChanges(broadcastTabChanges)](#module_DyteMeta+setBroadcastTabChanges) - * [.setSelfActiveTab(spotlightTab)](#module_DyteMeta+setSelfActiveTab) +- [DyteMeta](#module_DyteMeta) + - [.selfActiveTab](#module_DyteMeta+selfActiveTab) + - [.broadcastTabChanges](#module_DyteMeta+broadcastTabChanges) + - [.viewType](#module_DyteMeta+viewType) + - [.meetingStartedTimestamp](#module_DyteMeta+meetingStartedTimestamp) + - [.meetingTitle](#module_DyteMeta+meetingTitle) + - [.sessionId](#module_DyteMeta+sessionId) + - [.meetingId](#module_DyteMeta+meetingId) + - [.mediaConnected](#module_DyteMeta+mediaConnected) + - [.socketConnected](#module_DyteMeta+socketConnected) + - [.setBroadcastTabChanges(broadcastTabChanges)](#module_DyteMeta+setBroadcastTabChanges) + - [.setSelfActiveTab(spotlightTab)](#module_DyteMeta+setSelfActiveTab) ### meta.selfActiveTab + Represents the current active tab ### meta.broadcastTabChanges + Represents whether current user is spotlighted ### meta.viewType + The `viewType` tells the type of the meeting possible values are: GROUP_CALL| LIVESTREAM | CHAT | AUDIO_ROOM ### meta.meetingStartedTimestamp + The timestamp of the time when the meeting started. ### meta.meetingTitle + The title of the meeting. ### meta.sessionId + (Experimental) The sessionId this meeting object is part of. ### meta.meetingId + The room name of the meeting. ### meta.mediaConnected + Has room-node connection been made. ### meta.socketConnected + This is set to true if user has succesfully connected to the socket. ### meta.setBroadcastTabChanges(broadcastTabChanges) -Sets current user as broadcasting tab changes +Sets current user as broadcasting tab changes -| Param | -| --- | -| broadcastTabChanges | +| Param | +| ------------------- | +| broadcastTabChanges | ### meta.setSelfActiveTab(spotlightTab) -Sets current active tab for user +Sets current active tab for user -| Param | -| --- | -| spotlightTab | +| Param | +| ------------ | +| spotlightTab | diff --git a/docs/react-web-core/reference/DyteParticipant.md b/docs/react-web-core/reference/DyteParticipant.md index c99023101f..d468235914 100644 --- a/docs/react-web-core/reference/DyteParticipant.md +++ b/docs/react-web-core/reference/DyteParticipant.md @@ -15,157 +15,181 @@ present in the `meeting.participants` object. For example, const participant1 = meeting.participants.active.get(participantId); const participant2 = meeting.participants.joined.get(participantId); const participant3 = meeting.participants.active.toArray()[0]; -const participant4 = meeting.participants.active.toArray().filter((p) => p.name === 'John'); +const participant4 = meeting.participants.active + .toArray() + .filter((p) => p.name === 'John'); ``` - -* [DyteParticipant](#module_DyteParticipant) - * [.id](#module_DyteParticipant--this.+id) - * [.userId](#module_DyteParticipant--this.+userId) - * [.name](#module_DyteParticipant--this.+name) - * [.picture](#module_DyteParticipant--this.+picture) - * [.customParticipantId](#module_DyteParticipant--this.+customParticipantId) - * [.device](#module_DyteParticipant--this.+device) - * [.videoTrack](#module_DyteParticipant--this.+videoTrack) - * [.audioTrack](#module_DyteParticipant--this.+audioTrack) - * [.screenShareTracks](#module_DyteParticipant--this.+screenShareTracks) - * [.videoEnabled](#module_DyteParticipant--this.+videoEnabled) - * [.audioEnabled](#module_DyteParticipant--this.+audioEnabled) - * [.screenShareEnabled](#module_DyteParticipant--this.+screenShareEnabled) - * [.producers](#module_DyteParticipant--this.+producers) - * [.supportsRemoteControl](#module_DyteParticipant--this.+supportsRemoteControl) - * [.presetName](#module_DyteParticipant--this.+presetName) - * [.stageStatus](#module_DyteParticipant--this.+stageStatus) - * [.roomJoined](#module_DyteParticipant--this.+roomJoined) - * [.isPinned](#module_DyteParticipant--this.+isPinned) - * [.pin()](#module_DyteParticipant--this.+pin) - * [.unpin()](#module_DyteParticipant--this.+unpin) - * [.setIsPinned()](#module_DyteParticipant--this.+setIsPinned) - * [.disableAudio()](#module_DyteParticipant--this.+disableAudio) - * [.kick()](#module_DyteParticipant--this.+kick) - * [.disableVideo()](#module_DyteParticipant--this.+disableVideo) - +- [DyteParticipant](#module_DyteParticipant) + - [.id](#module_DyteParticipant--this.+id) + - [.userId](#module_DyteParticipant--this.+userId) + - [.name](#module_DyteParticipant--this.+name) + - [.picture](#module_DyteParticipant--this.+picture) + - [.customParticipantId](#module_DyteParticipant--this.+customParticipantId) + - [.device](#module_DyteParticipant--this.+device) + - [.videoTrack](#module_DyteParticipant--this.+videoTrack) + - [.audioTrack](#module_DyteParticipant--this.+audioTrack) + - [.screenShareTracks](#module_DyteParticipant--this.+screenShareTracks) + - [.videoEnabled](#module_DyteParticipant--this.+videoEnabled) + - [.audioEnabled](#module_DyteParticipant--this.+audioEnabled) + - [.screenShareEnabled](#module_DyteParticipant--this.+screenShareEnabled) + - [.producers](#module_DyteParticipant--this.+producers) + - [.supportsRemoteControl](#module_DyteParticipant--this.+supportsRemoteControl) + - [.presetName](#module_DyteParticipant--this.+presetName) + - [.stageStatus](#module_DyteParticipant--this.+stageStatus) + - [.roomJoined](#module_DyteParticipant--this.+roomJoined) + - [.isPinned](#module_DyteParticipant--this.+isPinned) + - [.pin()](#module_DyteParticipant--this.+pin) + - [.unpin()](#module_DyteParticipant--this.+unpin) + - [.setIsPinned()](#module_DyteParticipant--this.+setIsPinned) + - [.disableAudio()](#module_DyteParticipant--this.+disableAudio) + - [.kick()](#module_DyteParticipant--this.+kick) + - [.disableVideo()](#module_DyteParticipant--this.+disableVideo) #### participant.id + The peer ID of the participant. The participants are indexed by this ID in the participant map. #### participant.userId + The user ID of the participant. #### participant.name + The name of the participant. #### participant.picture + The picture of the participant. #### participant.customParticipantId + The custom id of the participant set during Add Participant REST API #### participant.device + The device configuration of the participant. #### participant.videoTrack + The participant's video track. #### participant.audioTrack + The participant's audio track. #### participant.screenShareTracks + The participant's screenshare video and audio track. #### participant.videoEnabled + This is true if the participant's video is enabled. #### participant.audioEnabled + This is true if the participant's audio is enabled. #### participant.screenShareEnabled + This is true if the participant is screensharing. #### participant.producers + producers created by participant #### participant.supportsRemoteControl + This is true if the dyte participant supports remote control. #### participant.presetName + The preset of the participant. #### participant.stageStatus + Denotes the participants's current stage status. #### participant.roomJoined + Returns true if the local participant has joined the meeting. #### participant.isPinned + Returns true if the participant is pinned. #### participant.pin() + Returns `participant.id` if user has permission to pin participants. #### participant.unpin() + Returns `participant.id` if user has permission to unpin participants. #### participant.setIsPinned() + #### participant.disableAudio() + Disables audio for this participant. Requires the permission to disable participant audio. #### participant.kick() + Kicks this participant from the meeting. Requires the permission to kick a participant. #### participant.disableVideo() + Disables video for this participant. -Requires the permission to disable video for a participant. \ No newline at end of file +Requires the permission to disable video for a participant. diff --git a/docs/react-web-core/reference/DyteParticipantMap.md b/docs/react-web-core/reference/DyteParticipantMap.md index 4bf814ca13..9eec9b1d2b 100644 --- a/docs/react-web-core/reference/DyteParticipantMap.md +++ b/docs/react-web-core/reference/DyteParticipantMap.md @@ -9,6 +9,7 @@ web_core_version: 1.32.1 The following objects are `DyteParticipantMap` objects It consists of 4 maps: + - `joined`: A map of all participants that have joined the meeting. - `waitlisted`: A map of all participants that have been added to the waitlist. - `active`: A map of active participants who should be displayed in the meeting grid. @@ -17,8 +18,8 @@ It consists of 4 maps: These are all the map of participants, indexed by `participant.id` (a participant's peer ID). This map emits events + - `participantJoined` when a participant is added to the map - `participantLeft` when a participant is deleted to the map This map also re-emits events emitted to a participant. For eg. if User A is in `joined` map, and User A's object emits an event `videoUpdate`, the map re-emits that event. - diff --git a/docs/react-web-core/reference/DyteParticipants.md b/docs/react-web-core/reference/DyteParticipants.md index 1449a14bbc..d64870d791 100644 --- a/docs/react-web-core/reference/DyteParticipants.md +++ b/docs/react-web-core/reference/DyteParticipants.md @@ -9,80 +9,87 @@ web_core_version: 1.32.1 This module represents all the participants in the meeting (except the local user). It consists of 4 maps: + - `joined`: A map of all participants that have joined the meeting. - `waitlisted`: A map of all participants that have been added to the waitlist. - `active`: A map of active participants who should be displayed in the meeting grid. - `pinned`: A map of pinned participants. - * [DyteParticipants](#module_DyteParticipants) - * [.waitlisted](#module_DyteParticipants--module.exports+waitlisted) - * [.joined](#module_DyteParticipants--module.exports+joined) - * [.active](#module_DyteParticipants--module.exports+active) - * [.pinned](#module_DyteParticipants--module.exports+pinned) - * [.all](#module_DyteParticipants--module.exports+all) - * [.pip](#module_DyteParticipants--module.exports+pip) - * [.roomJoined](#module_DyteParticipants--module.exports+roomJoined) - * [.viewMode](#module_DyteParticipants--module.exports+viewMode) - * [.currentPage](#module_DyteParticipants--module.exports+currentPage) - * [.lastActiveSpeaker](#module_DyteParticipants--module.exports+lastActiveSpeaker) - * [.selectedPeers](#module_DyteParticipants--module.exports+selectedPeers) - * [.count](#module_DyteParticipants--module.exports+count) - * [.maxActiveParticipantsCount](#module_DyteParticipants--module.exports+maxActiveParticipantsCount) - * [.pageCount](#module_DyteParticipants--module.exports+pageCount) - * [.setMaxActiveParticipantsCount(limit:)](#module_DyteParticipants--module.exports+setMaxActiveParticipantsCount) - * [.acceptWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+acceptWaitingRoomRequest) - * [.acceptAllWaitingRoomRequest()](#module_DyteParticipants--module.exports+acceptAllWaitingRoomRequest) - * [.rejectWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+rejectWaitingRoomRequest) - * [.setViewMode(viewMode)](#module_DyteParticipants--module.exports+setViewMode) - * [.setPage(page)](#module_DyteParticipants--module.exports+setPage) - * [.disableAllAudio(allowUnmute)](#module_DyteParticipants--module.exports+disableAllAudio) - * [.disableAllVideo()](#module_DyteParticipants--module.exports+disableAllVideo) - * [.kickAll()](#module_DyteParticipants--module.exports+kickAll) - * [.broadcastMessage(target)](#module_DyteParticipants--module.exports+broadcastMessage) - * [.getAllJoinedPeers()](#module_DyteParticipants--module.exports+getAllJoinedPeers) - * [.getParticipantsInMeetingPreJoin()](#module_DyteParticipants--module.exports+getParticipantsInMeetingPreJoin) - + - [.waitlisted](#module_DyteParticipants--module.exports+waitlisted) + - [.joined](#module_DyteParticipants--module.exports+joined) + - [.active](#module_DyteParticipants--module.exports+active) + - [.pinned](#module_DyteParticipants--module.exports+pinned) + - [.all](#module_DyteParticipants--module.exports+all) + - [.pip](#module_DyteParticipants--module.exports+pip) + - [.roomJoined](#module_DyteParticipants--module.exports+roomJoined) + - [.viewMode](#module_DyteParticipants--module.exports+viewMode) + - [.currentPage](#module_DyteParticipants--module.exports+currentPage) + - [.lastActiveSpeaker](#module_DyteParticipants--module.exports+lastActiveSpeaker) + - [.selectedPeers](#module_DyteParticipants--module.exports+selectedPeers) + - [.count](#module_DyteParticipants--module.exports+count) + - [.maxActiveParticipantsCount](#module_DyteParticipants--module.exports+maxActiveParticipantsCount) + - [.pageCount](#module_DyteParticipants--module.exports+pageCount) + - [.setMaxActiveParticipantsCount(limit:)](#module_DyteParticipants--module.exports+setMaxActiveParticipantsCount) + - [.acceptWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+acceptWaitingRoomRequest) + - [.acceptAllWaitingRoomRequest()](#module_DyteParticipants--module.exports+acceptAllWaitingRoomRequest) + - [.rejectWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+rejectWaitingRoomRequest) + - [.setViewMode(viewMode)](#module_DyteParticipants--module.exports+setViewMode) + - [.setPage(page)](#module_DyteParticipants--module.exports+setPage) + - [.disableAllAudio(allowUnmute)](#module_DyteParticipants--module.exports+disableAllAudio) + - [.disableAllVideo()](#module_DyteParticipants--module.exports+disableAllVideo) + - [.kickAll()](#module_DyteParticipants--module.exports+kickAll) + - [.broadcastMessage(target)](#module_DyteParticipants--module.exports+broadcastMessage) + - [.getAllJoinedPeers()](#module_DyteParticipants--module.exports+getAllJoinedPeers) + - [.getParticipantsInMeetingPreJoin()](#module_DyteParticipants--module.exports+getParticipantsInMeetingPreJoin) ### participants.waitlisted + Returns a list of participants waiting to join the meeting. ### participants.joined + Returns a list of all participants in the meeting. ### participants.active + Returns a list of participants whose streams are currently consumed. ### participants.pinned + Returns a list of participants who have been pinned. ### participants.all + Returns all added participants irrespective of whether they are currently in the meeting or not ### participants.pip + Return the controls for Picture-in-Picture ### participants.roomJoined + Returns true if the local participant has joined the meeting. ### participants.viewMode + Indicates whether the meeting is in 'ACTIVE_GRID' mode or 'PAGINATED' mode. In 'ACTIVE_GRID' mode, participants are populated in the participants.active map @@ -96,61 +103,68 @@ changed by the user using setPage(page). ### participants.currentPage + This indicates the current page that has been set by the user in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0. ### participants.lastActiveSpeaker + This stores the `participantId` of the last participant who spoke in the meeting. ### participants.selectedPeers + Keeps a list of all participants who have been present in the selected peers list. ### participants.count + Returns the number of participants who are joined in the meeting. ### participants.maxActiveParticipantsCount + Returns the maximum number of participants that can be present in the active map. ### participants.pageCount + Returns the number of pages that are available in the meeting in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0. ### participants.setMaxActiveParticipantsCount(limit:) + Updates the maximum number of participants that are populated in the active map. - -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ----------------- | | limit: | Updated max limit | ### participants.acceptWaitingRoomRequest(id) + Accepts requests from waitlisted participants if user has appropriate permissions. - -| Param | Description | -| --- | --- | -| id | peerId or userId of the waitlisted participant. | +| Param | Description | +| ----- | ----------------------------------------------- | +| id | peerId or userId of the waitlisted participant. | ### participants.acceptAllWaitingRoomRequest() + We need a new event for socket service events since if we send them all together, sequence of events can be unreliable @@ -158,106 +172,110 @@ can be unreliable ### participants.rejectWaitingRoomRequest(id) + Rejects requests from waitlisted participants if user has appropriate permissions. - -| Param | Description | -| --- | --- | -| id | participantId of the waitlisted participant. | +| Param | Description | +| ----- | -------------------------------------------- | +| id | participantId of the waitlisted participant. | ### participants.setViewMode(viewMode) -Sets the view mode of the meeting to either ACTIVE_GRID or PAGINATED. +Sets the view mode of the meeting to either ACTIVE_GRID or PAGINATED. -| Param | Description | -| --- | --- | +| Param | Description | +| -------- | ---------------------------------------------------- | | viewMode | The mode in which the active map should be populated | ### participants.setPage(page) + Populates the active map with participants present in the page number indicated by the parameter `page` in PAGINATED mode. Does not do anything in ACTIVE_GRID mode. - -| Param | Description | -| --- | --- | -| page | The page number to be set. | +| Param | Description | +| ----- | -------------------------- | +| page | The page number to be set. | ### participants.disableAllAudio(allowUnmute) -Disables audio for all participants in the meeting. +Disables audio for all participants in the meeting. -| Param | Description | -| --- | --- | +| Param | Description | +| ----------- | -------------------------------------------------- | | allowUnmute | Allow participants to unmute after they are muted. | ### participants.disableAllVideo() + Disables video for all participants in the meeting. ### participants.~~disableAudio(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------ | | participantId | ID of participant to be muted. | ### participants.~~disableVideo(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------ | | participantId | ID of participant to be muted. | ### participants.~~kick(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------- | | participantId | ID of participant to be kicked. | ### participants.kickAll() + Kicks all participants from the meeting. ### participants.broadcastMessage(target) + Broadcasts the message to participants If no `target` is specified it is sent to all participants including `self`. - -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------------------------------------------------------------------------------------------------- | | target | object containing a list of `participantIds` or object containing `presetName` - every user with that preset will be sent the message | ### participants.~~acceptAllRequestToJoinStageRequests()~~ -***Deprecated*** + +**_Deprecated_** ### participants.getAllJoinedPeers() + Returns all peers currently present in the room If you are in a group call, use `meeting.participants.joined` instead @@ -265,6 +283,7 @@ instead ### participants.getParticipantsInMeetingPreJoin() + Returns all peers currently in the room, is a non paginated call and should only be used if you are in a non room joined state, if in a joined group call, use `meeting.participants.joined` diff --git a/docs/react-web-core/reference/DytePermissionsPreset.md b/docs/react-web-core/reference/DytePermissionsPreset.md index 649c04789e..8ceb354c14 100644 --- a/docs/react-web-core/reference/DytePermissionsPreset.md +++ b/docs/react-web-core/reference/DytePermissionsPreset.md @@ -9,56 +9,59 @@ web_core_version: 1.32.1 The DytePermissionsPreset class represents the meeting permissions for the current participant - -* [DytePermissionsPreset](#module_DytePermissionsPreset) - * [.stageEnabled](#module_DytePermissionsPreset+stageEnabled) - * [.stageAccess](#module_DytePermissionsPreset+stageAccess) - * [.acceptWaitingRequests](#module_DytePermissionsPreset+acceptWaitingRequests) - * [.requestProduceVideo](#module_DytePermissionsPreset+requestProduceVideo) - * [.requestProduceAudio](#module_DytePermissionsPreset+requestProduceAudio) - * [.requestProduceScreenshare](#module_DytePermissionsPreset+requestProduceScreenshare) - * [.canAllowParticipantAudio](#module_DytePermissionsPreset+canAllowParticipantAudio) - * [.canAllowParticipantScreensharing](#module_DytePermissionsPreset+canAllowParticipantScreensharing) - * [.canAllowParticipantVideo](#module_DytePermissionsPreset+canAllowParticipantVideo) - * [.canDisableParticipantAudio](#module_DytePermissionsPreset+canDisableParticipantAudio) - * [.canDisableParticipantVideo](#module_DytePermissionsPreset+canDisableParticipantVideo) - * [.kickParticipant](#module_DytePermissionsPreset+kickParticipant) - * [.pinParticipant](#module_DytePermissionsPreset+pinParticipant) - * [.canRecord](#module_DytePermissionsPreset+canRecord) - * [.waitingRoomBehaviour](#module_DytePermissionsPreset+waitingRoomBehaviour) - * [.plugins](#module_DytePermissionsPreset+plugins) - * [.polls](#module_DytePermissionsPreset+polls) - * [.canProduceVideo](#module_DytePermissionsPreset+canProduceVideo) - * [.canProduceScreenshare](#module_DytePermissionsPreset+canProduceScreenshare) - * [.canProduceAudio](#module_DytePermissionsPreset+canProduceAudio) - * [.chatPublic](#module_DytePermissionsPreset+chatPublic) - * [.chatPrivate](#module_DytePermissionsPreset+chatPrivate) - * [.hiddenParticipant](#module_DytePermissionsPreset+hiddenParticipant) - * [.showParticipantList](#module_DytePermissionsPreset+showParticipantList) - * [.canChangeParticipantPermissions](#module_DytePermissionsPreset+canChangeParticipantPermissions) - * [.canLivestream](#module_DytePermissionsPreset+canLivestream) +- [DytePermissionsPreset](#module_DytePermissionsPreset) + - [.stageEnabled](#module_DytePermissionsPreset+stageEnabled) + - [.stageAccess](#module_DytePermissionsPreset+stageAccess) + - [.acceptWaitingRequests](#module_DytePermissionsPreset+acceptWaitingRequests) + - [.requestProduceVideo](#module_DytePermissionsPreset+requestProduceVideo) + - [.requestProduceAudio](#module_DytePermissionsPreset+requestProduceAudio) + - [.requestProduceScreenshare](#module_DytePermissionsPreset+requestProduceScreenshare) + - [.canAllowParticipantAudio](#module_DytePermissionsPreset+canAllowParticipantAudio) + - [.canAllowParticipantScreensharing](#module_DytePermissionsPreset+canAllowParticipantScreensharing) + - [.canAllowParticipantVideo](#module_DytePermissionsPreset+canAllowParticipantVideo) + - [.canDisableParticipantAudio](#module_DytePermissionsPreset+canDisableParticipantAudio) + - [.canDisableParticipantVideo](#module_DytePermissionsPreset+canDisableParticipantVideo) + - [.kickParticipant](#module_DytePermissionsPreset+kickParticipant) + - [.pinParticipant](#module_DytePermissionsPreset+pinParticipant) + - [.canRecord](#module_DytePermissionsPreset+canRecord) + - [.waitingRoomBehaviour](#module_DytePermissionsPreset+waitingRoomBehaviour) + - [.plugins](#module_DytePermissionsPreset+plugins) + - [.polls](#module_DytePermissionsPreset+polls) + - [.canProduceVideo](#module_DytePermissionsPreset+canProduceVideo) + - [.canProduceScreenshare](#module_DytePermissionsPreset+canProduceScreenshare) + - [.canProduceAudio](#module_DytePermissionsPreset+canProduceAudio) + - [.chatPublic](#module_DytePermissionsPreset+chatPublic) + - [.chatPrivate](#module_DytePermissionsPreset+chatPrivate) + - [.hiddenParticipant](#module_DytePermissionsPreset+hiddenParticipant) + - [.showParticipantList](#module_DytePermissionsPreset+showParticipantList) + - [.canChangeParticipantPermissions](#module_DytePermissionsPreset+canChangeParticipantPermissions) + - [.canLivestream](#module_DytePermissionsPreset+canLivestream) ### permissions.stageEnabled + The `stageEnabled` property returns a boolean value. If `true`, stage management is available for the participant. ### permissions.stageAccess + The `stageAccess` property dictactes how a user interacts with the stage. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST`; ### permissions.acceptWaitingRequests + The `acceptWaitingRequests` returns boolean value. If `true`, participant can accept the request of waiting participant. ### permissions.requestProduceVideo + The `requestProduceVideo` returns boolean value. If `true`, participant can send request to participants about producing video. @@ -66,6 +69,7 @@ about producing video. ### permissions.requestProduceAudio + The `requestProduceAudio` returns boolean value. If `true`, participant can send request to participants about producing audio. @@ -73,6 +77,7 @@ about producing audio. ### permissions.requestProduceScreenshare + The `requestProduceScreenshare` returns boolean value. If `true`, participant can send request to participants about sharing screen. @@ -80,52 +85,61 @@ about sharing screen. ### permissions.canAllowParticipantAudio + The `canAllowParticipantAudio` returns boolean value. If `true`, participant can enable other participants` audio. ### permissions.canAllowParticipantScreensharing + The `canAllowParticipantScreensharing` returns boolean value. If `true`, participant can enable other participants` screen share. ### permissions.canAllowParticipantVideo + The `canAllowParticipantVideo` returns boolean value. If `true`, participant can enable other participants` video. ### permissions.canDisableParticipantAudio + If `true`, a participant can disable other participants` audio. ### permissions.canDisableParticipantVideo + If `true`, a participant can disable other participants` video. ### permissions.kickParticipant + The `kickParticipant` returns boolean value. If `true`, participant can remove other participants from the meeting. ### permissions.pinParticipant + The `pinParticipant` returns boolean value. If `true`, participant can pin a participant in the meeting. ### permissions.canRecord + The `canRecord` returns boolean value. If `true`, participant can record the meeting. ### permissions.waitingRoomBehaviour + The `waitingRoomType` returns string value. type of waiting room behavior possible values are `SKIP`, `ON_PRIVILEGED_USER_ENTRY`, `SKIP_ON_ACCEPT` @@ -133,38 +147,42 @@ possible values are `SKIP`, `ON_PRIVILEGED_USER_ENTRY`, `SKIP_ON_ACCEPT` ### permissions.plugins + The `plugins` tells if the participant can act on plugins there are 2 permissions with boolean values, `canStart` and `canClose`. ### permissions.polls + The `polls` tells if the participant can use polls. There are 3 permissions with boolean values, `canCreate`, `canVote`, `canViewResults` - ### permissions.canProduceVideo + The `canProduceVideo` shows permissions for enabling video. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` ### permissions.canProduceScreenshare + The `canProduceScreenshare` shows permissions for sharing screen. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` - ### permissions.canProduceAudio + The `canProduceAudio` shows permissions for enabling audio. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` ### permissions.chatPublic + The `chatPublic` shows permissions for public chat there are 4 permissions `canSend` - if true, the participant can send chat @@ -174,6 +192,7 @@ there are 4 permissions ### permissions.chatPrivate + The `chatPrivate` shows permissions for public chat there are 4 permissions `canSend` - if true, the participant can send private chat @@ -184,74 +203,86 @@ there are 4 permissions ### permissions.hiddenParticipant + The `hiddenParticipant` returns boolean value. If `true`, participant is hidden. ### permissions.showParticipantList + The `showParticipantList` returns boolean value. If `true`, participant list can be shown to the participant. ### permissions.canChangeParticipantPermissions + The `canChangeParticipantPermissions` returns boolean value. If `true`, allow changing the participants' permissions. ### permissions.canLivestream -Livestream +Livestream - ### ~~permissions.canChangeTheme~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.canPresent~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.acceptPresentRequests~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.maxScreenShareCount~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceAudio~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceScreenshare~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.waitingRoomType~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceVideo~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.requestProduce~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.canChangeParticipantRole~~ -***Deprecated*** + +**_Deprecated_** diff --git a/docs/react-web-core/reference/DytePlugin.md b/docs/react-web-core/reference/DytePlugin.md index 3ae1e90d67..94661e9991 100644 --- a/docs/react-web-core/reference/DytePlugin.md +++ b/docs/react-web-core/reference/DytePlugin.md @@ -10,96 +10,102 @@ web_core_version: 1.32.1 The DytePlugin module represents a single plugin in the meeting. A plugin can be obtained from one of the plugin arrays in `meeting.plugins`. For example, + ```ts const plugin1 = meeting.plugins.active.get(pluginId); const plugin2 = meeting.plugins.all.get(pluginId); ``` - -* [DytePlugin](#module_DytePlugin) - * [.roomJoined](#module_DytePlugin+roomJoined) - * [.sendIframeEvent(message)](#module_DytePlugin+sendIframeEvent) - * [.sendData(payload)](#module_DytePlugin+sendData) - * [.removePluginView(viewId)](#module_DytePlugin+removePluginView) - * [.addPluginView(iframe, viewId)](#module_DytePlugin+addPluginView) - * [.activateForSelf()](#module_DytePlugin+activateForSelf) - * [.deactivateForSelf()](#module_DytePlugin+deactivateForSelf) - * ~~[.enable()](#module_DytePlugin+enable)~~ - * ~~[.disable()](#module_DytePlugin+disable)~~ - * [.activate()](#module_DytePlugin+activate) - * [.deactivate()](#module_DytePlugin+deactivate) +- [DytePlugin](#module_DytePlugin) + - [.roomJoined](#module_DytePlugin+roomJoined) + - [.sendIframeEvent(message)](#module_DytePlugin+sendIframeEvent) + - [.sendData(payload)](#module_DytePlugin+sendData) + - [.removePluginView(viewId)](#module_DytePlugin+removePluginView) + - [.addPluginView(iframe, viewId)](#module_DytePlugin+addPluginView) + - [.activateForSelf()](#module_DytePlugin+activateForSelf) + - [.deactivateForSelf()](#module_DytePlugin+deactivateForSelf) + - ~~[.enable()](#module_DytePlugin+enable)~~ + - ~~[.disable()](#module_DytePlugin+disable)~~ + - [.activate()](#module_DytePlugin+activate) + - [.deactivate()](#module_DytePlugin+deactivate) ### plugin.roomJoined + Returns true if the local participant has joined the meeting. ### plugin.sendIframeEvent(message) -| Param | Description | -| --- | --- | +| Param | Description | +| ------- | ---------------------------------------- | | message | Socket message forwarded to this plugin. | ### plugin.sendData(payload) -This method is used to send arbitrary data to the plugin. +This method is used to send arbitrary data to the plugin. -| Param | Description | -| --- | --- | -| payload | The payload that you want to send inside the plugin. | +| Param | Description | +| ----------------- | ---------------------------------------------------------------------- | +| payload | The payload that you want to send inside the plugin. | | payload.eventName | Name of the event. This is used to listen for the event in plugin SDK. | -| payload.data | Data you wish to emit. It can assume any data type. | +| payload.data | Data you wish to emit. It can assume any data type. | ### plugin.removePluginView(viewId) + This method is used for cleaning up event listeners attached to an iframe. It must be used before the iframe is removed from the DOM. - -| Param | Default | Description | -| --- | --- | --- | +| Param | Default | Description | +| ------ | -------------------- | ------------------------------------------------------------------ | | viewId | default | ID of the view corresponding to this iframe. Default is 'default'. | ### plugin.addPluginView(iframe, viewId) + This method adds the communcation layer between the plugin inside the iframe and the core application (meeting object) in the main window. - -| Param | Default | Description | -| --- | --- | --- | -| iframe | | Iframe element to display this plugin. | +| Param | Default | Description | +| ------ | -------------------- | ------------------------------------------------------------------ | +| iframe | | Iframe element to display this plugin. | | viewId | default | ID of the view corresponding to this iframe. Default is 'default'. | ### plugin.activateForSelf() + ### plugin.deactivateForSelf() + ### ~~plugin.enable()~~ -***Deprecated*** + +**_Deprecated_** ### ~~plugin.disable()~~ -***Deprecated*** + +**_Deprecated_** ### plugin.activate() + Activate this plugin for all participants. ### plugin.deactivate() -Deactivate this plugin for all participants. +Deactivate this plugin for all participants. diff --git a/docs/react-web-core/reference/DytePluginMap.md b/docs/react-web-core/reference/DytePluginMap.md index ee22516c95..fc45cb60e7 100644 --- a/docs/react-web-core/reference/DytePluginMap.md +++ b/docs/react-web-core/reference/DytePluginMap.md @@ -12,4 +12,3 @@ This map emits an event whenever a plugin present in the map emits an event. For example, when a plugin is added to this map, a `pluginAdded` event is emitted from the map. When a plugin object emits an event `stateUpdate`, the map re-emits that event (provided the plugin is present in the map). - diff --git a/docs/react-web-core/reference/DytePlugins.md b/docs/react-web-core/reference/DytePlugins.md index a7eb702746..90b00ea3f2 100644 --- a/docs/react-web-core/reference/DytePlugins.md +++ b/docs/react-web-core/reference/DytePlugins.md @@ -8,21 +8,22 @@ web_core_version: 1.32.1 The DytePlugins module consists of all the plugins in the meeting. It has 2 maps: + - `all`: Consists of all the plugins in the meeting. - `active`: Consists of the plugins that are currently in use. - * [DytePlugins](#module_DytePlugins) - * [.all](#module_DytePlugins+all) - * [.active](#module_DytePlugins+active) + - [.all](#module_DytePlugins+all) + - [.active](#module_DytePlugins+active) ### plugins.all + All plugins accessible by the current user. ### plugins.active -All plugins that are currently enabled in the room. +All plugins that are currently enabled in the room. diff --git a/docs/react-web-core/reference/DytePolls.md b/docs/react-web-core/reference/DytePolls.md index c8cb597b8b..2eebc0deb7 100644 --- a/docs/react-web-core/reference/DytePolls.md +++ b/docs/react-web-core/reference/DytePolls.md @@ -9,44 +9,44 @@ web_core_version: 1.32.1 The DytePolls module consists of the polls that have been created in the meeting. - -* [DytePolls](#module_DytePolls) - * [.items](#module_DytePolls+items) - * [.roomJoined](#module_DytePolls+roomJoined) - * [.create(question, options, anonymous, hideVotes)](#module_DytePolls+create) - * [.vote(pollId, index)](#module_DytePolls+vote) +- [DytePolls](#module_DytePolls) + - [.items](#module_DytePolls+items) + - [.roomJoined](#module_DytePolls+roomJoined) + - [.create(question, options, anonymous, hideVotes)](#module_DytePolls+create) + - [.vote(pollId, index)](#module_DytePolls+vote) ### polls.items + An array of poll items. ### polls.roomJoined + Returns true if the local participant has joined the meeting. ### polls.create(question, options, anonymous, hideVotes) -Creates a poll in the meeting. +Creates a poll in the meeting. -| Param | Default | Description | -| --- | --- | --- | -| question | | The question that is to be voted for. | -| options | | The options of the poll. | -| anonymous | false | If true, the poll votes are anonymous. | +| Param | Default | Description | +| --------- | ------------------ | ------------------------------------------ | +| question | | The question that is to be voted for. | +| options | | The options of the poll. | +| anonymous | false | If true, the poll votes are anonymous. | | hideVotes | false | If true, the votes on the poll are hidden. | ### polls.vote(pollId, index) -Casts a vote on an existing poll. +Casts a vote on an existing poll. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------ | | pollId | The ID of the poll that is to be voted on. | -| index | The index of the option. | - +| index | The index of the option. | diff --git a/docs/react-web-core/reference/DyteRecording.md b/docs/react-web-core/reference/DyteRecording.md index 8184315078..f72aff06e1 100644 --- a/docs/react-web-core/reference/DyteRecording.md +++ b/docs/react-web-core/reference/DyteRecording.md @@ -10,30 +10,32 @@ web_core_version: 1.32.1 The DyteRecording module represents the state of the current recording, and allows to start/stop recordings and check if there's a recording in progress. - -* [DyteRecording](#module_DyteRecording) - * [.start()](#module_DyteRecording+start) - * [.stop()](#module_DyteRecording+stop) - * [.pause()](#module_DyteRecording+pause) - * [.resume()](#module_DyteRecording+resume) +- [DyteRecording](#module_DyteRecording) + - [.start()](#module_DyteRecording+start) + - [.stop()](#module_DyteRecording+stop) + - [.pause()](#module_DyteRecording+pause) + - [.resume()](#module_DyteRecording+resume) ### recording.start() + Starts recording the meeting. ### recording.stop() + Stops all recording currently in 'RECORDING' state ### recording.pause() + Pauses all recording currently in 'RECORDING' state ### recording.resume() -Resumes all recording currently in 'PAUSED' state +Resumes all recording currently in 'PAUSED' state diff --git a/docs/react-web-core/reference/DyteRemote.md b/docs/react-web-core/reference/DyteRemote.md index 5e5b61f554..48ca4f675b 100644 --- a/docs/react-web-core/reference/DyteRemote.md +++ b/docs/react-web-core/reference/DyteRemote.md @@ -10,35 +10,35 @@ web_core_version: 1.32.1 This module provides the ability to control a remotely shared screen using mouse and keyboard. Methods are available to request, accept and end control of shared screen. - -* [DyteRemote](#module_DyteRemote) - * [.requestControl(peerId)](#module_DyteRemote+requestControl) ⇒ - * [.acceptControl(requestId)](#module_DyteRemote+acceptControl) - * [.endControl()](#module_DyteRemote+endControl) +- [DyteRemote](#module_DyteRemote) + - [.requestControl(peerId)](#module_DyteRemote+requestControl) ⇒ + - [.acceptControl(requestId)](#module_DyteRemote+acceptControl) + - [.endControl()](#module_DyteRemote+endControl) ### meeting.remote.requestControl(peerId) ⇒ + Sends a request to a peer for remote control. -**Returns**: request identifier for the control request. +**Returns**: request identifier for the control request. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | --------------------------------------------------------- | | peerId | The peer that needs to receive the remote control request | ### meeting.remote.acceptControl(requestId) -Accepts a remote control request from a peer. +Accepts a remote control request from a peer. -| Param | Description | -| --- | --- | +| Param | Description | +| --------- | ------------------------------------------------ | | requestId | The request identifier that needs to be accepted | ### meeting.remote.endControl() -End an active remote control. +End an active remote control. diff --git a/docs/react-web-core/reference/DyteSelf.md b/docs/react-web-core/reference/DyteSelf.md index 5f2c74fa63..9833a9869c 100644 --- a/docs/react-web-core/reference/DyteSelf.md +++ b/docs/react-web-core/reference/DyteSelf.md @@ -15,6 +15,7 @@ this module. DyteSelf extends [DyteSelfMedia](./DyteSelfMedia) therefore all the methods & variables exposed by DyteSelfMedia are also available on DyteSelf. Few examples: + ```tsx meeting.self.rawAudioTrack; meeting.self.rawVideoTrack; @@ -23,36 +24,36 @@ meeting.self.videoEnabled; await meeting.self.getAudioDevices(); await meeting.self.getVideoDevices(); ``` -::: - - -* [DyteSelf](#module_DyteSelf) - * [.roomState](#module_DyteSelf+roomState) - * [.permissions](#module_DyteSelf+permissions) - * [.config](#module_DyteSelf+config) - * [.roomJoined](#module_DyteSelf+roomJoined) - * [.isPinned](#module_DyteSelf+isPinned) - * [.setName(name)](#module_DyteSelf+setName) - * [.setupTracks(options)](#module_DyteSelf+setupTracks) - * [.enableAudio()](#module_DyteSelf+enableAudio) - * [.enableVideo()](#module_DyteSelf+enableVideo) - * [.updateVideoConstraints()](#module_DyteSelf+updateVideoConstraints) - * [.enableScreenShare()](#module_DyteSelf+enableScreenShare) - * [.updateScreenshareConstraints()](#module_DyteSelf+updateScreenshareConstraints) - * [.disableAudio()](#module_DyteSelf+disableAudio) - * [.disableVideo()](#module_DyteSelf+disableVideo) - * [.disableScreenShare()](#module_DyteSelf+disableScreenShare) - * [.getAllDevices()](#module_DyteSelf+getAllDevices) - * [.setIsPinned()](#module_DyteSelf+setIsPinned) - * [.pin()](#module_DyteSelf+pin) - * [.unpin()](#module_DyteSelf+unpin) +::: +- [DyteSelf](#module_DyteSelf) + - [.roomState](#module_DyteSelf+roomState) + - [.permissions](#module_DyteSelf+permissions) + - [.config](#module_DyteSelf+config) + - [.roomJoined](#module_DyteSelf+roomJoined) + - [.isPinned](#module_DyteSelf+isPinned) + - [.setName(name)](#module_DyteSelf+setName) + - [.setupTracks(options)](#module_DyteSelf+setupTracks) + - [.enableAudio()](#module_DyteSelf+enableAudio) + - [.enableVideo()](#module_DyteSelf+enableVideo) + - [.updateVideoConstraints()](#module_DyteSelf+updateVideoConstraints) + - [.enableScreenShare()](#module_DyteSelf+enableScreenShare) + - [.updateScreenshareConstraints()](#module_DyteSelf+updateScreenshareConstraints) + - [.disableAudio()](#module_DyteSelf+disableAudio) + - [.disableVideo()](#module_DyteSelf+disableVideo) + - [.disableScreenShare()](#module_DyteSelf+disableScreenShare) + - [.getAllDevices()](#module_DyteSelf+getAllDevices) + - [.setIsPinned()](#module_DyteSelf+setIsPinned) + - [.pin()](#module_DyteSelf+pin) + - [.unpin()](#module_DyteSelf+unpin) ### self.roomState + Returns the current state of room + - init - Inital State - joined - User is in the meeting - waitlisted - User is in the waitlist state @@ -61,7 +62,6 @@ Returns the current state of room - left - User left the meeting - ended - The meeting was ended - ```mermaid stateDiagram-v2 direction LR @@ -82,118 +82,133 @@ stateDiagram-v2 ### self.permissions + Returns the current permission given to the user for the meeting. ### self.config + Returns configuration for the meeting. ### self.roomJoined + Returns true if the local participant has joined the meeting. ### self.isPinned -Returns true if the current user is pinned. +Returns true if the current user is pinned. ### self.setName(name) + The name of the user can be set by calling this method. This will get reflected to other participants ONLY if this method is called before the room is joined. - -| Param | Description | -| --- | --- | -| name | Name of the user. | +| Param | Description | +| ----- | ----------------- | +| name | Name of the user. | ### self.setupTracks(options) -Sets up the local media tracks. +Sets up the local media tracks. -| Param | Description | -| --- | --- | -| options | The audio and video options. | +| Param | Description | +| ------------- | ------------------------------------- | +| options | The audio and video options. | | options.video | If true, the video stream is fetched. | | options.audio | If true, the audio stream is fetched. | ### self.enableAudio() + This method is used to unmute the local participant's audio. ### self.enableVideo() + This method is used to start streaming the local participant's video to the meeting. ### self.updateVideoConstraints() + This method is used to apply constraints to the current video stream. ### self.enableScreenShare() + This method is used to start sharing the local participant's screen to the meeting. ### self.updateScreenshareConstraints() + This method is used to apply constraints to the current screenshare stream. ### self.disableAudio() + This method is used to mute the local participant's audio. ### self.disableVideo() + This participant is used to disable the local participant's video. ### self.disableScreenShare() + This method is used to stop sharing the local participant's screen. ### self.getAllDevices() + Returns all media devices accessible by the local participant. ### self.setIsPinned() + ### self.pin() + Returns `self.id` if user has permission to pin participants. ### self.unpin() + Returns `self.id` if user has permission to unpin participants. ### self.setDevice(device) -Change the current media device that is being used by the local participant. +Change the current media device that is being used by the local participant. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------------------------------------------------------------ | | device | The device that is to be used. A device of the same `kind` will be replaced. the primary stream. | diff --git a/docs/react-web-core/reference/DyteStage.md b/docs/react-web-core/reference/DyteStage.md index 5541560261..f147542c29 100644 --- a/docs/react-web-core/reference/DyteStage.md +++ b/docs/react-web-core/reference/DyteStage.md @@ -12,49 +12,54 @@ Stage refers to a virtual area, where participants stream are visible to other p When a participant is off stage, they are not producing media but only consuming media from participants who are on Stage - -* [DyteStage](#module_DyteStage) - * [.getAccessRequests()](#module_DyteStage+getAccessRequests) - * [.requestAccess()](#module_DyteStage+requestAccess) - * [.cancelRequestAccess()](#module_DyteStage+cancelRequestAccess) - * [.grantAccess()](#module_DyteStage+grantAccess) - * [.denyAccess()](#module_DyteStage+denyAccess) - * [.join()](#module_DyteStage+join) - * [.leave()](#module_DyteStage+leave) - * [.kick()](#module_DyteStage+kick) +- [DyteStage](#module_DyteStage) + - [.getAccessRequests()](#module_DyteStage+getAccessRequests) + - [.requestAccess()](#module_DyteStage+requestAccess) + - [.cancelRequestAccess()](#module_DyteStage+cancelRequestAccess) + - [.grantAccess()](#module_DyteStage+grantAccess) + - [.denyAccess()](#module_DyteStage+denyAccess) + - [.join()](#module_DyteStage+join) + - [.leave()](#module_DyteStage+leave) + - [.kick()](#module_DyteStage+kick) ### stage.getAccessRequests() + Method to fetch all Stage access requests from viewers ### stage.requestAccess() + Method to send a request to privileged users to join the stage ### stage.cancelRequestAccess() + Method to cancel a previous Stage join request ### stage.grantAccess() + Method to grant access to Stage. - This can be in response to a Stage Join request but it can be called on other users as well +This can be in response to a Stage Join request but it can be called on other users as well `permissions.acceptStageRequests` privilege required ### stage.denyAccess() + Method to deny access to Stage. This should be called in response to a Stage Join request ### stage.join() + Method to join the stage Users either need to have the permission in the preset or must be accepted by a priveleged user to call this method @@ -62,6 +67,7 @@ user to call this method ### stage.leave() + Method to leave the stage Users must either be on the stage already or be accepted to join the stage to call this method @@ -69,7 +75,7 @@ to call this method ### stage.kick() + Method to kick a user off the stage `permissions.acceptStageRequests` privilege required - diff --git a/docs/react-web-core/reference/DyteThemePreset.md b/docs/react-web-core/reference/DyteThemePreset.md index b85caeed05..dd2e0ac092 100644 --- a/docs/react-web-core/reference/DyteThemePreset.md +++ b/docs/react-web-core/reference/DyteThemePreset.md @@ -9,69 +9,77 @@ web_core_version: 1.32.1 The DyteThemePreset class represents the meeting theme for the current participant - -* [DyteThemePreset](#module_DyteThemePreset) - * ~~[.setupScreen](#module_DyteThemePreset+setupScreen)~~ - * ~~[.waitingRoom](#module_DyteThemePreset+waitingRoom)~~ - * ~~[.controlBar](#module_DyteThemePreset+controlBar)~~ - * ~~[.header](#module_DyteThemePreset+header)~~ - * ~~[.pipMode](#module_DyteThemePreset+pipMode)~~ - * [.viewType](#module_DyteThemePreset+viewType) - * [.maxVideoStreams](#module_DyteThemePreset+maxVideoStreams) - * [.maxScreenShareCount](#module_DyteThemePreset+maxScreenShareCount) - * ~~[.plugins](#module_DyteThemePreset+plugins)~~ - * [.disabledPlugins](#module_DyteThemePreset+disabledPlugins) +- [DyteThemePreset](#module_DyteThemePreset) + - ~~[.setupScreen](#module_DyteThemePreset+setupScreen)~~ + - ~~[.waitingRoom](#module_DyteThemePreset+waitingRoom)~~ + - ~~[.controlBar](#module_DyteThemePreset+controlBar)~~ + - ~~[.header](#module_DyteThemePreset+header)~~ + - ~~[.pipMode](#module_DyteThemePreset+pipMode)~~ + - [.viewType](#module_DyteThemePreset+viewType) + - [.maxVideoStreams](#module_DyteThemePreset+maxVideoStreams) + - [.maxScreenShareCount](#module_DyteThemePreset+maxScreenShareCount) + - ~~[.plugins](#module_DyteThemePreset+plugins)~~ + - [.disabledPlugins](#module_DyteThemePreset+disabledPlugins) ### ~~dyteThemePreset.setupScreen~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.waitingRoom~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.controlBar~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.header~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.pipMode~~ -***Deprecated*** + +**_Deprecated_** ### dyteThemePreset.viewType + The `viewType` tells the type of the meeting possible values are: GROUP_CALL| LIVESTREAM | CHAT | AUDIO_ROOM ### dyteThemePreset.maxVideoStreams + The `maxVideoStreams` contains the maximum video streams for mobile and desktop ### dyteThemePreset.maxScreenShareCount + The `maxScreenShareCount` contains the maximum possible concurrent screen shares ### ~~dyteThemePreset.plugins~~ -***Deprecated*** + +**_Deprecated_** ### dyteThemePreset.disabledPlugins -The `disabledPlugins` property returns id of all disabled plugins +The `disabledPlugins` property returns id of all disabled plugins diff --git a/docs/react-web-core/room-metadata.mdx b/docs/react-web-core/room-metadata.mdx index 017c9326f3..c6d5d35ceb 100644 --- a/docs/react-web-core/room-metadata.mdx +++ b/docs/react-web-core/room-metadata.mdx @@ -28,7 +28,7 @@ const { meetingTitle } = meeting.meta; if (meeting.self.roomJoined) { console.log( - `The local user has joined a meeting with title ${meetingTitle}.` + `The local user has joined a meeting with title ${meetingTitle}.`, ); } ``` @@ -36,7 +36,7 @@ if (meeting.self.roomJoined) { **Events** The `meta` object also emits events for indicating the change in the connection -state of the room. +state of the room. 1. **Media Connection** @@ -54,7 +54,10 @@ meeting.meta.on('mediaConnectionUpdate', ({ transport, state }) => { Updates to Websocket connection (used for chat, polls and other basic signaling) will be sent on `socketConnectionUpdate` event ```ts -meeting.meta.on('socketConnectionUpdate', ({ state, reconnectionAttempt, reconnected }) => { - // state - 'connected' | 'disconnected' | 'reconnecting' | 'failed' -}); +meeting.meta.on( + 'socketConnectionUpdate', + ({ state, reconnectionAttempt, reconnected }) => { + // state - 'connected' | 'disconnected' | 'reconnecting' | 'failed' + }, +); ``` diff --git a/docs/react-web-core/upgrade.mdx b/docs/react-web-core/upgrade.mdx index 47f569f81e..2dde076e86 100644 --- a/docs/react-web-core/upgrade.mdx +++ b/docs/react-web-core/upgrade.mdx @@ -14,7 +14,6 @@ With this major release we tried to reduce the number of breaking changes to the - meeting.self.`suggestedTheme` → meeting.self.`config` - Dropped meeting.meta.`joined` (Duplicate of meeting.self.`joined`) - **2. Event changes ️‍🔥 ️‍🔥 ️‍🔥** Network disconnects now trigger roomLeft event on meeting.self with a state indicating the cause of leaving the room. If you have redirection logic on `roomLeft`, please update it accordingly. @@ -27,18 +26,17 @@ meeting.self.on('roomLeft', ({ state }) => { } ``` -Possible state values are ‘kicked’ | 'ended' | 'left' | 'rejected' | 'connected-meeting' | 'disconnected' | 'failed'; +Possible state values are ‘kicked’ | 'ended' | 'left' | 'rejected' | 'connected-meeting' | 'disconnected' | 'failed'; **3. Handling Reconnection / Disconnection** - `connected` `disconnected` `connectionError` `iceConnected` `iceDisconnected` `iceFailed` `iceReconnecting` `socketConnected` `socketDisconnected` `socketReconnecting` `socketReconnectAttempt` `socketReconnectFailure` `socketReconnected` `socketFailure` - - events on meeting.meta are **removed and replaced** with new simplified connection events and properties - - - Updates to Media connection (WebRTC connection used for the transfer of actual media) will be sent on `mediaConnectionUpdate` event with the payload - You can also get the value of this payload by checking the `meeting.meta.mediaState` property - - - Updates to Websocket connection (used for chat, polls and other basic signaling) will be sent on `socketConnectionUpdate` event. - You can also get the value of this payload by checking the `meeting.meta.socketState` property - - Read more on the [meeting metadata page](/web-core/room-metadata) \ No newline at end of file + + events on meeting.meta are **removed and replaced** with new simplified connection events and properties + + - Updates to Media connection (WebRTC connection used for the transfer of actual media) will be sent on `mediaConnectionUpdate` event with the payload + You can also get the value of this payload by checking the `meeting.meta.mediaState` property + - Updates to Websocket connection (used for chat, polls and other basic signaling) will be sent on `socketConnectionUpdate` event. + You can also get the value of this payload by checking the `meeting.meta.socketState` property + + Read more on the [meeting metadata page](/web-core/room-metadata) diff --git a/docs/rn-core/local-user/_category_.json b/docs/rn-core/local-user/_category_.json index 3154592e60..161f6c835e 100644 --- a/docs/rn-core/local-user/_category_.json +++ b/docs/rn-core/local-user/_category_.json @@ -2,5 +2,5 @@ "position": 4, "label": "Local User", "collapsible": true, - "className":"module-seperation" + "className": "module-seperation" } diff --git a/docs/rn-core/local-user/events.mdx b/docs/rn-core/local-user/events.mdx index 4e00ac3a07..7cb1497a31 100644 --- a/docs/rn-core/local-user/events.mdx +++ b/docs/rn-core/local-user/events.mdx @@ -22,7 +22,7 @@ produce and consume media. ```ts meeting.self.on('roomJoined', () => { console.log( - 'User has joined the meeting and ready to produce and consume media' + 'User has joined the meeting and ready to produce and consume media', ); }); ``` @@ -103,7 +103,7 @@ meeting.self.on( } else { // Stop the screenshare } - } + }, ); ``` @@ -138,7 +138,7 @@ meeting.self.on('mediaScoreUpdate', ({ kind, isScreenshare, score }) => { if (kind === 'video') { console.log( `Your ${isScreenshare ? 'screenshare' : 'video'} quality score is `, - score + score, ); } diff --git a/docs/rn-core/local-user/extras.mdx b/docs/rn-core/local-user/extras.mdx index 7c65c60e10..6b7b915f6a 100644 --- a/docs/rn-core/local-user/extras.mdx +++ b/docs/rn-core/local-user/extras.mdx @@ -50,7 +50,6 @@ meeting.self.pin(); meeting.self.unpin(); ``` - React Native Core Other Methods diff --git a/docs/rn-core/participants/events.mdx b/docs/rn-core/participants/events.mdx index 10cd520d29..b58c577e08 100644 --- a/docs/rn-core/participants/events.mdx +++ b/docs/rn-core/participants/events.mdx @@ -22,7 +22,7 @@ meeting.participants.on( 'viewModeChanged', ({ viewMode, currentPage, pageCount }) => { console.log('view mode changed', viewMode); - } + }, ); ``` @@ -33,7 +33,7 @@ meeting.participants.on( 'pageChanged', ({ viewMode, currentPage, pageCount }) => { console.log('page changed', currentPage); - } + }, ); ``` @@ -104,7 +104,7 @@ Trigger an event when any participant starts / stops video. ```ts meeting.participants.joined.on('videoUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their video track in the meeting` + `A participant with id "${participant.id}" updated their video track in the meeting`, ); // Use the video track if it exists if (participant.videoEnabled) { @@ -122,7 +122,7 @@ Trigger an event when any participant starts / stops audio. ```ts meeting.participants.joined.on('audioUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their audio track in the meeting` + `A participant with id "${participant.id}" updated their audio track in the meeting`, ); // Use the audio track if it exists if (participant.audioEnabled) { @@ -140,7 +140,7 @@ Trigger an event when any participant starts / stops screen share. ```ts meeting.participants.joined.on('screenShareUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their screen share in the meeting` + `A participant with id "${participant.id}" updated their screen share in the meeting`, ); // Use the screen share track if it exists if (participant.screenShareEnabled) { @@ -164,21 +164,21 @@ meeting.participants.joined.on( `Participant ${participantId}'s ${ isScreenshare ? 'screenshare' : 'video' } quality score is `, - score + score, ); } if (kind === 'audio') { console.log( `Participant ${participantId}'s audio quality score is `, - score + score, ); } if (score < 5) { console.log(`Participant ${participantId}'s media quality is poor`); } - } + }, ); ``` diff --git a/docs/rn-core/participants/participant-object.mdx b/docs/rn-core/participants/participant-object.mdx index 97ac96ff65..7e2f49f6d0 100644 --- a/docs/rn-core/participants/participant-object.mdx +++ b/docs/rn-core/participants/participant-object.mdx @@ -30,6 +30,7 @@ The participant object has the following properties. screen share stream. **Metadata**: + - `id`: The `participantId` of the participant (aka `peerId`). - `userId`: The `userId` of the participant. - `name`: The participant's name. @@ -53,7 +54,7 @@ meeting.participants.joined 'The participant with id', participantId, 'has toggled their mic to', - audioEnabled + audioEnabled, ); }); ``` @@ -72,9 +73,9 @@ meeting.participants.joined.on( 'The participant with id', participant.id, 'has toggled their mic to', - audioEnabled + audioEnabled, ); - } + }, ); ``` @@ -112,6 +113,7 @@ await participant.pin(); // Unpin a participant in the meeting. await participant.unpin(); ``` + React Native Core The participant object diff --git a/docs/rn-core/polls/creating-a-poll.mdx b/docs/rn-core/polls/creating-a-poll.mdx index 1c68a05cc0..100be1ae96 100644 --- a/docs/rn-core/polls/creating-a-poll.mdx +++ b/docs/rn-core/polls/creating-a-poll.mdx @@ -27,7 +27,7 @@ The following snippet creates a poll where votes are anonymous. await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` diff --git a/docs/rn-core/pre-call/1-media-preview.mdx b/docs/rn-core/pre-call/1-media-preview.mdx index 2dd6fa61ad..69014c8e3d 100644 --- a/docs/rn-core/pre-call/1-media-preview.mdx +++ b/docs/rn-core/pre-call/1-media-preview.mdx @@ -2,7 +2,6 @@ This section focuses on pre-call functionality, providing developers with the tools needed to prepare the media environment before joining the meeting. If you are using our UI Kits, this will be handled by `DyteSetupScreen` or could be built with `DyteParticipantTile` and other components. - ## Properties - `audioEnabled`: A boolean value indicating if the audio currently enabled. @@ -39,7 +38,6 @@ flowchart LR
- ```ts const audioEnabled = useDyteSelector((m) => m.self.audioEnabled); const audioTrack = useDyteSelector((m) => m.self.audioTrack); @@ -49,21 +47,20 @@ const audioTrack = useDyteSelector((m) => m.self.audioTrack); or if you want a traditional JS event you can use the `audioUpdate` event - ```ts // Alternatively useEffect(() => { - if(!meeting) return; + if (!meeting) return; - const onAudioUpdate = ({ audioEnabled, audioTrack })=> { - // if enabled show a visual(izer) preview of the audio to the user + const onAudioUpdate = ({ audioEnabled, audioTrack }) => { + // if enabled show a visual(izer) preview of the audio to the user }; meeting.self.on('audioUpdate', onAudioUpdate); return () => { - meeting.self.removeListener('audioUpdate', onAudioUpdate) - } -}, [meeting]) + meeting.self.removeListener('audioUpdate', onAudioUpdate); + }; +}, [meeting]); ``` **2. Enable/Disable camera** @@ -85,6 +82,7 @@ flowchart LR class eam basic; ``` +
```ts diff --git a/docs/rn-core/pre-call/2-handling-permissions.mdx b/docs/rn-core/pre-call/2-handling-permissions.mdx index 687273a008..6797b954c5 100644 --- a/docs/rn-core/pre-call/2-handling-permissions.mdx +++ b/docs/rn-core/pre-call/2-handling-permissions.mdx @@ -1,13 +1,12 @@ # Handling Permissions -## Properties +## Properties `self.mediaPermissions`: The current audio and video **app permissions** given by the local - user. +user. Permissions start with `NOT_REQUESTED` and can go into 4 different states - ```mermaid stateDiagram-v2 NOT_REQUESTED --> ACCEPTED @@ -17,7 +16,6 @@ stateDiagram-v2
- - `ACCEPTED` - The user accepted app permission prompts - `DENIED` - The user denied app permission prompts - `COULD_NOT_START` - Unable to start the selected device, you can retry with a different device diff --git a/docs/rn-core/pre-call/4-meeting-meta.mdx b/docs/rn-core/pre-call/4-meeting-meta.mdx index d0e9c10da8..84f31b0eb4 100644 --- a/docs/rn-core/pre-call/4-meeting-meta.mdx +++ b/docs/rn-core/pre-call/4-meeting-meta.mdx @@ -2,7 +2,7 @@ ### Change the name of the user -Allow the user to edit their name by calling `setName` method. +Allow the user to edit their name by calling `setName` method. ```ts await meeting.self.setName('New Name'); @@ -13,5 +13,5 @@ await meeting.self.setName('New Name'); Before joining the meeting, you can get a list of people current in the meeting by using the method ```ts -meeting.participants.getParticipantsInMeetingPreJoin() -``` \ No newline at end of file +meeting.participants.getParticipantsInMeetingPreJoin(); +``` diff --git a/docs/rn-core/pre-call/5-waiting-room.mdx b/docs/rn-core/pre-call/5-waiting-room.mdx index 325f0545f4..1bcb1feab6 100644 --- a/docs/rn-core/pre-call/5-waiting-room.mdx +++ b/docs/rn-core/pre-call/5-waiting-room.mdx @@ -22,7 +22,7 @@ Each of these state changes generate their own events. ```ts const roomState = useDyteSelector((m) => m.self.roomState); -const joined = roomState === "joined"; +const joined = roomState === 'joined'; ``` Alternatively @@ -30,29 +30,28 @@ Alternatively ```ts meeting.self.on('roomJoined', () => { // local user is in the meeting -}) +}); ``` - **waitlisted** ```ts const roomState = useDyteSelector((m) => m.self.roomState); -const isWaitlisted = roomState === "waitlisted"; +const isWaitlisted = roomState === 'waitlisted'; ``` ```ts meeting.self.on('waitlisted', () => { // local user is waitlisted -}) +}); ``` -- **rejected** - +- **rejected** ```ts meeting.self.on('roomLeft', ({ state }) => { // state = rejected when host rejects the entry -}) +}); ``` -Host can use [these methods to accept/reject participants](/rn-core/participants#waiting-room-methods) \ No newline at end of file +Host can use [these methods to accept/reject participants](/rn-core/participants#waiting-room-methods) diff --git a/docs/rn-core/pre-call/_category_.json b/docs/rn-core/pre-call/_category_.json index 22e5bdec8e..23939cdb04 100644 --- a/docs/rn-core/pre-call/_category_.json +++ b/docs/rn-core/pre-call/_category_.json @@ -2,5 +2,5 @@ "position": 3, "label": "Pre-call", "collapsible": true, - "className":"pre-call-docs" + "className": "pre-call-docs" } diff --git a/docs/rn-core/reference/DyteAi.md b/docs/rn-core/reference/DyteAi.md index be1031becf..b4b57067a7 100644 --- a/docs/rn-core/reference/DyteAi.md +++ b/docs/rn-core/reference/DyteAi.md @@ -11,18 +11,18 @@ This module consists of the `ai` object which is used to interface with Dyte's A You can obtain the live meeting transcript and use other meeting AI features such as summary, and agenda using this object. - -* [DyteAi](#module_DyteAi) - * [.parseTranscript()](#module_DyteAi.parseTranscript) - * [.parseTranscripts()](#module_DyteAi.parseTranscripts) +- [DyteAi](#module_DyteAi) + - [.parseTranscript()](#module_DyteAi.parseTranscript) + - [.parseTranscripts()](#module_DyteAi.parseTranscripts) ### meeting.ai.parseTranscript() + Parse a single line transcript ### meeting.ai.parseTranscripts() -Parse a multi-line transcript +Parse a multi-line transcript diff --git a/docs/rn-core/reference/DyteChat.md b/docs/rn-core/reference/DyteChat.md index 6cd7dd4b3f..7ebb15598b 100644 --- a/docs/rn-core/reference/DyteChat.md +++ b/docs/rn-core/reference/DyteChat.md @@ -9,171 +9,179 @@ web_core_version: 1.32.1 This is the chat module, which can be used to send and receive messages from the meeting. - -* [DyteChat](#module_DyteChat) - * [.messages](#module_DyteChat+messages) - * [.channels](#module_DyteChat+channels) - * [.roomJoined](#module_DyteChat+roomJoined) - * [.pinned](#module_DyteChat+pinned) - * [.sendTextMessage(message)](#module_DyteChat+sendTextMessage) - * [.sendImageMessage(image)](#module_DyteChat+sendImageMessage) - * [.sendFileMessage(file)](#module_DyteChat+sendFileMessage) - * [.sendMessage(message, participantIds)](#module_DyteChat+sendMessage) - * [.getMessagesByUser(userId)](#module_DyteChat+getMessagesByUser) - * [.getMessagesByType(type)](#module_DyteChat+getMessagesByType) - * [.pin(id)](#module_DyteChat+pin) - * [.unpin(id)](#module_DyteChat+unpin) - * [.getMessages()](#module_DyteChat+getMessages) - * [.createChannel()](#module_DyteChat+createChannel) - * [.updateChannel()](#module_DyteChat+updateChannel) - * [.sendMessageToChannel(message, channelId)](#module_DyteChat+sendMessageToChannel) - * [.getChannelMembers()](#module_DyteChat+getChannelMembers) - * [.searchMessages()](#module_DyteChat+searchMessages) - * [.markLastReadMessage()](#module_DyteChat+markLastReadMessage) +- [DyteChat](#module_DyteChat) + - [.messages](#module_DyteChat+messages) + - [.channels](#module_DyteChat+channels) + - [.roomJoined](#module_DyteChat+roomJoined) + - [.pinned](#module_DyteChat+pinned) + - [.sendTextMessage(message)](#module_DyteChat+sendTextMessage) + - [.sendImageMessage(image)](#module_DyteChat+sendImageMessage) + - [.sendFileMessage(file)](#module_DyteChat+sendFileMessage) + - [.sendMessage(message, participantIds)](#module_DyteChat+sendMessage) + - [.getMessagesByUser(userId)](#module_DyteChat+getMessagesByUser) + - [.getMessagesByType(type)](#module_DyteChat+getMessagesByType) + - [.pin(id)](#module_DyteChat+pin) + - [.unpin(id)](#module_DyteChat+unpin) + - [.getMessages()](#module_DyteChat+getMessages) + - [.createChannel()](#module_DyteChat+createChannel) + - [.updateChannel()](#module_DyteChat+updateChannel) + - [.sendMessageToChannel(message, channelId)](#module_DyteChat+sendMessageToChannel) + - [.getChannelMembers()](#module_DyteChat+getChannelMembers) + - [.searchMessages()](#module_DyteChat+searchMessages) + - [.markLastReadMessage()](#module_DyteChat+markLastReadMessage) ### chat.messages + An array of chat messages. ### chat.channels + An Array of all available channels. ### chat.roomJoined + Returns true if the local participant has joined the meeting. ### chat.pinned + Returns an array of pinned messages. ### chat.sendTextMessage(message) -Sends a chat text message to the room. +Sends a chat text message to the room. -| Param | Description | -| --- | --- | +| Param | Description | +| ------- | ------------------------------------------ | | message | The message that must be sent to the room. | ### chat.sendImageMessage(image) -Sends an image message to the meeting. +Sends an image message to the meeting. -| Param | Description | -| --- | --- | +| Param | Description | +| ----- | ----------------------------- | | image | The image that is to be sent. | ### chat.sendFileMessage(file) -Sends a file to the meeting. +Sends a file to the meeting. -| Param | Description | -| --- | --- | -| file | A File object. | +| Param | Description | +| ----- | -------------- | +| file | A File object. | ### chat.sendMessage(message, participantIds) + Sends a message to the meeting. This method can be used to send text, image, or file messages. The message type is determined by the key 'type' in `message` object. - -| Param | Description | -| --- | --- | -| message | An object including the type and content of the message. | -| participantIds | An array including the userIds of the participants. | +| Param | Description | +| -------------- | -------------------------------------------------------- | +| message | An object including the type and content of the message. | +| participantIds | An array including the userIds of the participants. | ### chat.getMessagesByUser(userId) -Returns an array of messages sent by a specific userId. +Returns an array of messages sent by a specific userId. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ---------------------------------------------- | | userId | The user id of the user that sent the message. | ### chat.getMessagesByType(type) -Returns an array of 'text', 'image' or 'file' messages. +Returns an array of 'text', 'image' or 'file' messages. -| Param | Description | -| --- | --- | -| type | 'text', 'image', or 'file'. | +| Param | Description | +| ----- | --------------------------- | +| type | 'text', 'image', or 'file'. | ### chat.pin(id) -Pins a chat message +Pins a chat message -| Param | Description | -| --- | --- | -| id | ID of the message to be pinned | +| Param | Description | +| ----- | ------------------------------ | +| id | ID of the message to be pinned | ### chat.unpin(id) -Unpins a chat message +Unpins a chat message -| Param | Description | -| --- | --- | -| id | ID of the message to be unpinned | +| Param | Description | +| ----- | -------------------------------- | +| id | ID of the message to be unpinned | ### chat.getMessages() + Gets chat messages in a paginated manner ### chat.createChannel() + Creates a channel with specified name and userIds as members ### chat.updateChannel() + Updates the channel ### chat.sendMessageToChannel(message, channelId) + Sends a message to a channel. This method can be used to send text, image, or file messages. The message type is determined by the key 'type' in `message` object. - -| Param | Description | -| --- | --- | -| message | An object including the type and content of the message. | -| channelId | Id of the channel where you want to send the message. | +| Param | Description | +| --------- | -------------------------------------------------------- | +| message | An object including the type and content of the message. | +| channelId | Id of the channel where you want to send the message. | ### chat.getChannelMembers() + returns a list of members added to the channel ### chat.searchMessages() + search messages ### chat.markLastReadMessage() -marks last read message in a channel +marks last read message in a channel diff --git a/docs/rn-core/reference/DyteClient.md b/docs/rn-core/reference/DyteClient.md index 4e01ccdd8d..d52454e66f 100644 --- a/docs/rn-core/reference/DyteClient.md +++ b/docs/rn-core/reference/DyteClient.md @@ -12,39 +12,39 @@ An object of the DyteClient class can be created using `await initMeeting({ ... })`. Typically, an object of `DyteClient` is named `meeting`. - -* [DyteClient](#module_DyteClient) - * _instance_ - * [.participants](#module_DyteClient+participants) - * [.self](#module_DyteClient+self) - * [.meta](#module_DyteClient+meta) - * [.ai](#module_DyteClient+ai) - * [.plugins](#module_DyteClient+plugins) - * [.chat](#module_DyteClient+chat) - * [.polls](#module_DyteClient+polls) - * [.remote](#module_DyteClient+remote) - * [.connectedMeetings](#module_DyteClient+connectedMeetings) - * [.join()](#module_DyteClient+join) - * [.leave()](#module_DyteClient+leave) +- [DyteClient](#module_DyteClient) + - _instance_ + - [.participants](#module_DyteClient+participants) + - [.self](#module_DyteClient+self) + - [.meta](#module_DyteClient+meta) + - [.ai](#module_DyteClient+ai) + - [.plugins](#module_DyteClient+plugins) + - [.chat](#module_DyteClient+chat) + - [.polls](#module_DyteClient+polls) + - [.remote](#module_DyteClient+remote) + - [.connectedMeetings](#module_DyteClient+connectedMeetings) + - [.join()](#module_DyteClient+join) + - [.leave()](#module_DyteClient+leave) ### initMeeting(options) + The `initMeeting` method can be used to instantiate the DyteClient class. This returns an instance of DyteClient, which can be used to perform actions on the meeting. - -| Param | Description | -| --- | --- | -| options | The options object. | +| Param | Description | +| ----------------- | ----------------------------------------------- | +| options | The options object. | | options.authToken | The authorization token received using the API. | -| options.apiBase | The base URL of the API. | -| options.defaults | The default audio and video settings. | +| options.apiBase | The base URL of the API. | +| options.defaults | The default audio and video settings. | ### meeting.participants + The `participants` object consists of 4 maps of participants, `waitlisted`, `joined`, `active`, `pinned`. The maps are indexed by `peerId`s, and the values are the corresponding participant objects. @@ -52,6 +52,7 @@ The `participants` object consists of 4 maps of participants, ### meeting.self + The `self` object can be used to manipulate audio and video settings, and other configurations for the local participant. This exposes methods to enable and disable media tracks, share the user's screen, etc. @@ -59,12 +60,14 @@ to enable and disable media tracks, share the user's screen, etc. ### meeting.meta + The `room` object stores information about the current meeting, such as chat messages, polls, room name, etc. ### meeting.ai + The `ai` object is used to interface with Dyte's AI features. You can obtain the live meeting transcript and use other meeting AI features such as summary, and agenda using this object. @@ -72,30 +75,35 @@ features such as summary, and agenda using this object. ### meeting.plugins + The `plugins` object stores information about the plugins available in the current meeting. It exposes methods to activate and deactivate them. ### meeting.chat + The chat object stores the chat messages that were sent in the meeting. This includes text messages, images, and files. ### meeting.polls + The polls object stores the polls that were initiated in the meeting. It exposes methods to create and vote on polls. ### meeting.remote + The remote object stores the remote control requests for the meeting. It exposes methods to request, accept and end the remote control. ### meeting.connectedMeetings + The connectedMeetings object stores the connected meetings states. It exposes methods to create/read/update/delete methods for connected meetings. @@ -104,18 +112,21 @@ It exposes methods to create/read/update/delete methods for connected meetings. ### meeting.join() + The `join()` method can be used to join the meeting. A `roomJoined` event is emitted on `self` when the room is joined successfully. ### meeting.leave() + The `leave()` method can be used to leave a meeting. ### ~~meeting.joinRoom()~~ -***Deprecated*** + +**_Deprecated_** The `joinRoom()` method can be used to join the meeting. A `roomJoined` event is emitted on `self` when the room is joined successfully. @@ -123,8 +134,7 @@ is emitted on `self` when the room is joined successfully. ### ~~meeting.leaveRoom()~~ -***Deprecated*** - -The `leaveRoom()` method can be used to leave a meeting. +**_Deprecated_** +The `leaveRoom()` method can be used to leave a meeting. diff --git a/docs/rn-core/reference/DyteConnectedMeetings.md b/docs/rn-core/reference/DyteConnectedMeetings.md index d162aaee3a..2a487a051e 100644 --- a/docs/rn-core/reference/DyteConnectedMeetings.md +++ b/docs/rn-core/reference/DyteConnectedMeetings.md @@ -9,49 +9,52 @@ web_core_version: 1.32.1 This consists of the methods to faciliate connected meetings - -* [DyteConnectedMeetings](#module_DyteConnectedMeetings) - * [.getConnectedMeetings()](#module_DyteConnectedMeetings+getConnectedMeetings) - * [.createMeetings()](#module_DyteConnectedMeetings+createMeetings) - * [.updateMeetings()](#module_DyteConnectedMeetings+updateMeetings) - * [.deleteMeetings()](#module_DyteConnectedMeetings+deleteMeetings) - * [.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds)](#module_DyteConnectedMeetings+moveParticipants) - * [.moveParticipantsWithCustomPreset()](#module_DyteConnectedMeetings+moveParticipantsWithCustomPreset) +- [DyteConnectedMeetings](#module_DyteConnectedMeetings) + - [.getConnectedMeetings()](#module_DyteConnectedMeetings+getConnectedMeetings) + - [.createMeetings()](#module_DyteConnectedMeetings+createMeetings) + - [.updateMeetings()](#module_DyteConnectedMeetings+updateMeetings) + - [.deleteMeetings()](#module_DyteConnectedMeetings+deleteMeetings) + - [.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds)](#module_DyteConnectedMeetings+moveParticipants) + - [.moveParticipantsWithCustomPreset()](#module_DyteConnectedMeetings+moveParticipantsWithCustomPreset) ### connectedMeetings.getConnectedMeetings() + get connected meeting state ### connectedMeetings.createMeetings() + create connected meetings ### connectedMeetings.updateMeetings() + update meeting title ### connectedMeetings.deleteMeetings() + delete connected meetings ### connectedMeetings.moveParticipants(sourceMeetingId, destinationMeetingId, participantIds) -Trigger event to move participants +Trigger event to move participants -| Param | Type | Description | -| --- | --- | --- | -| sourceMeetingId | string | id of source meeting | -| destinationMeetingId | string | id of destination meeting | -| participantIds | Array.<string> | list of id of the participants | +| Param | Type | Description | +| -------------------- | --------------------------------- | ------------------------------ | +| sourceMeetingId | string | id of source meeting | +| destinationMeetingId | string | id of destination meeting | +| participantIds | Array.<string> | list of id of the participants | ### connectedMeetings.moveParticipantsWithCustomPreset() -Trigger event to move participants with custom preset +Trigger event to move participants with custom preset diff --git a/docs/rn-core/reference/DyteLivestream.md b/docs/rn-core/reference/DyteLivestream.md index d01d07c3ad..87d254083b 100644 --- a/docs/rn-core/reference/DyteLivestream.md +++ b/docs/rn-core/reference/DyteLivestream.md @@ -10,18 +10,18 @@ web_core_version: 1.32.1 The DyteLivestream module represents the state of the current livestream, and allows to start/stop live streams. - -* [DyteLivestream](#module_DyteLivestream) - * [.start()](#module_DyteLivestream+start) - * [.stop()](#module_DyteLivestream+stop) +- [DyteLivestream](#module_DyteLivestream) + - [.start()](#module_DyteLivestream+start) + - [.stop()](#module_DyteLivestream+stop) ### livestream.start() + Starts livestreaming the meeting. ### livestream.stop() -Stops livestreaming the meeting. +Stops livestreaming the meeting. diff --git a/docs/rn-core/reference/DyteMeta.md b/docs/rn-core/reference/DyteMeta.md index c3b7246e3d..caf04f5bc6 100644 --- a/docs/rn-core/reference/DyteMeta.md +++ b/docs/rn-core/reference/DyteMeta.md @@ -9,92 +9,102 @@ web_core_version: 1.32.1 This consists of the metadata of the meeting, such as the room name and the title. - -* [DyteMeta](#module_DyteMeta) - * [.selfActiveTab](#module_DyteMeta+selfActiveTab) - * [.broadcastTabChanges](#module_DyteMeta+broadcastTabChanges) - * [.viewType](#module_DyteMeta+viewType) - * [.meetingStartedTimestamp](#module_DyteMeta+meetingStartedTimestamp) - * [.meetingTitle](#module_DyteMeta+meetingTitle) - * [.sessionId](#module_DyteMeta+sessionId) - * [.meetingId](#module_DyteMeta+meetingId) - * [.mediaConnected](#module_DyteMeta+mediaConnected) - * [.socketConnected](#module_DyteMeta+socketConnected) - * [.setBroadcastTabChanges(broadcastTabChanges)](#module_DyteMeta+setBroadcastTabChanges) - * [.setSelfActiveTab(spotlightTab)](#module_DyteMeta+setSelfActiveTab) +- [DyteMeta](#module_DyteMeta) + - [.selfActiveTab](#module_DyteMeta+selfActiveTab) + - [.broadcastTabChanges](#module_DyteMeta+broadcastTabChanges) + - [.viewType](#module_DyteMeta+viewType) + - [.meetingStartedTimestamp](#module_DyteMeta+meetingStartedTimestamp) + - [.meetingTitle](#module_DyteMeta+meetingTitle) + - [.sessionId](#module_DyteMeta+sessionId) + - [.meetingId](#module_DyteMeta+meetingId) + - [.mediaConnected](#module_DyteMeta+mediaConnected) + - [.socketConnected](#module_DyteMeta+socketConnected) + - [.setBroadcastTabChanges(broadcastTabChanges)](#module_DyteMeta+setBroadcastTabChanges) + - [.setSelfActiveTab(spotlightTab)](#module_DyteMeta+setSelfActiveTab) ### meta.selfActiveTab + Represents the current active tab ### meta.broadcastTabChanges + Represents whether current user is spotlighted ### meta.viewType + The `viewType` tells the type of the meeting possible values are: GROUP_CALL| LIVESTREAM | CHAT | AUDIO_ROOM ### meta.meetingStartedTimestamp + The timestamp of the time when the meeting started. ### meta.meetingTitle + The title of the meeting. ### meta.sessionId + (Experimental) The sessionId this meeting object is part of. ### meta.meetingId + The room name of the meeting. ### meta.mediaConnected + Has room-node connection been made. ### meta.socketConnected + This is set to true if user has succesfully connected to the socket. ### meta.setBroadcastTabChanges(broadcastTabChanges) -Sets current user as broadcasting tab changes +Sets current user as broadcasting tab changes -| Param | -| --- | -| broadcastTabChanges | +| Param | +| ------------------- | +| broadcastTabChanges | ### meta.setSelfActiveTab(spotlightTab) -Sets current active tab for user +Sets current active tab for user -| Param | -| --- | -| spotlightTab | +| Param | +| ------------ | +| spotlightTab | ### ~~meta.joined~~ -***Deprecated*** + +**_Deprecated_** ### ~~meta.roomName~~ -***Deprecated*** \ No newline at end of file + +**_Deprecated_** diff --git a/docs/rn-core/reference/DyteParticipant.md b/docs/rn-core/reference/DyteParticipant.md index 05db39ece2..5a9edc83f3 100644 --- a/docs/rn-core/reference/DyteParticipant.md +++ b/docs/rn-core/reference/DyteParticipant.md @@ -15,188 +15,217 @@ present in the `meeting.participants` object. For example, const participant1 = meeting.participants.active.get(participantId); const participant2 = meeting.participants.joined.get(participantId); const participant3 = meeting.participants.active.toArray()[0]; -const participant4 = meeting.participants.active.toArray().filter((p) => p.name === 'John'); +const participant4 = meeting.participants.active + .toArray() + .filter((p) => p.name === 'John'); ``` - -* [DyteParticipant](#module_DyteParticipant) - * [.id](#module_DyteParticipant--this.+id) - * [.userId](#module_DyteParticipant--this.+userId) - * [.name](#module_DyteParticipant--this.+name) - * [.picture](#module_DyteParticipant--this.+picture) - * [.customParticipantId](#module_DyteParticipant--this.+customParticipantId) - * [.device](#module_DyteParticipant--this.+device) - * [.videoTrack](#module_DyteParticipant--this.+videoTrack) - * [.audioTrack](#module_DyteParticipant--this.+audioTrack) - * [.screenShareTracks](#module_DyteParticipant--this.+screenShareTracks) - * [.videoEnabled](#module_DyteParticipant--this.+videoEnabled) - * [.audioEnabled](#module_DyteParticipant--this.+audioEnabled) - * [.screenShareEnabled](#module_DyteParticipant--this.+screenShareEnabled) - * [.producers](#module_DyteParticipant--this.+producers) - * [.supportsRemoteControl](#module_DyteParticipant--this.+supportsRemoteControl) - * [.presetName](#module_DyteParticipant--this.+presetName) - * [.stageStatus](#module_DyteParticipant--this.+stageStatus) - * [.roomJoined](#module_DyteParticipant--this.+roomJoined) - * [.isPinned](#module_DyteParticipant--this.+isPinned) - * [.pin()](#module_DyteParticipant--this.+pin) - * [.unpin()](#module_DyteParticipant--this.+unpin) - * [.setIsPinned()](#module_DyteParticipant--this.+setIsPinned) - * [.disableAudio()](#module_DyteParticipant--this.+disableAudio) - * [.kick()](#module_DyteParticipant--this.+kick) - * [.disableVideo()](#module_DyteParticipant--this.+disableVideo) - +- [DyteParticipant](#module_DyteParticipant) + - [.id](#module_DyteParticipant--this.+id) + - [.userId](#module_DyteParticipant--this.+userId) + - [.name](#module_DyteParticipant--this.+name) + - [.picture](#module_DyteParticipant--this.+picture) + - [.customParticipantId](#module_DyteParticipant--this.+customParticipantId) + - [.device](#module_DyteParticipant--this.+device) + - [.videoTrack](#module_DyteParticipant--this.+videoTrack) + - [.audioTrack](#module_DyteParticipant--this.+audioTrack) + - [.screenShareTracks](#module_DyteParticipant--this.+screenShareTracks) + - [.videoEnabled](#module_DyteParticipant--this.+videoEnabled) + - [.audioEnabled](#module_DyteParticipant--this.+audioEnabled) + - [.screenShareEnabled](#module_DyteParticipant--this.+screenShareEnabled) + - [.producers](#module_DyteParticipant--this.+producers) + - [.supportsRemoteControl](#module_DyteParticipant--this.+supportsRemoteControl) + - [.presetName](#module_DyteParticipant--this.+presetName) + - [.stageStatus](#module_DyteParticipant--this.+stageStatus) + - [.roomJoined](#module_DyteParticipant--this.+roomJoined) + - [.isPinned](#module_DyteParticipant--this.+isPinned) + - [.pin()](#module_DyteParticipant--this.+pin) + - [.unpin()](#module_DyteParticipant--this.+unpin) + - [.setIsPinned()](#module_DyteParticipant--this.+setIsPinned) + - [.disableAudio()](#module_DyteParticipant--this.+disableAudio) + - [.kick()](#module_DyteParticipant--this.+kick) + - [.disableVideo()](#module_DyteParticipant--this.+disableVideo) #### participant.id + The peer ID of the participant. The participants are indexed by this ID in the participant map. #### participant.userId + The user ID of the participant. #### participant.name + The name of the participant. #### participant.picture + The picture of the participant. #### participant.customParticipantId + The custom id of the participant set during Add Participant REST API #### participant.device + The device configuration of the participant. #### participant.videoTrack + The participant's video track. #### participant.audioTrack + The participant's audio track. #### participant.screenShareTracks + The participant's screenshare video and audio track. #### participant.videoEnabled + This is true if the participant's video is enabled. #### participant.audioEnabled + This is true if the participant's audio is enabled. #### participant.screenShareEnabled + This is true if the participant is screensharing. #### participant.producers + producers created by participant #### participant.supportsRemoteControl + This is true if the dyte participant supports remote control. #### participant.presetName + The preset of the participant. #### participant.stageStatus + Denotes the participants's current stage status. #### participant.roomJoined + Returns true if the local participant has joined the meeting. #### participant.isPinned + Returns true if the participant is pinned. #### participant.pin() + Returns `participant.id` if user has permission to pin participants. #### participant.unpin() + Returns `participant.id` if user has permission to unpin participants. #### participant.setIsPinned() + #### participant.disableAudio() + Disables audio for this participant. Requires the permission to disable participant audio. #### participant.kick() + Kicks this participant from the meeting. Requires the permission to kick a participant. #### participant.disableVideo() + Disables video for this participant. Requires the permission to disable video for a participant. #### ~~participant.acceptJoinStageRequest()~~ -***Deprecated*** + +**_Deprecated_** #### ~~participant.rejectRequestToJoinStage()~~ -***Deprecated*** + +**_Deprecated_** #### ~~participant.removeFromStage()~~ -***Deprecated*** + +**_Deprecated_** #### ~~participant.setWebinarStageStatus()~~ -***Deprecated*** +**_Deprecated_** #### ~~participant.clientSpecificId~~ -***Deprecated*** + +**_Deprecated_** #### ~~participant.webinarStageStatus~~ -***Deprecated*** + +**_Deprecated_** diff --git a/docs/rn-core/reference/DyteParticipantMap.md b/docs/rn-core/reference/DyteParticipantMap.md index 4bf814ca13..9eec9b1d2b 100644 --- a/docs/rn-core/reference/DyteParticipantMap.md +++ b/docs/rn-core/reference/DyteParticipantMap.md @@ -9,6 +9,7 @@ web_core_version: 1.32.1 The following objects are `DyteParticipantMap` objects It consists of 4 maps: + - `joined`: A map of all participants that have joined the meeting. - `waitlisted`: A map of all participants that have been added to the waitlist. - `active`: A map of active participants who should be displayed in the meeting grid. @@ -17,8 +18,8 @@ It consists of 4 maps: These are all the map of participants, indexed by `participant.id` (a participant's peer ID). This map emits events + - `participantJoined` when a participant is added to the map - `participantLeft` when a participant is deleted to the map This map also re-emits events emitted to a participant. For eg. if User A is in `joined` map, and User A's object emits an event `videoUpdate`, the map re-emits that event. - diff --git a/docs/rn-core/reference/DyteParticipants.md b/docs/rn-core/reference/DyteParticipants.md index 1449a14bbc..d64870d791 100644 --- a/docs/rn-core/reference/DyteParticipants.md +++ b/docs/rn-core/reference/DyteParticipants.md @@ -9,80 +9,87 @@ web_core_version: 1.32.1 This module represents all the participants in the meeting (except the local user). It consists of 4 maps: + - `joined`: A map of all participants that have joined the meeting. - `waitlisted`: A map of all participants that have been added to the waitlist. - `active`: A map of active participants who should be displayed in the meeting grid. - `pinned`: A map of pinned participants. - * [DyteParticipants](#module_DyteParticipants) - * [.waitlisted](#module_DyteParticipants--module.exports+waitlisted) - * [.joined](#module_DyteParticipants--module.exports+joined) - * [.active](#module_DyteParticipants--module.exports+active) - * [.pinned](#module_DyteParticipants--module.exports+pinned) - * [.all](#module_DyteParticipants--module.exports+all) - * [.pip](#module_DyteParticipants--module.exports+pip) - * [.roomJoined](#module_DyteParticipants--module.exports+roomJoined) - * [.viewMode](#module_DyteParticipants--module.exports+viewMode) - * [.currentPage](#module_DyteParticipants--module.exports+currentPage) - * [.lastActiveSpeaker](#module_DyteParticipants--module.exports+lastActiveSpeaker) - * [.selectedPeers](#module_DyteParticipants--module.exports+selectedPeers) - * [.count](#module_DyteParticipants--module.exports+count) - * [.maxActiveParticipantsCount](#module_DyteParticipants--module.exports+maxActiveParticipantsCount) - * [.pageCount](#module_DyteParticipants--module.exports+pageCount) - * [.setMaxActiveParticipantsCount(limit:)](#module_DyteParticipants--module.exports+setMaxActiveParticipantsCount) - * [.acceptWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+acceptWaitingRoomRequest) - * [.acceptAllWaitingRoomRequest()](#module_DyteParticipants--module.exports+acceptAllWaitingRoomRequest) - * [.rejectWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+rejectWaitingRoomRequest) - * [.setViewMode(viewMode)](#module_DyteParticipants--module.exports+setViewMode) - * [.setPage(page)](#module_DyteParticipants--module.exports+setPage) - * [.disableAllAudio(allowUnmute)](#module_DyteParticipants--module.exports+disableAllAudio) - * [.disableAllVideo()](#module_DyteParticipants--module.exports+disableAllVideo) - * [.kickAll()](#module_DyteParticipants--module.exports+kickAll) - * [.broadcastMessage(target)](#module_DyteParticipants--module.exports+broadcastMessage) - * [.getAllJoinedPeers()](#module_DyteParticipants--module.exports+getAllJoinedPeers) - * [.getParticipantsInMeetingPreJoin()](#module_DyteParticipants--module.exports+getParticipantsInMeetingPreJoin) - + - [.waitlisted](#module_DyteParticipants--module.exports+waitlisted) + - [.joined](#module_DyteParticipants--module.exports+joined) + - [.active](#module_DyteParticipants--module.exports+active) + - [.pinned](#module_DyteParticipants--module.exports+pinned) + - [.all](#module_DyteParticipants--module.exports+all) + - [.pip](#module_DyteParticipants--module.exports+pip) + - [.roomJoined](#module_DyteParticipants--module.exports+roomJoined) + - [.viewMode](#module_DyteParticipants--module.exports+viewMode) + - [.currentPage](#module_DyteParticipants--module.exports+currentPage) + - [.lastActiveSpeaker](#module_DyteParticipants--module.exports+lastActiveSpeaker) + - [.selectedPeers](#module_DyteParticipants--module.exports+selectedPeers) + - [.count](#module_DyteParticipants--module.exports+count) + - [.maxActiveParticipantsCount](#module_DyteParticipants--module.exports+maxActiveParticipantsCount) + - [.pageCount](#module_DyteParticipants--module.exports+pageCount) + - [.setMaxActiveParticipantsCount(limit:)](#module_DyteParticipants--module.exports+setMaxActiveParticipantsCount) + - [.acceptWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+acceptWaitingRoomRequest) + - [.acceptAllWaitingRoomRequest()](#module_DyteParticipants--module.exports+acceptAllWaitingRoomRequest) + - [.rejectWaitingRoomRequest(id)](#module_DyteParticipants--module.exports+rejectWaitingRoomRequest) + - [.setViewMode(viewMode)](#module_DyteParticipants--module.exports+setViewMode) + - [.setPage(page)](#module_DyteParticipants--module.exports+setPage) + - [.disableAllAudio(allowUnmute)](#module_DyteParticipants--module.exports+disableAllAudio) + - [.disableAllVideo()](#module_DyteParticipants--module.exports+disableAllVideo) + - [.kickAll()](#module_DyteParticipants--module.exports+kickAll) + - [.broadcastMessage(target)](#module_DyteParticipants--module.exports+broadcastMessage) + - [.getAllJoinedPeers()](#module_DyteParticipants--module.exports+getAllJoinedPeers) + - [.getParticipantsInMeetingPreJoin()](#module_DyteParticipants--module.exports+getParticipantsInMeetingPreJoin) ### participants.waitlisted + Returns a list of participants waiting to join the meeting. ### participants.joined + Returns a list of all participants in the meeting. ### participants.active + Returns a list of participants whose streams are currently consumed. ### participants.pinned + Returns a list of participants who have been pinned. ### participants.all + Returns all added participants irrespective of whether they are currently in the meeting or not ### participants.pip + Return the controls for Picture-in-Picture ### participants.roomJoined + Returns true if the local participant has joined the meeting. ### participants.viewMode + Indicates whether the meeting is in 'ACTIVE_GRID' mode or 'PAGINATED' mode. In 'ACTIVE_GRID' mode, participants are populated in the participants.active map @@ -96,61 +103,68 @@ changed by the user using setPage(page). ### participants.currentPage + This indicates the current page that has been set by the user in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0. ### participants.lastActiveSpeaker + This stores the `participantId` of the last participant who spoke in the meeting. ### participants.selectedPeers + Keeps a list of all participants who have been present in the selected peers list. ### participants.count + Returns the number of participants who are joined in the meeting. ### participants.maxActiveParticipantsCount + Returns the maximum number of participants that can be present in the active map. ### participants.pageCount + Returns the number of pages that are available in the meeting in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0. ### participants.setMaxActiveParticipantsCount(limit:) + Updates the maximum number of participants that are populated in the active map. - -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ----------------- | | limit: | Updated max limit | ### participants.acceptWaitingRoomRequest(id) + Accepts requests from waitlisted participants if user has appropriate permissions. - -| Param | Description | -| --- | --- | -| id | peerId or userId of the waitlisted participant. | +| Param | Description | +| ----- | ----------------------------------------------- | +| id | peerId or userId of the waitlisted participant. | ### participants.acceptAllWaitingRoomRequest() + We need a new event for socket service events since if we send them all together, sequence of events can be unreliable @@ -158,106 +172,110 @@ can be unreliable ### participants.rejectWaitingRoomRequest(id) + Rejects requests from waitlisted participants if user has appropriate permissions. - -| Param | Description | -| --- | --- | -| id | participantId of the waitlisted participant. | +| Param | Description | +| ----- | -------------------------------------------- | +| id | participantId of the waitlisted participant. | ### participants.setViewMode(viewMode) -Sets the view mode of the meeting to either ACTIVE_GRID or PAGINATED. +Sets the view mode of the meeting to either ACTIVE_GRID or PAGINATED. -| Param | Description | -| --- | --- | +| Param | Description | +| -------- | ---------------------------------------------------- | | viewMode | The mode in which the active map should be populated | ### participants.setPage(page) + Populates the active map with participants present in the page number indicated by the parameter `page` in PAGINATED mode. Does not do anything in ACTIVE_GRID mode. - -| Param | Description | -| --- | --- | -| page | The page number to be set. | +| Param | Description | +| ----- | -------------------------- | +| page | The page number to be set. | ### participants.disableAllAudio(allowUnmute) -Disables audio for all participants in the meeting. +Disables audio for all participants in the meeting. -| Param | Description | -| --- | --- | +| Param | Description | +| ----------- | -------------------------------------------------- | | allowUnmute | Allow participants to unmute after they are muted. | ### participants.disableAllVideo() + Disables video for all participants in the meeting. ### participants.~~disableAudio(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------ | | participantId | ID of participant to be muted. | ### participants.~~disableVideo(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------ | | participantId | ID of participant to be muted. | ### participants.~~kick(participantId)~~ -***Deprecated*** +**_Deprecated_** -| Param | Description | -| --- | --- | +| Param | Description | +| ------------- | ------------------------------- | | participantId | ID of participant to be kicked. | ### participants.kickAll() + Kicks all participants from the meeting. ### participants.broadcastMessage(target) + Broadcasts the message to participants If no `target` is specified it is sent to all participants including `self`. - -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------------------------------------------------------------------------------------------------- | | target | object containing a list of `participantIds` or object containing `presetName` - every user with that preset will be sent the message | ### participants.~~acceptAllRequestToJoinStageRequests()~~ -***Deprecated*** + +**_Deprecated_** ### participants.getAllJoinedPeers() + Returns all peers currently present in the room If you are in a group call, use `meeting.participants.joined` instead @@ -265,6 +283,7 @@ instead ### participants.getParticipantsInMeetingPreJoin() + Returns all peers currently in the room, is a non paginated call and should only be used if you are in a non room joined state, if in a joined group call, use `meeting.participants.joined` diff --git a/docs/rn-core/reference/DytePermissionsPreset.md b/docs/rn-core/reference/DytePermissionsPreset.md index 649c04789e..8ceb354c14 100644 --- a/docs/rn-core/reference/DytePermissionsPreset.md +++ b/docs/rn-core/reference/DytePermissionsPreset.md @@ -9,56 +9,59 @@ web_core_version: 1.32.1 The DytePermissionsPreset class represents the meeting permissions for the current participant - -* [DytePermissionsPreset](#module_DytePermissionsPreset) - * [.stageEnabled](#module_DytePermissionsPreset+stageEnabled) - * [.stageAccess](#module_DytePermissionsPreset+stageAccess) - * [.acceptWaitingRequests](#module_DytePermissionsPreset+acceptWaitingRequests) - * [.requestProduceVideo](#module_DytePermissionsPreset+requestProduceVideo) - * [.requestProduceAudio](#module_DytePermissionsPreset+requestProduceAudio) - * [.requestProduceScreenshare](#module_DytePermissionsPreset+requestProduceScreenshare) - * [.canAllowParticipantAudio](#module_DytePermissionsPreset+canAllowParticipantAudio) - * [.canAllowParticipantScreensharing](#module_DytePermissionsPreset+canAllowParticipantScreensharing) - * [.canAllowParticipantVideo](#module_DytePermissionsPreset+canAllowParticipantVideo) - * [.canDisableParticipantAudio](#module_DytePermissionsPreset+canDisableParticipantAudio) - * [.canDisableParticipantVideo](#module_DytePermissionsPreset+canDisableParticipantVideo) - * [.kickParticipant](#module_DytePermissionsPreset+kickParticipant) - * [.pinParticipant](#module_DytePermissionsPreset+pinParticipant) - * [.canRecord](#module_DytePermissionsPreset+canRecord) - * [.waitingRoomBehaviour](#module_DytePermissionsPreset+waitingRoomBehaviour) - * [.plugins](#module_DytePermissionsPreset+plugins) - * [.polls](#module_DytePermissionsPreset+polls) - * [.canProduceVideo](#module_DytePermissionsPreset+canProduceVideo) - * [.canProduceScreenshare](#module_DytePermissionsPreset+canProduceScreenshare) - * [.canProduceAudio](#module_DytePermissionsPreset+canProduceAudio) - * [.chatPublic](#module_DytePermissionsPreset+chatPublic) - * [.chatPrivate](#module_DytePermissionsPreset+chatPrivate) - * [.hiddenParticipant](#module_DytePermissionsPreset+hiddenParticipant) - * [.showParticipantList](#module_DytePermissionsPreset+showParticipantList) - * [.canChangeParticipantPermissions](#module_DytePermissionsPreset+canChangeParticipantPermissions) - * [.canLivestream](#module_DytePermissionsPreset+canLivestream) +- [DytePermissionsPreset](#module_DytePermissionsPreset) + - [.stageEnabled](#module_DytePermissionsPreset+stageEnabled) + - [.stageAccess](#module_DytePermissionsPreset+stageAccess) + - [.acceptWaitingRequests](#module_DytePermissionsPreset+acceptWaitingRequests) + - [.requestProduceVideo](#module_DytePermissionsPreset+requestProduceVideo) + - [.requestProduceAudio](#module_DytePermissionsPreset+requestProduceAudio) + - [.requestProduceScreenshare](#module_DytePermissionsPreset+requestProduceScreenshare) + - [.canAllowParticipantAudio](#module_DytePermissionsPreset+canAllowParticipantAudio) + - [.canAllowParticipantScreensharing](#module_DytePermissionsPreset+canAllowParticipantScreensharing) + - [.canAllowParticipantVideo](#module_DytePermissionsPreset+canAllowParticipantVideo) + - [.canDisableParticipantAudio](#module_DytePermissionsPreset+canDisableParticipantAudio) + - [.canDisableParticipantVideo](#module_DytePermissionsPreset+canDisableParticipantVideo) + - [.kickParticipant](#module_DytePermissionsPreset+kickParticipant) + - [.pinParticipant](#module_DytePermissionsPreset+pinParticipant) + - [.canRecord](#module_DytePermissionsPreset+canRecord) + - [.waitingRoomBehaviour](#module_DytePermissionsPreset+waitingRoomBehaviour) + - [.plugins](#module_DytePermissionsPreset+plugins) + - [.polls](#module_DytePermissionsPreset+polls) + - [.canProduceVideo](#module_DytePermissionsPreset+canProduceVideo) + - [.canProduceScreenshare](#module_DytePermissionsPreset+canProduceScreenshare) + - [.canProduceAudio](#module_DytePermissionsPreset+canProduceAudio) + - [.chatPublic](#module_DytePermissionsPreset+chatPublic) + - [.chatPrivate](#module_DytePermissionsPreset+chatPrivate) + - [.hiddenParticipant](#module_DytePermissionsPreset+hiddenParticipant) + - [.showParticipantList](#module_DytePermissionsPreset+showParticipantList) + - [.canChangeParticipantPermissions](#module_DytePermissionsPreset+canChangeParticipantPermissions) + - [.canLivestream](#module_DytePermissionsPreset+canLivestream) ### permissions.stageEnabled + The `stageEnabled` property returns a boolean value. If `true`, stage management is available for the participant. ### permissions.stageAccess + The `stageAccess` property dictactes how a user interacts with the stage. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST`; ### permissions.acceptWaitingRequests + The `acceptWaitingRequests` returns boolean value. If `true`, participant can accept the request of waiting participant. ### permissions.requestProduceVideo + The `requestProduceVideo` returns boolean value. If `true`, participant can send request to participants about producing video. @@ -66,6 +69,7 @@ about producing video. ### permissions.requestProduceAudio + The `requestProduceAudio` returns boolean value. If `true`, participant can send request to participants about producing audio. @@ -73,6 +77,7 @@ about producing audio. ### permissions.requestProduceScreenshare + The `requestProduceScreenshare` returns boolean value. If `true`, participant can send request to participants about sharing screen. @@ -80,52 +85,61 @@ about sharing screen. ### permissions.canAllowParticipantAudio + The `canAllowParticipantAudio` returns boolean value. If `true`, participant can enable other participants` audio. ### permissions.canAllowParticipantScreensharing + The `canAllowParticipantScreensharing` returns boolean value. If `true`, participant can enable other participants` screen share. ### permissions.canAllowParticipantVideo + The `canAllowParticipantVideo` returns boolean value. If `true`, participant can enable other participants` video. ### permissions.canDisableParticipantAudio + If `true`, a participant can disable other participants` audio. ### permissions.canDisableParticipantVideo + If `true`, a participant can disable other participants` video. ### permissions.kickParticipant + The `kickParticipant` returns boolean value. If `true`, participant can remove other participants from the meeting. ### permissions.pinParticipant + The `pinParticipant` returns boolean value. If `true`, participant can pin a participant in the meeting. ### permissions.canRecord + The `canRecord` returns boolean value. If `true`, participant can record the meeting. ### permissions.waitingRoomBehaviour + The `waitingRoomType` returns string value. type of waiting room behavior possible values are `SKIP`, `ON_PRIVILEGED_USER_ENTRY`, `SKIP_ON_ACCEPT` @@ -133,38 +147,42 @@ possible values are `SKIP`, `ON_PRIVILEGED_USER_ENTRY`, `SKIP_ON_ACCEPT` ### permissions.plugins + The `plugins` tells if the participant can act on plugins there are 2 permissions with boolean values, `canStart` and `canClose`. ### permissions.polls + The `polls` tells if the participant can use polls. There are 3 permissions with boolean values, `canCreate`, `canVote`, `canViewResults` - ### permissions.canProduceVideo + The `canProduceVideo` shows permissions for enabling video. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` ### permissions.canProduceScreenshare + The `canProduceScreenshare` shows permissions for sharing screen. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` - ### permissions.canProduceAudio + The `canProduceAudio` shows permissions for enabling audio. There possible values are `ALLOWED`, `NOT_ALLOWED`, `CAN_REQUEST` ### permissions.chatPublic + The `chatPublic` shows permissions for public chat there are 4 permissions `canSend` - if true, the participant can send chat @@ -174,6 +192,7 @@ there are 4 permissions ### permissions.chatPrivate + The `chatPrivate` shows permissions for public chat there are 4 permissions `canSend` - if true, the participant can send private chat @@ -184,74 +203,86 @@ there are 4 permissions ### permissions.hiddenParticipant + The `hiddenParticipant` returns boolean value. If `true`, participant is hidden. ### permissions.showParticipantList + The `showParticipantList` returns boolean value. If `true`, participant list can be shown to the participant. ### permissions.canChangeParticipantPermissions + The `canChangeParticipantPermissions` returns boolean value. If `true`, allow changing the participants' permissions. ### permissions.canLivestream -Livestream +Livestream - ### ~~permissions.canChangeTheme~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.canPresent~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.acceptPresentRequests~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.maxScreenShareCount~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceAudio~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceScreenshare~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.waitingRoomType~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.produceVideo~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.requestProduce~~ -***Deprecated*** + +**_Deprecated_** ### ~~permissions.canChangeParticipantRole~~ -***Deprecated*** + +**_Deprecated_** diff --git a/docs/rn-core/reference/DytePlugin.md b/docs/rn-core/reference/DytePlugin.md index 3ae1e90d67..94661e9991 100644 --- a/docs/rn-core/reference/DytePlugin.md +++ b/docs/rn-core/reference/DytePlugin.md @@ -10,96 +10,102 @@ web_core_version: 1.32.1 The DytePlugin module represents a single plugin in the meeting. A plugin can be obtained from one of the plugin arrays in `meeting.plugins`. For example, + ```ts const plugin1 = meeting.plugins.active.get(pluginId); const plugin2 = meeting.plugins.all.get(pluginId); ``` - -* [DytePlugin](#module_DytePlugin) - * [.roomJoined](#module_DytePlugin+roomJoined) - * [.sendIframeEvent(message)](#module_DytePlugin+sendIframeEvent) - * [.sendData(payload)](#module_DytePlugin+sendData) - * [.removePluginView(viewId)](#module_DytePlugin+removePluginView) - * [.addPluginView(iframe, viewId)](#module_DytePlugin+addPluginView) - * [.activateForSelf()](#module_DytePlugin+activateForSelf) - * [.deactivateForSelf()](#module_DytePlugin+deactivateForSelf) - * ~~[.enable()](#module_DytePlugin+enable)~~ - * ~~[.disable()](#module_DytePlugin+disable)~~ - * [.activate()](#module_DytePlugin+activate) - * [.deactivate()](#module_DytePlugin+deactivate) +- [DytePlugin](#module_DytePlugin) + - [.roomJoined](#module_DytePlugin+roomJoined) + - [.sendIframeEvent(message)](#module_DytePlugin+sendIframeEvent) + - [.sendData(payload)](#module_DytePlugin+sendData) + - [.removePluginView(viewId)](#module_DytePlugin+removePluginView) + - [.addPluginView(iframe, viewId)](#module_DytePlugin+addPluginView) + - [.activateForSelf()](#module_DytePlugin+activateForSelf) + - [.deactivateForSelf()](#module_DytePlugin+deactivateForSelf) + - ~~[.enable()](#module_DytePlugin+enable)~~ + - ~~[.disable()](#module_DytePlugin+disable)~~ + - [.activate()](#module_DytePlugin+activate) + - [.deactivate()](#module_DytePlugin+deactivate) ### plugin.roomJoined + Returns true if the local participant has joined the meeting. ### plugin.sendIframeEvent(message) -| Param | Description | -| --- | --- | +| Param | Description | +| ------- | ---------------------------------------- | | message | Socket message forwarded to this plugin. | ### plugin.sendData(payload) -This method is used to send arbitrary data to the plugin. +This method is used to send arbitrary data to the plugin. -| Param | Description | -| --- | --- | -| payload | The payload that you want to send inside the plugin. | +| Param | Description | +| ----------------- | ---------------------------------------------------------------------- | +| payload | The payload that you want to send inside the plugin. | | payload.eventName | Name of the event. This is used to listen for the event in plugin SDK. | -| payload.data | Data you wish to emit. It can assume any data type. | +| payload.data | Data you wish to emit. It can assume any data type. | ### plugin.removePluginView(viewId) + This method is used for cleaning up event listeners attached to an iframe. It must be used before the iframe is removed from the DOM. - -| Param | Default | Description | -| --- | --- | --- | +| Param | Default | Description | +| ------ | -------------------- | ------------------------------------------------------------------ | | viewId | default | ID of the view corresponding to this iframe. Default is 'default'. | ### plugin.addPluginView(iframe, viewId) + This method adds the communcation layer between the plugin inside the iframe and the core application (meeting object) in the main window. - -| Param | Default | Description | -| --- | --- | --- | -| iframe | | Iframe element to display this plugin. | +| Param | Default | Description | +| ------ | -------------------- | ------------------------------------------------------------------ | +| iframe | | Iframe element to display this plugin. | | viewId | default | ID of the view corresponding to this iframe. Default is 'default'. | ### plugin.activateForSelf() + ### plugin.deactivateForSelf() + ### ~~plugin.enable()~~ -***Deprecated*** + +**_Deprecated_** ### ~~plugin.disable()~~ -***Deprecated*** + +**_Deprecated_** ### plugin.activate() + Activate this plugin for all participants. ### plugin.deactivate() -Deactivate this plugin for all participants. +Deactivate this plugin for all participants. diff --git a/docs/rn-core/reference/DytePluginMap.md b/docs/rn-core/reference/DytePluginMap.md index ee22516c95..fc45cb60e7 100644 --- a/docs/rn-core/reference/DytePluginMap.md +++ b/docs/rn-core/reference/DytePluginMap.md @@ -12,4 +12,3 @@ This map emits an event whenever a plugin present in the map emits an event. For example, when a plugin is added to this map, a `pluginAdded` event is emitted from the map. When a plugin object emits an event `stateUpdate`, the map re-emits that event (provided the plugin is present in the map). - diff --git a/docs/rn-core/reference/DytePlugins.md b/docs/rn-core/reference/DytePlugins.md index a7eb702746..90b00ea3f2 100644 --- a/docs/rn-core/reference/DytePlugins.md +++ b/docs/rn-core/reference/DytePlugins.md @@ -8,21 +8,22 @@ web_core_version: 1.32.1 The DytePlugins module consists of all the plugins in the meeting. It has 2 maps: + - `all`: Consists of all the plugins in the meeting. - `active`: Consists of the plugins that are currently in use. - * [DytePlugins](#module_DytePlugins) - * [.all](#module_DytePlugins+all) - * [.active](#module_DytePlugins+active) + - [.all](#module_DytePlugins+all) + - [.active](#module_DytePlugins+active) ### plugins.all + All plugins accessible by the current user. ### plugins.active -All plugins that are currently enabled in the room. +All plugins that are currently enabled in the room. diff --git a/docs/rn-core/reference/DytePolls.md b/docs/rn-core/reference/DytePolls.md index c8cb597b8b..2eebc0deb7 100644 --- a/docs/rn-core/reference/DytePolls.md +++ b/docs/rn-core/reference/DytePolls.md @@ -9,44 +9,44 @@ web_core_version: 1.32.1 The DytePolls module consists of the polls that have been created in the meeting. - -* [DytePolls](#module_DytePolls) - * [.items](#module_DytePolls+items) - * [.roomJoined](#module_DytePolls+roomJoined) - * [.create(question, options, anonymous, hideVotes)](#module_DytePolls+create) - * [.vote(pollId, index)](#module_DytePolls+vote) +- [DytePolls](#module_DytePolls) + - [.items](#module_DytePolls+items) + - [.roomJoined](#module_DytePolls+roomJoined) + - [.create(question, options, anonymous, hideVotes)](#module_DytePolls+create) + - [.vote(pollId, index)](#module_DytePolls+vote) ### polls.items + An array of poll items. ### polls.roomJoined + Returns true if the local participant has joined the meeting. ### polls.create(question, options, anonymous, hideVotes) -Creates a poll in the meeting. +Creates a poll in the meeting. -| Param | Default | Description | -| --- | --- | --- | -| question | | The question that is to be voted for. | -| options | | The options of the poll. | -| anonymous | false | If true, the poll votes are anonymous. | +| Param | Default | Description | +| --------- | ------------------ | ------------------------------------------ | +| question | | The question that is to be voted for. | +| options | | The options of the poll. | +| anonymous | false | If true, the poll votes are anonymous. | | hideVotes | false | If true, the votes on the poll are hidden. | ### polls.vote(pollId, index) -Casts a vote on an existing poll. +Casts a vote on an existing poll. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------ | | pollId | The ID of the poll that is to be voted on. | -| index | The index of the option. | - +| index | The index of the option. | diff --git a/docs/rn-core/reference/DyteRecording.md b/docs/rn-core/reference/DyteRecording.md index 8184315078..f72aff06e1 100644 --- a/docs/rn-core/reference/DyteRecording.md +++ b/docs/rn-core/reference/DyteRecording.md @@ -10,30 +10,32 @@ web_core_version: 1.32.1 The DyteRecording module represents the state of the current recording, and allows to start/stop recordings and check if there's a recording in progress. - -* [DyteRecording](#module_DyteRecording) - * [.start()](#module_DyteRecording+start) - * [.stop()](#module_DyteRecording+stop) - * [.pause()](#module_DyteRecording+pause) - * [.resume()](#module_DyteRecording+resume) +- [DyteRecording](#module_DyteRecording) + - [.start()](#module_DyteRecording+start) + - [.stop()](#module_DyteRecording+stop) + - [.pause()](#module_DyteRecording+pause) + - [.resume()](#module_DyteRecording+resume) ### recording.start() + Starts recording the meeting. ### recording.stop() + Stops all recording currently in 'RECORDING' state ### recording.pause() + Pauses all recording currently in 'RECORDING' state ### recording.resume() -Resumes all recording currently in 'PAUSED' state +Resumes all recording currently in 'PAUSED' state diff --git a/docs/rn-core/reference/DyteRemote.md b/docs/rn-core/reference/DyteRemote.md index 5e5b61f554..48ca4f675b 100644 --- a/docs/rn-core/reference/DyteRemote.md +++ b/docs/rn-core/reference/DyteRemote.md @@ -10,35 +10,35 @@ web_core_version: 1.32.1 This module provides the ability to control a remotely shared screen using mouse and keyboard. Methods are available to request, accept and end control of shared screen. - -* [DyteRemote](#module_DyteRemote) - * [.requestControl(peerId)](#module_DyteRemote+requestControl) ⇒ - * [.acceptControl(requestId)](#module_DyteRemote+acceptControl) - * [.endControl()](#module_DyteRemote+endControl) +- [DyteRemote](#module_DyteRemote) + - [.requestControl(peerId)](#module_DyteRemote+requestControl) ⇒ + - [.acceptControl(requestId)](#module_DyteRemote+acceptControl) + - [.endControl()](#module_DyteRemote+endControl) ### meeting.remote.requestControl(peerId) ⇒ + Sends a request to a peer for remote control. -**Returns**: request identifier for the control request. +**Returns**: request identifier for the control request. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | --------------------------------------------------------- | | peerId | The peer that needs to receive the remote control request | ### meeting.remote.acceptControl(requestId) -Accepts a remote control request from a peer. +Accepts a remote control request from a peer. -| Param | Description | -| --- | --- | +| Param | Description | +| --------- | ------------------------------------------------ | | requestId | The request identifier that needs to be accepted | ### meeting.remote.endControl() -End an active remote control. +End an active remote control. diff --git a/docs/rn-core/reference/DyteSelf.md b/docs/rn-core/reference/DyteSelf.md index f2f3643948..43794d67be 100644 --- a/docs/rn-core/reference/DyteSelf.md +++ b/docs/rn-core/reference/DyteSelf.md @@ -11,34 +11,33 @@ The DyteSelf module represents the current user, and allows to modify the state of the user in the meeting. The audio and video streams of the user can be retrieved from this module. - -* [DyteSelf](#module_DyteSelf) - * [.roomState](#module_DyteSelf+roomState) - * [.permissions](#module_DyteSelf+permissions) - * [.config](#module_DyteSelf+config) - * [.roomJoined](#module_DyteSelf+roomJoined) - * [.isPinned](#module_DyteSelf+isPinned) - * [.setName(name)](#module_DyteSelf+setName) - * [.setupTracks(options)](#module_DyteSelf+setupTracks) - * [.enableAudio()](#module_DyteSelf+enableAudio) - * [.enableVideo()](#module_DyteSelf+enableVideo) - * [.updateVideoConstraints()](#module_DyteSelf+updateVideoConstraints) - * [.enableScreenShare()](#module_DyteSelf+enableScreenShare) - * [.updateScreenshareConstraints()](#module_DyteSelf+updateScreenshareConstraints) - * [.disableAudio()](#module_DyteSelf+disableAudio) - * [.disableVideo()](#module_DyteSelf+disableVideo) - * [.disableScreenShare()](#module_DyteSelf+disableScreenShare) - * [.getAllDevices()](#module_DyteSelf+getAllDevices) - * [.setIsPinned()](#module_DyteSelf+setIsPinned) - * [.pin()](#module_DyteSelf+pin) - * [.unpin()](#module_DyteSelf+unpin) - - +- [DyteSelf](#module_DyteSelf) + - [.roomState](#module_DyteSelf+roomState) + - [.permissions](#module_DyteSelf+permissions) + - [.config](#module_DyteSelf+config) + - [.roomJoined](#module_DyteSelf+roomJoined) + - [.isPinned](#module_DyteSelf+isPinned) + - [.setName(name)](#module_DyteSelf+setName) + - [.setupTracks(options)](#module_DyteSelf+setupTracks) + - [.enableAudio()](#module_DyteSelf+enableAudio) + - [.enableVideo()](#module_DyteSelf+enableVideo) + - [.updateVideoConstraints()](#module_DyteSelf+updateVideoConstraints) + - [.enableScreenShare()](#module_DyteSelf+enableScreenShare) + - [.updateScreenshareConstraints()](#module_DyteSelf+updateScreenshareConstraints) + - [.disableAudio()](#module_DyteSelf+disableAudio) + - [.disableVideo()](#module_DyteSelf+disableVideo) + - [.disableScreenShare()](#module_DyteSelf+disableScreenShare) + - [.getAllDevices()](#module_DyteSelf+getAllDevices) + - [.setIsPinned()](#module_DyteSelf+setIsPinned) + - [.pin()](#module_DyteSelf+pin) + - [.unpin()](#module_DyteSelf+unpin) ### self.roomState + Returns the current state of room + - init - Inital State - joined - User is in the meeting - waitlisted - User is in the waitlist state @@ -47,7 +46,6 @@ Returns the current state of room - left - User left the meeting - ended - The meeting was ended - ```mermaid stateDiagram-v2 direction LR @@ -68,163 +66,187 @@ stateDiagram-v2 ### self.permissions + Returns the current permission given to the user for the meeting. ### self.config + Returns configuration for the meeting. ### self.roomJoined + Returns true if the local participant has joined the meeting. ### self.isPinned -Returns true if the current user is pinned. +Returns true if the current user is pinned. ### self.setName(name) + The name of the user can be set by calling this method. This will get reflected to other participants ONLY if this method is called before the room is joined. - -| Param | Description | -| --- | --- | -| name | Name of the user. | +| Param | Description | +| ----- | ----------------- | +| name | Name of the user. | ### self.setupTracks(options) -Sets up the local media tracks. +Sets up the local media tracks. -| Param | Description | -| --- | --- | -| options | The audio and video options. | +| Param | Description | +| ------------- | ------------------------------------- | +| options | The audio and video options. | | options.video | If true, the video stream is fetched. | | options.audio | If true, the audio stream is fetched. | ### self.enableAudio() + This method is used to unmute the local participant's audio. ### self.enableVideo() + This method is used to start streaming the local participant's video to the meeting. ### self.updateVideoConstraints() + This method is used to apply constraints to the current video stream. ### self.enableScreenShare() + This method is used to start sharing the local participant's screen to the meeting. ### self.updateScreenshareConstraints() + This method is used to apply constraints to the current screenshare stream. ### self.disableAudio() + This method is used to mute the local participant's audio. ### self.disableVideo() + This participant is used to disable the local participant's video. ### self.disableScreenShare() + This method is used to stop sharing the local participant's screen. ### self.getAllDevices() + Returns all media devices accessible by the local participant. ### self.setIsPinned() + ### self.pin() + Returns `self.id` if user has permission to pin participants. ### self.unpin() + Returns `self.id` if user has permission to unpin participants. ### self.setDevice(device) -Change the current media device that is being used by the local participant. +Change the current media device that is being used by the local participant. -| Param | Description | -| --- | --- | +| Param | Description | +| ------ | ------------------------------------------------------------------------------------------------ | | device | The device that is to be used. A device of the same `kind` will be replaced. the primary stream. | ### ~~self.requestToJoinStage()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.withdrawRequestToJoinStage()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.leaveStage()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.joinStage()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.setWebinarStageStatus()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.disablePreview()~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.clientSpecificId~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.suggestedTheme~~ -***Deprecated*** + +**_Deprecated_** ### ~~self.webinarStageStatus~~ -***Deprecated*** \ No newline at end of file + +**_Deprecated_** diff --git a/docs/rn-core/reference/DyteStage.md b/docs/rn-core/reference/DyteStage.md index 5541560261..f147542c29 100644 --- a/docs/rn-core/reference/DyteStage.md +++ b/docs/rn-core/reference/DyteStage.md @@ -12,49 +12,54 @@ Stage refers to a virtual area, where participants stream are visible to other p When a participant is off stage, they are not producing media but only consuming media from participants who are on Stage - -* [DyteStage](#module_DyteStage) - * [.getAccessRequests()](#module_DyteStage+getAccessRequests) - * [.requestAccess()](#module_DyteStage+requestAccess) - * [.cancelRequestAccess()](#module_DyteStage+cancelRequestAccess) - * [.grantAccess()](#module_DyteStage+grantAccess) - * [.denyAccess()](#module_DyteStage+denyAccess) - * [.join()](#module_DyteStage+join) - * [.leave()](#module_DyteStage+leave) - * [.kick()](#module_DyteStage+kick) +- [DyteStage](#module_DyteStage) + - [.getAccessRequests()](#module_DyteStage+getAccessRequests) + - [.requestAccess()](#module_DyteStage+requestAccess) + - [.cancelRequestAccess()](#module_DyteStage+cancelRequestAccess) + - [.grantAccess()](#module_DyteStage+grantAccess) + - [.denyAccess()](#module_DyteStage+denyAccess) + - [.join()](#module_DyteStage+join) + - [.leave()](#module_DyteStage+leave) + - [.kick()](#module_DyteStage+kick) ### stage.getAccessRequests() + Method to fetch all Stage access requests from viewers ### stage.requestAccess() + Method to send a request to privileged users to join the stage ### stage.cancelRequestAccess() + Method to cancel a previous Stage join request ### stage.grantAccess() + Method to grant access to Stage. - This can be in response to a Stage Join request but it can be called on other users as well +This can be in response to a Stage Join request but it can be called on other users as well `permissions.acceptStageRequests` privilege required ### stage.denyAccess() + Method to deny access to Stage. This should be called in response to a Stage Join request ### stage.join() + Method to join the stage Users either need to have the permission in the preset or must be accepted by a priveleged user to call this method @@ -62,6 +67,7 @@ user to call this method ### stage.leave() + Method to leave the stage Users must either be on the stage already or be accepted to join the stage to call this method @@ -69,7 +75,7 @@ to call this method ### stage.kick() + Method to kick a user off the stage `permissions.acceptStageRequests` privilege required - diff --git a/docs/rn-core/reference/DyteThemePreset.md b/docs/rn-core/reference/DyteThemePreset.md index b85caeed05..dd2e0ac092 100644 --- a/docs/rn-core/reference/DyteThemePreset.md +++ b/docs/rn-core/reference/DyteThemePreset.md @@ -9,69 +9,77 @@ web_core_version: 1.32.1 The DyteThemePreset class represents the meeting theme for the current participant - -* [DyteThemePreset](#module_DyteThemePreset) - * ~~[.setupScreen](#module_DyteThemePreset+setupScreen)~~ - * ~~[.waitingRoom](#module_DyteThemePreset+waitingRoom)~~ - * ~~[.controlBar](#module_DyteThemePreset+controlBar)~~ - * ~~[.header](#module_DyteThemePreset+header)~~ - * ~~[.pipMode](#module_DyteThemePreset+pipMode)~~ - * [.viewType](#module_DyteThemePreset+viewType) - * [.maxVideoStreams](#module_DyteThemePreset+maxVideoStreams) - * [.maxScreenShareCount](#module_DyteThemePreset+maxScreenShareCount) - * ~~[.plugins](#module_DyteThemePreset+plugins)~~ - * [.disabledPlugins](#module_DyteThemePreset+disabledPlugins) +- [DyteThemePreset](#module_DyteThemePreset) + - ~~[.setupScreen](#module_DyteThemePreset+setupScreen)~~ + - ~~[.waitingRoom](#module_DyteThemePreset+waitingRoom)~~ + - ~~[.controlBar](#module_DyteThemePreset+controlBar)~~ + - ~~[.header](#module_DyteThemePreset+header)~~ + - ~~[.pipMode](#module_DyteThemePreset+pipMode)~~ + - [.viewType](#module_DyteThemePreset+viewType) + - [.maxVideoStreams](#module_DyteThemePreset+maxVideoStreams) + - [.maxScreenShareCount](#module_DyteThemePreset+maxScreenShareCount) + - ~~[.plugins](#module_DyteThemePreset+plugins)~~ + - [.disabledPlugins](#module_DyteThemePreset+disabledPlugins) ### ~~dyteThemePreset.setupScreen~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.waitingRoom~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.controlBar~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.header~~ -***Deprecated*** + +**_Deprecated_** ### ~~dyteThemePreset.pipMode~~ -***Deprecated*** + +**_Deprecated_** ### dyteThemePreset.viewType + The `viewType` tells the type of the meeting possible values are: GROUP_CALL| LIVESTREAM | CHAT | AUDIO_ROOM ### dyteThemePreset.maxVideoStreams + The `maxVideoStreams` contains the maximum video streams for mobile and desktop ### dyteThemePreset.maxScreenShareCount + The `maxScreenShareCount` contains the maximum possible concurrent screen shares ### ~~dyteThemePreset.plugins~~ -***Deprecated*** + +**_Deprecated_** ### dyteThemePreset.disabledPlugins -The `disabledPlugins` property returns id of all disabled plugins +The `disabledPlugins` property returns id of all disabled plugins diff --git a/docs/rn-core/room-metadata.mdx b/docs/rn-core/room-metadata.mdx index 4317501d0a..1ed809a11b 100644 --- a/docs/rn-core/room-metadata.mdx +++ b/docs/rn-core/room-metadata.mdx @@ -27,7 +27,7 @@ const { meetingTitle } = meeting.meta; if (meeting.self.roomJoined) { console.log( - `The local user has joined a meeting with title ${meetingTitle}.` + `The local user has joined a meeting with title ${meetingTitle}.`, ); } ``` @@ -40,13 +40,13 @@ event to find out if the local user's connection has dropped. ```ts meeting.meta.on('connected', () => { console.log( - `The local user has successfully joined the meeting ${meeting.meta.meetingTitle}` + `The local user has successfully joined the meeting ${meeting.meta.meetingTitle}`, ); }); meeting.meta.on('disconnected', () => { console.log( - `The local user got disconnected from the meeting ${meeting.meta.meetingTitle}` + `The local user got disconnected from the meeting ${meeting.meta.meetingTitle}`, ); }); diff --git a/docs/rn-ui-kit/build-in-call-ui/build-your-own/_category_.json b/docs/rn-ui-kit/build-in-call-ui/build-your-own/_category_.json index ef86d1e7e1..5e93b70db5 100644 --- a/docs/rn-ui-kit/build-in-call-ui/build-your-own/_category_.json +++ b/docs/rn-ui-kit/build-in-call-ui/build-your-own/_category_.json @@ -2,4 +2,4 @@ "position": 2, "label": "Build your own", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/rn-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx b/docs/rn-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx index 044bfac203..01f1fbf2ae 100644 --- a/docs/rn-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx +++ b/docs/rn-ui-kit/build-in-call-ui/build-your-own/handling-states-and-configs.mdx @@ -267,7 +267,7 @@ To add react-native-core listeners, `DyteStateListenersUtils` class, is being us const stateListenersUtils = new DyteStateListenersUtils( () => meeting, () => states, - () => setStates + () => setStates, ); stateListenersUtils.addDyteEventListeners(); ``` diff --git a/docs/rn-ui-kit/build-pre-call-ui/build-your-own/_category_.json b/docs/rn-ui-kit/build-pre-call-ui/build-your-own/_category_.json index d581b593ba..ec59ec7c2d 100644 --- a/docs/rn-ui-kit/build-pre-call-ui/build-your-own/_category_.json +++ b/docs/rn-ui-kit/build-pre-call-ui/build-your-own/_category_.json @@ -2,4 +2,4 @@ "position": 5, "label": "Build your own", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/rn-ui-kit/customizations/_category_.json b/docs/rn-ui-kit/customizations/_category_.json index fe0067b628..5203281e3e 100644 --- a/docs/rn-ui-kit/customizations/_category_.json +++ b/docs/rn-ui-kit/customizations/_category_.json @@ -2,4 +2,4 @@ "position": 10, "label": "Customizations", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/rn-ui-kit/display-videos.mdx b/docs/rn-ui-kit/display-videos.mdx index fd68493756..4a62d9c8f6 100644 --- a/docs/rn-ui-kit/display-videos.mdx +++ b/docs/rn-ui-kit/display-videos.mdx @@ -15,7 +15,7 @@ video tile grid components function Meeting() { const { meeting } = useDyteMeeting(); const activeParticipants = useDyteSelector( - (meeting) => meeting.participants.active + (meeting) => meeting.participants.active, ); function ParticipantTile({ participant, meeting }) { diff --git a/docs/rn-ui-kit/quickstart.mdx b/docs/rn-ui-kit/quickstart.mdx index d71b44f3ba..37196cd5cb 100644 --- a/docs/rn-ui-kit/quickstart.mdx +++ b/docs/rn-ui-kit/quickstart.mdx @@ -8,7 +8,6 @@ This quickstart shows how to use Dyte's UI Kit prebuilt components to add live video and audio to your React application with minimal coding and a variety of meeting UI customization options. - ## Before Getting Started - Make sure you've read the [Getting Started with Dyte](/getting-started) topic @@ -21,7 +20,6 @@ meeting UI customization options. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; - ## Step 1: Installation Since the UI Kit uses the Dyte Core SDK, you must install the @@ -32,7 +30,6 @@ Since the UI Kit uses the Dyte Core SDK, you must install the | @dytesdk/react-native-ui-kit | [![npm version](https://badge.fury.io/js/@dytesdk%2Freact-native-ui-kit.svg)](https://badge.fury.io/js/@dytesdk%2Freact-native-ui-kit) | | @dytesdk/react-native-core | [![npm version](https://badge.fury.io/js/@dytesdk%2Freact-native-core.svg)](https://badge.fury.io/js/@dytesdk%2Freact-native-core) | - - ```bash npm install @dytesdk/react-native-ui-kit @dytesdk/react-native-core ``` @@ -64,6 +60,7 @@ Install the following dependencies only if you need livestream. ```bash npm install amazon-ivs-react-native-player ``` +
@@ -151,8 +148,6 @@ platform :ios, '12.0' - - ```bash npx expo install @dytesdk/react-native-ui-kit @dytesdk/react-native-core ``` @@ -178,6 +173,7 @@ Install the following dependencies only if you need livestream. ```bash npx expo install amazon-ivs-react-native-player ``` +
@@ -207,7 +203,6 @@ In `app.json`, add these to plugins: npx expo prebuild ``` -
@@ -227,7 +222,6 @@ Here's a series of steps that you need to perform: 4. Pass the meeting object to UI Kit, which will use it to retrieve meeting information and display it on the user interface. -
```jsx @@ -278,13 +272,10 @@ For more information on the other props of `DyteMeeting`, see function YourCustomMeetingComponent() { const { meeting } = useDyteMeeting(); - return ( - - ); + return ; } ``` - React Native UI Kit Quickstart meeting.participants.joined + (meeting) => meeting.participants.joined, ); ``` @@ -150,7 +150,7 @@ the various properties of the `meeting` object. import React from 'react'; import { View } from 'react-native'; import { useDyteMeeting, useDyteSelector } from '@dytesdk/react-native-core'; -import { DyteButton, DyteGrid, DyteText } from "@dytesdk/react-native-ui-kit"; +import { DyteButton, DyteGrid, DyteText } from '@dytesdk/react-native-ui-kit'; function Meeting() { const { meeting } = useDyteMeeting(); @@ -165,9 +165,7 @@ function Meeting() { ); } - return ( - - ); + return ; } export default Meeting; diff --git a/docs/ui-kit/components/_category_.json b/docs/ui-kit/components/_category_.json index 90839dc5ed..df60856c09 100644 --- a/docs/ui-kit/components/_category_.json +++ b/docs/ui-kit/components/_category_.json @@ -3,4 +3,4 @@ "label": "Components", "collapsible": true, "collapsed": false -} \ No newline at end of file +} diff --git a/docs/ui-kit/components/dyte-network-indicator.mdx b/docs/ui-kit/components/dyte-network-indicator.mdx index a1c6291379..862b1c25db 100644 --- a/docs/ui-kit/components/dyte-network-indicator.mdx +++ b/docs/ui-kit/components/dyte-network-indicator.mdx @@ -23,9 +23,14 @@ A component that indicates poor network connection. It listens to the mediaScoreUpdate event of the passed participant to get the score. ```tsx -participant.addListener('mediaScoreUpdate', ({ kind, isScreenshare, score, scoreStats }) => { - console.log(`Score for ${isScreenshare ? 'screen share': ''} ${kind} was:: ${score}`); -}); +participant.addListener( + 'mediaScoreUpdate', + ({ kind, isScreenshare, score, scoreStats }) => { + console.log( + `Score for ${isScreenshare ? 'screen share' : ''} ${kind} was:: ${score}`, + ); + }, +); ``` :::note info @@ -40,4 +45,4 @@ This component will only be visible if the network quality is poor (less than or React UI Kit dyte-network-indicator - \ No newline at end of file + diff --git a/docs/ui-kit/customizations/_category_.json b/docs/ui-kit/customizations/_category_.json index a8f9867e67..be2aca0117 100644 --- a/docs/ui-kit/customizations/_category_.json +++ b/docs/ui-kit/customizations/_category_.json @@ -2,4 +2,4 @@ "position": 7, "label": "Customizations", "collapsible": true -} \ No newline at end of file +} diff --git a/docs/ui-kit/quickstart.mdx b/docs/ui-kit/quickstart.mdx index 3984caa50e..d9debff933 100644 --- a/docs/ui-kit/quickstart.mdx +++ b/docs/ui-kit/quickstart.mdx @@ -98,7 +98,6 @@ Here's a series of steps that you need to perform: import CodeRunner from '@site/src/components/CodeRunner/CodeRunner'; - document.getElementById('my-meeting').meeting = meeting; }; - init(); +init(); + `} @@ -137,4 +137,3 @@ file={` UI Kit Quickstart - diff --git a/docs/web-core/advanced/advance.mdx b/docs/web-core/advanced/advance.mdx index 5979db8712..9bec030b3b 100644 --- a/docs/web-core/advanced/advance.mdx +++ b/docs/web-core/advanced/advance.mdx @@ -41,7 +41,7 @@ type DefaultOptions { This optional propery is true by default and defines whether audio or video would be acquired and enabled on SDK initialization -** Change default audio / video settings (()) +\*\* Change default audio / video settings (()) By default as soon as you join the meeting the SDK will produce your video and audio streams. @@ -55,6 +55,7 @@ const meeting = await DyteClient.init({ }, }); ``` + ### screenShare.displaySurface Specifies the _preferred_ screenshare surface, user will still be shown all possible options but the one configured here will be preselected diff --git a/docs/web-core/local-user/events.mdx b/docs/web-core/local-user/events.mdx index 1354a02ec3..b6b93d827e 100644 --- a/docs/web-core/local-user/events.mdx +++ b/docs/web-core/local-user/events.mdx @@ -22,7 +22,7 @@ produce and consume media. ```ts meeting.self.on('roomJoined', () => { console.log( - 'User has joined the meeting and ready to produce and consume media' + 'User has joined the meeting and ready to produce and consume media', ); }); ``` @@ -42,15 +42,15 @@ meeting.self.on('roomLeft', ({ state }) => { Here are all the possible values of the `state` variable. -| Event | Description | -| ---------- | ----------------------------------------------------------------------------------- | -| `left` | Participant has left the meeting. | -| `kicked` | Participant is removed from the meeting. | -| `ended` | Everyone is removed from the meeting, and the session has ended. | -| `rejected` | Participant's request to join the meeting is rejected (when you're in a waiting room). | -| `disconnected` | Temporary network disconnection | -| `failed` | Failed to join the meeting | -| `connected-meeting` | Participant has left this meeting and joined a connected meeting (Breakout meeting) | +| Event | Description | +| ------------------- | -------------------------------------------------------------------------------------- | +| `left` | Participant has left the meeting. | +| `kicked` | Participant is removed from the meeting. | +| `ended` | Everyone is removed from the meeting, and the session has ended. | +| `rejected` | Participant's request to join the meeting is rejected (when you're in a waiting room). | +| `disconnected` | Temporary network disconnection | +| `failed` | Failed to join the meeting | +| `connected-meeting` | Participant has left this meeting and joined a connected meeting (Breakout meeting) | ## Video update @@ -111,7 +111,7 @@ meeting.self.on( } else { await screenElem.stop(); } - } + }, ); ``` @@ -139,7 +139,7 @@ meeting.self.on('deviceUpdate', ({ device }) => { ## Network quality score -import SelfMediaScoreUpdate from '@site/docs/partials/events/_self-media-score-update.mdx' +import SelfMediaScoreUpdate from '@site/docs/partials/events/_self-media-score-update.mdx'; diff --git a/docs/web-core/local-user/introduction.mdx b/docs/web-core/local-user/introduction.mdx index 7ca21f2201..9a73a31ef0 100644 --- a/docs/web-core/local-user/introduction.mdx +++ b/docs/web-core/local-user/introduction.mdx @@ -10,7 +10,7 @@ tags: # Introduction -Accessible via `self` key within the `meeting` object, the local user object consists of all the information related to the current participant and methods to configure media and other states. +Accessible via `self` key within the `meeting` object, the local user object consists of all the information related to the current participant and methods to configure media and other states. ## Properties @@ -45,10 +45,17 @@ Here is a list of properties that local user provides: - `roomJoined`: A boolean value indicating if the local user is in the meeting - `roomState`: Indicates the state of the user in the meeting. It can take the following values: - - ```ts - "init" | "joined" | "waitlisted" | "rejected" | "kicked" | "left" | "ended" | "disconnected" - ``` + + ```ts + 'init' | + 'joined' | + 'waitlisted' | + 'rejected' | + 'kicked' | + 'left' | + 'ended' | + 'disconnected'; + ``` ```mermaid stateDiagram-v2 @@ -71,8 +78,6 @@ stateDiagram-v2
- - ## Change the name of the local user Change the user's name by calling `setName` method. The changed name will @@ -144,7 +149,6 @@ await meeting.self.disableScreenShare(); meeting.self.screenShareEnabled; ``` - Web Core Introduction diff --git a/docs/web-core/participants/events.mdx b/docs/web-core/participants/events.mdx index 9e5f7cd6f0..f6ce5607e6 100644 --- a/docs/web-core/participants/events.mdx +++ b/docs/web-core/participants/events.mdx @@ -20,7 +20,7 @@ meeting.participants.on( 'viewModeChanged', ({ viewMode, currentPage, pageCount }) => { console.log('view mode changed', viewMode); - } + }, ); ``` @@ -31,7 +31,7 @@ meeting.participants.on( 'pageChanged', ({ viewMode, currentPage, pageCount }) => { console.log('page changed', currentPage); - } + }, ); ``` @@ -102,7 +102,7 @@ Trigger an event when any participant starts / stops video. ```ts meeting.participants.joined.on('videoUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their video track in the meeting` + `A participant with id "${participant.id}" updated their video track in the meeting`, ); // Use the video track if it exists if (participant.videoEnabled) { @@ -120,7 +120,7 @@ Trigger an event when any participant starts / stops audio. ```ts meeting.participants.joined.on('audioUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their audio track in the meeting` + `A participant with id "${participant.id}" updated their audio track in the meeting`, ); // Use the audio track if it exists if (participant.audioEnabled) { @@ -138,7 +138,7 @@ Trigger an event when any participant starts / stops screen share. ```ts meeting.participants.joined.on('screenShareUpdate', (participant) => { console.log( - `A participant with id "${participant.id}" updated their screen share in the meeting` + `A participant with id "${participant.id}" updated their screen share in the meeting`, ); // Use the screen share track if it exists if (participant.screenShareEnabled) { @@ -151,7 +151,7 @@ meeting.participants.joined.on('screenShareUpdate', (participant) => { ## Network quality score -import ParticipantMediaScoreUpdate from '@site/docs/partials/events/_participant-media-score-update.mdx' +import ParticipantMediaScoreUpdate from '@site/docs/partials/events/_participant-media-score-update.mdx'; @@ -161,7 +161,6 @@ If you want to subscribe to above events but for a specific participant only, you can do so by binding event to `meeting.participants.joined.get(peerId).on()` method. where the `peerId` is the id of the participant that you want to watch. - Web Core Participant Events diff --git a/docs/web-core/participants/participant-object.mdx b/docs/web-core/participants/participant-object.mdx index a7c38cb46f..ac820e76a0 100644 --- a/docs/web-core/participants/participant-object.mdx +++ b/docs/web-core/participants/participant-object.mdx @@ -31,6 +31,7 @@ The participant object has the following properties. screen share stream. **Metadata**: + - `id`: The `participantId` of the participant (aka `peerId`). - `userId`: The `userId` of the participant. - `name`: The participant's name. @@ -54,7 +55,7 @@ meeting.participants.joined 'The participant with id', participantId, 'has toggled their mic to', - audioEnabled + audioEnabled, ); }); ``` @@ -73,9 +74,9 @@ meeting.participants.joined.on( 'The participant with id', participant.id, 'has toggled their mic to', - audioEnabled + audioEnabled, ); - } + }, ); ``` diff --git a/docs/web-core/polls/creating-a-poll.mdx b/docs/web-core/polls/creating-a-poll.mdx index d333b245db..0c44065171 100644 --- a/docs/web-core/polls/creating-a-poll.mdx +++ b/docs/web-core/polls/creating-a-poll.mdx @@ -27,7 +27,7 @@ The following snippet creates a poll where votes are anonymous. await meeting.poll.create( 'Are you an early bird or a night owl?', ['Early bird', 'Night owl'], - true + true, ); ``` diff --git a/docs/web-core/pre-call/1-media-preview.mdx b/docs/web-core/pre-call/1-media-preview.mdx index ac1dc38bbd..bdd805c94b 100644 --- a/docs/web-core/pre-call/1-media-preview.mdx +++ b/docs/web-core/pre-call/1-media-preview.mdx @@ -2,7 +2,6 @@ This section focuses on pre-call functionality, providing developers with the tools needed to prepare the media environment before joining the meeting. If you are using our UI Kits, this will be handled by `dyte-setup-screen` or could be built with `dyte-participant-tile`, `dyte-settings` components. - ## Properties - `audioEnabled`: A boolean value indicating if the audio currently enabled. @@ -42,11 +41,9 @@ flowchart LR Anytime there is an update in audio state you will get a `audioUpdate` event ```ts - -meeting.self.on('audioUpdate', ({ audioEnabled, audioTrack })=> { +meeting.self.on('audioUpdate', ({ audioEnabled, audioTrack }) => { // if enabled show a visual(izer) preview of the audio to the user }); - ``` **2. Enable/Disable camera** @@ -68,10 +65,11 @@ flowchart LR class eam basic; ``` +
```ts -meeting.self.on('videoUpdate', ({ videoEnabled, videoTrack })=> { +meeting.self.on('videoUpdate', ({ videoEnabled, videoTrack }) => { // if videoEnabled play video here to a