Back
07 Nov, 2025

[0.2.0.3] - 2025-11-07

Changed

  • Major Security Overhaul: Replaced all insecure input type="hidden" fields and URL parameters with a secure, one-time-use WordPress Transient system. All data (Room ID, User Name, Mic/Cam IDs, Auto-Approve) is now passed securely via the server.
  • Improved Redirect Logic: The "Leave Meeting" button now correctly redirects users back to the specific Lobby URL they came from (which is passed securely via the Transient), instead of defaulting to the site's homepage.

Added

  • BuddyBoss Addon Integration: The main plugin is now "addon-aware" and checks for defined('WPJ_BUDDYBOSS_ADDON_ACTIVE').
  • Automatic Group ID: The plugin now automatically uses the BuddyBoss Group ID (via bp_get_current_group_id()) as the room_id when the [wpj_lobby] shortcode is used within a group tab.

Fixed

  • Critical Addon Fix: Fixed the WPJ_BUDDYBOSS_ADDON_ACTIVE constant not being defined on the front-end. Moved its definition from the admin_init hook to the plugins_loaded hook in the addon file.
  • Critical Fallback Loader Fix: Fixed incorrect file paths in the shortcode.php fallback loader. plugins_url() calls for wpj-lobby.js and wpj-front-style.css now correctly use ../public/ to find the assets folder.
  • Fixed: Major RTM (User List) Overhaul: Reworked the entire user list logic. Replaced the failing RTM Storage (setUserMetadata) system with a new method using RTM Channel Messages (publish) to broadcast user names (uname) and roles. This resolves the -12019 and -10019 errors.
  • Fixed: User List Race Condition: Solved the critical bug where late-joiners (User 2) could not see users already in the room (User 1). The app now uses getOnlineUsers (with correct 'MESSAGE' type) and existing users re-publish their attributes when a new user joins (REMOTE_JOIN).
  • Fixed: RTM Message Payload: Corrected the bug where user data was received as undefined. The app now correctly parses event.message instead of the non-existent event.message.text.
  • PHP Fatal Error Fix: Resolved a TypeError in jd-wpjointly.php where wpj_t() was called with a string as the second argument instead of the required array.
  • PHP Security Fix: Resolved the "Session data NOT FOUND" race condition by migrating from unreliable PHP Sessions to the robust WordPress Transient API.