diff --git a/.eslintrc.js b/.eslintrc.js index 99321b951e..90525dcc0c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -76,7 +76,6 @@ module.exports = { 'sonarjs/cognitive-complexity': ['warn'], // TODO: Enable the following rules and fix issues 'sonarjs/no-duplicate-string': ['off'], - 'sonarjs/no-redundant-jump': ['off'], 'sonarjs/prefer-object-literal': ['off'], 'sonarjs/prefer-single-boolean-return': ['off'] }, diff --git a/cssnano.config.js b/cssnano.config.js new file mode 100644 index 0000000000..376b8f011b --- /dev/null +++ b/cssnano.config.js @@ -0,0 +1,10 @@ +module.exports = { + preset: [ + 'default', + // Turn off `mergeLonghand` because it combines `padding-*` and `margin-*`, + // breaking fallback styles. + // https://github.com/cssnano/cssnano/issues/1163 + // https://github.com/cssnano/cssnano/issues/1192 + { mergeLonghand: false } + ] +}; diff --git a/package-lock.json b/package-lock.json index 47f33ac603..a25c108eb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,17 +10,17 @@ "license": "GPL-2.0-or-later", "dependencies": { "@fontsource/noto-sans": "4.5.11", - "@fontsource/noto-sans-hk": "4.5.11", - "@fontsource/noto-sans-jp": "4.5.11", - "@fontsource/noto-sans-kr": "4.5.11", - "@fontsource/noto-sans-sc": "4.5.11", - "@fontsource/noto-sans-tc": "4.5.11", + "@fontsource/noto-sans-hk": "4.5.12", + "@fontsource/noto-sans-jp": "4.5.12", + "@fontsource/noto-sans-kr": "4.5.12", + "@fontsource/noto-sans-sc": "4.5.12", + "@fontsource/noto-sans-tc": "4.5.12", "@jellyfin/libass-wasm": "4.1.1", "@jellyfin/sdk": "0.7.0", - "blurhash": "2.0.2", + "blurhash": "2.0.3", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.3.2", - "core-js": "3.25.3", + "core-js": "3.25.5", "date-fns": "2.29.3", "dompurify": "2.4.0", "epubjs": "0.3.93", @@ -66,8 +66,8 @@ "@types/lodash-es": "4.17.6", "@types/react": "17.0.50", "@types/react-dom": "17.0.17", - "@typescript-eslint/eslint-plugin": "5.38.1", - "@typescript-eslint/parser": "5.38.1", + "@typescript-eslint/eslint-plugin": "5.39.0", + "@typescript-eslint/parser": "5.39.0", "@uupaa/dynamic-import-polyfill": "1.0.2", "autoprefixer": "10.4.12", "babel-loader": "8.2.5", @@ -2322,29 +2322,29 @@ "integrity": "sha512-lBX7FCjIjSrQ+iMuXUuO+mbjbnUsJyZANg/04PgkeeAYe+cwnX81ibbgrAk1F56M6/btIrWQoDjxsK6Sz8KoVQ==" }, "node_modules/@fontsource/noto-sans-hk": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-hk/-/noto-sans-hk-4.5.11.tgz", - "integrity": "sha512-fL1oc/vlgrotdKo1aPI0SJaB/dU4v0iHP0t2bTvxqBo/2kjz4w4y/gu03sUk4gHujwnYjARhjtwVe73xph7P9w==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-hk/-/noto-sans-hk-4.5.12.tgz", + "integrity": "sha512-AWDAqUQpSXlraTZXCdwV9FOVuAVHmhed4bvqOjRqksfeMWZAAMiGOi1QfP4XWnGOzjLEZdV+4aNWc4RYw4suuQ==" }, "node_modules/@fontsource/noto-sans-jp": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-jp/-/noto-sans-jp-4.5.11.tgz", - "integrity": "sha512-fNt9a07uf7YUPo4qEzIz8IseKn2Gg7zQwX29IKJ5pwClQNEUsVaqyP+PkuClo3EZi1eZUBYMJHjyVtsa8oSmsw==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-jp/-/noto-sans-jp-4.5.12.tgz", + "integrity": "sha512-tdJAUEyuyyCRD4Ot4ZE8+3uyGeSJQD/soSHr7LoltEQr22IotDDWOlqQKF7CpTaJPwt4iOBoXWtAoSN0huVW6A==" }, "node_modules/@fontsource/noto-sans-kr": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-kr/-/noto-sans-kr-4.5.11.tgz", - "integrity": "sha512-yqUVOeV2eoHivVknPImSltQsZvLDrKjyf7Xl4XuBE02Gs5bGPkl/o72mUK+N+oMswF413pyxL+jQmI0PAYQubA==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-kr/-/noto-sans-kr-4.5.12.tgz", + "integrity": "sha512-6LBOzXw/V4guB/nATaiUjCcPxwJNGw+ky5DK7/wsgUZvfk8etH9IlKdvjFVidpeCuMVjOdlka2+MEw4hwEHaHA==" }, "node_modules/@fontsource/noto-sans-sc": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-sc/-/noto-sans-sc-4.5.11.tgz", - "integrity": "sha512-tufdVgKpP2PqhPpk8Wu6nKF8RCe7nKU0lpKm2uWtqmFE0GN5n+Xq/H6UL7ssRNUvDTHffBHIlGB4T7iYXAutgw==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-sc/-/noto-sans-sc-4.5.12.tgz", + "integrity": "sha512-KQ8Bn8KCGVS6RKrEw7fp65GJYpKyKEJ/TkePoKGxvNy7smSaHoKV7vrmpIiA46hkqQyYdENix/NKSprxs4Soyw==" }, "node_modules/@fontsource/noto-sans-tc": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-tc/-/noto-sans-tc-4.5.11.tgz", - "integrity": "sha512-Ns7V+lhInWpcNiHNlK5+9aSvn29ea/qQlNbHjG8+X4SKQ2fMK+rMdYaZCx4eYgQiKajQFTXke+uTroKgsuY/MQ==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-tc/-/noto-sans-tc-4.5.12.tgz", + "integrity": "sha512-c4OUY5Wq03ZLI4Ds9IEHEiPqpjmEXvDpANXufCTlk+bMb8MnweXPVWJSrSHydXnz7r+qstZl3HvWDl2RI5o/1A==" }, "node_modules/@humanwhocodes/config-array": { "version": "0.10.7", @@ -2972,14 +2972,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -3004,9 +3004,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3019,14 +3019,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" }, "engines": { @@ -3046,13 +3046,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3063,13 +3063,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3090,9 +3090,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3103,13 +3103,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3159,9 +3159,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3174,15 +3174,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -3198,12 +3198,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4026,9 +4026,9 @@ } }, "node_modules/blurhash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.2.tgz", - "integrity": "sha512-aYWeITmNkjtnR6X7wNgoIJ198qJc3w5yaIwLa7yxsV7/BMnWDWWgugBNvImSCcWNdVHhpNFIJgEb5jzhV4rkHA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.3.tgz", + "integrity": "sha512-nTnJTOheiaV3b189f7rH5AbbrnQB2r3CcOZBg47GUDaE9DrxyBPD2w0HYp4ME2UBlTP7LMIa6nMWqg/58oyIzA==" }, "node_modules/body-parser": { "version": "1.20.0", @@ -4873,9 +4873,9 @@ } }, "node_modules/core-js": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.3.tgz", - "integrity": "sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -20006,29 +20006,29 @@ "integrity": "sha512-lBX7FCjIjSrQ+iMuXUuO+mbjbnUsJyZANg/04PgkeeAYe+cwnX81ibbgrAk1F56M6/btIrWQoDjxsK6Sz8KoVQ==" }, "@fontsource/noto-sans-hk": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-hk/-/noto-sans-hk-4.5.11.tgz", - "integrity": "sha512-fL1oc/vlgrotdKo1aPI0SJaB/dU4v0iHP0t2bTvxqBo/2kjz4w4y/gu03sUk4gHujwnYjARhjtwVe73xph7P9w==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-hk/-/noto-sans-hk-4.5.12.tgz", + "integrity": "sha512-AWDAqUQpSXlraTZXCdwV9FOVuAVHmhed4bvqOjRqksfeMWZAAMiGOi1QfP4XWnGOzjLEZdV+4aNWc4RYw4suuQ==" }, "@fontsource/noto-sans-jp": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-jp/-/noto-sans-jp-4.5.11.tgz", - "integrity": "sha512-fNt9a07uf7YUPo4qEzIz8IseKn2Gg7zQwX29IKJ5pwClQNEUsVaqyP+PkuClo3EZi1eZUBYMJHjyVtsa8oSmsw==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-jp/-/noto-sans-jp-4.5.12.tgz", + "integrity": "sha512-tdJAUEyuyyCRD4Ot4ZE8+3uyGeSJQD/soSHr7LoltEQr22IotDDWOlqQKF7CpTaJPwt4iOBoXWtAoSN0huVW6A==" }, "@fontsource/noto-sans-kr": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-kr/-/noto-sans-kr-4.5.11.tgz", - "integrity": "sha512-yqUVOeV2eoHivVknPImSltQsZvLDrKjyf7Xl4XuBE02Gs5bGPkl/o72mUK+N+oMswF413pyxL+jQmI0PAYQubA==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-kr/-/noto-sans-kr-4.5.12.tgz", + "integrity": "sha512-6LBOzXw/V4guB/nATaiUjCcPxwJNGw+ky5DK7/wsgUZvfk8etH9IlKdvjFVidpeCuMVjOdlka2+MEw4hwEHaHA==" }, "@fontsource/noto-sans-sc": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-sc/-/noto-sans-sc-4.5.11.tgz", - "integrity": "sha512-tufdVgKpP2PqhPpk8Wu6nKF8RCe7nKU0lpKm2uWtqmFE0GN5n+Xq/H6UL7ssRNUvDTHffBHIlGB4T7iYXAutgw==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-sc/-/noto-sans-sc-4.5.12.tgz", + "integrity": "sha512-KQ8Bn8KCGVS6RKrEw7fp65GJYpKyKEJ/TkePoKGxvNy7smSaHoKV7vrmpIiA46hkqQyYdENix/NKSprxs4Soyw==" }, "@fontsource/noto-sans-tc": { - "version": "4.5.11", - "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-tc/-/noto-sans-tc-4.5.11.tgz", - "integrity": "sha512-Ns7V+lhInWpcNiHNlK5+9aSvn29ea/qQlNbHjG8+X4SKQ2fMK+rMdYaZCx4eYgQiKajQFTXke+uTroKgsuY/MQ==" + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-tc/-/noto-sans-tc-4.5.12.tgz", + "integrity": "sha512-c4OUY5Wq03ZLI4Ds9IEHEiPqpjmEXvDpANXufCTlk+bMb8MnweXPVWJSrSHydXnz7r+qstZl3HvWDl2RI5o/1A==" }, "@humanwhocodes/config-array": { "version": "0.10.7", @@ -20589,14 +20589,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -20605,9 +20605,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -20616,53 +20616,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" } }, "@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -20691,9 +20691,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -20702,26 +20702,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" }, "dependencies": { @@ -21358,9 +21358,9 @@ "dev": true }, "blurhash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.2.tgz", - "integrity": "sha512-aYWeITmNkjtnR6X7wNgoIJ198qJc3w5yaIwLa7yxsV7/BMnWDWWgugBNvImSCcWNdVHhpNFIJgEb5jzhV4rkHA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.3.tgz", + "integrity": "sha512-nTnJTOheiaV3b189f7rH5AbbrnQB2r3CcOZBg47GUDaE9DrxyBPD2w0HYp4ME2UBlTP7LMIa6nMWqg/58oyIzA==" }, "body-parser": { "version": "1.20.0", @@ -21997,9 +21997,9 @@ } }, "core-js": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.3.tgz", - "integrity": "sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==" + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" }, "core-js-compat": { "version": "3.25.3", diff --git a/package.json b/package.json index 80ada804cc..3df9178ff6 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "@types/lodash-es": "4.17.6", "@types/react": "17.0.50", "@types/react-dom": "17.0.17", - "@typescript-eslint/eslint-plugin": "5.38.1", - "@typescript-eslint/parser": "5.38.1", + "@typescript-eslint/eslint-plugin": "5.39.0", + "@typescript-eslint/parser": "5.39.0", "@uupaa/dynamic-import-polyfill": "1.0.2", "autoprefixer": "10.4.12", "babel-loader": "8.2.5", @@ -66,17 +66,17 @@ }, "dependencies": { "@fontsource/noto-sans": "4.5.11", - "@fontsource/noto-sans-hk": "4.5.11", - "@fontsource/noto-sans-jp": "4.5.11", - "@fontsource/noto-sans-kr": "4.5.11", - "@fontsource/noto-sans-sc": "4.5.11", - "@fontsource/noto-sans-tc": "4.5.11", + "@fontsource/noto-sans-hk": "4.5.12", + "@fontsource/noto-sans-jp": "4.5.12", + "@fontsource/noto-sans-kr": "4.5.12", + "@fontsource/noto-sans-sc": "4.5.12", + "@fontsource/noto-sans-tc": "4.5.12", "@jellyfin/libass-wasm": "4.1.1", "@jellyfin/sdk": "0.7.0", - "blurhash": "2.0.2", + "blurhash": "2.0.3", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.3.2", - "core-js": "3.25.3", + "core-js": "3.25.5", "date-fns": "2.29.3", "dompurify": "2.4.0", "epubjs": "0.3.93", diff --git a/src/assets/img/devices/home-assistant.svg b/src/assets/img/devices/home-assistant.svg new file mode 100644 index 0000000000..a34be98def --- /dev/null +++ b/src/assets/img/devices/home-assistant.svg @@ -0,0 +1 @@ + diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index 2d67f04f0f..00cac68136 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -382,7 +382,6 @@ import template from './libraryoptionseditor.template.html'; return setContentType(parent, contentType).then(function() { libraryOptions && setLibraryOptions(parent, libraryOptions); bindEvents(parent); - return; }); }); } diff --git a/src/components/playback/playerSelectionMenu.js b/src/components/playback/playerSelectionMenu.js index 9cbe2e5ac0..94c3c4b439 100644 --- a/src/components/playback/playerSelectionMenu.js +++ b/src/components/playback/playerSelectionMenu.js @@ -295,7 +295,6 @@ document.addEventListener('viewshow', function (e) { mirrorIfEnabled({ item: item }); - return; } }); diff --git a/src/components/recordingcreator/recordingcreator.js b/src/components/recordingcreator/recordingcreator.js index 4387b2e09b..6720a43475 100644 --- a/src/components/recordingcreator/recordingcreator.js +++ b/src/components/recordingcreator/recordingcreator.js @@ -129,7 +129,6 @@ function executeCloseAction(action, programId, serverId) { serverId: serverId }); }); - return; } } diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 5482c4d479..a740e450f9 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -170,7 +170,6 @@ function renderSeriesTimerEditor(page, item, apiClient, user) { page.querySelector('.seriesTimerScheduleSection').classList.add('hide'); hideAll(page, 'btnCancelSeriesTimer'); - return; } function renderTrackSelections(page, instance, item, forceReload) { diff --git a/src/controllers/list.js b/src/controllers/list.js index 4c9e97ca48..09d398451f 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -720,8 +720,6 @@ class ItemsView { if (params.type === 'Video') { return globalize.translate('Videos'); } - - return; } function play() { diff --git a/src/controllers/session/forgotPassword/index.js b/src/controllers/session/forgotPassword/index.js index 208e54d063..87a0498bf0 100644 --- a/src/controllers/session/forgotPassword/index.js +++ b/src/controllers/session/forgotPassword/index.js @@ -35,7 +35,6 @@ import Dashboard from '../../../utils/dashboard'; Dashboard.navigate('forgotpasswordpin.html'); } }); - return; } } diff --git a/src/elements/emby-itemscontainer/emby-itemscontainer.js b/src/elements/emby-itemscontainer/emby-itemscontainer.js index da9592ca19..b6d0f147b7 100644 --- a/src/elements/emby-itemscontainer/emby-itemscontainer.js +++ b/src/elements/emby-itemscontainer/emby-itemscontainer.js @@ -190,7 +190,6 @@ import Sortable from 'sortablejs'; const itemsContainer = this; if (getEventsToMonitor(itemsContainer).indexOf('seriestimers') !== -1) { itemsContainer.notifyRefreshNeeded(); - return; } } diff --git a/src/plugins/syncPlay/core/QueueCore.js b/src/plugins/syncPlay/core/QueueCore.js index cdf1d56a1e..f1a435106e 100644 --- a/src/plugins/syncPlay/core/QueueCore.js +++ b/src/plugins/syncPlay/core/QueueCore.js @@ -193,7 +193,6 @@ class QueueCore { } this.manager.haltGroupPlayback(apiClient); - return; }); } diff --git a/src/scripts/imagehelper.js b/src/scripts/imagehelper.js index cb76fa7977..d481f7e4ad 100644 --- a/src/scripts/imagehelper.js +++ b/src/scripts/imagehelper.js @@ -52,6 +52,8 @@ function getWebDeviceIcon(browser) { case 'Jellyfin iOS': case 'Infuse': return BASE_DEVICE_IMAGE_URL + 'apple.svg'; + case 'Home Assistant': + return BASE_DEVICE_IMAGE_URL + 'home-assistant.svg'; case 'Jellyfin Web': return getWebDeviceIcon(device.Name || device.DeviceName); default: diff --git a/src/strings/ar.json b/src/strings/ar.json index 22f643e25c..3a3ffe10a9 100644 --- a/src/strings/ar.json +++ b/src/strings/ar.json @@ -1672,5 +1672,9 @@ "RememberSubtitleSelections": "تعيين مسار الترجمة على أساس البند السابق", "RememberAudioSelectionsHelp": "حاول ضبط المسار الصوتي على أقرب تطابق للفيديو الأخير.", "RememberAudioSelections": "تعيين مسار الصوت على أساس البند السابق", - "LabelMaxVideoResolution": "الحد الأقصى المسموح به لقرار تحويل ترميز الفيديو" + "LabelMaxVideoResolution": "الحد الأقصى المسموح به لقرار تحويل ترميز الفيديو", + "OptionDateShowAdded": "تاريخ اضافة العرض", + "OptionDateEpisodeAdded": "تاريخ اضافة الحلقة", + "IgnoreDtsHelp": "قد يؤدي تعطيل هذا الخيار إلى حل بعض المشكلات ، على سبيل المثال فقدان الصوت على القنوات التي تحتوي على دفق صوت وفيديو منفصل.", + "IgnoreDts": "تجاهل DTS (الطابع الزمني لفك التشفير)" } diff --git a/src/strings/ca.json b/src/strings/ca.json index a5f85cae8c..c8db8f23eb 100644 --- a/src/strings/ca.json +++ b/src/strings/ca.json @@ -969,7 +969,7 @@ "NoNewDevicesFound": "No es van trobar nous dispositius. Per afegir un nou sintonitzador, tancar aquest diàleg i introduïu la informació de el dispositiu de forma manual.", "NoCreatedLibraries": "Sembla que no s'ha creat cap biblioteca encara. {0} Li agradaria crear una ara? {1}", "No": "No", - "NextUp": "Fins a la pròxima", + "NextUp": "A continuació", "NextTrack": "Passar a la següent", "Next": "Pròxim", "News": "Notícies", @@ -1644,5 +1644,8 @@ "ButtonClose": "Tancar", "ButtonBackspace": "Retrocés", "Arranger": "Arranjador", - "AddToFavorites": "Afegir a preferits" + "AddToFavorites": "Afegir a preferits", + "EnableSplashScreen": "Habilita la pantalla de benvinguda", + "ScreenResolution": "Resolució de pantalla", + "Bold": "Negreta" } diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index a05d5e3d71..5b721ee886 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -1675,5 +1675,9 @@ "RememberSubtitleSelections": "Set subtitle track based on previous item", "RememberAudioSelectionsHelp": "Try to set the audio track to the closest match to the last video.", "RememberAudioSelections": "Set audio track based on previous item", - "LabelMaxVideoResolution": "Maximum Allowed Video Transcoding Resolution" + "LabelMaxVideoResolution": "Maximum Allowed Video Transcoding Resolution", + "OptionDateShowAdded": "Date Show Added", + "OptionDateEpisodeAdded": "Date Episode Added", + "IgnoreDtsHelp": "Disabling this option may resolve some issues, e.g. missing audio on channels with separate audio and video streams.", + "IgnoreDts": "Ignore DTS (decoding timestamp)" } diff --git a/src/strings/fr.json b/src/strings/fr.json index 85fe0a38c5..41fdac284c 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1676,5 +1676,8 @@ "RememberSubtitleSelections": "Définir la piste de sous-titre en fonction de l'élément précédent", "RememberAudioSelectionsHelp": "Choisir la piste audio la plus proche de la dernière vidéo.", "RememberAudioSelections": "Définir la piste audio en fonction de l'élément précédent", - "IgnoreDtsHelp": "Désactiver cette option pourrait résoudre certains problèmes, comme par exemple l'audio manquant sur des pistes ayant des flux audios et vidéos séparés." + "IgnoreDtsHelp": "La désactivation de cette option peut résoudre certains problèmes, par ex. audio manquant sur les canaux avec des flux audio et vidéo séparés.", + "OptionDateShowAdded": "Date d'ajout de la série", + "OptionDateEpisodeAdded": "Date d'ajout de l'épisode", + "IgnoreDts": "Ignorer DTS (horodatage de décodage)" } diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index 770239a50c..e0c72aa6d3 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -1413,7 +1413,7 @@ "SmallCaps": "Maiúsculas reduzidas", "LabelTonemappingRange": "Alcance do Tone Mapping :", "TonemappingAlgorithmHelp": "O Tone Mapping pode ser afinado. Se não estiver familiarizado com estas opções, mantenha-as nas opções padrão. O valor recomendado é 'BT.2390'.", - "AllowTonemappingHelp": "O processo de Tone Mapping transforma o Dynamic Range de um vídeo HDR em SDR, mantendo os detalhes e as cores, sendo estes bastante importantes para preservar a cena original. Atualmente funciona apenas com vídeos HDR10 ou HLG. Esta opção requer os executáveis CUDA ou OpenCL correspondentes.", + "AllowTonemappingHelp": "O processo de Tone Mapping transforma o Dynamic Range de um vídeo HDR em SDR, mantendo os detalhes e as cores, sendo estes bastante importantes para preservar a cena original. Atualmente funciona apenas com vídeos HDR10 ou HLG. Esta opção requer os executáveis CUDA ou OpenCL correspondentes.", "LabelMaxMuxingQueueSizeHelp": "Número máximo de pacotes armazenados em buffer enquanto aguardam que todas as transmissões iniciem. Tente aumentá-lo caso se depare com o seguinte erro nos registos do FFmpeg \"Too many packets buffered for output stream\". O valor recomendado é 2048.", "DeleteAll": "Apagar tudo", "DeleteDevicesConfirmation": "Tem a certeza que deseja remover todos os dispositivos? Todas as outras sessões serão terminadas. Os dispositivos reaparecerão da próxima vez que um utilizador iniciar sessão.", diff --git a/src/strings/sk.json b/src/strings/sk.json index 649edb3e49..9fee841ca4 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -1675,5 +1675,9 @@ "RememberSubtitleSelections": "Nastaviť titulky podľa predchádzajúcej položky", "RememberAudioSelectionsHelp": "Pokúsi sa nastaviť zvukovú stopu tak, aby sa čo najviac zhodovala s posledným videom.", "RememberAudioSelections": "Nastaviť zvukovú stopu podľa predchádzajúcej položky", - "LabelMaxVideoResolution": "Maximálne dovolené rozlíšenie videa pre prekódovanie" + "LabelMaxVideoResolution": "Maximálne dovolené rozlíšenie videa pre prekódovanie", + "OptionDateShowAdded": "Dátum pridania seriálu", + "OptionDateEpisodeAdded": "Dátum pridania epizódy", + "IgnoreDtsHelp": "Vypnutím sa môžu vyriešiť niektoré problémy, napr. chýbajúci zvuk pri kanáloch so samostatnými zvukovými a video streamami.", + "IgnoreDts": "Ignorovať DTS (dekódovacia časová pečiatka)" } diff --git a/src/strings/vi.json b/src/strings/vi.json index 4b3e69f6ad..ae96ca1c46 100644 --- a/src/strings/vi.json +++ b/src/strings/vi.json @@ -1668,5 +1668,8 @@ "Trailer": "", "TypeOptionPluralVideo": "Videos", "ButtonSpace": "Cách", - "ButtonBackspace": "Xóa" + "ButtonBackspace": "Xóa", + "OptionDateEpisodeAdded": "Ngày Thêm Tập", + "IgnoreDtsHelp": "Việc tắt tùy chọn này có thể giải quyết một số vấn đề, ví dụ: thiếu âm thanh trên các kênh có luồng âm thanh và video riêng biệt.", + "IgnoreDts": "Bỏ qua DTS (dấu thời gian giải mã)" } diff --git a/webpack.common.js b/webpack.common.js index fddcfe66a2..b7c3ad6f47 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -121,7 +121,7 @@ const config = { }, { test: /\.(js|jsx)$/, - exclude: /node_modules[\\/](?!@uupaa[\\/]dynamic-import-polyfill|blurhash|date-fns|epubjs|flv.js|libarchive.js|marked|react-router|screenfull)/, + exclude: /node_modules[\\/](?!@uupaa[\\/]dynamic-import-polyfill|@remix-run[\\/]router|blurhash|date-fns|epubjs|flv.js|libarchive.js|marked|react-router|screenfull)/, use: [{ loader: 'babel-loader', options: {