From 4d62fc87340ba77e0c3b1119af6924b9f3f5926c Mon Sep 17 00:00:00 2001 From: Quentin Ligier Date: Mon, 21 Mar 2016 12:51:51 +0100 Subject: [PATCH 1/4] Fix upload duplicates --- dist/main.js | Bin 192160 -> 191885 bytes dist/view.js | Bin 106865 -> 106923 bytes src/scripts/build.js | 7 +---- src/scripts/upload.js | 63 +++++++++--------------------------------- 4 files changed, 14 insertions(+), 56 deletions(-) diff --git a/dist/main.js b/dist/main.js index 3963f80d8b565cbec15a3b94c0c4f4d9c8cbb95c..5c0d644b864eb1307a5b96279ee6b20adaaa7f5c 100755 GIT binary patch delta 2264 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 diff --git a/dist/view.js b/dist/view.js index 6fde421acac75c855c1c20270994af475bcf6ab5..3a48b6fb7ce30604af555d60a09f96cf935db0ca 100644 GIT binary patch delta 2690 zcmZuzYj6|S6`mtMc$=4P41P&#A$F}B$u>CU+05Yy-~DQovHZ{&HJpS;Mb?D_B=En-(*AO?M;C^7}ag| zbNR4SzvbKo`3)SA)z|9R>9qdGh1vldEK%1q)i()g$|lm1rM@K|<*6eqOBt4)2s1ft zvsolGgc1p!67IeUPQWSk>rK^OMR{zNaPdrkT4pkvNzuM2C*0dHDyMm7j!R}Lw9JPw zPs;I#xlR;CrYQGzXZqo$!;6aCHd`;x1j3A2x4NPI2jJDS?Xv~~TRYxD`DI59B4_se zu+l#$TIvX$jZR2m7MCS+oTtKLlcBVkiEjO}=TQD)|DdAqEa2CZJx@RpX2K%zGD(xT zpeX8XZf3!B%9DMc;p~h3!ul@KNvvci=_PLBBYk9?^pJkyC4T+m{-+kBtF(Kg z)h(upPjovXa(E(1CDxUo#z6W+i-&g$gqQFN+1*P3{a@b`Kv@}R>hL*2sT7qWo>)8) z!OJ@05z$X9ZpR3{yF;d9rZ<$Nit->U@7J}!h(WeHd#y+?>yWj~Z|63(KI{y&KAfQm z8pdQr#7&&tukRZ&8K{T%Nhsgj*Mz)V7HWp&K1VXd!ZDgr6rb8ZTxLguyx%`>+nL)# zPUD8OHnc1K}bQp6nQ1x5mqN6DqVlRPSO2(2By; zr)e=#`z(ECsrxItIvV|5zFTm))vY5*TzY)uPbihxqf2r$q8LKG5ZjCg&yTB1=gANa z_|@k#=k8a$>S>m_-%zWDCr)9?OD0z!0(#BVb<<+sEQw;SGU|6fFR3vOj0tL1t(`1E1D zA#a(Niq5@bbjFEXd;V9-;+52qmXHjYR47c1g0;U|Wx}YwSA&HW{srLULK}<4Gnm7P z4DFHSv5d>BzxmstMb+kbt|mkgvnl8L0t>~Z3~!W=ad^)=KZj~F!xm?$#~ydL46(-< zeL#+yF}-@p`4{qC_2`oeBFPatfRi>`{R3>x|Lcb9Z~o!Am3ZM}SN>>J-?1x#e)O*v z6XNl+kKRYjj(j|9kY?_0Mh&jK7D36bZOii!pSthuGNjsD*M5)k_FSd<@?43b&ov@k zx97?Ml?~T7qHMpuVTI3;y4%2rPanB{5Z2{PsT?AXOgJqk5(9Ed^r?6LaS0b)`Xqr_ z^4vIU@jKWQr4mhN0@9%PUz(x>28myFe%i6#j{#^jo?z(bn2<8Dc$8rUyZrjMKJA1` zX(ExZh-t_81f4*17CsDU>#$S({pN4*VlVykS@7!}w`xs`EX-z;aKdq_R6qK8vq7{s z|Mjk}{rkW&6Uk_o^Pxn$Pyj26(T``2`O2mduN0xvMEj@!co4G1g%B&KSm?(X3gdFa zvYenHY2ls9KDP`A6q6Veoq^zVLtT&s(?Ka19kgfPSPoB`v`_M(v}H1sn4sKO4SxPE ztc|&lH7p%Z^2UfSAl_GSq-iRFbmU`7)&Q@}+Y!xnS~olY{w zM10^zbFxcou7b^w)RI-uWlb_i3{y%Bvb#83&XIV=hlfqL2H1R4OKO*@U_W$acT~f9 zfHBQtfweH2-D-gsA(zAWU73>^$53Csk>ps=PNHTkD6FhG0 zStP&_7}CBcKr;+$?+MTf)7t7~_H=+xg*zlgUCGXX9L48;5~% z9@($e!Z!iBv_IS73ZC&af$fEy6_ME3Q0E*WJMk+R2o54Vy~by{EhwScovqyruK-xH zA8r9BRJs=eQ2aySb2X1oMR<%x@I~@z4cp*5(5t<^4Qg?i+Xl3x523AdHPqFS`i6$h z__1Y{jBC+G;Dm8xFEZEb~t4L!_}l2bhPE#wfLPKBh1j5kMUwBxN1fqrdq8)R@$ z+Tb`2=60~aaJHizN&$Mb-EI`^9T0;@w5uI(7`$4_18vK_Y~f$W>}6``ozm>P9;jV{ z8UNA;W%>T;s4@du9);){czB7VYRT?0VotQ2^FtZw>=r cls!ETn+r@WOSK!5a8bK51I5|*r{G!PKb1{|8~^|S delta 2808 zcma)8Yit}>71mkX>o{prSB@XSuif!xJ>#8>V>gYRO(xF7cH(u{uf`zA`jPSOwRi0G z%zEaoUs;zXB}GUT3LVkmB?RG7N~1RIAm&FKNL#5bN=X_)3zVt|+CXU1fJ+-t1r=x3 zPB5ZB_;c>P=iYnnJ>U7xx%aW>z01#e&vX|+r+M;pnJE`2&|#l1m|PE%xwE*gmSq$* zouP~3TxT_`tJy@HnB ztSSe|zEM>G5HbH*y#-}i%}I#bkJLPq4?X7crV?|m?vJP*36w#^&ICevsQz|+5C<>S z$MRsx4ume`L%{x9<0rw}#PAvs&E2ysm{sGf;a zP0wb{Y-?>X&nQN}u2GFHq)Fd6W53<{K;fonFxbmdj;A8cW~1i(zHdN}T`DcP7d7|4 zfbwvA9Xfb#`**7&!=isXPnO0rYMd&X>Qh+49i5eR9~GnKxuQ~gutUpV7a7iGSsIJj z=ev%>RzJd~vKp`R3WtEPvXIUgNmk?dOfX1S28OA3H*Jm#Wd)C@ANS)*8MkdHh+NI(!qD~0sau*%SU;M z@8f6qF20}d;Uo5effMU+>C2zl8iGr=x=AE9M7s^)Gj?- z1h~F77DIVVDmNdB`2|Uk(`lk6+LKBuffxu%LX7bKs4zipS~2!7^vcsDoApP{-^WVu z@*l(|TyhML29OZPM*|g+5L3T*Poundk3mu-PJL*lo(Vr9G?3nQc=wDJ#Mh4i9m@# zS;>AQzR6P`&1Q+9&8bB1Sj7YJJrE4`um^a;wQXw((;VP;jF)>|9p%hR<7H;Y_~QEL ze`a4Ae=$GGg`=i9F^$eb^4BO|Pu^XW;~BxDO+mR69U4>2^(#ynk44OX85h{6nf)}Sp?P1LFvvzadh8`j|j!cn-Mx@+_ zKhCaeVlgLm6&YcqWGwgQRe6G^rRE?~FmZG;PWV_t@1h zj28M>zmm-=eo@rjjL9WFl@--sR};?u`p=&NAL|Cs--H$HX7XYMa|?ks?xU{jsf(xb z&AVR>d$8a2%dg&!iR4`7>8hJ^iK_{eKfAiK zO5!CUeY3uZN7odfuw+(Vdl>_E9Txvdh>^J_t%VU;(c*$knpFX^IgY%*nCJL(ASxrg! zwxbO+$c$-Pipc8CH^u3`4R~-K+z7`!=8@*Y+cBzCSEgAa%*v?@aYl-vG7pm0VhLP> zq%*M@ZUD9;W$+Jgx70tBfo$>Hr5s#=0?TXNN~8Jk)OBD)IcrFS+CTJV#ej zV8Z%UEiA&MbB_-$LTNj`OY)>VKd8&9k=Aq?zK5N1b~5mND9V96iViq$)q(7Rd8ac7 zwH|i$6fVRtoS>6*3bTzJqx{<8DCH-d2U)lepxxTo0AGMX%W8mKFl$|EfW5F_6^CH+ z<^|jpXc`rn&@>H&xUd#ta|=qmOit+xgy8c4lh$u|cnhYSv)iEC%XA_ZTbs8xPVfQj z4aJ6r5uihES8p3qQQhlsJK$-|D(CWD&P1r|{Ub_1VZI73Cuhc0VJ8w`G82GdVVvs^Zd+#&O6SxsmmW)yL- zPPIV-x~#%|U|@4}AAAR!S_%9x>qrum0nAvR-Va@$#Y5xxPoku2uqS%!MY&mg*p+Vs z5f2K=bb968%@OuvHnDE##ts8$ZRn@m>IM6q*V{oV zf)1yu2P*O*V%;?WB19Zx09x*_*2Upd*0vawI2YriIkb=f diff --git a/src/scripts/build.js b/src/scripts/build.js index 620d36f..513f39b 100644 --- a/src/scripts/build.js +++ b/src/scripts/build.js @@ -187,12 +187,7 @@ build.uploadModal = function(title, files) { html += lychee.html`
$${ file.name } - ` - - if (file.supported===true) html += `` - else html += `Not supported` - - html += ` +

