FCE-2395: Implement screen sharing for live streams#524
Conversation
There was a problem hiding this comment.
Pull request overview
This PR implements screen sharing functionality for live streams by adding a new hook useLivestreamScreenSharingStreamer and integrating it into the application navigation. The implementation follows the existing pattern established for camera-based streaming.
Key changes:
- Added
useLivestreamScreenSharingStreamerhook for screen sharing streams - Updated
useLivestreamStreamerto pass camera ID as a separate parameter - Added navigation screen and UI for screen sharing functionality
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/react-native-client/src/livestream/index.ts | Exports the new screen sharing hook |
| packages/react-native-client/src/livestream/hooks/useLivestreamStreamer.ts | Refactors camera initialization to pass camera ID as separate parameter |
| packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts | Implements the screen sharing hook with configuration options |
| internal/fishjam-chat/screens/LivestreamScreen/LivestreamScreenSharingScreen.tsx | Adds UI screen for screen sharing functionality |
| internal/fishjam-chat/screens/ConnectToLivestreamScreen.tsx | Adds button to navigate to screen sharing screen |
| internal/fishjam-chat/navigators/AppNavigator.tsx | Registers the new screen sharing screen in navigation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Outdated
Show resolved
Hide resolved
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Show resolved
Hide resolved
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Outdated
Show resolved
Hide resolved
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Outdated
Show resolved
Hide resolved
packages/react-native-client/src/livestream/hooks/useLivestreamScreenSharingStreamer.ts
Show resolved
Hide resolved
package.json
Outdated
| ] | ||
| }, | ||
| "resolutions": { | ||
| "@expo/metro-config": "~0.20.18" |
There was a problem hiding this comment.
question: Why is this needed? This might create issues for the users of our package.
There was a problem hiding this comment.
This package.json is set to be private, so I think that it's not used by the users of our package.
There was a problem hiding this comment.
Anyway this is not a right place for it, since it's the main package.json. Please move it to the example.
| }; | ||
| } | ||
|
|
||
| config = withWhipWhep(config, options.livestream); |
There was a problem hiding this comment.
issue (blocking): I believe no changes to the plugin are needed.
…m:fishjam-cloud/mobile-client-sdk into FCE-2395/add-screensharing-to-livestreams
Description
Add screen sharing for live streaming.
Documentation impact
Types of changes
not work as expected)