Browse Source

Fix WebUI removing parameters from magnet links

Closes #10939
adaptive-webui-19844
Thomas Piccirello 5 years ago
parent
commit
c17d653544
  1. 15
      src/webui/www/private/scripts/client.js
  2. 7
      src/webui/www/private/scripts/mocha-init.js

15
src/webui/www/private/scripts/client.js

@ -967,18 +967,13 @@ function registerMagnetHandler() {
function handleDownloadParam() { function handleDownloadParam() {
// Extract torrent URL from download param in WebUI URL hash // Extract torrent URL from download param in WebUI URL hash
const hashParams = getHashParamsFromUrl(); const downloadHash = "#download=";
const url = hashParams.download; if (location.hash.indexOf(downloadHash) !== 0)
if (!url)
return; return;
// Remove the download param from WebUI URL hash const url = location.hash.substring(downloadHash.length);
delete hashParams.download; // Remove the processed hash from the URL
let newHash = Object.toQueryString(hashParams); history.replaceState('', document.title, (location.pathname + location.search));
newHash = newHash ? ('#' + newHash) : '';
history.replaceState('', document.title,
(location.pathname + location.search + newHash));
showDownloadPage([url]); showDownloadPage([url]);
} }

7
src/webui/www/private/scripts/mocha-init.js

@ -135,8 +135,11 @@ const initializeWindows = function() {
showDownloadPage = function(urls) { showDownloadPage = function(urls) {
const id = 'downloadPage'; const id = 'downloadPage';
let contentUrl = 'download.html'; let contentUrl = 'download.html';
if (urls && urls.length) if (urls && (urls.length > 0)) {
contentUrl += '?urls=' + urls.join("|"); contentUrl += ('?urls=' + urls.map(function(url) {
return encodeURIComponent(url);
}).join("|"));
}
new MochaUI.Window({ new MochaUI.Window({
id: id, id: id,

Loading…
Cancel
Save