From 400d7008452ac98da872b2f90f465517a918c00e Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 10 May 2024 14:31:50 +0000 Subject: [PATCH] v1.13.2 --- copyparty/__version__.py | 4 +-- copyparty/util.py | 8 +++-- copyparty/web/browser.js | 2 +- docs/changelog.md | 55 +++++++++++++++++++++++++++++++++ scripts/deps-docker/Dockerfile | 2 +- scripts/pyinstaller/deps.sha512 | 2 +- scripts/pyinstaller/notes.txt | 2 +- 7 files changed, 67 insertions(+), 8 deletions(-) diff --git a/copyparty/__version__.py b/copyparty/__version__.py index 28bf9528..31e98ef7 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,8 +1,8 @@ # coding: utf-8 -VERSION = (1, 13, 1) +VERSION = (1, 13, 2) CODENAME = "race the beam" -BUILD_DT = (2024, 5, 6) +BUILD_DT = (2024, 5, 10) S_VERSION = ".".join(map(str, VERSION)) S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT) diff --git a/copyparty/util.py b/copyparty/util.py index 16edceb7..4d33608a 100644 --- a/copyparty/util.py +++ b/copyparty/util.py @@ -476,7 +476,9 @@ class Daemon(threading.Thread): def run(self): if not ANYWIN and not PY2: - signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1]) + signal.pthread_sigmask( + signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1] + ) self.fun(*self.a, **self.ka) @@ -1323,7 +1325,9 @@ def sigblock(): if ANYWIN or PY2: return - signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1]) + signal.pthread_sigmask( + signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1] + ) def vol_san(vols: list["VFS"], txt: bytes) -> bytes: diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 4920a8e8..5c888d32 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -3259,7 +3259,7 @@ function autoplay_blocked(seek) { var tid = mp.au.tid, fn = mp.tracks[tid].split(/\//).pop(); - fn = uricom_dec(fn.replace(/\+/g, ' ')); + fn = uricom_dec(fn.replace(/\+/g, ' ').split('?')[0]); modal.confirm('
' + L.mm_hashplay + '
\n«' + esc(fn) + '»', function () { // chrome 91 may permanently taint on a failed play() diff --git a/docs/changelog.md b/docs/changelog.md index 399b315b..0bbb385d 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,58 @@ +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +# 2024-0506-0029 `v1.13.1` ctrl-v + +## new features + +* upload files by `ctrl-c` from OS and `ctrl-v` into browser c5f7cfc3 + * from just about any file manager (windows explorer, thunar on linux, etc.) into the copyparty web-ui + * only files, not folders, so drag-drop is still the recommended way +* empty folders show an "empty folder" banner fdda567f +* opengraph / discord embeds ea270ab9 36f2c446 48a6789d b15a4ef7 + * embeds [audio with covers](https://cd.ocv.me/c/d2/d22/snowy.mp3) , [images](https://cd.ocv.me/c/d2/d22/cover.jpg) , [videos](https://cd.ocv.me/c/d2/d21/no-effect.webm) , [audio without coverart](https://cd.ocv.me/c/d2/bitconnect.mp3) (links to one of the copyparty demoservers where the feature is enabled; link those in discord to test) + * images are currently not rendering correctly once clicked on android-discord (works on ios and in browser) + * default-disabled because opengraph disables hotlinking by design + * enable with `--og` and [see readme](https://github.com/9001/copyparty#opengraph) and [the --help](https://github.com/9001/copyparty/assets/241032/2dabf21e-2470-4e20-8ef0-3821b24be1b6) +* add option to support base64-encoded url queries parceled into the url location 69517e46 + * because android-specific discord bugs prevent the use of queries in opengraph tags +* improve server performance when downloading unfinished uploads, especially on slow storage 70a3cf36 +* add dynamic content into `` using `--html-head` which now takes files and/or jinja templates as input b6cf2d30 +* `--au-vol` (default 50, same as before) sets default audio volume in percent da091aec +* add **[copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py)** buildscript 27485a4c +* support ie4 and the [version of winzip](https://a.ocv.me/pub/g/nerd-stuff/cpp/win311zip.png) you'd find on an average windows 3.11 pc 603d0ed7 + +## bugfixes + +* when logging in from the 403 page, remember and apply the original url hash f8491970 +* the config-reset button in the control-panel didn't clear the dotfiles preference bc2c1e42 +* the search feature could discover and use stale indexes in volumes where indexing was since disabled 95d9e693 +* when in doubt, periodically recheck if filesystems support sparse files f6e693f0 + * reduces opportunities for confusion on servers with removable media (usb flashdrives) + +---- + +this release introduces **[copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py)**, yet another way to bring copyparty where it's needed -- very limited and with many drawbacks (see [readme](https://github.com/9001/copyparty#zipapp)) but may work when the others don't + + + +▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +# 2024-0420-2232 `v1.13.0` race the beam + +## new features + +* files can be downloaded before the upload has completed ("almost like peer-to-peer") + * watch the [release trailer](http://a.ocv.me/pub/g/nerd-stuff/cpp/2024-0418-race-the-beam.webm) 👌 + * if the downloader catches up with the upload, the speed is gradually slowed down so it never runs ahead + * can be disabled with `--no-pipe` +* option `--no-db-ip` disables storing the uploader IP in the database bf585078 +* u2c (cli uploader): option `--ow` to overwrite existing files on the server 439cb7f8 + +## bugfixes + +* when running on windows, using the web-UI to abort an upload could fail 8c552f1a +* rapidly PUT-uploading and then deleting files could crash the file hasher feecb3e0 + + + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ # 2024-0412-2110 `v1.12.2` ie11 fix diff --git a/scripts/deps-docker/Dockerfile b/scripts/deps-docker/Dockerfile index 98689319..b5efa59b 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.0.11 \ + ver_dompf=3.1.2 \ ver_mde=2.18.0 \ ver_codemirror=5.65.16 \ ver_fontawesome=5.13.0 \ diff --git a/scripts/pyinstaller/deps.sha512 b/scripts/pyinstaller/deps.sha512 index 81353550..1c688b1a 100644 --- a/scripts/pyinstaller/deps.sha512 +++ b/scripts/pyinstaller/deps.sha512 @@ -24,7 +24,7 @@ f298e34356b5590dde7477d7b3a88ad39c622a2bcf3fcd7c53870ce8384dd510f690af81b8f42e12 479a63e14586ab2f2228208116fc149ed8ee7b1e4ff360754f5bda4bf765c61af2e04b5ef123976623d04df4976b7886e0445647269da81436bd0a7b5671d361 windows6.1-kb2533623-x86.msu ac96786e5d35882e0c5b724794329c9125c2b86ae7847f17acfc49f0d294312c6afc1c3f248655de3f0ccb4ca426d7957d02ba702f4a15e9fcd7e2c314e72c19 zipp-3.15.0-py3-none-any.whl # win10 -e3e2e6bd511dec484dd0292f4c46c55c88a885eabf15413d53edea2dd4a4dbae1571735b9424f78c0cd7f1082476a8259f31fd3f63990f726175470f636df2b3 Jinja2-3.1.3-py3-none-any.whl +d1420c8417fad7888766dd26b9706a87c63e8f33dceeb8e26d0056d5127b0b3ed9272e44b4b761132d4b3320327252eab1696520488ca64c25958896b41f547b jinja2-3.1.4-py3-none-any.whl e21495f1d473d855103fb4a243095b498ec90eb68776b0f9b48e994990534f7286c0292448e129c507e5d70409f8a05cca58b98d59ce2a815993d0a873dfc480 MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl 8a6e2b13a2ec4ef914a5d62aad3db6464d45e525a82e07f6051ed10474eae959069e165dba011aefb8207cdfd55391d73d6f06362c7eb247b08763106709526e mutagen-1.47.0-py3-none-any.whl 1dfe6f66bef5c9d62c9028a964196b902772ec9e19db215f3f41acb8d2d563586988d81b455fa6b895b434e9e1e9d57e4d271d1b1214483bdb3eadffcbba6a33 pillow-10.3.0-cp311-cp311-win_amd64.whl diff --git a/scripts/pyinstaller/notes.txt b/scripts/pyinstaller/notes.txt index 636042ba..7e619272 100644 --- a/scripts/pyinstaller/notes.txt +++ b/scripts/pyinstaller/notes.txt @@ -24,7 +24,7 @@ fns=( ) [ $w10 ] && fns+=( pyinstaller-6.5.0-py3-none-win_amd64.whl - Jinja2-3.1.3-py3-none-any.whl + Jinja2-3.1.4-py3-none-any.whl MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl mutagen-1.47.0-py3-none-any.whl pillow-10.3.0-cp311-cp311-win_amd64.whl