jitsi / jitsi-meet-sdk-samples

Jitsi Meet mobile SDK examples (Android, iOS and React Native)
Apache License 2.0
283 stars 240 forks source link

not able to exit/close the meeting both android and ios #248

Closed mubashiralisiddiqui closed 2 weeks ago

mubashiralisiddiqui commented 2 months ago

after we join the meeting room and try to exit it again bounce back to the same room screen

https://github.com/user-attachments/assets/786d50b9-7146-4b3b-888d-31a44f82bf05

versions of lib "@amplitude/react-native": "2.17.3", "@giphy/react-native-sdk": "2.3.0", "@jitsi/react-native-sdk": "^10.1.3", "react-native": "0.69.12", "react-native-gesture-handler": "2.18.1", "react-native-screens": "3.32.0", usagae

` const Meeting = props => { const {route} = props; const jitsiMeetingRef = useRef(null); const navigation = useNavigation(); const backHandler = useRef(null);

useEffect(() => { // Add back handler only for Android if (Platform.OS === 'android') { backHandler.current = BackHandler.addEventListener( 'hardwareBackPress', () => { onClose(); // Call the onClose function when the back button is pressed return true; // Prevent the default back button behavior } ); }

// Cleanup event listener when the component unmounts
return () => {
  if (Platform.OS === 'android' && backHandler.current) {
    backHandler.current.remove();
  }
};

}, []); const resetAction = CommonActions.reset({ index: 0, // Set the index of the route you want to navigate to (0 for the first screen) routes: [ {name: 'jitsi'}, // Add more routes if needed ], }); const onClose = () => { // navigation.goBack(); if (jitsiMeetingRef.current?.close) { jitsiMeetingRef.current.close(); // Properly close the Jitsi meeting } navigation.push('subCustomerMyBooking'); }; const onReadyToClose = nativeEvent => { console.log('onReadyToClose', nativeEvent); setTimeout(() => { onClose(); return true }, 1000); if (jitsiMeetingRef.current?.close) { jitsiMeetingRef.current.removeEventListener( 'onReadyToClose', onReadyToClose, ); jitsiMeetingRef.current.close(); } };

// Get the value of the 'jwt' parameter from the URL search parameters const jitsiUrl = route?.params?.jitsiUrl; const jwt = jitsiUrl?.split('?jwt=')[1]; const room = route?.params?.user || 'room'; const onConferenceLeft = () => { console.log('onConferenceLeft'); }; const eventListeners = { onReadyToClose, onConferenceLeft, }; return ( <JitsiMeeting eventListeners={eventListeners} ref={jitsiMeetingRef} onConferenceTerminated={()=>{console.log("Conference terminated")}} style={{flex: 1}} room={room} serverURL={route?.params?.jitsiUrl || 'https://meet.jit.si/'} token={jwt || ''} config={{ hideConferenceTimer: true, }} /> ); };

`

mubashiralisiddiqui commented 2 months ago

@saghul can you help here plz

saghul commented 2 months ago

"react-native": "0.69.12", "react-native-gesture-handler": "2.18.1", "react-native-screens": "3.32.0",

Make sure you are using the same RN version as we are. Our SDK targets RN 0.73, it may or may not work with different versions.

mubashiralisiddiqui commented 2 months ago

upgraded to 073 now but still facing the same issue {"react-native": "0.73.9", "@amplitude/react-native": "2.17.3", "@giphy/react-native-sdk": "2.3.0", "@jitsi/react-native-sdk": "^10.1.1", "@react-native-async-storage/async-storage": "1.23.1", "@react-native-clipboard/clipboard": "1.14.1", "@react-native-community/geolocation": "^2.0.2", "@react-native-community/netinfo": "11.1.0", "react-native-webrtc": "124.0.4", },

mubashiralisiddiqui commented 2 months ago

@saghul any idea what i can do to fix that issue

mubashiralisiddiqui commented 2 months ago

@saghul I am able to reprodcue the issue on example app I used my server url and token and it reprouced

mubashiralisiddiqui commented 2 weeks ago

its working fine now I was using the url like this https://mybaseURL/ROOMName?token then I replace the url to just the base url https://mybaseURL and the events started working