From c5e9a643e77820e522b280b28f7e372fcceda1ce Mon Sep 17 00:00:00 2001 From: ed Date: Sat, 29 May 2021 09:02:42 +0200 Subject: [PATCH] more accurate url escaping --- copyparty/web/browser.js | 4 +++- copyparty/web/up2k.js | 6 +++--- copyparty/web/util.js | 14 +++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 0c59feae..ffed35ae 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1125,7 +1125,7 @@ document.onkeydown = function (e) { sz = esc(r.sz + ''), rp = esc(r.rp + ''), ext = rp.lastIndexOf('.') > 0 ? rp.split('.').slice(-1)[0] : '%', - links = linksplit(rp); + links = linksplit(r.rp + ''); if (ext.length > 8) ext = '%'; @@ -1465,6 +1465,8 @@ var treectl = (function () { ebi('pro').innerHTML = res.logues ? res.logues[0] || "" : ""; ebi('epi').innerHTML = res.logues ? res.logues[1] || "" : ""; + document.title = '⇆🎉 ' + uricom_dec(document.location.pathname.slice(1, -1))[0]; + filecols.set_style(); mukey.render(); msel.render(); diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js index eb8f3792..05b88269 100644 --- a/copyparty/web/up2k.js +++ b/copyparty/web/up2k.js @@ -696,7 +696,7 @@ function up2k_init(subtle) { pvis.addfile([ fsearch ? esc(entry.name) : linksplit( - esc(uricom_dec(entry.purl)[0] + entry.name)).join(' '), + uricom_dec(entry.purl)[0] + entry.name).join(' '), '📐 hash', '' ], fobj.size); @@ -1023,7 +1023,7 @@ function up2k_init(subtle) { else { smsg = 'found'; var hit = response.hits[0], - msg = linksplit(esc(hit.rp)).join(''), + msg = linksplit(hit.rp).join(''), tr = unix2iso(hit.ts), tu = unix2iso(t.lmod), diff = parseInt(t.lmod) - parseInt(hit.ts), @@ -1045,7 +1045,7 @@ function up2k_init(subtle) { if (response.name !== t.name) { // file exists; server renamed us t.name = response.name; - pvis.seth(t.n, 0, linksplit(esc(t.purl + t.name)).join(' ')); + pvis.seth(t.n, 0, linksplit(t.purl + t.name).join(' ')); } var chunksize = get_chunksize(t.size), diff --git a/copyparty/web/util.js b/copyparty/web/util.js index d09f05da..4427ff33 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -358,12 +358,16 @@ function linksplit(rp) { link = rp.slice(0, ofs + 1); rp = rp.slice(ofs + 1); } - var vlink = link; - if (link.indexOf('/') !== -1) - vlink = link.slice(0, -1) + '/'; + var vlink = esc(link), + elink = uricom_enc(link); - ret.push('' + vlink + ''); - apath += link; + if (link.indexOf('/') !== -1) { + vlink = vlink.slice(0, -1) + '/'; + elink = elink.slice(0, -3) + '/'; + } + + ret.push('' + vlink + ''); + apath += elink; } return ret; }