BigBlueButton client patches and UX fixes
Find a file
2026-09-12 11:41:58 +03:30
patches/v3.0.x feat: integrate audio-reconnect and single-device-restriction patches 2026-09-12 11:40:53 +03:30
.gitignore feat: initial commit with audio-autojoin-muted patch for BBB 3.0 2026-09-12 11:25:51 +03:30
bbb-patch.py fix: resolve symlink target using realpath in bbb-patch.py 2026-09-12 11:41:58 +03:30
README.md feat: integrate audio-reconnect and single-device-restriction patches 2026-09-12 11:40:53 +03:30

Kayer BigBlueButton Patches & Customizations

A structured, production-ready repository for BigBlueButton patches, version-specific client fixes, WebRTC optimizations, and security/concurrency policies.


Repository Structure

Each patch is versioned and organized by target BigBlueButton major version under patches/<version>/<patch-id>/:

kayer-bbb-patches/
├── README.md
├── bbb-patch.py                # Unified CLI runner to list, check, apply, and rollback patches
└── patches/
    └── v3.0.x/
        ├── audio-autojoin-muted/
        │   ├── README.md       # Technical explanation of the patch
        │   ├── metadata.json   # Patch metadata (id, version, target BBB releases)
        │   └── patch.py        # Self-contained standalone patch runner
        ├── audio-reconnect/
        │   ├── README.md       # WebRTC voice auto-reconnect & ICE retry policy
        │   ├── metadata.json
        │   └── patch.py
        └── single-device-restriction/
            ├── README.md       # 1 session per user policy & auto-ejection
            ├── metadata.json
            └── patch.py

Available Patches

Patch ID Target BBB Category Description
audio-autojoin-muted 3.0.x, 3.0.35 UX / Audio Auto-joins locked users to microphone audio in muted state; enables instantaneous speech upon instructor unlock with zero popups, zero echo test, and zero reconnection delay.
audio-reconnect 3.0.x, 3.0.35 Network / WebRTC Configures WebRTC ICE retries + relay fallback, and injects a client background heartbeat and network online listener to automatically reconnect audio after network drops.
single-device-restriction 3.0.x, 3.0.35 Policy / Security Enforces maxUserConcurrentAccesses=1 and allowDuplicateExtUserid=false in bbb-web, automatically terminating previous sessions when a user joins on a new device.

Usage

1. List Available Patches

python3 bbb-patch.py list

2. Check Status on Server

Check all patches:

python3 bbb-patch.py check --all

Or check a specific patch:

python3 bbb-patch.py check audio-autojoin-muted

3. Apply Patches

Apply all patches at once:

sudo python3 bbb-patch.py apply --all

Or apply an individual patch:

sudo python3 bbb-patch.py apply audio-reconnect

4. Rollback Patches

Rollback all patches:

sudo python3 bbb-patch.py rollback --all

Or rollback an individual patch:

sudo python3 bbb-patch.py rollback audio-reconnect

Standalone Execution

Each patch is completely self-contained and can also be executed directly without the CLI wrapper:

sudo python3 patches/v3.0.x/audio-autojoin-muted/patch.py --check
sudo python3 patches/v3.0.x/audio-reconnect/patch.py --patch
sudo python3 patches/v3.0.x/single-device-restriction/patch.py --rollback