feat(download-data): Add meeting content export button and auto-download option #16354
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Summary
This PR introduces a new feature that allows moderators to export key meeting data (chat, polls, and attendance) to a .txt file. This can be done manually via a new toolbar button or automatically when a local recording is stopped.
Key Features:
New Toolbar Button: Adds a "Download meeting content" button to the moderator's toolbox for on-demand downloading.
Comprehensive Data Export: The downloaded .txt file includes:
A full list of all participants who were present.
The complete chat history, with timestamps and display names.
A summary of all polls, including questions, answers, vote counts, and voter names.
Automatic Download Option: Adds a checkbox to the "Start Recording" dialog that enables the automatic download of this data file when a local recording session is stopped.
Configurable Default: The default state of the auto-download checkbox can be set by administrators in
config.jsvia thelocalRecording.autoDownloadMeetingDataflag.Reusable Logic: The data gathering and formatting logic has been centralized into reusable functions (getMeetingDataAsString, downloadMeetingData) for clean and consistent implementation.
Motivation
This feature provides a simple, built-in way for moderators and hosts to archive and review important textual interactions from a meeting without relying on third-party tools or manually copying and pasting. It's especially useful for record-keeping, generating meeting minutes, or compliance purposes.
The New Toolbar Button:

The New Recording Option:

The Downloaded File Content:
Meeting Data for: test-roomDate: 8/13/2025, 3:00:00 PM--- Attendance ---Alice (Me)Bob--- Chat History ---[3:01:15 PM] Alice: Hello everyone![3:01:25 PM] Bob: Hi Alice, glad to be here.--- Polls ---Poll 1: What is our main priority?- Option A (1 votes): [Bob]- Option B (0 votes): []