Skip to content

Conversation

@Tainan404
Copy link
Member

Description

This PR implements the playback integration for the new messageAsHtml field introduced in bigbluebutton/bigbluebutton#24102

Previously, chat messages in recordings were rendered as plain text or Markdown, leading to:

  • Broken formatting (e.g., no bold/headers/links)
  • Missing link targets (target="_blank", rel="noopener")
  • Inconsistent spacing and code block styling compared to the live HTML5 client

With this change, the playback now renders the preformatted HTML version of each message, ensuring identical visual and functional behavior to live sessions.


Changes

Frontend (Playback Chat UI)

  • Render messageAsHtml using dangerouslySetInnerHTML

  • Add .text-vanilla class to normalize margins for nested elements:

    .text-vanilla {
      margin-top: 0.25rem;
      > * { margin: 0; }
    }

Playback Data

  • Read messageAsHtml from recording events if present

Testing Steps

  1. Record a meeting using the latest HTML5 client after refactor: Introduce new field for chat messages messageAsHtml and make playback and client use it bigbluebutton#24102.

  2. Include messages with:

    • Markdown (**bold**, # headings)
    • Links (https://example.com)
    • Inline code and lists
  3. Play back the recording in bbb-playback.

  4. ✅ Verify:

    • HTML formatting appears correctly (bold, headers, links)
    • Links open in new tab (target="_blank")
    • No excess spacing between elements
    • No XSS or unsafe HTML rendered

Screenshots (Before / After)

Before After
image image

Related PRs / Issues

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