fix(ui-commands): adds missing panels in enum(PROFILE and AUDIO-CAPTIONS) - #295
Merged
GuiLeme merged 3 commits intoSep 23, 2026
Merged
Conversation
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
approved these changes
Sep 21, 2026
GuiLeme
left a comment
Collaborator
There was a problem hiding this comment.
LGTM!
Tested locally and reviewed the code, it looks solid
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR do?
SidekickAreaCorePanelEnumis 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
PANELSmap. The remainingPANELSentries 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:
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.
More
No extra/analogus PR in the CORE repo is needed, as the panels dispatch is generically handled there.