Skip to content

[Fixed] BBB family: recording consent accepted with key 6 in any UI language - #134

Merged
nicotyze merged 1 commit into
Renater:mainfrom
Moustique82:fix/bbb-recording-consent
Oct 2, 2026
Merged

nicotyze merged 1 commit into
Renater:mainfrom
Moustique82:fix/bbb-recording-consent

Conversation

@Moustique82

Copy link
Copy Markdown
Contributor

Problem

In BBB-based connectors (Webinaire, BBB ESR, BigBlueButton), key 6 is meant to accept the recording notice ("Recording started / Continue"). It did not work:

  • the button was selected by its English aria-label, which BBB translates (FR: "Accepter l'enregistrement et poursuivre"), so nothing matched in a French UI;
  • the brace-less if (key == "6") ran the joinAudio check on every key and threw when no notice was shown;
  • when joining a meeting already being recorded, browse() checked for the notice only once, before BBB rendered it, so video started before acceptance;
  • while browse() waits for acceptance, the IVR menu key listener is not installed yet (it is loaded once joined), so key 6 was never received and the wait could only end on its 120 s timeout.

Fix

  • Language-independent selector [data-test='recordingNotifyContinue'], with the old aria-label kept as a fallback.
  • Braces and a null guard on key 6 (3 connectors).
  • In a recordable meeting (recordingIndicator present), wait up to 3 s for the notice after joining audio. There is no extra delay in non-recordable meetings. The recording state itself is only exposed through translated aria-labels, so it is not used.
  • Temporary keydown listener for key 6 during the acceptance wait (same approach as the Jitsi pre-join handler), removed in a finally.

Tests (Webinaire, French UI, Cisco Room Kit)

Case Result
Non-recordable meeting no indicator, no delay ✅
Recordable, recording never started no notice ✅
Recording running when joining waits, key 6 accepts, then video starts ✅
Recording paused when joining, then resumed notice on resume, key 6 accepts ✅
Recording started during the call key 6 accepts ✅
Pause then resume during the call notice shown again on each resume, key 6 accepts ✅
Webinaire end-user bench 10/10 ✅

BBB ESR and BigBlueButton use the same BBB component but were not tested live.

…anguage

- Select the recording notice button by data-test="recordingNotifyContinue"
  (aria-label is translated, so the English selector never matched a
  French UI); the old aria-label stays as a fallback for older BBB.
- Key 6: add the missing braces in webinaire.js and bbbesr.js (the
  joinAudio check ran on every key) and stop throwing when no notice is
  shown (also in bigbluebutton.js).
- browse(): in a recordable meeting (recordingIndicator present), wait up
  to 3 s for the notice, which BBB renders after the audio modal closes.
- browse(): handle key 6 while waiting for acceptance; the IVR menu key
  listener is only installed once joined, so the wait could only end on
  its 120 s timeout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KG9a9jCghzpRda7TtbkRmV
@nicotyze
nicotyze merged commit 593e249 into Renater:main Oct 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants