diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css
index 65ee1a3e..88b86a97 100644
--- a/copyparty/web/browser.css
+++ b/copyparty/web/browser.css
@@ -2096,10 +2096,6 @@ html.light #u2foot .warn span {
color: #fff;
padding-left: .2em;
}
-#u2cleanup {
- float: right;
- margin-bottom: -.3em;
-}
.fsearch_explain {
padding-left: .7em;
font-size: 1.1em;
diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js
index 788ff029..61dc4e27 100644
--- a/copyparty/web/browser.js
+++ b/copyparty/web/browser.js
@@ -122,7 +122,7 @@ ebi('op_up2k').innerHTML = (
'
\n' +
' filename | \n' +
' status | \n' +
- ' progresscleanup | \n' +
+ ' progress | \n' +
'
\n' +
' \n' +
' \n' +
diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js
index 26940964..5a580339 100644
--- a/copyparty/web/up2k.js
+++ b/copyparty/web/up2k.js
@@ -669,6 +669,7 @@ function up2k_init(subtle) {
var st = {
"files": [],
+ "seen": {},
"todo": {
"head": [],
"hash": [],
@@ -994,13 +995,9 @@ function up2k_init(subtle) {
}
function up_them(good_files) {
- var seen = {},
- evpath = get_evpath(),
+ var evpath = get_evpath(),
draw_each = good_files.length < 50;
- for (var a = 0; a < st.files.length; a++)
- seen[st.files[a].name + '\n' + st.files[a].size] = 1;
-
for (var a = 0; a < good_files.length; a++) {
var fobj = good_files[a][0],
name = good_files[a][1],
@@ -1026,15 +1023,20 @@ function up2k_init(subtle) {
"bytes_uploaded": 0,
"hash": []
},
- key = entry.name + '\n' + entry.size;
+ key = name + '\n' + entry.size + '\n' + lmod + '\n' + uc.fsearch;
if (uc.fsearch)
entry.srch = 1;
- if (seen[key])
- continue;
+ try {
+ if (st.seen[fdir][key])
+ continue;
+ }
+ catch (ex) {
+ st.seen[fdir] = {};
+ }
- seen[key] = 1;
+ st.seen[fdir][key] = 1;
pvis.addfile([
uc.fsearch ? esc(entry.name) : linksplit(
@@ -1067,20 +1069,6 @@ function up2k_init(subtle) {
}
more_one_file();
- function u2cleanup(e) {
- ev(e);
- for (var a = 0; a < st.files.length; a++) {
- var t = st.files[a];
- if (t.done && t.name) {
- if (!qsr('#f' + t.n))
- continue;
-
- t.name = undefined;
- }
- }
- }
- ebi('u2cleanup').onclick = u2cleanup;
-
var etaref = 0, etaskip = 0, op_minh = 0;
function etafun() {
var nhash = st.busy.head.length + st.busy.hash.length + st.todo.head.length + st.todo.hash.length,
diff --git a/docs/minimal-up2k.html b/docs/minimal-up2k.html
index 5426ebc0..a980b152 100644
--- a/docs/minimal-up2k.html
+++ b/docs/minimal-up2k.html
@@ -9,7 +9,7 @@
#ops, #tree, #path, #wrap>h2:last-child, /* main tabs and navigators (tree/breadcrumbs) */
- #u2cleanup, #u2conf tr:first-child>td[rowspan]:not(#u2btn_cw), /* most of the config options */
+ #u2conf tr:first-child>td[rowspan]:not(#u2btn_cw), /* most of the config options */
#srch_dz, #srch_zd, /* the filesearch dropzone */