Changelog: Video SDK - React Native - 2.4.0

Released: 2025-11-21 Updated: 2026-02-18

Visit Changelog

Summary: Adds support for subsessions with new interfaces for managing session types, user lists, and session status. Introduces audio control features including muteAll and unmuteAll. Fixes issue where ZoomVideoSdkUser was returning incorrect user information.

Added

  • Support for subsessions.

    • New interface in ZoomVideoSdkSubSession.ts
      getSessionType: () => Promise<SessionType>;
    
    • New interface, type and enum in the class ZoomVideoSdkSession.ts
      export type SubSessionKit = {
      	subSessionName: string;
      	subSessionID: string;
      	subSessionUserList: SubSessionUser[];
      };
      
      export type SubSessionUser = {
      	userName: string;
      	userGUID: string;
      };
      
      export enum UserHelpRequestResult {
      	Idle = 'Idle',
      	Busy = 'Busy',
      	Ignore = 'Ignore',
      	HostAlreadyInSubSession = 'HostAlreadyInSubSession',
      }
      
      export enum SubSessionStatus {
        None = 'None',
        Committed = 'Committed',
        Withdrawn = 'Withdrawn',
        Started = 'Started',
        Stopping = 'Stopping',
        CommitFailed = 'CommitFailed',
        WithdrawFailed = 'WithdrawFailed',
        StartFailed = 'StartFailed',
        StopFailed = 'StopFailed',
      }
      
      export type ZoomVideoSdkSubSessionType = {
        joinSubSession: (subSessionID: string) => Promise<Errors>;
        startSubSession: () => Promise<Errors>;
        stopSubSession: () => Promise<Errors>;
        isSubSessionStarted: () => Promise<boolean>;
        broadcastMessage: (message: string) => Promise<Errors>;
        returnToMainSession: () => Promise<Errors>;
        requestForHelp: () => Promise<Errors>;
        getRequestUserName: () => Promise<string>;
        getRequestSubSessionName: () => Promise<string>;
        ignore: () => Promise<Errors>;
        joinSubSessionByUserRequest: () => Promise<Errors>;
        commitSubSessionList: (subSessionNameList: string[]) => Promise<Errors>;
        withdrawSubSessionList: () => Promise<Errors>;
        getCommittedSubSessionList: () => Promise<SubSessionKit[]>;
      };
      
    
    
  • Support for muteAll and unmuteAll.

    • Add new interface in ZoomVideoSdkAudioHelper.ts
    allowAudioUnmutedBySelf: (allowUnmute: boolean) => void;
    muteAllAudio: (allowUnmute: boolean) => Promise<Errors>;
    unmuteAllAudio: () => Promise<Errors>;
    

Fixed

  • Fixed issue where ZoomVideoSdkUser returned the wrong user information.