feat(ui-commands): allow plugins to open a core panel or a specific sidekick panel - #282
Open
AtilaU19 wants to merge 2 commits into
Open
feat(ui-commands): allow plugins to open a core panel or a specific sidekick panel#282AtilaU19 wants to merge 2 commits into
AtilaU19 wants to merge 2 commits into
Conversation
Arthurk12
self-requested a review
August 4, 2026 17:38
AtilaU19
added a commit
to AtilaU19/bigbluebutton
that referenced
this pull request
Aug 4, 2026
The sidekick-area core panel commands handled by this branch are not part of a released SDK yet, so the pinned 0.1.20 does not compile. Point the dependency at the SDK pull request head until it is published. bigbluebutton/bigbluebutton-html-plugin-sdk#282
Arthurk12
suggested changes
Aug 4, 2026
| */ | ||
| open: () => { | ||
| window.dispatchEvent(new Event(SidekickAreaOptionsPanelEnum.OPEN)); | ||
| open: (id?: string) => { |
Member
There was a problem hiding this comment.
The sidekick options container is analogous to the sidebar navigation, so its open and close methods are expected to open and close the sidebar navigation itself. With that in mind, I have 2 suggestions:
- Remove those methods (
pluginApi.uiCommands.sidekickArea.options.open/close), as BBB 4.0 does not allow toggling the sidebar navigation — and calling them already has no effect, since they are bypassed in the BBB core:
https://github.com/bigbluebutton/bigbluebutton/blob/13c457fc6f47a651a2ecb19155a87ab7bc609dd2/bigbluebutton-html5/imports/ui/components/plugins-engine/ui-commands/sidekick-options-container/handler.tsx#L8-L18
(This can be addressed in a separate PR.) - Move the new methods implemented here to
src/ui-commands/sidekick-area/panel/commands.ts, so the caller code would be:
pluginApi.uiCommands.sidekickArea.panel.open('my-content-id')
Collaborator
There was a problem hiding this comment.
Agreed on both suggestions. Having a the commands under sidekick.panel is the right approach:
pluginApi.uiCommands.sidekickArea.panel.open('my-content-id');
pluginApi.uiCommands.sidekickArea.panel.close('my-content-id')
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?
Adds
sidekickArea.options.panel.openCorePanel, which opens one of the core sidebar content panels — Polls, Timer, Breakout, Chat, User list, Shared notes or Apps gallery — described by the new exportedSidekickAreaCorePanelEnum. This lets a plugin wire a button of its own to a core panel.sidekickArea.options.panel.openalso gained the optional id of a generic content sidekick area, so a plugin can open its own sidekick panel the same way.Closes Issue(s)
None
More
Screencast.from.04-08-2026.14.13.27.webm