-
Notifications
You must be signed in to change notification settings - Fork 5
FCE-2395: Implement screen sharing for live streams #524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: Why is this needed? This might create issues for the users of our package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)