diff --git a/examples/use-camera-and-microphone-example/package-lock.json b/examples/use-camera-and-microphone-example/package-lock.json index 9bddf9f..cb718f7 100644 --- a/examples/use-camera-and-microphone-example/package-lock.json +++ b/examples/use-camera-and-microphone-example/package-lock.json @@ -32,7 +32,7 @@ "version": "0.1.6", "license": "Apache-2.0", "dependencies": { - "@jellyfish-dev/ts-client-sdk": "^0.2.2", + "@jellyfish-dev/ts-client-sdk": "^0.2.3", "events": "3.3.0", "lodash.isequal": "4.5.0" }, @@ -48,13 +48,13 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "prettier": "3.1.0", - "prettier-plugin-tailwindcss": "^0.5.8", + "prettier-plugin-tailwindcss": "0.5.7", "react": "^18.2.0", "testcontainers": "^10.3.2", "typed-emitter": "^2.1.0", "typedoc": "^0.25.4", "typedoc-plugin-mdn-links": "^3.1.6", - "typescript": "^5.3.2" + "typescript": "5.2.2" } }, "node_modules/@alloc/quick-lru": { diff --git a/package-lock.json b/package-lock.json index 6d0bbf0..736fd2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.6", "license": "Apache-2.0", "dependencies": { - "@jellyfish-dev/ts-client-sdk": "^0.2.2", + "@jellyfish-dev/ts-client-sdk": "^0.2.3", "events": "3.3.0", "lodash.isequal": "4.5.0" }, @@ -34,6 +34,36 @@ "typescript": "5.2.2" } }, + "../ts-client-sdk": { + "name": "@jellyfish-dev/ts-client-sdk", + "version": "0.2.3", + "extraneous": true, + "license": "Apache-2.0", + "dependencies": { + "@jellyfish-dev/membrane-webrtc-js": "^0.6.1", + "events": "^3.3.0", + "ts-proto": "^1.165.0", + "typed-emitter": "^2.1.0" + }, + "devDependencies": { + "@playwright/test": "^1.40.1", + "@types/events": "^3.0.3", + "@types/node": "^20.10.3", + "@typescript-eslint/eslint-plugin": "^6.13.2", + "eslint": "^8.55.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react-hooks": "^4.6.0", + "prettier": "^3.1.0", + "prettier-plugin-tailwindcss": "^0.5.7", + "react": "^18.2.0", + "testcontainers": "^10.3.2", + "typed-emitter": "^2.1.0", + "typedoc": "^0.23.28", + "typedoc-plugin-external-resolver": "github:ostatni5/typedoc-plugin-external-resolver", + "typedoc-plugin-mdn-links": "^3.1.6", + "typescript": "^4.9.5" + } + }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", @@ -139,23 +169,23 @@ "dev": true }, "node_modules/@jellyfish-dev/membrane-webrtc-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@jellyfish-dev/membrane-webrtc-js/-/membrane-webrtc-js-0.5.3.tgz", - "integrity": "sha512-XUmSBToRCfxz5qQDNj3Ql7ZLNuTRJ6LyGZOt7pCL6dlXwrghsRH45KuoibPl28QmcVSEU18jyGeuoKP2XGju3Q==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@jellyfish-dev/membrane-webrtc-js/-/membrane-webrtc-js-0.6.1.tgz", + "integrity": "sha512-nwJG/1EShrde2yP9Z52N13XiUhCn2Jk6tmO7yvjKLaI8PWsAxQIl5JYyavd06Wx5e2NSv0owDyYgruIJDzDRag==", "dependencies": { "events": "^3.3.0", "typed-emitter": "^2.1.0", - "uuid": "^8.3.2" + "uuid": "^9.0.1" } }, "node_modules/@jellyfish-dev/ts-client-sdk": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@jellyfish-dev/ts-client-sdk/-/ts-client-sdk-0.2.2.tgz", - "integrity": "sha512-zP/9ahyqM8JdwK3+gMKUAkvCNctdq73e3Qj6RF4Q++qPOJY+mJa3p02mJfu/mO3EF3H6HcL+d17gBnQ9MRLE8g==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@jellyfish-dev/ts-client-sdk/-/ts-client-sdk-0.2.3.tgz", + "integrity": "sha512-MM2KiWW1z3asmAak/1OWK/5r1UQ2gnAE8eyl3K2k7nnwo9HiBuyRfCZhcpLVT5dYUfgPNcoPw3o4iRjgoRHY0w==", "dependencies": { - "@jellyfish-dev/membrane-webrtc-js": "^0.5.3", + "@jellyfish-dev/membrane-webrtc-js": "^0.6.1", "events": "^3.3.0", - "ts-proto": "^1.147.2", + "ts-proto": "^1.165.0", "typed-emitter": "^2.1.0" } }, @@ -2949,9 +2979,9 @@ } }, "node_modules/ts-proto": { - "version": "1.164.0", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.164.0.tgz", - "integrity": "sha512-yIyMucjcozS7Vxtyy5mH6C8ltbY4gEBVNW4ymZ0kWiKlyMxsvhyUZ63CbxcF7dCKQVjHR+fLJ3SiorfgyhQ+AQ==", + "version": "1.166.2", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.166.2.tgz", + "integrity": "sha512-ygzeKHZLPbschsqFKmEY1XIJTIIs3k35n3/ZUkz0nF/a/C6x7onITlU7GQBqXmiVPiAvzbT5n/JElrGBVVmvxQ==", "dependencies": { "case-anything": "^2.1.13", "protobufjs": "^7.2.4", @@ -3097,9 +3127,13 @@ "dev": true }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } diff --git a/package.json b/package.json index 0689708..18b0278 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jellyfish-dev/react-client-sdk", - "version": "0.1.6", + "version": "0.1.7", "description": "React client library for Jellyfish.", "license": "Apache-2.0", "author": "Membrane Team", @@ -68,7 +68,7 @@ "typescript": "5.2.2" }, "dependencies": { - "@jellyfish-dev/ts-client-sdk": "^0.2.2", + "@jellyfish-dev/ts-client-sdk": "^0.2.3", "events": "3.3.0", "lodash.isequal": "4.5.0" }, diff --git a/playwright.config.ts b/playwright.config.ts index f4697ba..bf14cef 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -40,7 +40,13 @@ export default defineConfig({ name: "chromium", use: { ...devices["Desktop Chrome"], - launchOptions: { args: ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"] }, + + launchOptions: { + // devtools: true, + // headless: false, + // executablePath: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", + args: ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"], + }, }, }, diff --git a/src/index.ts b/src/index.ts index 9bd5744..eccd3fb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -15,6 +15,15 @@ export type { SignalingUrl, Config, JellyfishClient, + TrackBandwidthLimit, + SimulcastBandwidthLimit, + BandwidthLimit, + WebRTCEndpointEvents, + TrackContextEvents, + Endpoint, + SimulcastConfig, TrackContext, TrackEncoding, + VadStatus, + EncodingReason, } from "@jellyfish-dev/ts-client-sdk"; diff --git a/src/state.types.ts b/src/state.types.ts index dc4f02b..1624879 100644 --- a/src/state.types.ts +++ b/src/state.types.ts @@ -1,6 +1,6 @@ import type { TrackEncoding, VadStatus } from "@jellyfish-dev/ts-client-sdk"; import type { Api } from "./api"; -import { JellyfishClient } from "@jellyfish-dev/ts-client-sdk"; +import { JellyfishClient, SimulcastConfig } from "@jellyfish-dev/ts-client-sdk"; import { UseUserMediaState } from "./useUserMedia/types"; import { UseCameraAndMicrophoneResult } from "./useMedia/types"; import { UseScreenshareState } from "./useMedia/screenshare"; @@ -8,11 +8,6 @@ import { UseScreenshareState } from "./useMedia/screenshare"; export type TrackId = string; export type PeerId = string; -export type SimulcastConfig = { - enabled: boolean | null; - activeEncodings: TrackEncoding[]; -}; - export type Track = { stream: MediaStream | null; encoding: TrackEncoding | null; diff --git a/yarn.lock b/yarn.lock index fb23c64..8716b83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -63,23 +63,23 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz" integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== -"@jellyfish-dev/membrane-webrtc-js@^0.5.3": - version "0.5.3" - resolved "https://registry.npmjs.org/@jellyfish-dev/membrane-webrtc-js/-/membrane-webrtc-js-0.5.3.tgz" - integrity sha512-XUmSBToRCfxz5qQDNj3Ql7ZLNuTRJ6LyGZOt7pCL6dlXwrghsRH45KuoibPl28QmcVSEU18jyGeuoKP2XGju3Q== +"@jellyfish-dev/membrane-webrtc-js@^0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/@jellyfish-dev/membrane-webrtc-js/-/membrane-webrtc-js-0.6.1.tgz" + integrity sha512-nwJG/1EShrde2yP9Z52N13XiUhCn2Jk6tmO7yvjKLaI8PWsAxQIl5JYyavd06Wx5e2NSv0owDyYgruIJDzDRag== dependencies: events "^3.3.0" typed-emitter "^2.1.0" - uuid "^8.3.2" + uuid "^9.0.1" -"@jellyfish-dev/ts-client-sdk@^0.2.2": - version "0.2.2" - resolved "https://registry.npmjs.org/@jellyfish-dev/ts-client-sdk/-/ts-client-sdk-0.2.2.tgz" - integrity sha512-zP/9ahyqM8JdwK3+gMKUAkvCNctdq73e3Qj6RF4Q++qPOJY+mJa3p02mJfu/mO3EF3H6HcL+d17gBnQ9MRLE8g== +"@jellyfish-dev/ts-client-sdk@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@jellyfish-dev/ts-client-sdk/-/ts-client-sdk-0.2.3.tgz" + integrity sha512-MM2KiWW1z3asmAak/1OWK/5r1UQ2gnAE8eyl3K2k7nnwo9HiBuyRfCZhcpLVT5dYUfgPNcoPw3o4iRjgoRHY0w== dependencies: - "@jellyfish-dev/membrane-webrtc-js" "^0.5.3" + "@jellyfish-dev/membrane-webrtc-js" "^0.6.1" events "^3.3.0" - ts-proto "^1.147.2" + ts-proto "^1.165.0" typed-emitter "^2.1.0" "@nodelib/fs.scandir@2.1.5": @@ -1701,10 +1701,10 @@ ts-proto-descriptors@1.15.0: long "^5.2.3" protobufjs "^7.2.4" -ts-proto@^1.147.2: - version "1.164.0" - resolved "https://registry.npmjs.org/ts-proto/-/ts-proto-1.164.0.tgz" - integrity sha512-yIyMucjcozS7Vxtyy5mH6C8ltbY4gEBVNW4ymZ0kWiKlyMxsvhyUZ63CbxcF7dCKQVjHR+fLJ3SiorfgyhQ+AQ== +ts-proto@^1.165.0: + version "1.166.2" + resolved "https://registry.npmjs.org/ts-proto/-/ts-proto-1.166.2.tgz" + integrity sha512-ygzeKHZLPbschsqFKmEY1XIJTIIs3k35n3/ZUkz0nF/a/C6x7onITlU7GQBqXmiVPiAvzbT5n/JElrGBVVmvxQ== dependencies: case-anything "^2.1.13" protobufjs "^7.2.4" @@ -1777,10 +1777,10 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== vscode-oniguruma@^1.7.0: version "1.7.0"