client-sdk-swift icon indicating copy to clipboard operation
client-sdk-swift copied to clipboard

Dismissing RPSystemBroadcastPickerView without selecting Broadcast Extension leaves isScreenShareEnabled() true

Open mokuzuu opened this issue 1 year ago • 5 comments

Describe the bug Dismissing RPSystemBroadcastPickerView without selecting Broadcast Extension leaves isScreenShareEnabled() true

SDK Version 2.0.12

iOS/macOS Version iOS 17.5.1

Xcode Version 15.4 Swift 5

Steps to Reproduce

  1. Setup broadcast extention
  2. Call room.localParticipant.setScreenShare(true), now room.localParticipant.isScreenShareEnabled() returns true
  3. It shows RPSystemBroadcastPickerView, and press anywhere except Picker to dismiss it
  4. I expect room.localParticipant.isScreenShareEnabled() returns false but it returns true

Expected behavior Dismissing RPSystemBroadcastPickerView should update isScreenShareEnabled() returns false.

Screenshots If applicable, add screenshots to help explain your problem.

Logs Please provide logs if you can.

mokuzuu avatar Jul 26 '24 13:07 mokuzuu

@hiroshihorie

As RPSystemBroadcastPickerView doesn't seem accepting delegate, we cannot use RPBroadcastActivityControllerDelegate. What would be the best solution for this? I'm happy to take this but would need some guidance.

mokuzuu avatar Jul 30 '24 02:07 mokuzuu

@hiroshihorie , been facing the same issue. isScreenShareEnabled() is returned true even if we click on start broadcast of the screenshare prompt. Tried all workarounds but none seem to work.

jestha166 avatar Aug 22 '24 04:08 jestha166

@mokuzuu , were you able to fix this issue using Darwin notification center?. Because if I make the useBroadcastExtension to be false, it shows me a prompt asking Do you want to record the screen when I set the room.localParticipant.setScreenShare(enabled: isEnabled). Please guide me to fix this issue.

jestha166 avatar Aug 29 '24 07:08 jestha166

@jestha166 Unfortunately I couldn't workaround this one as it doesn't emit darwin notification when dismissing picker.

I think this needs library change. Especially when calling setScreenShare, it shouldn't create local video track.

mokuzuu avatar Sep 02 '24 02:09 mokuzuu

Hi, i'm looking into re-designing the internals. This is on my list since it looks like it's frequently requested.

hiroshihorie avatar Sep 02 '24 02:09 hiroshihorie