Some configOverrides-entries have no effect
I noticed some options that are usable in JistsiMeetConferenceOptions.configOverrides have not effect at all. For example:
- "participantsPane"
- "breakoutRooms" (also pointed out here #130 )
The mentioned elements are always visible (testen on Android) with this settings:
final JitsiMeetConferenceOptions options = JitsiMeetConferenceOptions(
serverURL: Constants.jitsiMeetServerUrl,
room: videoConference.roomName,
token: token,
configOverrides: {
"subject": S.current.televisite,
"defaultLanguage": "de",
"disableModeratorIndicator": true,
// NOTE: this config does not work at the moment
"participantsPane": {
// Enables feature
"enabled": false,
// Hides the moderator settings tab.
"hideModeratorSettingsTab": true,
// Hides the more actions button.
"hideMoreActionsButton": true,
// Hides the mute all button.
"hideMuteAllButton": true,
},
// NOTE: this config does not work at the moment
"breakoutRooms": {
// Hides the add breakout room button. This replaces `hideAddRoomButton`.
"hideAddRoomButton": true,
// Hides the auto assign participants button.
"hideAutoAssignButton": true,
// Hides the join breakout room button.
"hideJoinRoomButton": true,
},
},
Same issue here only happen on Android, I have a "theme" requirement which forces me to use a custom button for the hang-up button, I only need the mic, the camera and the custom hang-up, so I managed to do it like this:
void join() {
options = JitsiMeetConferenceOptions(
serverURL: serverUrl,
room: room,
token: token,
// featureFlags: _featureFlags,
configOverrides: {
'inviteAppName': App.buildConfig.appName,
'participantsPane.enabled': false,
'customToolbarButtons': [
{
'id': ids.btnJitsiHangUp,
'text': 'Hang Up',
'backgroundColor': 'orange',
'icon':
'https://raw.githubusercontent.com/jitsi/jitsi-meet/refs/heads/master/react/features/base/icons/svg/hangup.svg',
},
],
'toolbarButtons': [
ids.btnJitsiHangUp,
'microphone',
'camera',
],
},
);
jitsiMeet.join(
options,
JitsiMeetEventListener(
customButtonPressed: _customButtonPressed,
),
);
}
This is how it looks on iOS:
And this is how it looks on Android:
Basically the toolbarButtons override is ignored on Android.
I finally get it done on Android with the following override:
void join() {
options = JitsiMeetConferenceOptions(
serverURL: serverUrl,
room: room,
token: token,
// featureFlags: _featureFlags,
configOverrides: {
'inviteAppName': App.buildConfig.appName,
'participantsPane.enabled': false,
'customToolbarButtons': [
{
'id': 'hangup',
'text': 'Hang Up',
'backgroundColor': 'orange',
'icon':
'https://raw.githubusercontent.com/jitsi/jitsi-meet/refs/heads/master/react/features/base/icons/svg/hangup.svg',
},
],
'mainToolbarButtons': [
['microphone', 'camera', 'overflowmenu', 'hangup'],
],
},
);
jitsiMeet.join(
options,
JitsiMeetEventListener(
customButtonPressed: _customButtonPressed,
),
);
}
The fix consist in override the existing key 'hangup' instead of using a custom-key, this works for my specific use case which is to change theme of Hang Up button and control behavior, but still other overrides are not working on Android.
I noticed some options that are usable in JistsiMeetConferenceOptions.configOverrides have not effect at all. For example:
- "participantsPane"
- "breakoutRooms" (also pointed out here How can i deactive breakoutRooms? #130 )
The mentioned elements are always visible (testen on Android) with this settings:
final JitsiMeetConferenceOptions options = JitsiMeetConferenceOptions( serverURL: Constants.jitsiMeetServerUrl, room: videoConference.roomName, token: token, configOverrides: { "subject": S.current.televisite, "defaultLanguage": "de", "disableModeratorIndicator": true, // NOTE: this config does not work at the moment "participantsPane": { // Enables feature "enabled": false, // Hides the moderator settings tab. "hideModeratorSettingsTab": true, // Hides the more actions button. "hideMoreActionsButton": true, // Hides the mute all button. "hideMuteAllButton": true, }, // NOTE: this config does not work at the moment "breakoutRooms": { // Hides the add breakout room button. This replaces `hideAddRoomButton`. "hideAddRoomButton": true, // Hides the auto assign participants button. "hideAutoAssignButton": true, // Hides the join breakout room button. "hideJoinRoomButton": true, }, },
You also have available the following flags that enable disable the breakout rooms and participants features.
"breakout-rooms.enabled": false, "participants.enabled": false
We did a new release. Please check again and let us know.
@Calinteodor Yes this works but the flags are not included in the FeatureFlags class/enum. But you can use them manually:
featureFlags: {
FeatureFlags.addPeopleEnabled: false,
FeatureFlags.androidScreenSharingEnabled: false,
....
"breakout-rooms.enabled": false,
"participants.enabled": false
},
Would be great if does Flags are included in FeatureFlags
Would you mind sending a PR?