also:
- fixes#1039 - email buttons overlapping in some languages
- fixes#1191 - language change URL mangling
- adds focus to password input in modal
- prevents needless reload on visiting default URL
mocha tests started failing as of node 20.10.0, likely due to this change:
https://github.com/nodejs/node/pull/49936
Error was:
node:internal/deps/undici/undici:11730
Error.captureStackTrace(err, this);
^
TypeError: Failed to parse URL from js/zlib-1.2.13.wasm
at Object.fetch (node:internal/deps/undici/undici:11730:11)
at async initialize (/home/runner/work/PrivateBin/PrivateBin/js/zlib-1.2.13.js:31:26) {
[cause]: TypeError: Invalid URL: js/zlib-1.2.13.wasm
at new URLImpl (/home/runner/work/PrivateBin/PrivateBin/js/node_modules/jsdom-url/node_modules/whatwg-url/lib/URL-impl.js:21:13)
at new URLImplCore (/home/runner/work/PrivateBin/PrivateBin/js/node_modules/jsdom-url/lib/URLImpl.js:18:9)
at new URLCore (/home/runner/work/PrivateBin/PrivateBin/js/node_modules/jsdom-url/lib/URL.js:28:9)
at Object.construct (/home/runner/work/PrivateBin/PrivateBin/js/node_modules/class-proxy/index.js:18:23)
at new Request (node:internal/deps/undici/undici:5270:25)
at fetch (node:internal/deps/undici/undici:9508:25)
at Object.fetch (node:internal/deps/undici/undici:11728:18)
at fetch (node:internal/process/pre_execution:314:27)
at initialize (/home/runner/work/PrivateBin/PrivateBin/js/zlib-1.2.13.js:31:32)
at Object.<anonymous> (/home/runner/work/PrivateBin/PrivateBin/js/zlib-1.2.13.js:145:17)
at Object.<anonymous> (/home/runner/work/PrivateBin/PrivateBin/js/zlib-1.2.13.js:146:4)
[...]
Notice that the error occurs on line 31, meaning that fetch is not
undefined anymore. Node works on supporting fetch, which would make our
workaround using fs.readFileSync obsolete, but it (or rather the undici
library) currently doesn't support relative URLs.