feat(etherpad) merge query string parameters in etherpad_base with app values

Allows overriding or augmenting the default values set by the Jitsi Meet web app using the config parameter.
This commit is contained in:
Erin Yuki Schlarb
2024-07-30 14:59:07 +02:00
committed by GitHub
parent 1b3b949218
commit 72779e5ba5

View File

@@ -29,7 +29,18 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => {
const etherpadBaseUrl = sanitizeUrl(etherpadBase);
if (etherpadBaseUrl) {
url = new URL(value, etherpadBaseUrl.toString()).toString();
const urlObj = new URL(value, etherpadBaseUrl.toString());
// Merge query string parameters on top of internal ones
if (etherpadBaseUrl.search) {
const searchParams = new URLSearchParams(urlObj.search);
for (const [ key, val ] of new URLSearchParams(etherpadBaseUrl.search)) {
searchParams.set(key, val);
}
urlObj.search = searchParams.toString();
}
url = urlObj.toString();
}
dispatch(setDocumentUrl(url));