diff --git a/README.md b/README.md index fde61d6c..ad8bb0e1 100644 --- a/README.md +++ b/README.md @@ -2243,7 +2243,7 @@ then again, if you are already into downloading shady binaries from the internet ## zipapp -another emergency alternative, [copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty.pyz) has less features, requires python 3.7 or newer, worse compression, and more importantly is unable to benefit from more recent versions of jinja2 and such (which makes it less secure)... lots of drawbacks with this one really -- but it *may* just work if the regular sfx fails to start because the computer is messed up in certain funky ways, so it's worth a shot if all else fails +another emergency alternative, [copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty.pyz) has less features, is slow, requires python 3.7 or newer, worse compression, and more importantly is unable to benefit from more recent versions of jinja2 and such (which makes it less secure)... lots of drawbacks with this one really -- but it does not unpack any temporay files to disk, so it *may* just work if the regular sfx fails to start because the computer is messed up in certain funky ways, so it's worth a shot if all else fails run it by doubleclicking it, or try typing `python copyparty.pyz` in your terminal/console/commandline/telex if that fails diff --git a/copyparty/__version__.py b/copyparty/__version__.py index 4fe76eb7..97988dd5 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,8 +1,8 @@ # coding: utf-8 -VERSION = (1, 15, 3) +VERSION = (1, 15, 4) CODENAME = "fill the drives" -BUILD_DT = (2024, 9, 16) +BUILD_DT = (2024, 10, 4) S_VERSION = ".".join(map(str, VERSION)) S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT) diff --git a/copyparty/web/ui.css b/copyparty/web/ui.css index a2b521ed..f920153e 100644 --- a/copyparty/web/ui.css +++ b/copyparty/web/ui.css @@ -75,7 +75,6 @@ html { top: 1px; right: 1%; width: 99%; - background: var(--fg-max); animation: toastt var(--tmtime) steps(var(--tmstep)) forwards; transform-origin: right; } @@ -143,6 +142,9 @@ html { #toast.inf #toastc { background: #0be; } +#toast.inf #toastt { + background: #8ef; +} #toast.ok { background: #380; border-color: #8e4; @@ -150,6 +152,9 @@ html { #toast.ok #toastc { background: #8e4; } +#toast.ok #toastt { + background: #cf9; +} #toast.warn { background: #960; border-color: #fc0; @@ -157,6 +162,9 @@ html { #toast.warn #toastc { background: #fc0; } +#toast.warn #toastt { + background: #fe9; +} #toast.err { background: #900; border-color: #d06; @@ -164,6 +172,9 @@ html { #toast.err #toastc { background: #d06; } +#toast.err #toastt { + background: #f9c; +} #toast code { padding: 0 .2em; background: rgba(0,0,0,0.2); diff --git a/copyparty/web/util.js b/copyparty/web/util.js index e3449b48..365bffa4 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -1527,8 +1527,13 @@ var toast = (function () { if (sec) te = setTimeout(r.hide, sec * 1000); - if (same && delta < 1000) + var tb = ebi('toastt'); + if (same && delta < 1000 && tb) { + tb.style.animation = 'none'; + tb.offsetHeight; + tb.style.animation = null; return; + } if (txt.indexOf('') + 1) txt = txt.slice(0, txt.indexOf('<')) + ' [...]'; diff --git a/docs/changelog.md b/docs/changelog.md index 7b4b6d7e..ff42a3e1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,45 @@ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +# 2024-0916-0107 `v1.15.3` incoming eta + +## 🧪 new features + +![cpanel-upload-eta2-or8](https://github.com/user-attachments/assets/eb003bd4-da3c-4995-bf6e-3a8c1c1b26dd) + +* incoming uploads (and their ETA) are shown in the controlpanel 609c5921 844194ee +* list total directory sizes 427597b6 + * show the total size and number of files of each directory in listings + * makes browsing a bit slower (up to 30%) so can be disabled with `--no-dirsz` + * sizes are calculated during startup, so it requires `-e2dsa` + * file-uploads will recalculate the sizes immediately, but a full rescan is necessary to see changes caused by moves/deletes +* optimizations; + * reduce broker overhead when multiprocessing is disabled 4e75534e + * should reduce cpu usage by uploads, thumbnails, prometheus metrics + * reduce cpu usage from downloading thumbnails 7d64879b + +## 🩹 bugfixes + +* fix sqlite indexes d67e9cc5 + * upload handshakes would get exponentially slow if a volume has more than 200'000 files + * reindex on startup can be 150x faster in some rare cases (same filename in MANY folders) + * the database is now around 10% larger (likely worst-case) +* misc ux: 58835b2b + * shares: show media tags + * html hydrator assumed a folder named `foo.txt` was a doc + * due to sessions, use `pwd` as password placeholder on services + +## 🔧 other changes + +* add [example](https://github.com/9001/copyparty/tree/hovudstraum/contrib#flameshotsh) for uploading screenshots from linux with flameshot 1c2acdc9 +* [nginx example](https://github.com/9001/copyparty/blob/hovudstraum/contrib/nginx/copyparty.conf): use unix-sockets for higher performance a5ce1032 +* #97 chinese translation was improved, thx again @ultwcz 7a573caf + +## 🗿 known issues + +* prometheus metrics are busted + * **workaround:** disable monitoring of volume status with `--nos-vst` + + + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2024-0909-2343 `v1.15.1` session diff --git a/scripts/deps-docker/Dockerfile b/scripts/deps-docker/Dockerfile index 3836e60e..2ec7903f 100644 --- a/scripts/deps-docker/Dockerfile +++ b/scripts/deps-docker/Dockerfile @@ -3,7 +3,7 @@ WORKDIR /z ENV ver_asmcrypto=c72492f4a66e17a0e5dd8ad7874de354f3ccdaa5 \ ver_hashwasm=4.10.0 \ ver_marked=4.3.0 \ - ver_dompf=3.1.6 \ + ver_dompf=3.1.7 \ ver_mde=2.18.0 \ ver_codemirror=5.65.16 \ ver_fontawesome=5.13.0 \ diff --git a/scripts/pyinstaller/depchk.sh b/scripts/pyinstaller/depchk.sh index d01eebe4..e04f452e 100755 --- a/scripts/pyinstaller/depchk.sh +++ b/scripts/pyinstaller/depchk.sh @@ -11,14 +11,10 @@ ckpypi() { pyinstaller pyinstaller-hooks-contrib pywin32-ctypes - certifi - charset_normalizer - idna Jinja2 MarkupSafe mutagen Pillow - requests ) for dep in "${deps[@]}"; do k= diff --git a/scripts/pyinstaller/deps.sha512 b/scripts/pyinstaller/deps.sha512 index 2b720e82..5ddfc7b2 100644 --- a/scripts/pyinstaller/deps.sha512 +++ b/scripts/pyinstaller/deps.sha512 @@ -30,4 +30,4 @@ d1420c8417fad7888766dd26b9706a87c63e8f33dceeb8e26d0056d5127b0b3ed9272e44b4b76113 2be320b4191f208cdd6af183c77ba2cf460ea52164ee45ac3ff17d6dfa57acd9deff016636c2dd42a21f4f6af977d5f72df7dacf599bebcf41757272354d14c1 pillow-10.4.0-cp312-cp312-win_amd64.whl 896ddddbd4b85e86e0600cb65eb4c07fbc7f3802d47e7f660411e20b5500831469b97ed4770f25820f4e75cbfac40308da624fd86d4f62e578149d5c276a9cde pyinstaller-6.10.0-py3-none-win_amd64.whl 873781decaeef07f6a79b0ed8b9f35f3fa534a1ea0d866991e40278a10818fa5b60c70b0d5828971b045364f1099694cd1e5d5d60d480acb93fcfbfbced4a09e pyinstaller_hooks_contrib-2024.8-py3-none-any.whl -37fa7250b10b0c03b87d800bf4f920589649309cb4fbd25864475084bb7873d62b809a4fdeabd06c79f03f33614218eb7e01a9bd796de29dd3b141f1906d588c python-3.12.6-amd64.exe +912b710007c7b29f29c0097aff8f825412166eed7777a7cef135b14316e8fff31b5df56d26d835d8ca090468cc0e914730f201a56caa3dd6dbef2f91088942b1 python-3.12.7-amd64.exe diff --git a/scripts/pyinstaller/notes.txt b/scripts/pyinstaller/notes.txt index d4ce9af8..8fda9f09 100644 --- a/scripts/pyinstaller/notes.txt +++ b/scripts/pyinstaller/notes.txt @@ -41,7 +41,7 @@ fns=( pillow-10.4.0-cp312-cp312-win_amd64.whl pyinstaller-6.10.0-py3-none-win_amd64.whl pyinstaller_hooks_contrib-2024.8-py3-none-any.whl - python-3.12.6-amd64.exe + python-3.12.7-amd64.exe ) [ $w7 ] && fns+=( future-1.0.0-py3-none-any.whl