Skip to content
Snippets Groups Projects
Unverified Commit 28cf9427 authored by jbguerraz's avatar jbguerraz Committed by GitHub
Browse files

[IMPROVE] Jitsi room name hash or plain (#17481)

parent 452589fe
No related branches found
No related tags found
No related merge requests found
...@@ -36,12 +36,17 @@ API.v1.addRoute('livechat/video.call/:token', { ...@@ -36,12 +36,17 @@ API.v1.addRoute('livechat/video.call/:token', {
Messages.createWithTypeRoomIdMessageAndUser('livechat_video_call', room._id, '', guest, { Messages.createWithTypeRoomIdMessageAndUser('livechat_video_call', room._id, '', guest, {
actionLinks: config.theme.actionLinks, actionLinks: config.theme.actionLinks,
}); });
let rname;
if (rcSettings.get('Jitsi_URL_Room_Hash')) {
rname = rcSettings.get('uniqueID') + rid;
} else {
rname = encodeURIComponent(room.t === 'd' ? room.usernames.join(' x ') : room.name);
}
const videoCall = { const videoCall = {
rid, rid,
domain: rcSettings.get('Jitsi_Domain'), domain: rcSettings.get('Jitsi_Domain'),
provider: 'jitsi', provider: 'jitsi',
room: rcSettings.get('Jitsi_URL_Room_Prefix') + rcSettings.get('uniqueID') + rid + rcSettings.get('Jitsi_URL_Room_Suffix'), room: rcSettings.get('Jitsi_URL_Room_Prefix') + rname + rcSettings.get('Jitsi_URL_Room_Suffix'),
timeout: new Date(Date.now() + 3600 * 1000), timeout: new Date(Date.now() + 3600 * 1000),
}; };
......
...@@ -30,10 +30,16 @@ Meteor.methods({ ...@@ -30,10 +30,16 @@ Meteor.methods({
], ],
}); });
let rname;
if (settings.get('Jitsi_URL_Room_Hash')) {
rname = settings.get('uniqueID') + roomId;
} else {
rname = encodeURIComponent(room.t === 'd' ? room.usernames.join(' x ') : room.name);
}
return { return {
roomId: room._id, roomId: room._id,
domain: settings.get('Jitsi_Domain'), domain: settings.get('Jitsi_Domain'),
jitsiRoom: settings.get('Jitsi_URL_Room_Prefix') + settings.get('uniqueID') + roomId + settings.get('Jitsi_URL_Room_Suffix'), jitsiRoom: settings.get('Jitsi_URL_Room_Prefix') + rname + settings.get('Jitsi_URL_Room_Suffix'),
}; };
}, },
}); });
...@@ -111,7 +111,14 @@ Template.videoFlexTab.onRendered(function() { ...@@ -111,7 +111,14 @@ Template.videoFlexTab.onRendered(function() {
} }
const domain = settings.get('Jitsi_Domain'); const domain = settings.get('Jitsi_Domain');
const jitsiRoom = settings.get('Jitsi_URL_Room_Prefix') + settings.get('uniqueID') + rid + settings.get('Jitsi_URL_Room_Suffix'); let rname;
if (settings.get('Jitsi_URL_Room_Hash')) {
rname = settings.get('uniqueID') + rid;
} else {
const room = Rooms.findOne({ _id: rid });
rname = encodeURIComponent(room.t === 'd' ? room.usernames.join(' x ') : room.name);
}
const jitsiRoom = settings.get('Jitsi_URL_Room_Prefix') + rname + settings.get('Jitsi_URL_Room_Suffix');
const noSsl = !settings.get('Jitsi_SSL'); const noSsl = !settings.get('Jitsi_SSL');
const isEnabledTokenAuth = settings.get('Jitsi_Enabled_TokenAuth'); const isEnabledTokenAuth = settings.get('Jitsi_Enabled_TokenAuth');
......
...@@ -17,8 +17,13 @@ Meteor.methods({ ...@@ -17,8 +17,13 @@ Meteor.methods({
throw new Meteor.Error('error-not-allowed', 'not allowed', { method: 'jitsi:generateToken' }); throw new Meteor.Error('error-not-allowed', 'not allowed', { method: 'jitsi:generateToken' });
} }
const jitsiRoom = settings.get('Jitsi_URL_Room_Prefix') + settings.get('uniqueID') + rid + settings.get('Jitsi_URL_Room_Suffix'); let rname;
if (settings.get('Jitsi_URL_Room_Hash')) {
rname = settings.get('uniqueID') + rid;
} else {
rname = encodeURIComponent(room.t === 'd' ? room.usernames.join(' x ') : room.name);
}
const jitsiRoom = settings.get('Jitsi_URL_Room_Prefix') + rname + settings.get('Jitsi_URL_Room_Suffix');
const jitsiDomain = settings.get('Jitsi_Domain'); const jitsiDomain = settings.get('Jitsi_Domain');
const jitsiApplicationId = settings.get('Jitsi_Application_ID'); const jitsiApplicationId = settings.get('Jitsi_Application_ID');
const jitsiApplicationSecret = settings.get('Jitsi_Application_Secret'); const jitsiApplicationSecret = settings.get('Jitsi_Application_Secret');
......
...@@ -99,6 +99,17 @@ Meteor.startup(function() { ...@@ -99,6 +99,17 @@ Meteor.startup(function() {
public: true, public: true,
}); });
this.add('Jitsi_URL_Room_Hash', true, {
type: 'boolean',
enableQuery: {
_id: 'Jitsi_Enabled',
value: true,
},
i18nLabel: 'URL_room_hash',
i18nDescription: 'URL_room_hash_description',
public: true,
});
this.add('Jitsi_SSL', true, { this.add('Jitsi_SSL', true, {
type: 'boolean', type: 'boolean',
enableQuery: { enableQuery: {
......
...@@ -3671,6 +3671,8 @@ ...@@ -3671,6 +3671,8 @@
"URL": "URL", "URL": "URL",
"URL_room_prefix": "URL room prefix", "URL_room_prefix": "URL room prefix",
"URL_room_suffix": "URL room suffix", "URL_room_suffix": "URL room suffix",
"URL_room_hash": "Enable room name hash",
"URL_room_hash_description": "Recommended to enable if the Jitsi instance doesn't use any authentication mechanism.",
"Use_Server_configuration": "Use server configuration", "Use_Server_configuration": "Use server configuration",
"Use_Room_configuration": "Overwrites the server configuration and use room config", "Use_Room_configuration": "Overwrites the server configuration and use room config",
"Use_account_preference": "Use account preference", "Use_account_preference": "Use account preference",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment