diff --git a/deep-sea-stories/packages/backend/package.json b/deep-sea-stories/packages/backend/package.json index 82026af..01431a3 100644 --- a/deep-sea-stories/packages/backend/package.json +++ b/deep-sea-stories/packages/backend/package.json @@ -13,7 +13,7 @@ "dependencies": { "@deep-sea-stories/common": "workspace:*", "@fastify/cors": "^11.1.0", - "@fishjam-cloud/js-server-sdk": "^0.26.0", + "@fishjam-cloud/js-server-sdk": "^0.27.0-rc.0", "@google/genai": "^1.30.0", "@trpc/server": "^11.6.0", "@types/nunjucks": "^3.2.6", diff --git a/deep-sea-stories/packages/web/package.json b/deep-sea-stories/packages/web/package.json index f344541..0c37d94 100644 --- a/deep-sea-stories/packages/web/package.json +++ b/deep-sea-stories/packages/web/package.json @@ -12,7 +12,7 @@ "dependencies": { "@deep-sea-stories/backend": "workspace:*", "@deep-sea-stories/common": "workspace:*", - "@fishjam-cloud/react-client": "^0.26.0", + "@fishjam-cloud/react-client": "^0.27.0-rc.0", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-scroll-area": "^1.2.10", diff --git a/deep-sea-stories/yarn.lock b/deep-sea-stories/yarn.lock index bba1972..6f8e7fa 100644 --- a/deep-sea-stories/yarn.lock +++ b/deep-sea-stories/yarn.lock @@ -320,7 +320,7 @@ __metadata: dependencies: "@deep-sea-stories/common": "workspace:*" "@fastify/cors": "npm:^11.1.0" - "@fishjam-cloud/js-server-sdk": "npm:^0.26.0" + "@fishjam-cloud/js-server-sdk": "npm:^0.27.0-rc.0" "@google/genai": "npm:^1.30.0" "@trpc/server": "npm:^11.6.0" "@tsconfig/node24": "npm:^24.0.1" @@ -353,7 +353,7 @@ __metadata: dependencies: "@deep-sea-stories/backend": "workspace:*" "@deep-sea-stories/common": "workspace:*" - "@fishjam-cloud/react-client": "npm:^0.26.0" + "@fishjam-cloud/react-client": "npm:^0.27.0-rc.0" "@radix-ui/react-dialog": "npm:^1.1.15" "@radix-ui/react-label": "npm:^2.1.7" "@radix-ui/react-scroll-area": "npm:^1.2.10" @@ -658,9 +658,9 @@ __metadata: languageName: node linkType: hard -"@fishjam-cloud/js-server-sdk@npm:^0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/js-server-sdk@npm:0.26.0" +"@fishjam-cloud/js-server-sdk@npm:^0.27.0-rc.0": + version: 0.27.0-rc.1 + resolution: "@fishjam-cloud/js-server-sdk@npm:0.27.0-rc.1" dependencies: axios: "npm:^1.7.9" uuid: "npm:^11.1.0" @@ -669,33 +669,33 @@ __metadata: peerDependenciesMeta: "@google/genai": optional: true - checksum: 10c0/9f982e4fc0d5d2f58600f863cd92242f504a0c9201fece55b847ddbfbe433c56d0bff567786fe448147fcd070a02c4b1c99b8226bb28c862d49bd9accdcd6d62 + checksum: 10c0/b97ea37063e9fd6b7ecf890143b5de78c3286c8998f2811c43a678e940f9161e732fe98e3be7275290121cb741a0c31d56849d348b83c11e879bab7ec93a69f6 languageName: node linkType: hard -"@fishjam-cloud/react-client@npm:^0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/react-client@npm:0.26.0" +"@fishjam-cloud/react-client@npm:^0.27.0-rc.0": + version: 0.27.0-rc.0 + resolution: "@fishjam-cloud/react-client@npm:0.27.0-rc.0" dependencies: - "@fishjam-cloud/ts-client": "npm:0.26.0" + "@fishjam-cloud/ts-client": "npm:0.27.0-rc.0" events: "npm:3.3.0" lodash.isequal: "npm:4.5.0" peerDependencies: react: ^19.1.0 - checksum: 10c0/edfa587eca281c475420798f9c2fea9f1447749515240728343e8aaf253e591e0f2ab7e6c7d570b388964fc63ebedf69c454d4805748f97a36f74a3a7a30e5ed + checksum: 10c0/b670a8e2ba5f32348505f8ce6361e8e6408e78c36c6a695c0abaa12b92406134a314e0067fa8a124864d2618045736397ed831c7a03ecbbdb7c8c2634616d4c0 languageName: node linkType: hard -"@fishjam-cloud/ts-client@npm:0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/ts-client@npm:0.26.0" +"@fishjam-cloud/ts-client@npm:0.27.0-rc.0": + version: 0.27.0-rc.0 + resolution: "@fishjam-cloud/ts-client@npm:0.27.0-rc.0" dependencies: "@binbat/whip-whep": "npm:^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf": "npm:^2.2.3" events: "npm:^3.3.0" typed-emitter: "npm:^2.1.0" uuid: "npm:^11.1.0" - checksum: 10c0/ef12ba07815d75ec1494456aef532a955834f3133ac79aee61aa55060c74629e33daf5383b2d366d4b3531124de1db228684730af50dd07a9d8cc6ca40284221 + checksum: 10c0/03464af0ccf04f382b70b33aa4105df509b1af9c5c0345c422e1692a04f0a0fe37ea871aef9ffb3c14a370e121fc79bd0d34ee0370007b1db96643abf989e1da languageName: node linkType: hard diff --git a/gemini-demo/backend/package.json b/gemini-demo/backend/package.json index e2176ff..c18d8a3 100644 --- a/gemini-demo/backend/package.json +++ b/gemini-demo/backend/package.json @@ -11,7 +11,7 @@ "types": "./src/main.ts", "dependencies": { "@fastify/cors": "^11.1.0", - "@fishjam-cloud/js-server-sdk": "^0.26.0", + "@fishjam-cloud/js-server-sdk": "^0.27.0-rc.0", "@google/genai": "^1.44.0", "@trpc/server": "^11.6.0", "dotenv": "^17.2.3", diff --git a/gemini-demo/web/package.json b/gemini-demo/web/package.json index 22b1df9..f94569e 100644 --- a/gemini-demo/web/package.json +++ b/gemini-demo/web/package.json @@ -9,7 +9,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@fishjam-cloud/react-client": "^0.26.0", + "@fishjam-cloud/react-client": "^0.27.0-rc.0", "@trpc/client": "^11.6.0", "@trpc/server": "^11.6.0", "gemini-demo-backend": "workspace:*", diff --git a/gemini-demo/yarn.lock b/gemini-demo/yarn.lock index 4aa478a..1a0d945 100644 --- a/gemini-demo/yarn.lock +++ b/gemini-demo/yarn.lock @@ -468,9 +468,9 @@ __metadata: languageName: node linkType: hard -"@fishjam-cloud/js-server-sdk@npm:^0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/js-server-sdk@npm:0.26.0" +"@fishjam-cloud/js-server-sdk@npm:^0.27.0-rc.0": + version: 0.27.0-rc.1 + resolution: "@fishjam-cloud/js-server-sdk@npm:0.27.0-rc.1" dependencies: axios: "npm:^1.7.9" uuid: "npm:^11.1.0" @@ -479,33 +479,33 @@ __metadata: peerDependenciesMeta: "@google/genai": optional: true - checksum: 10c0/9f982e4fc0d5d2f58600f863cd92242f504a0c9201fece55b847ddbfbe433c56d0bff567786fe448147fcd070a02c4b1c99b8226bb28c862d49bd9accdcd6d62 + checksum: 10c0/b97ea37063e9fd6b7ecf890143b5de78c3286c8998f2811c43a678e940f9161e732fe98e3be7275290121cb741a0c31d56849d348b83c11e879bab7ec93a69f6 languageName: node linkType: hard -"@fishjam-cloud/react-client@npm:^0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/react-client@npm:0.26.0" +"@fishjam-cloud/react-client@npm:^0.27.0-rc.0": + version: 0.27.0-rc.0 + resolution: "@fishjam-cloud/react-client@npm:0.27.0-rc.0" dependencies: - "@fishjam-cloud/ts-client": "npm:0.26.0" + "@fishjam-cloud/ts-client": "npm:0.27.0-rc.0" events: "npm:3.3.0" lodash.isequal: "npm:4.5.0" peerDependencies: react: ^19.1.0 - checksum: 10c0/edfa587eca281c475420798f9c2fea9f1447749515240728343e8aaf253e591e0f2ab7e6c7d570b388964fc63ebedf69c454d4805748f97a36f74a3a7a30e5ed + checksum: 10c0/b670a8e2ba5f32348505f8ce6361e8e6408e78c36c6a695c0abaa12b92406134a314e0067fa8a124864d2618045736397ed831c7a03ecbbdb7c8c2634616d4c0 languageName: node linkType: hard -"@fishjam-cloud/ts-client@npm:0.26.0": - version: 0.26.0 - resolution: "@fishjam-cloud/ts-client@npm:0.26.0" +"@fishjam-cloud/ts-client@npm:0.27.0-rc.0": + version: 0.27.0-rc.0 + resolution: "@fishjam-cloud/ts-client@npm:0.27.0-rc.0" dependencies: "@binbat/whip-whep": "npm:^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf": "npm:^2.2.3" events: "npm:^3.3.0" typed-emitter: "npm:^2.1.0" uuid: "npm:^11.1.0" - checksum: 10c0/ef12ba07815d75ec1494456aef532a955834f3133ac79aee61aa55060c74629e33daf5383b2d366d4b3531124de1db228684730af50dd07a9d8cc6ca40284221 + checksum: 10c0/03464af0ccf04f382b70b33aa4105df509b1af9c5c0345c422e1692a04f0a0fe37ea871aef9ffb3c14a370e121fc79bd0d34ee0370007b1db96643abf989e1da languageName: node linkType: hard @@ -1854,7 +1854,7 @@ __metadata: resolution: "gemini-demo-backend@workspace:backend" dependencies: "@fastify/cors": "npm:^11.1.0" - "@fishjam-cloud/js-server-sdk": "npm:^0.26.0" + "@fishjam-cloud/js-server-sdk": "npm:^0.27.0-rc.0" "@google/genai": "npm:^1.44.0" "@trpc/server": "npm:^11.6.0" "@tsconfig/node24": "npm:^24.0.1" @@ -1874,7 +1874,7 @@ __metadata: version: 0.0.0-use.local resolution: "gemini-demo-web@workspace:web" dependencies: - "@fishjam-cloud/react-client": "npm:^0.26.0" + "@fishjam-cloud/react-client": "npm:^0.27.0-rc.0" "@trpc/client": "npm:^11.6.0" "@trpc/server": "npm:^11.6.0" "@types/react": "npm:^19.1.13" diff --git a/mobile-react-native/blur-example/.env.example b/mobile-react-native/blur-example/.env.example index 8a2d8c0..6df0290 100644 --- a/mobile-react-native/blur-example/.env.example +++ b/mobile-react-native/blur-example/.env.example @@ -1,2 +1,2 @@ EXPO_PUBLIC_FISHJAM_ID= -EXPO_PUBLIC_FISHJAM_URL= \ No newline at end of file +EXPO_PUBLIC_SANDBOX_API_URL= \ No newline at end of file diff --git a/mobile-react-native/blur-example/hooks/useConnectFishjam.ts b/mobile-react-native/blur-example/hooks/useConnectFishjam.ts index 5274f53..b8583e1 100644 --- a/mobile-react-native/blur-example/hooks/useConnectFishjam.ts +++ b/mobile-react-native/blur-example/hooks/useConnectFishjam.ts @@ -14,9 +14,7 @@ export const useConnectFishjam = () => { const { leaveRoom, joinRoom } = useConnection(); const { getSandboxPeerToken } = useSandbox({ - configOverride: { - sandboxApiUrl: process.env.EXPO_PUBLIC_FISHJAM_URL, - }, + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, }); const { initializeDevices } = useInitializeDevices(); diff --git a/mobile-react-native/blur-example/package.json b/mobile-react-native/blur-example/package.json index c6d8cc1..0ccb89c 100644 --- a/mobile-react-native/blur-example/package.json +++ b/mobile-react-native/blur-example/package.json @@ -12,7 +12,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fishjam-cloud/react-native-client": "^0.26.0", + "@fishjam-cloud/react-native-client": "^0.27.0-rc.0", "@fishjam-cloud/react-native-webrtc-background-blur": "^0.1.2", "@react-navigation/elements": "^2.5.2", "@react-navigation/native": "^7.1.14", diff --git a/mobile-react-native/blur-example/yarn.lock b/mobile-react-native/blur-example/yarn.lock index 0c0f9c9..5685c19 100644 --- a/mobile-react-native/blur-example/yarn.lock +++ b/mobile-react-native/blur-example/yarn.lock @@ -1165,22 +1165,22 @@ chalk "^4.1.0" js-yaml "^4.1.0" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/react-native-client@^0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.26.0.tgz#d5a221a64e601c1bca7c9776b241ce274a10e135" - integrity sha512-gbvIzR8n3BaA0VVnZtKOcpBWRj7bqSRrkPd9nsPiDdkVwLgL315RbFNu598RUzifxi7+XmsdVkUdORL6drbdtQ== +"@fishjam-cloud/react-native-client@^0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.27.0-rc.0.tgz#dd6c6537f5540b7e3690b9519ad2c076c71bd997" + integrity sha512-dHWdcDZycrlzXXLsANKyXc1itHJUu7Tu2UfdT4nSVq3C8bIOHVaqpLnkyM+WqFqyLtzyxwIbF9ufqrUJyw8sqA== dependencies: - "@fishjam-cloud/react-client" "0.26.0" - "@fishjam-cloud/react-native-webrtc" "0.25.8" + "@fishjam-cloud/react-client" "0.27.0-rc.0" + "@fishjam-cloud/react-native-webrtc" "0.26.2" fast-text-encoding "1.0.6" react-native-get-random-values "1.11.0" react-native-url-polyfill "3.0.0" @@ -1190,18 +1190,18 @@ resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc-background-blur/-/react-native-webrtc-background-blur-0.1.2.tgz#9671ba541a826b636a4de8fdb112b625f0ec4747" integrity sha512-xeYOsHWpkY1qcz8Xs44JTNugEFxQpv9BfV2khGFK33aY+/3VsjTSNC23rZEPtv30Hz8E6f4Sbh5PuhDXg9JMHg== -"@fishjam-cloud/react-native-webrtc@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.25.8.tgz#0066a9ba1aa68a67fd545dc80daf80a95d384bc0" - integrity sha512-KjnmSQ78AqkfJuUWbwpWUneExlj406H+z14xdzKSTqp90csoBPt4mtXAFO89HRTQnpPUmKEo32eB/YBpqA1HpQ== +"@fishjam-cloud/react-native-webrtc@0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.26.2.tgz#679ae4d68f9ffec3e4b2404cd03e8da2925e8f4a" + integrity sha512-lvDNs4/cayaUJaoEjjqn3RDQt4QunXTb//Qm0LaPT2nNjTvEv6D+Kn6cNSf7wn0jfkyLrFu4gxNMtPTjns9sSg== dependencies: base64-js "1.5.1" debug "4.3.4" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/mobile-react-native/fishjam-chat/.env.example b/mobile-react-native/fishjam-chat/.env.example index df93670..588ae06 100644 --- a/mobile-react-native/fishjam-chat/.env.example +++ b/mobile-react-native/fishjam-chat/.env.example @@ -1,2 +1,3 @@ EXPO_PUBLIC_FISHJAM_ID= +EXPO_PUBLIC_SANDBOX_API_URL= EXPO_PUBLIC_VIDEOROOM_STAGING_SANDBOX_URL= \ No newline at end of file diff --git a/mobile-react-native/fishjam-chat/app/livestream/screen-sharing.tsx b/mobile-react-native/fishjam-chat/app/livestream/screen-sharing.tsx index 34fc3c3..aea7e8e 100644 --- a/mobile-react-native/fishjam-chat/app/livestream/screen-sharing.tsx +++ b/mobile-react-native/fishjam-chat/app/livestream/screen-sharing.tsx @@ -19,7 +19,9 @@ export default function LivestreamScreenSharingScreen() { }>(); const { initializeDevices } = useInitializeDevices(); - const { getSandboxLivestream } = useSandbox(); + const { getSandboxLivestream } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { connect, disconnect, isConnected, error } = useLivestreamStreamer(); const { startStreaming: startScreenCapture, diff --git a/mobile-react-native/fishjam-chat/app/livestream/streamer.tsx b/mobile-react-native/fishjam-chat/app/livestream/streamer.tsx index 95c865f..5a818a6 100644 --- a/mobile-react-native/fishjam-chat/app/livestream/streamer.tsx +++ b/mobile-react-native/fishjam-chat/app/livestream/streamer.tsx @@ -20,7 +20,9 @@ export default function LivestreamStreamerScreen() { roomName: string; }>(); - const { getSandboxLivestream } = useSandbox(); + const { getSandboxLivestream } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { connect, disconnect, isConnected, error } = useLivestreamStreamer(); diff --git a/mobile-react-native/fishjam-chat/app/livestream/viewer.tsx b/mobile-react-native/fishjam-chat/app/livestream/viewer.tsx index 41b6733..6e39d39 100644 --- a/mobile-react-native/fishjam-chat/app/livestream/viewer.tsx +++ b/mobile-react-native/fishjam-chat/app/livestream/viewer.tsx @@ -16,7 +16,9 @@ export default function LivestreamViewerScreen() { roomName: string; }>(); - const { getSandboxViewerToken } = useSandbox({}); + const { getSandboxViewerToken } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { connect, disconnect, stream, isConnected, error } = useLivestreamViewer(); diff --git a/mobile-react-native/fishjam-chat/app/room/preview.tsx b/mobile-react-native/fishjam-chat/app/room/preview.tsx index 73ab159..928fb91 100644 --- a/mobile-react-native/fishjam-chat/app/room/preview.tsx +++ b/mobile-react-native/fishjam-chat/app/room/preview.tsx @@ -21,7 +21,9 @@ export default function PreviewScreen() { userName: string; }>(); - const { getSandboxPeerToken } = useSandbox(); + const { getSandboxPeerToken } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { initializeDevices } = useInitializeDevices(); const { cameraStream, startCamera, stopCamera, isCameraOn, toggleCamera } = diff --git a/mobile-react-native/fishjam-chat/package.json b/mobile-react-native/fishjam-chat/package.json index 5e21759..492fc31 100644 --- a/mobile-react-native/fishjam-chat/package.json +++ b/mobile-react-native/fishjam-chat/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@expo/vector-icons": "^15.0.3", - "@fishjam-cloud/react-native-client": "^0.26.0", + "@fishjam-cloud/react-native-client": "^0.27.0-rc.0", "@react-navigation/bottom-tabs": "^7.4.0", "@react-navigation/elements": "^2.6.3", "@react-navigation/native": "^7.1.8", diff --git a/mobile-react-native/fishjam-chat/yarn.lock b/mobile-react-native/fishjam-chat/yarn.lock index 5fe5b82..b67361f 100644 --- a/mobile-react-native/fishjam-chat/yarn.lock +++ b/mobile-react-native/fishjam-chat/yarn.lock @@ -1211,38 +1211,38 @@ chalk "^4.1.0" js-yaml "^4.1.0" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/react-native-client@^0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.26.0.tgz#d5a221a64e601c1bca7c9776b241ce274a10e135" - integrity sha512-gbvIzR8n3BaA0VVnZtKOcpBWRj7bqSRrkPd9nsPiDdkVwLgL315RbFNu598RUzifxi7+XmsdVkUdORL6drbdtQ== +"@fishjam-cloud/react-native-client@^0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.27.0-rc.0.tgz#dd6c6537f5540b7e3690b9519ad2c076c71bd997" + integrity sha512-dHWdcDZycrlzXXLsANKyXc1itHJUu7Tu2UfdT4nSVq3C8bIOHVaqpLnkyM+WqFqyLtzyxwIbF9ufqrUJyw8sqA== dependencies: - "@fishjam-cloud/react-client" "0.26.0" - "@fishjam-cloud/react-native-webrtc" "0.25.8" + "@fishjam-cloud/react-client" "0.27.0-rc.0" + "@fishjam-cloud/react-native-webrtc" "0.26.2" fast-text-encoding "1.0.6" react-native-get-random-values "1.11.0" react-native-url-polyfill "3.0.0" -"@fishjam-cloud/react-native-webrtc@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.25.8.tgz#0066a9ba1aa68a67fd545dc80daf80a95d384bc0" - integrity sha512-KjnmSQ78AqkfJuUWbwpWUneExlj406H+z14xdzKSTqp90csoBPt4mtXAFO89HRTQnpPUmKEo32eB/YBpqA1HpQ== +"@fishjam-cloud/react-native-webrtc@0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.26.2.tgz#679ae4d68f9ffec3e4b2404cd03e8da2925e8f4a" + integrity sha512-lvDNs4/cayaUJaoEjjqn3RDQt4QunXTb//Qm0LaPT2nNjTvEv6D+Kn6cNSf7wn0jfkyLrFu4gxNMtPTjns9sSg== dependencies: base64-js "1.5.1" debug "4.3.4" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/mobile-react-native/minimal-react-native/.env.example b/mobile-react-native/minimal-react-native/.env.example index 5c3949f..78d7522 100644 --- a/mobile-react-native/minimal-react-native/.env.example +++ b/mobile-react-native/minimal-react-native/.env.example @@ -1 +1,2 @@ EXPO_PUBLIC_FISHJAM_ID= +EXPO_PUBLIC_SANDBOX_API_URL= diff --git a/mobile-react-native/minimal-react-native/hooks/useConnectFishjam.ts b/mobile-react-native/minimal-react-native/hooks/useConnectFishjam.ts index 5274f53..b8583e1 100644 --- a/mobile-react-native/minimal-react-native/hooks/useConnectFishjam.ts +++ b/mobile-react-native/minimal-react-native/hooks/useConnectFishjam.ts @@ -14,9 +14,7 @@ export const useConnectFishjam = () => { const { leaveRoom, joinRoom } = useConnection(); const { getSandboxPeerToken } = useSandbox({ - configOverride: { - sandboxApiUrl: process.env.EXPO_PUBLIC_FISHJAM_URL, - }, + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, }); const { initializeDevices } = useInitializeDevices(); diff --git a/mobile-react-native/minimal-react-native/package.json b/mobile-react-native/minimal-react-native/package.json index 926bd6d..c9b4890 100644 --- a/mobile-react-native/minimal-react-native/package.json +++ b/mobile-react-native/minimal-react-native/package.json @@ -12,7 +12,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fishjam-cloud/react-native-client": "0.26.0", + "@fishjam-cloud/react-native-client": "0.27.0-rc.0", "@react-navigation/elements": "^2.5.2", "@react-navigation/native": "^7.1.14", "@react-navigation/native-stack": "^7.3.21", diff --git a/mobile-react-native/minimal-react-native/yarn.lock b/mobile-react-native/minimal-react-native/yarn.lock index c1dbc7b..aea3cb6 100644 --- a/mobile-react-native/minimal-react-native/yarn.lock +++ b/mobile-react-native/minimal-react-native/yarn.lock @@ -1165,38 +1165,38 @@ chalk "^4.1.0" js-yaml "^4.1.0" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/react-native-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.26.0.tgz#d5a221a64e601c1bca7c9776b241ce274a10e135" - integrity sha512-gbvIzR8n3BaA0VVnZtKOcpBWRj7bqSRrkPd9nsPiDdkVwLgL315RbFNu598RUzifxi7+XmsdVkUdORL6drbdtQ== +"@fishjam-cloud/react-native-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.27.0-rc.0.tgz#dd6c6537f5540b7e3690b9519ad2c076c71bd997" + integrity sha512-dHWdcDZycrlzXXLsANKyXc1itHJUu7Tu2UfdT4nSVq3C8bIOHVaqpLnkyM+WqFqyLtzyxwIbF9ufqrUJyw8sqA== dependencies: - "@fishjam-cloud/react-client" "0.26.0" - "@fishjam-cloud/react-native-webrtc" "0.25.8" + "@fishjam-cloud/react-client" "0.27.0-rc.0" + "@fishjam-cloud/react-native-webrtc" "0.26.2" fast-text-encoding "1.0.6" react-native-get-random-values "1.11.0" react-native-url-polyfill "3.0.0" -"@fishjam-cloud/react-native-webrtc@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.25.8.tgz#0066a9ba1aa68a67fd545dc80daf80a95d384bc0" - integrity sha512-KjnmSQ78AqkfJuUWbwpWUneExlj406H+z14xdzKSTqp90csoBPt4mtXAFO89HRTQnpPUmKEo32eB/YBpqA1HpQ== +"@fishjam-cloud/react-native-webrtc@0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.26.2.tgz#679ae4d68f9ffec3e4b2404cd03e8da2925e8f4a" + integrity sha512-lvDNs4/cayaUJaoEjjqn3RDQt4QunXTb//Qm0LaPT2nNjTvEv6D+Kn6cNSf7wn0jfkyLrFu4gxNMtPTjns9sSg== dependencies: base64-js "1.5.1" debug "4.3.4" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/mobile-react-native/text-chat/.env.example b/mobile-react-native/text-chat/.env.example index 5c3949f..78d7522 100644 --- a/mobile-react-native/text-chat/.env.example +++ b/mobile-react-native/text-chat/.env.example @@ -1 +1,2 @@ EXPO_PUBLIC_FISHJAM_ID= +EXPO_PUBLIC_SANDBOX_API_URL= diff --git a/mobile-react-native/text-chat/hooks/useConnectFishjam.ts b/mobile-react-native/text-chat/hooks/useConnectFishjam.ts index 00a0812..92ff28a 100644 --- a/mobile-react-native/text-chat/hooks/useConnectFishjam.ts +++ b/mobile-react-native/text-chat/hooks/useConnectFishjam.ts @@ -8,7 +8,9 @@ import type { RootStackParamList } from '../navigation/RootNavigation'; export const useConnectFishjam = () => { const navigation = useNavigation>(); const { leaveRoom, joinRoom } = useConnection(); - const { getSandboxPeerToken } = useSandbox(); + const { getSandboxPeerToken } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(null); diff --git a/mobile-react-native/text-chat/package.json b/mobile-react-native/text-chat/package.json index b8eac10..fb30158 100644 --- a/mobile-react-native/text-chat/package.json +++ b/mobile-react-native/text-chat/package.json @@ -12,7 +12,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fishjam-cloud/react-native-client": "0.26.0", + "@fishjam-cloud/react-native-client": "0.27.0-rc.0", "@react-navigation/elements": "^2.5.2", "@react-navigation/native": "^7.1.14", "@react-navigation/native-stack": "^7.3.21", diff --git a/mobile-react-native/text-chat/yarn.lock b/mobile-react-native/text-chat/yarn.lock index c1dbc7b..aea3cb6 100644 --- a/mobile-react-native/text-chat/yarn.lock +++ b/mobile-react-native/text-chat/yarn.lock @@ -1165,38 +1165,38 @@ chalk "^4.1.0" js-yaml "^4.1.0" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/react-native-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.26.0.tgz#d5a221a64e601c1bca7c9776b241ce274a10e135" - integrity sha512-gbvIzR8n3BaA0VVnZtKOcpBWRj7bqSRrkPd9nsPiDdkVwLgL315RbFNu598RUzifxi7+XmsdVkUdORL6drbdtQ== +"@fishjam-cloud/react-native-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.27.0-rc.0.tgz#dd6c6537f5540b7e3690b9519ad2c076c71bd997" + integrity sha512-dHWdcDZycrlzXXLsANKyXc1itHJUu7Tu2UfdT4nSVq3C8bIOHVaqpLnkyM+WqFqyLtzyxwIbF9ufqrUJyw8sqA== dependencies: - "@fishjam-cloud/react-client" "0.26.0" - "@fishjam-cloud/react-native-webrtc" "0.25.8" + "@fishjam-cloud/react-client" "0.27.0-rc.0" + "@fishjam-cloud/react-native-webrtc" "0.26.2" fast-text-encoding "1.0.6" react-native-get-random-values "1.11.0" react-native-url-polyfill "3.0.0" -"@fishjam-cloud/react-native-webrtc@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.25.8.tgz#0066a9ba1aa68a67fd545dc80daf80a95d384bc0" - integrity sha512-KjnmSQ78AqkfJuUWbwpWUneExlj406H+z14xdzKSTqp90csoBPt4mtXAFO89HRTQnpPUmKEo32eB/YBpqA1HpQ== +"@fishjam-cloud/react-native-webrtc@0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.26.2.tgz#679ae4d68f9ffec3e4b2404cd03e8da2925e8f4a" + integrity sha512-lvDNs4/cayaUJaoEjjqn3RDQt4QunXTb//Qm0LaPT2nNjTvEv6D+Kn6cNSf7wn0jfkyLrFu4gxNMtPTjns9sSg== dependencies: base64-js "1.5.1" debug "4.3.4" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/mobile-react-native/video-player/.env.example b/mobile-react-native/video-player/.env.example index 5c3949f..78d7522 100644 --- a/mobile-react-native/video-player/.env.example +++ b/mobile-react-native/video-player/.env.example @@ -1 +1,2 @@ EXPO_PUBLIC_FISHJAM_ID= +EXPO_PUBLIC_SANDBOX_API_URL= diff --git a/mobile-react-native/video-player/components/FishjamPlayerStreamer.tsx b/mobile-react-native/video-player/components/FishjamPlayerStreamer.tsx index 086d8dc..8204a74 100644 --- a/mobile-react-native/video-player/components/FishjamPlayerStreamer.tsx +++ b/mobile-react-native/video-player/components/FishjamPlayerStreamer.tsx @@ -10,7 +10,9 @@ import { useEffect } from 'react'; import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; export const FishjamPlayerStreamer = ({ roomName }: { roomName: string }) => { - const { getSandboxLivestream } = useSandbox(); + const { getSandboxLivestream } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { toggleCamera, stopCamera, startCamera, isCameraOn, cameraStream } = useCamera(); diff --git a/mobile-react-native/video-player/components/FishjamPlayerViewer.tsx b/mobile-react-native/video-player/components/FishjamPlayerViewer.tsx index 3bc17df..4724c2c 100644 --- a/mobile-react-native/video-player/components/FishjamPlayerViewer.tsx +++ b/mobile-react-native/video-player/components/FishjamPlayerViewer.tsx @@ -7,7 +7,9 @@ import { useEffect } from 'react'; import { ActivityIndicator, StyleSheet, Text, View } from 'react-native'; export const FishjamPlayerViewer = ({ roomName }: { roomName: string }) => { - const { getSandboxViewerToken } = useSandbox(); + const { getSandboxViewerToken } = useSandbox({ + sandboxApiUrl: process.env.EXPO_PUBLIC_SANDBOX_API_URL, + }); const { connect, disconnect, stream } = useLivestreamViewer(); useEffect(() => { diff --git a/mobile-react-native/video-player/package.json b/mobile-react-native/video-player/package.json index c96fec5..396d8c6 100644 --- a/mobile-react-native/video-player/package.json +++ b/mobile-react-native/video-player/package.json @@ -12,7 +12,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fishjam-cloud/react-native-client": "0.26.0", + "@fishjam-cloud/react-native-client": "0.27.0-rc.0", "expo": "~54.0.27", "expo-status-bar": "~3.0.9", "react": "19.1.0", diff --git a/mobile-react-native/video-player/yarn.lock b/mobile-react-native/video-player/yarn.lock index 4142041..673f3b4 100644 --- a/mobile-react-native/video-player/yarn.lock +++ b/mobile-react-native/video-player/yarn.lock @@ -1165,38 +1165,38 @@ chalk "^4.1.0" js-yaml "^4.1.0" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/react-native-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.26.0.tgz#d5a221a64e601c1bca7c9776b241ce274a10e135" - integrity sha512-gbvIzR8n3BaA0VVnZtKOcpBWRj7bqSRrkPd9nsPiDdkVwLgL315RbFNu598RUzifxi7+XmsdVkUdORL6drbdtQ== +"@fishjam-cloud/react-native-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-client/-/react-native-client-0.27.0-rc.0.tgz#dd6c6537f5540b7e3690b9519ad2c076c71bd997" + integrity sha512-dHWdcDZycrlzXXLsANKyXc1itHJUu7Tu2UfdT4nSVq3C8bIOHVaqpLnkyM+WqFqyLtzyxwIbF9ufqrUJyw8sqA== dependencies: - "@fishjam-cloud/react-client" "0.26.0" - "@fishjam-cloud/react-native-webrtc" "0.25.8" + "@fishjam-cloud/react-client" "0.27.0-rc.0" + "@fishjam-cloud/react-native-webrtc" "0.26.2" fast-text-encoding "1.0.6" react-native-get-random-values "1.11.0" react-native-url-polyfill "3.0.0" -"@fishjam-cloud/react-native-webrtc@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.25.8.tgz#0066a9ba1aa68a67fd545dc80daf80a95d384bc0" - integrity sha512-KjnmSQ78AqkfJuUWbwpWUneExlj406H+z14xdzKSTqp90csoBPt4mtXAFO89HRTQnpPUmKEo32eB/YBpqA1HpQ== +"@fishjam-cloud/react-native-webrtc@0.26.2": + version "0.26.2" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-native-webrtc/-/react-native-webrtc-0.26.2.tgz#679ae4d68f9ffec3e4b2404cd03e8da2925e8f4a" + integrity sha512-lvDNs4/cayaUJaoEjjqn3RDQt4QunXTb//Qm0LaPT2nNjTvEv6D+Kn6cNSf7wn0jfkyLrFu4gxNMtPTjns9sSg== dependencies: base64-js "1.5.1" debug "4.3.4" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/web-react/audio-only/.env.example b/web-react/audio-only/.env.example index a3f2840..8a224a6 100644 --- a/web-react/audio-only/.env.example +++ b/web-react/audio-only/.env.example @@ -1 +1,2 @@ VITE_FISHJAM_ID= +VITE_SANDBOX_API_URL= diff --git a/web-react/audio-only/package.json b/web-react/audio-only/package.json index 41fcdae..0d5f199 100644 --- a/web-react/audio-only/package.json +++ b/web-react/audio-only/package.json @@ -13,7 +13,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fishjam-cloud/react-client": "0.26.0", + "@fishjam-cloud/react-client": "0.27.0-rc.0", "react": "19.1.0", "react-dom": "19.1.0" }, diff --git a/web-react/audio-only/src/JoinRoomForm.tsx b/web-react/audio-only/src/JoinRoomForm.tsx index abdba36..d792d03 100644 --- a/web-react/audio-only/src/JoinRoomForm.tsx +++ b/web-react/audio-only/src/JoinRoomForm.tsx @@ -13,7 +13,9 @@ type JoinRoomFormProps = { export const JoinRoomForm: FC = ({ onJoinedRoom }) => { const { joinRoom } = useConnection(); - const { getSandboxPeerToken } = useSandbox(); + const { getSandboxPeerToken } = useSandbox({ + sandboxApiUrl: import.meta.env.VITE_SANDBOX_API_URL, + }); const onJoinRoom = useCallback( async (params: RoomManagerParams) => { diff --git a/web-react/audio-only/yarn.lock b/web-react/audio-only/yarn.lock index a9fad81..eff5bc5 100644 --- a/web-react/audio-only/yarn.lock +++ b/web-react/audio-only/yarn.lock @@ -368,19 +368,19 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/web-react/fishjam-chat/.env.example b/web-react/fishjam-chat/.env.example new file mode 100644 index 0000000..053253f --- /dev/null +++ b/web-react/fishjam-chat/.env.example @@ -0,0 +1,2 @@ +VITE_FISHJAM_ID="your-fishjam-id" # get it at https://fishjam.io/app/ +VITE_SANDBOX_API_URL= diff --git a/web-react/fishjam-chat/package.json b/web-react/fishjam-chat/package.json index 64217a7..b73bf61 100644 --- a/web-react/fishjam-chat/package.json +++ b/web-react/fishjam-chat/package.json @@ -13,7 +13,7 @@ "preview": "vite preview" }, "dependencies": { - "@fishjam-cloud/react-client": "0.26.0", + "@fishjam-cloud/react-client": "0.27.0-rc.0", "@mediapipe/tasks-vision": "^0.10.21", "@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-aspect-ratio": "^1.1.1", diff --git a/web-react/fishjam-chat/src/components/JoinRoomCard.tsx b/web-react/fishjam-chat/src/components/JoinRoomCard.tsx index 5a0bac3..e4024ad 100644 --- a/web-react/fishjam-chat/src/components/JoinRoomCard.tsx +++ b/web-react/fishjam-chat/src/components/JoinRoomCard.tsx @@ -10,7 +10,7 @@ import { useCallback, useEffect } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; -import { DEFAULT_FISHJAM_ID } from "@/lib/consts"; +import { DEFAULT_FISHJAM_ID, DEFAULT_SANDBOX_API_URL } from "@/lib/consts"; import { getPersistedFormValues, persistFormValues } from "@/lib/utils"; import type { RoomForm } from "@/types"; @@ -54,6 +54,7 @@ export const JoinRoomCard: FC = ({ onFishjamIdChange, ...props }) => { const defaultValues = { ...persistedValues, fishjamId: DEFAULT_FISHJAM_ID, + sandboxApiUrl: DEFAULT_SANDBOX_API_URL, }; const form = useForm({ @@ -65,7 +66,9 @@ export const JoinRoomCard: FC = ({ onFishjamIdChange, ...props }) => { onFishjamIdChange(formFishjamId); }, [formFishjamId, onFishjamIdChange]); - const { getSandboxPeerToken } = useSandbox(); + const { getSandboxPeerToken } = useSandbox({ + sandboxApiUrl: form.watch("sandboxApiUrl"), + }); const initializeAndReport = useCallback(async () => { const { errors } = await initializeDevices({ @@ -93,6 +96,7 @@ export const JoinRoomCard: FC = ({ onFishjamIdChange, ...props }) => { peerName, roomType, fishjamId, + sandboxApiUrl, }: RoomForm) => { const peerToken = await getSandboxPeerToken(roomName, peerName, roomType); @@ -101,6 +105,7 @@ export const JoinRoomCard: FC = ({ onFishjamIdChange, ...props }) => { peerName, roomType, fishjamId, + sandboxApiUrl, }); await joinRoom({ @@ -132,6 +137,16 @@ export const JoinRoomCard: FC = ({ onFishjamIdChange, ...props }) => { /> +
+ + + +
+
diff --git a/web-react/fishjam-chat/src/lib/consts.ts b/web-react/fishjam-chat/src/lib/consts.ts index 28b3d2f..1dcbb28 100644 --- a/web-react/fishjam-chat/src/lib/consts.ts +++ b/web-react/fishjam-chat/src/lib/consts.ts @@ -1,3 +1,7 @@ export const DEFAULT_FISHJAM_ID = new URLSearchParams(window.location.search).get("fishjamId") ?? import.meta.env.VITE_FISHJAM_ID; + +export const DEFAULT_SANDBOX_API_URL = + new URLSearchParams(window.location.search).get("sandboxApiUrl") ?? + import.meta.env.VITE_SANDBOX_API_URL; diff --git a/web-react/fishjam-chat/src/types.ts b/web-react/fishjam-chat/src/types.ts index 60317bc..649dd8c 100644 --- a/web-react/fishjam-chat/src/types.ts +++ b/web-react/fishjam-chat/src/types.ts @@ -5,4 +5,5 @@ export type RoomForm = { peerName: string; roomType: RoomType; fishjamId: string; + sandboxApiUrl: string; }; diff --git a/web-react/fishjam-chat/yarn.lock b/web-react/fishjam-chat/yarn.lock index ad9b132..f356eff 100644 --- a/web-react/fishjam-chat/yarn.lock +++ b/web-react/fishjam-chat/yarn.lock @@ -215,19 +215,19 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" -"@fishjam-cloud/react-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.26.0.tgz#db6735ecaaf20bbe79e67f3fa525260c4894d29a" - integrity sha512-ebhBomvNd9wl81EEIXAlemdf/79AF2cLkFDaGQ67YssCadmChG1K/0zwUAt/kUs/AqEvuZvpq6pgGEzIhbegzg== +"@fishjam-cloud/react-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/react-client/-/react-client-0.27.0-rc.0.tgz#0794231a29b60b62a6739695ad709fc61e0c43a7" + integrity sha512-xq6zSqxogqs5x+4vjsoeW7KVFEPcrd6ptuvysiitRzbK0grWe48KjqDmvZf66ivs8XVbSQskBeYLVJCBQPaTmQ== dependencies: - "@fishjam-cloud/ts-client" "0.26.0" + "@fishjam-cloud/ts-client" "0.27.0-rc.0" events "3.3.0" lodash.isequal "4.5.0" -"@fishjam-cloud/ts-client@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.26.0.tgz#4acec0faba03ab72d4720da01f892a570a50ad33" - integrity sha512-9G8huzXh26aImINlhrDZrcQ6RnienEJkyNY4dkBjAix8uKgQU72DsDSTDySgDE5bIXLw3byC9P10fGU1D9nRBQ== +"@fishjam-cloud/ts-client@0.27.0-rc.0": + version "0.27.0-rc.0" + resolved "https://registry.yarnpkg.com/@fishjam-cloud/ts-client/-/ts-client-0.27.0-rc.0.tgz#79a950e6f56e8df18e89e5c2b45823fde2e2aab1" + integrity sha512-OKC6C5Np9sA5X0FN4qf0chXrCPMF2RSjerlr1VxKDYiIU4oCIRRTnCgbA/AayrLor6L32P8fg/1JIKq7CEkt9w== dependencies: "@binbat/whip-whep" "^1.1.1-sdp-trickle-throw" "@bufbuild/protobuf" "^2.2.3" diff --git a/web-react/livestreaming/.env.example b/web-react/livestreaming/.env.example index ead9def..b3a8256 100644 --- a/web-react/livestreaming/.env.example +++ b/web-react/livestreaming/.env.example @@ -1 +1,2 @@ VITE_FISHJAM_ID="" +VITE_SANDBOX_API_URL= diff --git a/web-react/livestreaming/package.json b/web-react/livestreaming/package.json index 8a6de01..cc1d7ac 100644 --- a/web-react/livestreaming/package.json +++ b/web-react/livestreaming/package.json @@ -15,7 +15,7 @@ "lint:check": "eslint . --ext .ts,.tsx" }, "dependencies": { - "@fishjam-cloud/react-client": "0.26.0", + "@fishjam-cloud/react-client": "0.27.0-rc.0", "@hookform/resolvers": "^5.1.1", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.7", diff --git a/web-react/livestreaming/src/components/ConnectForm.tsx b/web-react/livestreaming/src/components/ConnectForm.tsx index 0870488..d5cc096 100644 --- a/web-react/livestreaming/src/components/ConnectForm.tsx +++ b/web-react/livestreaming/src/components/ConnectForm.tsx @@ -10,40 +10,56 @@ import { Label } from "./ui/label"; type FormValues = { fishjamId: string; + sandboxApiUrl: string; }; export const ConnectForm = () => { - const { fishjamId, setFishjamId } = useFishjamId(); + const { fishjamId, setFishjamId, sandboxApiUrl, setSandboxApiUrl } = + useFishjamId(); const [isLocked, setIsLocked] = useState(!!fishjamId); const form = useForm({ defaultValues: { fishjamId: fishjamId, + sandboxApiUrl: sandboxApiUrl, }, }); function onSubmit(values: FormValues) { setIsLocked(true); setFishjamId(values.fishjamId); + setSandboxApiUrl(values.sandboxApiUrl); } return (
- -
- - +
+
+ + +
+
+ + +
{isLocked ? (