` diff --git a/src/scripts/upload.js b/src/scripts/upload.js index 55b2848..374c352 100755 --- a/src/scripts/upload.js +++ b/src/scripts/upload.js @@ -46,10 +46,11 @@ upload.start = { const process = function(files, file) { - let formData = new FormData() - let xhr = new XMLHttpRequest() - let pre_progress = 0 - let progress = 0 + let formData = new FormData() + let xhr = new XMLHttpRequest() + let pre_progress = 0 + let progress = 0 + let next_file_started = false const finish = function() { @@ -84,34 +85,6 @@ upload.start = { } - // Check if file is supported - if (file.supported===false) { - - // Skip file - if (file.next!=null) process(files, file.next) - else { - - // Look for supported files - // If zero files are supported, hide the upload after a delay - - let hasSupportedFiles = false - - for (let i = 0; i < files.length; i++) { - - if (files[i].supported===true) { - hasSupportedFiles = true - break - } - - } - - if (hasSupportedFiles===false) setTimeout(finish, 2000) - - } - - return false - - } formData.append('function', 'Photo::add') formData.append('albumID', albumID) @@ -205,7 +178,7 @@ upload.start = { pre_progress = progress } - if (progress>=100) { + if (progress>=100 && next_file_started==false) { // Scroll to the uploading file let scrollPos = 0 @@ -216,7 +189,10 @@ upload.start = { $('.basicModal .rows .row:nth-child(' + (file.num + 1) + ') .status').html('Processing') // Upload next file - if (file.next!=null) process(files, file.next) + if (file.next!=null) { + process(files, file.next) + next_file_started = true + } } @@ -233,19 +209,9 @@ upload.start = { files[i].num = i files[i].ready = false - files[i].supported = true if (i < files.length-1) files[i].next = files[i + 1] else files[i].next = null - - // Check if file is supported - if (files[i].type!=='image/jpeg' && files[i].type!=='image/jpg' && files[i].type!=='image/png' && files[i].type!=='image/gif') { - - files[i].ready = true - files[i].supported = false - - } - } window.onbeforeunload = function() { return 'Lychee is currently uploading!' } @@ -276,8 +242,7 @@ upload.start = { basicModal.close() files[0] = { - name : data.link, - supported : true + name : data.link } upload.show('Importing URL', files, function() { @@ -356,8 +321,7 @@ upload.start = { let files = [] files[0] = { - name : data.path, - supported : true + name : data.path } upload.show('Importing from server', files, function() { @@ -466,8 +430,7 @@ upload.start = { links += files[i].link + ',' files[i] = { - name : files[i].link, - supported : true + name : files[i].link } } From a0510cf280c16c84f3521745206db3bc1201eb45 Mon Sep 17 00:00:00 2001 From: Tobias Reich Date: Mon, 21 Mar 2016 14:53:58 +0100 Subject: [PATCH 2/4] Added ISSUE_TEMPLATE and moved files to .github folder --- CONTRIBUTING.md => .github/CONTRIBUTING.md | 0 .github/ISSUE_TEMPLATE.md | 7 +++++++ 2 files changed, 7 insertions(+) rename CONTRIBUTING.md => .github/CONTRIBUTING.md (100%) create mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to .github/CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..5a2c813 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,7 @@ +### Detailed description of the problem + +### Steps to reproduce the issue + +### Output of the diagnostics (Settings => Diagnostics) + +### Browser and system \ No newline at end of file From 4fa9a96c89ae5ad9cbe826f7f7db938cf611f505 Mon Sep 17 00:00:00 2001 From: Tobias Reich Date: Mon, 21 Mar 2016 15:03:17 +0100 Subject: [PATCH 3/4] Code style adjustments #496 --- src/scripts/upload.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/upload.js b/src/scripts/upload.js index 374c352..8b6e49f 100755 --- a/src/scripts/upload.js +++ b/src/scripts/upload.js @@ -85,7 +85,6 @@ upload.start = { } - formData.append('function', 'Photo::add') formData.append('albumID', albumID) formData.append(0, file) @@ -178,7 +177,7 @@ upload.start = { pre_progress = progress } - if (progress>=100 && next_file_started==false) { + if (progress>=100 && next_file_started===false) { // Scroll to the uploading file let scrollPos = 0 @@ -212,6 +211,7 @@ upload.start = { if (i < files.length-1) files[i].next = files[i + 1] else files[i].next = null + } window.onbeforeunload = function() { return 'Lychee is currently uploading!' } From 6998ae05f7c12035990dfc2496dab4a111abb278 Mon Sep 17 00:00:00 2001 From: Tobias Reich Date: Mon, 21 Mar 2016 15:03:20 +0100 Subject: [PATCH 4/4] Rebuild --- dist/main.js | Bin 191885 -> 191856 bytes dist/view.js | Bin 106923 -> 106891 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/dist/main.js b/dist/main.js index 5c0d644b864eb1307a5b96279ee6b20adaaa7f5c..42a11ad4f3d1263e872089731db30600dd122b7b 100755 GIT binary patch delta 2120 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 axg#kLKAKhMp;x&-hd^?k`2l3Su>U{Ov#o>x diff --git a/dist/view.js b/dist/view.js index 3a48b6fb7ce30604af555d60a09f96cf935db0ca..9b84a537068a2ab7f84a705cf21659003b41e7b8 100644 GIT binary patch delta 2710 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