6.3 C
Canberra
Friday, July 10, 2026

ios – Jitsi React native SDK – Display screen freezing for two+ minutes on preliminary mount or when participant joins the primary time


I am experiencing a extreme efficiency challenge with @jitsi/react-native-sdk in our iOS React Native software.

When opening the video assembly for the primary time, or when one other participant joins an lively assembly, the applying display fully freezes. This freeze lasts for greater than 2 minutes, throughout which the display is completely unresponsive and I can not work together with any UI parts.

Atmosphere Particulars:

  • OS: iOS

  • React Native: 0.82.1

  • React: 19.1.1

  • Jitsi React Native SDK: ^12.1.3

  • react-native-webrtc: 124.0.7

  • Node: >=20

Implementation Particulars: We wrap the JitsiMeeting part inside a practical part. We presently delay mounting the JitsiMeeting part by 1200ms utilizing a setTimeout to permit our popup animation to complete. Earlier than mounting, we additionally request iOS Digicam and Microphone permissions by way of react-native-permissions.

Here’s a simplified model of our implementation:

import React, { useEffect, useState } from 'react';
import { JitsiMeeting } from '@jitsi/react-native-sdk';
import { View, ActivityIndicator, Platform } from 'react-native';
import { request, PERMISSIONS } from 'react-native-permissions';

const VideoCall = ({ room, token, serverURL }) => {
  const [ready, setReady] = useState(false);

  useEffect(() => {
    if (!room) return;
    let isMounted = true;
    let timer;

    const requestPermissionsAndMount = async () => {
      attempt {
        if (Platform.OS === 'ios') {
          await request(PERMISSIONS.IOS.CAMERA);
          await request(PERMISSIONS.IOS.MICROPHONE);
        }
      } catch (err) {
        console.warn('Permission request error:', err);
      }

      if (isMounted) {
        // Delayed mount to permit popup animation to finish
        timer = setTimeout(() => {
          if (isMounted) setReady(true);
        }, 1200);
      }
    };

    requestPermissionsAndMount();

    return () => {
      isMounted = false;
      if (timer) clearTimeout(timer);
    };
  }, [room, token, serverURL]);

  if (!prepared) {
    return (
      
        
      
    );
  }

  return (
    
      
    
  );
};

export default VideoCall;
  1. Is there a identified challenge with the iOS SDK initialization inflicting important thread blockage for prolonged intervals?

  2. Are there any really helpful practices or configurations to stop the UI from freezing when a brand new participant joins or when the video is initially loaded?

  3. May our delayed mounting (setTimeout) or permission request circulation be interfering with the Jitsi SDK lifecycle on iOS?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles