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

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

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

Loading…
Cancel
Save