jitsi-meet
jitsi-meet copied to clipboard
Permantently disable RECENT_LIST_ENABLED
Is your feature request related to a problem you are facing?
In running a small server for higher-risk users, the recent meeting list option can reveal recurring meeting rooms and/or operational details if anyone who sets up the room name is not careful. Thankfully, this can be disabled by setting RECENT_LIST_ENABLED to false in interface_config.js - but that setting is reset on every software upgrade.
Describe the solution you'd like
There are a variety of solutions which could help with this:
- Not overwriting changed configs (or offering a diff/merge process)
- Add in a separate config file that isn't overwritten in upgrading that overrides and is permanent across upgrades
- Disabling the recent rooms list as the default option.
Describe alternatives you've considered
We currently manually re-set our preferred settings after updating, but ideally this could be streamlined.
We have deprecated interface_config.js (which gets overwritten on every install) so all configuration should move to config.js. Moving this one options should be simple enough. Would you like to send a PR? I'm happy to provide some guidance.
Sure - I can take a crack at it but guidance would be very appreciated/needed. Is there a matrix/irc/etc. chat channel?
We do have a forum, but we can do it right here :-)
You can look at this commit: cd4c940107c6ed68f47bf6fde21d090701a784d9 it moves several options from interface_config.js to config.js.
I could not figure out from the linked commit what needs to be done to migrate RECENT_LIST_ENABLED
to config.js
. There seems to be unrelated modifications in this commit. Would https://github.com/jitsi/jitsi-meet/commit/1e9f599a3526be45889f29c7700ddda571647991 be a better example? If so I could take another shot.
In the mean time I need to re-apply my configuration/ansible role [1] every time jitsi packages are updated.
I could not figure out from the linked commit what needs to be done to migrate
RECENT_LIST_ENABLED
toconfig.js
. There seems to be unrelated modifications in this commit. Would https://github.com/jitsi/jitsi-meet/commit/1e9f599a3526be45889f29c7700ddda571647991 be a better example? If so I could take another shot.In the mean time I need to re-apply my configuration/ansible role [1] every time jitsi packages are updated.
Yep that commit is a si oler example!
Thank you, I have prepared a small patch based on this commit, but I have no idea yet of how to build and test these changes. Can you tell me if at least the changes look correct?
From bc78c03d8ee81ab1e0f2033e09f8c78781946399 Mon Sep 17 00:00:00 2001
From: nodiscc <[email protected]>
Date: Tue, 11 Oct 2022 17:00:22 +0200
Subject: [PATCH] WIP: migrate RECENT_LIST_ENABLED to
config.js/recentListEnable - allows the setting to persist across upgrades -
ref.
https://github.com/jitsi/jitsi-meet/commit/1e9f599a3526be45889f29c7700ddda571647991
- fixes https://github.com/jitsi/jitsi-meet/issues/10929
---
config.js | 3 +++
interface_config.js | 9 +++------
react/features/base/config/configType.ts | 1 +
react/features/base/config/interfaceConfigWhitelist.ts | 1 -
react/features/recent-list/functions.web.js | 3 ++-
5 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/config.js b/config.js
index d61461ba7..c1f93a380 100644
--- a/config.js
+++ b/config.js
@@ -1110,6 +1110,9 @@ var config = {
// the room is never stored in the recents list.
// doNotStoreRoom: true,
+ // If false, disables showing the recent rooms list on the welcome page
+ // recentListEnabled: false,
+
// Deployment specific URLs.
// deploymentUrls: {
// // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for
diff --git a/interface_config.js b/interface_config.js
index 9d0e357f6..6ea02624a 100644
--- a/interface_config.js
+++ b/interface_config.js
@@ -134,12 +134,6 @@ var interfaceConfig = {
POLICY_LOGO: null,
PROVIDER_NAME: 'Jitsi',
- /**
- * If true, will display recent list
- *
- * @type {boolean}
- */
- RECENT_LIST_ENABLED: true,
REMOTE_THUMBNAIL_RATIO: 1, // 1:1
SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar', 'sounds', 'more' ],
@@ -262,6 +256,9 @@ var interfaceConfig = {
// Moved to config.js as `toolbarConfig.timeout`.
// TOOLBAR_TIMEOUT: 4000,
+ // This config was moved to config.js as `recentListEnabled`.
+ // RECENT_LIST_ENABLED: true,
+
// Allow all above example options to include a trailing comma and
// prevent fear when commenting out the last value.
// eslint-disable-next-line sort-keys
diff --git a/react/features/base/config/configType.ts b/react/features/base/config/configType.ts
index 92e993e5a..ae7003c1d 100644
--- a/react/features/base/config/configType.ts
+++ b/react/features/base/config/configType.ts
@@ -401,6 +401,7 @@ export interface IConfig {
};
prejoinPageEnabled?: boolean;
readOnlyName?: boolean;
+ recentListEnabled?: boolean;
recordingLimit?: {
appName?: string;
appURL?: string;
diff --git a/react/features/base/config/interfaceConfigWhitelist.ts b/react/features/base/config/interfaceConfigWhitelist.ts
index 3c48cd28e..4d8caa94e 100644
--- a/react/features/base/config/interfaceConfigWhitelist.ts
+++ b/react/features/base/config/interfaceConfigWhitelist.ts
@@ -39,7 +39,6 @@ export default [
'OPTIMAL_BROWSERS',
'PHONE_NUMBER_REGEX',
'PROVIDER_NAME',
- 'RECENT_LIST_ENABLED',
'REMOTE_THUMBNAIL_RATIO',
'SETTINGS_SECTIONS',
'SHARING_FEATURES',
diff --git a/react/features/recent-list/functions.web.js b/react/features/recent-list/functions.web.js
index 19e020871..50ee21e50 100644
--- a/react/features/recent-list/functions.web.js
+++ b/react/features/recent-list/functions.web.js
@@ -30,6 +30,7 @@ export function toDisplayableList(recentList) {
* @returns {boolean} <tt>true</tt> if recent list is enabled and <tt>false</tt>
* otherwise.
*/
+const { recentListEnabled } = state['features/base/config'];
export function isRecentListEnabled() {
- return interfaceConfig.RECENT_LIST_ENABLED;
+ return recentListEnabled;
}
--
2.30.2
@saghul This will disable it for everyone that updates the debian packages, as the config is removed from the interface config with its default value and as we do not update config.js on deployments it will stay disabled.
Yep, we need to negate this and add a "disabled" flag instead, since it needs to default to ON.
Also the backwards compat code seems to be missing.
You can test it with "make dev"
make dev
The process gets OOM-killed every time I try...
Out of memory: Killed process 81815 (webpack) total-vm:3065700kB, anon-rss:2318284kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:35420kB oom_score_adj:0
Also the backwards compat code seems to be missing.
It looks more complicated than initially planned. I will leave this to more experienced people.
I'd still very much like to see this fixed.
You need 8GB of RAM to be able to compile.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
not stale
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
not stale
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
not stale
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.