Back
03 Dec, 2025

[0.2.2.5] - 2025-12-03

Added

  • Screen Share Permission Control:[cite_start]Implemented screenshare_roles shortcode parameter to granularly control who can share their screen[cite: 25].[cite_start]'all' Support: Setting screenshare_roles="all" allows every participant (including guests) to share their screen[cite: 25].[cite_start]Specific Roles: Supports comma-separated role slugs (e.g., screenshare_roles="subscriber,customer")[cite: 25].[cite_start]Presenter Rights: Presenters/Admins always retain screen sharing rights regardless of this setting[cite: 25].
  • [cite_start]Implemented screenshare_roles shortcode parameter to granularly control who can share their screen[cite: 25].
  • [cite_start]'all' Support: Setting screenshare_roles="all" allows every participant (including guests) to share their screen[cite: 25].
  • [cite_start]Specific Roles: Supports comma-separated role slugs (e.g., screenshare_roles="subscriber,customer")[cite: 25].
  • [cite_start]Presenter Rights: Presenters/Admins always retain screen sharing rights regardless of this setting[cite: 25].
  • State Persistence (Lobby to Meeting):Seamless Transition: Implemented logic to carry over the user's Microphone (Mute/Unmute) and Camera (On/Off) states from the Lobby to the Meeting Room.Smart Initialization:Camera Off in Lobby: The meeting starts with the camera disabled (no track created to save resources), but the "Enable Camera" button remains active/clickable.Mic Muted in Lobby: The meeting starts with the microphone track muted immediately.Backend Integration: Updated wpj_generate_token_callback to receive mic_state and cam_state params and store them securely in the WordPress Transient (mic_enabledcam_enabled).
  • Seamless Transition: Implemented logic to carry over the user's Microphone (Mute/Unmute) and Camera (On/Off) states from the Lobby to the Meeting Room.
  • Smart Initialization:Camera Off in Lobby: The meeting starts with the camera disabled (no track created to save resources), but the "Enable Camera" button remains active/clickable.Mic Muted in Lobby: The meeting starts with the microphone track muted immediately.
  • Camera Off in Lobby: The meeting starts with the camera disabled (no track created to save resources), but the "Enable Camera" button remains active/clickable.
  • Mic Muted in Lobby: The meeting starts with the microphone track muted immediately.
  • Backend Integration: Updated wpj_generate_token_callback to receive mic_state and cam_state params and store them securely in the WordPress Transient (mic_enabledcam_enabled).
  • Enhanced UI/UX (Lobby):Icon-Only Device Selectors: Redesigned the Lobby device dropdown buttons to be cleaner (Icon only), removing the text labels to save space.Smart Tooltips:Device Info: Moved the active device name to a multi-line tooltip (e.g., "Pick Microphone - current: Default") that appears on hover.Dynamic Controls: Added real-time dynamic tooltips to Mic/Cam buttons that update based on state (e.g., toggling between "Mute microphone" and "Unmute microphone").Localization: Added new translation keys (pick_mic_currentpick_cam_currentmute_microphonedisable_camera, etc.) to translations.json.
  • Icon-Only Device Selectors: Redesigned the Lobby device dropdown buttons to be cleaner (Icon only), removing the text labels to save space.
  • Smart Tooltips:Device Info: Moved the active device name to a multi-line tooltip (e.g., "Pick Microphone - current: Default") that appears on hover.Dynamic Controls: Added real-time dynamic tooltips to Mic/Cam buttons that update based on state (e.g., toggling between "Mute microphone" and "Unmute microphone").
  • Device Info: Moved the active device name to a multi-line tooltip (e.g., "Pick Microphone - current: Default") that appears on hover.
  • Dynamic Controls: Added real-time dynamic tooltips to Mic/Cam buttons that update based on state (e.g., toggling between "Mute microphone" and "Unmute microphone").
  • Localization: Added new translation keys (pick_mic_currentpick_cam_currentmute_microphonedisable_camera, etc.) to translations.json.

Changed

  • Parameter Renaming:[cite_start]Renamed share_roles to screenshare_roles for better clarity and standard naming convention[cite: 27].
  • [cite_start]Renamed share_roles to screenshare_roles for better clarity and standard naming convention[cite: 27].
  • Logic Refinement:[cite_start]Updated wpj_generate_token_callback to calculate can_share status server-side based on the context key and store it in the session[cite: 27].
  • [cite_start]Updated wpj_generate_token_callback to calculate can_share status server-side based on the context key and store it in the session[cite: 27].
  • Lobby Logic (wpj-lobby.js):Refactored populateDeviceDropdowns to update data-wpj-tooltip attributes instead of button text.Added updateControlTooltip() helper for real-time state feedback.Updated proceedToJoin to capture and send current device states to the server.
  • Refactored populateDeviceDropdowns to update data-wpj-tooltip attributes instead of button text.
  • Added updateControlTooltip() helper for real-time state feedback.
  • Updated proceedToJoin to capture and send current device states to the server.
  • Meeting Logic (wpj-meetingroom.js):Updated createVideoTask and createAudioTask to respect micEnabled and camEnabled flags from session data.UX Fix: Ensured the "Enable Camera" button remains enabled (.prop('disabled', false)) even if the user enters the room with the camera turned off, allowing them to enable it later.
  • Updated createVideoTask and createAudioTask to respect micEnabled and camEnabled flags from session data.
  • UX Fix: Ensured the "Enable Camera" button remains enabled (.prop('disabled', false)) even if the user enters the room with the camera turned off, allowing them to enable it later.