Skip to content

fix(ui-commands): adds missing panels in enum(PROFILE and AUDIO-CAPTIONS) - #295

Merged
GuiLeme merged 3 commits into
bigbluebutton:v1.xfrom
Arthurk12:add-missing-panels-in-enum
Sep 23, 2026
Merged

GuiLeme merged 3 commits into
bigbluebutton:v1.xfrom
Arthurk12:add-missing-panels-in-enum

Conversation

@Arthurk12

Copy link
Copy Markdown
Member

What does this PR do?

SidekickAreaCorePanelEnum is meant to list every core panel a plugin may open in the sidekick area, but profile and audio captions are left out. The core handler resolves both ids and the sidebar content area renders both, so the commands already work — a plugin just has to pass the raw string and give up the type safety the enum exists for.

Add the two entries, with the ids the core keeps in its PANELS map. The remaining PANELS entries stay out on purpose: learning dashboard and settings are not sidekick panels, captions and waiting users have no renderer in the sidebar content area, and generic content sidekick is already covered by passing a plugin panel id directly.

Additionally:

  • feat(samples): show the sidekick area panel commands in the ui commands sample
    The ui commands sample exercises the chat form and screenshare commands but never the sidekick area ones, so there is no worked example of a plugin opening a core panel.
    Add two media area options: one toggling the profile panel, which shows both open and close and why the plugin has to track the panel state itself, and one opening the polling panel, which shows a registry-backed panel the core only resolves for the presenter.
  • fix(samples): render the stop screenshare icon in the ui commands sample
    The stop screenshare option carries a placeholder icon: a bare 'copy' string. PluginIconType accepts a string, but the core reads the icon as an object and falls back to the svg branch when iconName is absent, so the option renders with no icon at all — and a copy glyph would be the wrong one anyway.
    Pass the icon in the object form the core reads, naming the screenshare icon the core itself uses on its own stop sharing button.

More

No extra/analogus PR in the CORE repo is needed, as the panels dispatch is generically handled there.

SidekickAreaCorePanelEnum is meant to list every core panel a plugin may
open in the sidekick area, but profile and audio captions are left out.
The core handler resolves both ids and the sidebar content area renders
both, so the commands already work — a plugin just has to pass the raw
string and give up the type safety the enum exists for.

Add the two entries, with the ids the core keeps in its PANELS map. The
remaining PANELS entries stay out on purpose: learning dashboard and
settings are not sidekick panels, captions and waiting users have no
renderer in the sidebar content area, and generic content sidekick is
already covered by passing a plugin panel id directly.
…ds sample

The ui commands sample exercises the chat form and screenshare commands
but never the sidekick area ones, so there is no worked example of a
plugin opening a core panel.

Add two media area options: one toggling the profile panel, which shows
both open and close and why the plugin has to track the panel state
itself, and one opening the polling panel, which shows a registry-backed
panel the core only resolves for the presenter.
The stop screenshare option carries a placeholder icon: a bare 'copy'
string. PluginIconType accepts a string, but the core reads the icon as
an object and falls back to the svg branch when iconName is absent, so
the option renders with no icon at all — and a copy glyph would be the
wrong one anyway.

Pass the icon in the object form the core reads, naming the screenshare
icon the core itself uses on its own stop sharing button.

@GuiLeme GuiLeme left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Tested locally and reviewed the code, it looks solid

@GuiLeme
GuiLeme merged commit 82225c2 into bigbluebutton:v1.x Sep 23, 2026
5 checks passed
@Arthurk12
Arthurk12 deleted the add-missing-panels-in-enum branch September 23, 2026 13:51
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