From f12d4cb13afe911c27dfc66a15d8561c8485c5b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 03:53:35 +0000 Subject: [PATCH 01/46] Bump typescript-eslint in the minor-and-patch group Bumps the minor-and-patch group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.32.0 to 8.32.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.32.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-version: 8.32.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 228 +++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 124 insertions(+), 106 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b5d7119..9161229f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "stylelint-config-standard-scss": "^14.0.0", "svgo": "^3.3.2", "typescript": "^5.5.4", - "typescript-eslint": "^8.32.0", + "typescript-eslint": "^8.32.1", "yaml": "^2.7.1" }, "engines": { @@ -4367,19 +4367,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.0.tgz", - "integrity": "sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz", + "integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/type-utils": "8.32.0", - "@typescript-eslint/utils": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/type-utils": "8.32.1", + "@typescript-eslint/utils": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, @@ -4396,17 +4396,27 @@ "typescript": ">=4.8.4 <5.9.0" } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@typescript-eslint/parser": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.0.tgz", - "integrity": "sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz", + "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/typescript-estree": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/typescript-estree": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "debug": "^4.3.4" }, "engines": { @@ -4445,14 +4455,14 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.0.tgz", - "integrity": "sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz", + "integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0" + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4463,14 +4473,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.0.tgz", - "integrity": "sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz", + "integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.32.0", - "@typescript-eslint/utils": "8.32.0", + "@typescript-eslint/typescript-estree": "8.32.1", + "@typescript-eslint/utils": "8.32.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -4512,9 +4522,9 @@ "license": "MIT" }, "node_modules/@typescript-eslint/types": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.0.tgz", - "integrity": "sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz", + "integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==", "dev": true, "license": "MIT", "engines": { @@ -4526,14 +4536,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.0.tgz", - "integrity": "sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz", + "integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -4604,9 +4614,9 @@ "license": "MIT" }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -4617,16 +4627,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.0.tgz", - "integrity": "sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz", + "integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/typescript-estree": "8.32.0" + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/typescript-estree": "8.32.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4641,13 +4651,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.0.tgz", - "integrity": "sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz", + "integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -12846,15 +12856,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.0.tgz", - "integrity": "sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.1.tgz", + "integrity": "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.32.0", - "@typescript-eslint/parser": "8.32.0", - "@typescript-eslint/utils": "8.32.0" + "@typescript-eslint/eslint-plugin": "8.32.1", + "@typescript-eslint/parser": "8.32.1", + "@typescript-eslint/utils": "8.32.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -16446,32 +16456,40 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.0.tgz", - "integrity": "sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz", + "integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/type-utils": "8.32.0", - "@typescript-eslint/utils": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/type-utils": "8.32.1", + "@typescript-eslint/utils": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" + }, + "dependencies": { + "ignore": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", + "dev": true + } } }, "@typescript-eslint/parser": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.0.tgz", - "integrity": "sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz", + "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/typescript-estree": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/typescript-estree": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "debug": "^4.3.4" }, "dependencies": { @@ -16493,23 +16511,23 @@ } }, "@typescript-eslint/scope-manager": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.0.tgz", - "integrity": "sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz", + "integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==", "dev": true, "requires": { - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0" + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1" } }, "@typescript-eslint/type-utils": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.0.tgz", - "integrity": "sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz", + "integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "8.32.0", - "@typescript-eslint/utils": "8.32.0", + "@typescript-eslint/typescript-estree": "8.32.1", + "@typescript-eslint/utils": "8.32.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -16532,19 +16550,19 @@ } }, "@typescript-eslint/types": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.0.tgz", - "integrity": "sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz", + "integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.0.tgz", - "integrity": "sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz", + "integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==", "dev": true, "requires": { - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/visitor-keys": "8.32.0", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/visitor-keys": "8.32.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -16587,32 +16605,32 @@ "dev": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true } } }, "@typescript-eslint/utils": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.0.tgz", - "integrity": "sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz", + "integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.32.0", - "@typescript-eslint/types": "8.32.0", - "@typescript-eslint/typescript-estree": "8.32.0" + "@typescript-eslint/scope-manager": "8.32.1", + "@typescript-eslint/types": "8.32.1", + "@typescript-eslint/typescript-estree": "8.32.1" } }, "@typescript-eslint/visitor-keys": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.0.tgz", - "integrity": "sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz", + "integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==", "dev": true, "requires": { - "@typescript-eslint/types": "8.32.0", + "@typescript-eslint/types": "8.32.1", "eslint-visitor-keys": "^4.2.0" }, "dependencies": { @@ -22512,14 +22530,14 @@ "dev": true }, "typescript-eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.0.tgz", - "integrity": "sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==", + "version": "8.32.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.1.tgz", + "integrity": "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "8.32.0", - "@typescript-eslint/parser": "8.32.0", - "@typescript-eslint/utils": "8.32.0" + "@typescript-eslint/eslint-plugin": "8.32.1", + "@typescript-eslint/parser": "8.32.1", + "@typescript-eslint/utils": "8.32.1" } }, "uid-safe": { diff --git a/package.json b/package.json index 6b59941b..853c1800 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "stylelint-config-standard-scss": "^14.0.0", "svgo": "^3.3.2", "typescript": "^5.5.4", - "typescript-eslint": "^8.32.0", + "typescript-eslint": "^8.32.1", "yaml": "^2.7.1" }, "engine": { From ca13d237a3b6d6806ec4af6bf4e0014ffe866fb0 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 20 May 2025 13:07:45 +0200 Subject: [PATCH 02/46] Fix documentation. --- .../documentation/content/en/documentation/admin/settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/documentation/content/en/documentation/admin/settings.md b/support/documentation/content/en/documentation/admin/settings.md index a778bd15..0ca894d7 100644 --- a/support/documentation/content/en/documentation/admin/settings.md +++ b/support/documentation/content/en/documentation/admin/settings.md @@ -90,11 +90,11 @@ The video owner will be able to activate web chats. ### {{% livechat_label all_non_lives_label %}} -{{% livechat_label all_non_lives_label %}} +{{% livechat_label all_non_lives_description %}} ### {{% livechat_label videos_list_label %}} -{{% livechat_label videos_list_label %}} +{{% livechat_label videos_list_description %}} ### {{% livechat_label no_anonymous_label %}} From e7c0be98ee71406aeecbd8a3c1457caccd19074c Mon Sep 17 00:00:00 2001 From: fran secs Date: Mon, 12 May 2025 15:39:56 +0000 Subject: [PATCH 03/46] Translated using Weblate (Catalan) Currently translated at 100.0% (317 of 317 strings) Translation: PeerTube LiveChat/Peertube Plugin LiveChat Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/ca/ --- languages/ca.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/languages/ca.yml b/languages/ca.yml index f5eb476a..6b3356c5 100644 --- a/languages/ca.yml +++ b/languages/ca.yml @@ -576,3 +576,7 @@ prosody_firewall_content: Contingut del fitxer save: Desar cancel: Cancel·lar prosody_s2s_interfaces_label: Interfícies de xarxa per a connexions servidor a servidor +converse_theme_warning_description: "\n Es recomana fermament mantenir el \"tema Peertube\", en combinació amb la funció + \"Detecció automàtica del color\".\n En cas contrari algunes persones poden experimentar + problemes segons el tema Peertube que utilitzen.\n\n" From b5c7fa424606c50adb882e973f65d07bb0471b9f Mon Sep 17 00:00:00 2001 From: Victor Hampel Date: Tue, 13 May 2025 06:09:55 +0000 Subject: [PATCH 04/46] Translated using Weblate (German) Currently translated at 100.0% (317 of 317 strings) Translation: PeerTube LiveChat/Peertube Plugin LiveChat Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/de/ --- languages/de.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/languages/de.yml b/languages/de.yml index b04ff910..373fb77e 100644 --- a/languages/de.yml +++ b/languages/de.yml @@ -578,8 +578,9 @@ prosody_firewall_description: "Sie können mod_firewall auf Ihrem Prosody-Server aktivieren.\nWeitere Informationen finden Sie unter in der Dokumentation.\n" -prosody_firewall_configure_button: "mod_firewall konfigurieren\n" +prosody_firewall_configure_button: "mod_firewall + konfigurieren\n" prosody_firewall_configuration: Prosody mod_firewall Konfiguration prosody_firewall_configuration_help: "Hier können Sie das Modul Prosody mod_firewall konfigurieren.\n @@ -639,3 +640,7 @@ announcements_message_type_standard: Standard announcements_message_type_announcement: Ankündigung announcements_message_type_highlight: Highlight announcements_message_type_warning: Warnung +converse_theme_warning_description: "\n Es wird empfohlen das \"Peertube Thema\" in Verbindung mit der \"Automatische + Farberkennung\" Funktion zu verwenden.\n Andernfalls könnten bei einigen Benutzern, + je nach genutztem Peertube Thema, Probleme auftreten. \n\n" From 356b385fc95d97ddb5c94c65226aebfd3750e135 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 13 May 2025 07:22:49 +0000 Subject: [PATCH 05/46] Translated using Weblate (French) Currently translated at 100.0% (317 of 317 strings) Translation: PeerTube LiveChat/Peertube Plugin LiveChat Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/fr/ --- languages/fr.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/languages/fr.yml b/languages/fr.yml index 8a71507d..d9964fa7 100644 --- a/languages/fr.yml +++ b/languages/fr.yml @@ -654,3 +654,13 @@ livechat_configuration_channel_no_duplicate_desc: "En activant cette option, le de modération modérera automatiquement les messages en double.\nCela signifie que si un⋅e utilisateur⋅rice envoie deux fois le même message en l'espace de X secondes, le deuxième message sera supprimé.\n" +announcements_message_type: Type de message +announcements_message_type_standard: Standard +announcements_message_type_announcement: Annonce +announcements_message_type_highlight: Mise en évidence +announcements_message_type_warning: Avertissement +converse_theme_warning_description: "\n Il est fortement recommandé de garder le «Thème Peertube», en combinaison avec + la fonctionnalité «Détection automatique des couleurs».\n Sinon certain⋅es utilisateur⋅rices + pourraient rencontrer des problèmes selon le thème qu'iels utilisent pour Peertube.\n\ + \n" From 3bc8d2466b3cd3ad4d4d81b7e28d0196eee2d734 Mon Sep 17 00:00:00 2001 From: axolotle Date: Mon, 12 May 2025 14:00:55 +0200 Subject: [PATCH 06/46] auto focus message field after anonymous user has entered nickname --- conversejs/custom/templates/muc-bottom-panel.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conversejs/custom/templates/muc-bottom-panel.js b/conversejs/custom/templates/muc-bottom-panel.js index 87c07f98..4733dbaf 100644 --- a/conversejs/custom/templates/muc-bottom-panel.js +++ b/conversejs/custom/templates/muc-bottom-panel.js @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2024 John Livingston +// SPDX-FileCopyrightText: 2025 Nicolas Chesnais // // SPDX-License-Identifier: AGPL-3.0-only @@ -22,6 +23,7 @@ async function setNickname (ev, model) { _converse.api.trigger('livechatViewerModeSetNickname', model, nick, { synchronous: true }) + document.querySelector('.chat-textarea')?.focus() } class SlowMode extends CustomElement { From ccbfe8e6d5212933a3a6395d1a548ac521ad4f7f Mon Sep 17 00:00:00 2001 From: axolotle Date: Mon, 12 May 2025 14:07:20 +0200 Subject: [PATCH 07/46] Add go to last msg button in chat bottom panel --- .../custom/templates/muc-bottom-panel.js | 49 +++++++++++++++++++ conversejs/loc.keys.js | 4 +- languages/en.yml | 1 + languages/fr.yml | 1 + 4 files changed, 54 insertions(+), 1 deletion(-) diff --git a/conversejs/custom/templates/muc-bottom-panel.js b/conversejs/custom/templates/muc-bottom-panel.js index 4733dbaf..23de86a8 100644 --- a/conversejs/custom/templates/muc-bottom-panel.js +++ b/conversejs/custom/templates/muc-bottom-panel.js @@ -102,6 +102,54 @@ const tplEmojiOnly = (o) => { ` } +class BackToLastMsg extends CustomElement { + static get properties () { + return { + jid: { type: String } + } + } + + show = false + + async connectedCallback () { + super.connectedCallback() + this.model = _converse.chatboxes.get(this.jid) + await this.model.initialized + + let scrolled = this.model.ui.get('scrolled') + let hasUnreadMsg = this.model.get('num_unread_general') > 0 + this.listenTo(this.model.ui, 'change:scrolled', () => { + scrolled = this.model.ui.get('scrolled') + this.show = scrolled && !hasUnreadMsg + this.requestUpdate() + }) + this.listenTo(this.model, 'change:num_unread_general', () => { + hasUnreadMsg = this.model.get('num_unread_general') > 0 + // Do not show the element if there is new messages since there is another element for that + this.show = scrolled && !hasUnreadMsg + this.requestUpdate() + }) + } + + onClick (ev) { + ev?.preventDefault() + const chatContainer = document.querySelector('converse-chat-content') + chatContainer?.scrollTo({ top: chatContainer.scrollHeight }) + } + + render () { + return this.show + ? html`
+ ▼ ${ + // eslint-disable-next-line no-undef + __(LOC_back_to_last_msg) + } ▼ +
` + : '' + } +} +api.elements.define('livechat-back-to-last-msg', BackToLastMsg) + const tplViewerMode = (o) => { if (!api.settings.get('livechat_enable_viewer_mode')) { return html`` @@ -165,6 +213,7 @@ export default (o) => { ${tplViewerMode(o)} ${tplSlowMode(o)} ${tplEmojiOnly(o)} + ${ mutedAnonymousMessage ? html`${mutedAnonymousMessage}` diff --git a/conversejs/loc.keys.js b/conversejs/loc.keys.js index 019c63bd..e4b72e89 100644 --- a/conversejs/loc.keys.js +++ b/conversejs/loc.keys.js @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2024 John Livingston +// SPDX-FileCopyrightText: 2025 Nicolas Chesnais // // SPDX-License-Identifier: AGPL-3.0-only @@ -68,7 +69,8 @@ const locKeys = [ 'announcements_message_type_standard', 'announcements_message_type_announcement', 'announcements_message_type_highlight', - 'announcements_message_type_warning' + 'announcements_message_type_warning', + 'back_to_last_msg' ] module.exports = locKeys diff --git a/languages/en.yml b/languages/en.yml index 154e9447..84d25b55 100644 --- a/languages/en.yml +++ b/languages/en.yml @@ -682,3 +682,4 @@ converse_theme_warning_description: | It is strongly recommanded to keep the "Peertube theme", in combinaison with the "Automatic color detection" feature. Otherwise some user may experience issues depending on the Peertube theme they use. +back_to_last_msg: Go back to last message diff --git a/languages/fr.yml b/languages/fr.yml index 8a71507d..b5885077 100644 --- a/languages/fr.yml +++ b/languages/fr.yml @@ -654,3 +654,4 @@ livechat_configuration_channel_no_duplicate_desc: "En activant cette option, le de modération modérera automatiquement les messages en double.\nCela signifie que si un⋅e utilisateur⋅rice envoie deux fois le même message en l'espace de X secondes, le deuxième message sera supprimé.\n" +back_to_last_msg: Retourner au dernier message From 048c003ff0f4ee10c7f96fad4e26d1116aab73e1 Mon Sep 17 00:00:00 2001 From: axolotle Date: Mon, 12 May 2025 18:02:18 +0200 Subject: [PATCH 08/46] Hide offline occupants in list by default --- conversejs/lib/plugins/livechat-specific/toolbar.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/conversejs/lib/plugins/livechat-specific/toolbar.ts b/conversejs/lib/plugins/livechat-specific/toolbar.ts index a832fa3d..7225f21f 100644 --- a/conversejs/lib/plugins/livechat-specific/toolbar.ts +++ b/conversejs/lib/plugins/livechat-specific/toolbar.ts @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2024 John Livingston +// SPDX-FileCopyrightText: 2025 Nicolas Chesnais // // SPDX-License-Identifier: AGPL-3.0-only @@ -53,6 +54,11 @@ function getToolbarButtons (this: any, toolbarEl: any, buttons: any[]): any { toolbarEl.model.save({ hidden_occupants: !toolbarEl.model.get('hidden_occupants') }) + + // Hide offline occupants by default + const sideBarEl = document.querySelector('converse-muc-sidebar') as unknown as any + sideBarEl.model.set('filter_visible', true) + sideBarEl.filter.set('type', 'state') }}> ${icon} ` From d79deef5c05962cd69db488a2f8e991a751e6f33 Mon Sep 17 00:00:00 2001 From: axolotle Date: Tue, 13 May 2025 12:26:21 +0200 Subject: [PATCH 09/46] Handle draggable lines on touch screens --- .../shared/components/draggables/index.js | 88 ++++++++++++++----- .../draggables/styles/draggables.scss | 5 ++ 2 files changed, 73 insertions(+), 20 deletions(-) diff --git a/conversejs/custom/shared/components/draggables/index.js b/conversejs/custom/shared/components/draggables/index.js index 2147a367..068cb50e 100644 --- a/conversejs/custom/shared/components/draggables/index.js +++ b/conversejs/custom/shared/components/draggables/index.js @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: 2024 John Livingston +// SPDX-FileCopyrightText: 2025 Nicolas Chesnais // // SPDX-License-Identifier: AGPL-3.0-only @@ -11,6 +12,7 @@ import './styles/draggables.scss' */ export class DraggablesCustomElement extends CustomElement { currentDragged = null + droppableEl = null /** * The tag name for draggable elements. @@ -37,6 +39,9 @@ export class DraggablesCustomElement extends CustomElement { this._handleDragLeaveBinded = this._handleDragLeave.bind(this) this._handleDragEndBinded = this._handleDragEnd.bind(this) this._handleDropBinded = this._handleDrop.bind(this) + this._handleTouchStartBinded = this._handleTouchStart.bind(this) + this._handleTouchMoveBinded = this._handleTouchMove.bind(this) + this._handleTouchEndBinded = this._handleTouchEnd.bind(this) return super.initialize() } @@ -44,21 +49,29 @@ export class DraggablesCustomElement extends CustomElement { connectedCallback () { super.connectedCallback() this.currentDragged = null + this.droppableEl = null this.addEventListener('dragstart', this._handleDragStartBinded) this.addEventListener('dragover', this._handleDragOverBinded) this.addEventListener('dragleave', this._handleDragLeaveBinded) this.addEventListener('dragend', this._handleDragEndBinded) this.addEventListener('drop', this._handleDropBinded) + this.addEventListener('touchstart', this._handleTouchStartBinded) + this.addEventListener('touchmove', this._handleTouchMoveBinded) + this.addEventListener('touchend', this._handleTouchEndBinded) } disconnectedCallback () { super.disconnectedCallback() this.currentDragged = null + this.droppableEl = null this.removeEventListener('dragstart', this._handleDragStartBinded) this.removeEventListener('dragover', this._handleDragOverBinded) this.removeEventListener('dragleave', this._handleDragLeaveBinded) this.removeEventListener('dragend', this._handleDragEndBinded) this.removeEventListener('drop', this._handleDropBinded) + this.removeEventListener('touchstart', this._handleTouchStartBinded) + this.removeEventListener('touchmove', this._handleTouchMoveBinded) + this.removeEventListener('touchend', this._handleTouchEndBinded) } _isADraggableEl (target) { @@ -69,8 +82,7 @@ export class DraggablesCustomElement extends CustomElement { return target.closest?.(this.droppableTagNames.join(',')) } - _isOnTopHalf (ev, el) { - const y = ev.clientY + _isOnTopHalf (y, el) { const bounding = el.getBoundingClientRect() return (y <= bounding.y + (bounding.height / 2)) } @@ -81,13 +93,39 @@ export class DraggablesCustomElement extends CustomElement { ) } + _setCurrentDragged (draggedEl) { + console.log('[livechat drag&drop] Starting to drag a ' + this.draggableTagName + '...') + this.currentDragged = draggedEl + this._resetDropOver() + } + + _setDroppableClasses (droppableEl, y) { + // Are we on the top or bottom part of the droppableEl? + let topHalf = false + if (!this.droppableAlwaysBottomTagNames.includes(droppableEl.nodeName.toLowerCase())) { + topHalf = this._isOnTopHalf(y, droppableEl) + } + droppableEl.classList.add(topHalf ? 'livechat-drag-top-half' : 'livechat-drag-bottom-half') + droppableEl.classList.remove(topHalf ? 'livechat-drag-bottom-half' : 'livechat-drag-top-half') + } + + _tryToDrop (droppedOnEl) { + if (!droppedOnEl) return + + console.log('[livechat drag&drop] ' + this.draggableTagName + ' dropped...') + try { + this._dropDone(this.currentDragged, droppedOnEl, droppedOnEl.classList.contains('livechat-drag-top-half')) + } catch (err) { + console.error(err) + } + this._resetDropOver() + } + _handleDragStart (ev) { // The draggable=true is on a child bode const possibleEl = ev.target.parentElement if (!this._isADraggableEl(possibleEl)) { return } - console.log('[livechat drag&drop] Starting to drag a ' + this.draggableTagName + '...') - this.currentDragged = possibleEl - this._resetDropOver() + this._setCurrentDragged(possibleEl) } _handleDragOver (ev) { @@ -97,14 +135,7 @@ export class DraggablesCustomElement extends CustomElement { // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drop_event says we should preventDefault ev.preventDefault() - - // Are we on the top or bottom part of the droppableEl? - let topHalf = false - if (!this.droppableAlwaysBottomTagNames.includes(droppableEl.nodeName.toLowerCase())) { - topHalf = this._isOnTopHalf(ev, droppableEl) - } - droppableEl.classList.add(topHalf ? 'livechat-drag-top-half' : 'livechat-drag-bottom-half') - droppableEl.classList.remove(topHalf ? 'livechat-drag-bottom-half' : 'livechat-drag-top-half') + this._setDroppableClasses(droppableEl, ev.clientY) } _handleDragLeave (ev) { @@ -124,16 +155,33 @@ export class DraggablesCustomElement extends CustomElement { let droppedOnEl = document.querySelector('.livechat-drag-bottom-half, .livechat-drag-top-half') droppedOnEl = this._getParentDroppableEl(droppedOnEl) - if (!droppedOnEl) { return } + this._tryToDrop(droppedOnEl) + } - console.log('[livechat drag&drop] ' + this.draggableTagName + ' dropped...') + _handleTouchStart (ev) { + const possibleEl = this._getParentDroppableEl(ev.target) + if (!possibleEl) return + this._setCurrentDragged(possibleEl) + } - try { - this._dropDone(this.currentDragged, droppedOnEl, droppedOnEl.classList.contains('livechat-drag-top-half')) - } catch (err) { - console.error(err) - } + _handleTouchMove (ev) { + if (!this.currentDragged) return + + const { clientX, clientY } = ev.touches[0] + const droppableEl = this._getParentDroppableEl(document.elementFromPoint(clientX, clientY)) + if (!droppableEl || droppableEl === this.droppableEl) return + + this.droppableEl = droppableEl this._resetDropOver() + this._setDroppableClasses(droppableEl, clientY) + } + + _handleTouchEnd (_ev) { + if (!this.currentDragged || !this.droppableEl) return + + this._tryToDrop(this.droppableEl) + this.currentDragged = null + this.droppableEl = null } /** diff --git a/conversejs/custom/shared/components/draggables/styles/draggables.scss b/conversejs/custom/shared/components/draggables/styles/draggables.scss index 93279389..240dec95 100644 --- a/conversejs/custom/shared/components/draggables/styles/draggables.scss +++ b/conversejs/custom/shared/components/draggables/styles/draggables.scss @@ -1,5 +1,6 @@ /* * SPDX-FileCopyrightText: 2024 John Livingston + * SPDX-FileCopyrightText: 2025 Nicolas Chesnais * * SPDX-License-Identifier: AGPL-3.0-only */ @@ -16,4 +17,8 @@ .livechat-drag-top-half > .draggables-line { border-top: 4px solid blue; } + + [draggable="true"] { + touch-action: none; + } } From dd040582d495839b5bfbd7f467f339faf98da8a1 Mon Sep 17 00:00:00 2001 From: axolotle Date: Wed, 14 May 2025 15:43:26 +0200 Subject: [PATCH 10/46] Resize custom emojis to text height --- conversejs/custom/shared/styles/_peertubetheme.scss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/conversejs/custom/shared/styles/_peertubetheme.scss b/conversejs/custom/shared/styles/_peertubetheme.scss index 7b936587..3c1fc5af 100644 --- a/conversejs/custom/shared/styles/_peertubetheme.scss +++ b/conversejs/custom/shared/styles/_peertubetheme.scss @@ -1,5 +1,6 @@ /* * SPDX-FileCopyrightText: 2024 John Livingston + * SPDX-FileCopyrightText: 2025 Nicolas Chesnais * * SPDX-License-Identifier: AGPL-3.0-only */ @@ -149,11 +150,12 @@ background-color: var(--peertube-grey-background) !important; } - // Changing size for emojis, to have bigger custom emojis + // Resize custom emojis to text height img.emoji { width: unset !important; height: unset !important; - max-height: 3em !important; // and no max-width + max-height: 1.5em !important; // and no max-width + vertical-align: -0.45em !important; } // underline links in chat messages From 3e70fd3892c6ba6b0502007a53a58fc5d4c6755b Mon Sep 17 00:00:00 2001 From: axolotle Date: Wed, 14 May 2025 15:44:32 +0200 Subject: [PATCH 11/46] Enlarge a custom emoji when posted without any other text --- conversejs/custom/shared/styles/_peertubetheme.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/conversejs/custom/shared/styles/_peertubetheme.scss b/conversejs/custom/shared/styles/_peertubetheme.scss index 3c1fc5af..6a8dc18c 100644 --- a/conversejs/custom/shared/styles/_peertubetheme.scss +++ b/conversejs/custom/shared/styles/_peertubetheme.scss @@ -158,6 +158,11 @@ vertical-align: -0.45em !important; } + // Trick to enlarge a single custom emoji with no text in message + &[text^=":"][text$=":"] img.emoji:only-child { + max-height: 2.5em !important; + } + // underline links in chat messages a[href] { text-decoration: underline; From 02fff14351ec5953ed3188a178aebffaa594fbbf Mon Sep 17 00:00:00 2001 From: axolotle Date: Thu, 15 May 2025 11:49:36 +0200 Subject: [PATCH 12/46] update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddf9dc8c..64b4a582 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 12.0.5 + +### Minor changes and fixes + +* Fix #329: auto focus message field after anonymous user has entered nickname. +* Fix #392: add draggable items touch screen handling +* Fix #506: hide offline users by default in occupant list +* Fix #547: add button to go to the end of the chat +* Fix #503: set custom emojis max height to text height + bigger when posted alone + ## 12.0.4 ### Minor changes and fixes From 42e589d397e9807840f44842c1864abff02c3791 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 20 May 2025 12:46:09 +0200 Subject: [PATCH 13/46] Fix: Converse bottom panel messages not visible on new Peertube v7 theme (for example for muted users) --- CHANGELOG.md | 3 ++- conversejs/custom/shared/styles/livechat.scss | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64b4a582..f9e0d322 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 12.0.5 +## ??? (Not Released Yet) ### Minor changes and fixes @@ -9,6 +9,7 @@ * Fix #506: hide offline users by default in occupant list * Fix #547: add button to go to the end of the chat * Fix #503: set custom emojis max height to text height + bigger when posted alone +* Fix: Converse bottom panel messages not visible on new Peertube v7 theme (for example for muted users) ## 12.0.4 diff --git a/conversejs/custom/shared/styles/livechat.scss b/conversejs/custom/shared/styles/livechat.scss index d023e5c1..5c4b5cc0 100644 --- a/conversejs/custom/shared/styles/livechat.scss +++ b/conversejs/custom/shared/styles/livechat.scss @@ -264,3 +264,13 @@ body.converse-embedded { justify-content: normal !important; } } + +/* stylelint-disable-next-line no-duplicate-selectors */ +.conversejs { + converse-muc { + .muc-bottom-panel, converse-muc-bottom-panel { + // Fixing a color (Converse use a hardcoded "white", which does not work with Peertube v7 new theme) + color: var(--peertube-menu-foreground) !important; + } + } +} From 922e2fbdf4b23f6e5ba388844f1e9e2e62f4068e Mon Sep 17 00:00:00 2001 From: John Livingston Date: Tue, 20 May 2025 12:46:54 +0200 Subject: [PATCH 14/46] Minor refactoring and fix. --- conversejs/custom/templates/muc-bottom-panel.js | 4 ++-- conversejs/lib/plugins/livechat-specific/toolbar.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/conversejs/custom/templates/muc-bottom-panel.js b/conversejs/custom/templates/muc-bottom-panel.js index 23de86a8..c761598c 100644 --- a/conversejs/custom/templates/muc-bottom-panel.js +++ b/conversejs/custom/templates/muc-bottom-panel.js @@ -13,7 +13,7 @@ import tplMucBottomPanel from '../../src/plugins/muc-views/templates/muc-bottom- import { CustomElement } from 'shared/components/element.js' import 'shared/modals/livechat-external-login.js' -async function setNickname (ev, model) { +async function setNicknameAndFocus (ev, model) { ev.preventDefault() const nick = ev.target.nick.value.trim() if (!nick) { @@ -162,7 +162,7 @@ const tplViewerMode = (o) => { const i18nExternalLogin = __(LOC_login_using_external_account) return html`
-
setNickname(ev, model)}> + setNicknameAndFocus(ev, model)}>
${icon} ` From 5b8ccdf5aeaba2b999a759ec7c24b9103400feb9 Mon Sep 17 00:00:00 2001 From: axolotle Date: Tue, 20 May 2025 15:47:58 +0200 Subject: [PATCH 15/46] Put occupants filters items on a single line --- conversejs/custom/shared/styles/livechat.scss | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/conversejs/custom/shared/styles/livechat.scss b/conversejs/custom/shared/styles/livechat.scss index 5c4b5cc0..1123b40e 100644 --- a/conversejs/custom/shared/styles/livechat.scss +++ b/conversejs/custom/shared/styles/livechat.scss @@ -227,6 +227,21 @@ body.converse-embedded { .occupants { width: 100%; + + // Put occupants filters items on a single line + converse-list-filter form > div { + display: flex; + align-items: center; + + .filter-by { + margin-right: 4px; + } + + // Let search input take the whole width when displayed + .btn-group:has(+ select.hidden) { + width: 100%; + } + } } } } From bb78c61b0801fa6acb1cf444f14824ac18d64c4b Mon Sep 17 00:00:00 2001 From: Mehdi Benadel Date: Mon, 12 May 2025 11:00:35 +0200 Subject: [PATCH 16/46] Fix #75: Short uuid handling --- CHANGELOG.md | 1 + client/tsconfig.json.license | 1 + package-lock.json | 72 ++++++++++++++++++++++++++++-------- package-lock.json.license | 1 + package.json | 1 + package.json.license | 1 + server/tsconfig.json | 2 +- shared/lib/config.ts | 21 ++++++++++- 8 files changed, 83 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9e0d322..887103ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * Fix #547: add button to go to the end of the chat * Fix #503: set custom emojis max height to text height + bigger when posted alone * Fix: Converse bottom panel messages not visible on new Peertube v7 theme (for example for muted users) +* Fix #75: New short video urls makes it difficult to use the settings «Activate chat for these videos». ## 12.0.4 diff --git a/client/tsconfig.json.license b/client/tsconfig.json.license index b253ad42..0549bba9 100644 --- a/client/tsconfig.json.license +++ b/client/tsconfig.json.license @@ -1,3 +1,4 @@ SPDX-FileCopyrightText: 2024 John Livingston +SPDX-FileCopyrightText: 2025 Mehdi Benadel SPDX-License-Identifier: AGPL-3.0-only diff --git a/package-lock.json b/package-lock.json index 9161229f..8ef897d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", + "short-uuid": "^5.2.0", "validate-color": "^2.2.4", "xmppjs-chat-bot": "^0.5.0" }, @@ -3250,6 +3251,20 @@ "node": "14 || >=16.14" } }, + "node_modules/@peertube/peertube-types/node_modules/short-uuid": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.2.tgz", + "integrity": "sha512-IE7hDSGV2U/VZoCsjctKX6l5t5ak2jE0+aeGJi3KtvjIUNuZVmHVYUjNBhmo369FIWGDtaieRaO8A83Lvwfpqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-base": "^1.1.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -5138,8 +5153,7 @@ "node_modules/any-base": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", - "dev": true + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "node_modules/anymatch": { "version": "3.1.2", @@ -11637,16 +11651,29 @@ } }, "node_modules/short-uuid": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.0.tgz", - "integrity": "sha512-r3cxuPPZSuF0QkKsK9bBR7u+7cwuCRzWzgjPh07F5N2iIUNgblnMHepBY16xgj5t1lG9iOP9k/TEafY1qhRzaw==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-5.2.0.tgz", + "integrity": "sha512-296/Nzi4DmANh93iYBwT4NoYRJuHnKEzefrkSagQbTH/A6NTaB68hSPDjm5IlbI5dx9FXdmtqPcj6N5H+CPm6w==", + "license": "MIT", "dependencies": { "any-base": "^1.1.0", - "uuid": "^8.3.2" + "uuid": "^9.0.1" }, "engines": { - "node": ">=8" + "node": ">=14" + } + }, + "node_modules/short-uuid/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/side-channel": { @@ -15504,6 +15531,16 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz", "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==", "dev": true + }, + "short-uuid": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.2.tgz", + "integrity": "sha512-IE7hDSGV2U/VZoCsjctKX6l5t5ak2jE0+aeGJi3KtvjIUNuZVmHVYUjNBhmo369FIWGDtaieRaO8A83Lvwfpqw==", + "dev": true, + "requires": { + "any-base": "^1.1.0", + "uuid": "^8.3.2" + } } } }, @@ -16987,8 +17024,7 @@ "any-base": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", - "dev": true + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" }, "anymatch": { "version": "3.1.2", @@ -21663,13 +21699,19 @@ "dev": true }, "short-uuid": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.0.tgz", - "integrity": "sha512-r3cxuPPZSuF0QkKsK9bBR7u+7cwuCRzWzgjPh07F5N2iIUNgblnMHepBY16xgj5t1lG9iOP9k/TEafY1qhRzaw==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-5.2.0.tgz", + "integrity": "sha512-296/Nzi4DmANh93iYBwT4NoYRJuHnKEzefrkSagQbTH/A6NTaB68hSPDjm5IlbI5dx9FXdmtqPcj6N5H+CPm6w==", "requires": { "any-base": "^1.1.0", - "uuid": "^8.3.2" + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } } }, "side-channel": { diff --git a/package-lock.json.license b/package-lock.json.license index b253ad42..0549bba9 100644 --- a/package-lock.json.license +++ b/package-lock.json.license @@ -1,3 +1,4 @@ SPDX-FileCopyrightText: 2024 John Livingston +SPDX-FileCopyrightText: 2025 Mehdi Benadel SPDX-License-Identifier: AGPL-3.0-only diff --git a/package.json b/package.json index 853c1800..c0abe4ba 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", + "short-uuid": "^5.2.0", "validate-color": "^2.2.4", "xmppjs-chat-bot": "^0.5.0" }, diff --git a/package.json.license b/package.json.license index b253ad42..0549bba9 100644 --- a/package.json.license +++ b/package.json.license @@ -1,3 +1,4 @@ SPDX-FileCopyrightText: 2024 John Livingston +SPDX-FileCopyrightText: 2025 Mehdi Benadel SPDX-License-Identifier: AGPL-3.0-only diff --git a/server/tsconfig.json b/server/tsconfig.json index 483b0165..d33f1785 100644 --- a/server/tsconfig.json +++ b/server/tsconfig.json @@ -2,7 +2,7 @@ "extends": "@tsconfig/node16/tsconfig.json", "compilerOptions": { "noImplicitReturns": true, - "noImplicitOverride": true, + "noImplicitOverride": true, "noUnusedLocals": true, "removeComments": true, "sourceMap": true, diff --git a/shared/lib/config.ts b/shared/lib/config.ts index b20f9fbc..87d63c1a 100644 --- a/shared/lib/config.ts +++ b/shared/lib/config.ts @@ -1,16 +1,35 @@ // SPDX-FileCopyrightText: 2024 John Livingston +// SPDX-FileCopyrightText: 2025 Mehdi Benadel // // SPDX-License-Identifier: AGPL-3.0-only +const short = require('short-uuid') + +const translator = short() + +function shortToUUID (shortUUID: string): string { + if (!shortUUID) return shortUUID + + return translator.toUUID(shortUUID) +} + +function isShortUUID (value: string): boolean { + if (!value) return false + + return value.length === translator.maxLength +} + function parseConfigUUIDs (s: string): string[] { if (!s) { return [] } let a = s.split('\n') a = a.map(line => { - return line.replace(/#.*$/, '') + line = line.replace(/#.*$/, '') .replace(/^\s+/, '') .replace(/\s+$/, '') + + return isShortUUID(line) ? shortToUUID(line) : line }) return a.filter(line => line !== '') } From 9669861dec51e83460a8a6fc42fd6022a8994668 Mon Sep 17 00:00:00 2001 From: Mehdi Benadel Date: Tue, 20 May 2025 13:26:00 +0200 Subject: [PATCH 17/46] Add activate chat via short UUID mention to documentation (translation fr, en, es) --- languages/en.yml | 2 +- languages/es.yml | 2 +- languages/fr.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/languages/en.yml b/languages/en.yml index 84d25b55..12057dcf 100644 --- a/languages/en.yml +++ b/languages/en.yml @@ -149,7 +149,7 @@ all_non_lives_description: "If checked, the chat will be enabled for all video t videos_list_label: "Activate chat for these videos" videos_list_description: | - Videos UUIDs for which we want a web chat. + Videos UUIDs for which we want a web chat (short UUID or UUIDv4). Can be non-live videos. One per line.
You can add comments: everything after the # character will be stripped off, and empty lines ignored.
Don't add private videos, the UUIDs will be sent to the frontend. diff --git a/languages/es.yml b/languages/es.yml index bde4980f..c92e50fd 100644 --- a/languages/es.yml +++ b/languages/es.yml @@ -152,7 +152,7 @@ prosody_muc_expiration_description: "Aquí puede elegir cuánto tiempo el servid durante 1 año. Puede reemplazar 1 por cualquier valor entero.\n \ \
  • nunca: el contenido nunca caducará y se mantendrá para siempre.
  • \n\ \n" -videos_list_description: "UUIDs de los videos para los cuales se desea un chat web.\n +videos_list_description: "UUIDs de los videos para los cuales se desea un chat web (corto UUID o UUIDv4).\n Pueden ser videos no en vivo. Una por línea.
    \nPuede agregar comentarios: todo lo que este detras del caracter # no sera interpretado y las líneas vacías ignoradas.
    \nNo agregue videos privados, los UUID se enviarán al frontend.\n" diff --git a/languages/fr.yml b/languages/fr.yml index b5885077..aa73bc5d 100644 --- a/languages/fr.yml +++ b/languages/fr.yml @@ -111,7 +111,7 @@ all_non_lives_description: "Si coché, il y aura un tchat pour toutes les vidéo videos_list_label: "Activer le tchat pour ces vidéos" videos_list_description: | - Mettez ici les UUIDs des vidéos pour lesquelles vous voulez forcer l'activation du tchat. + Mettez ici les UUIDs des vidéos pour lesquelles vous voulez forcer l'activation du tchat (UUID court ou UUIDv4). Cela peut être des directs, ou non. Un UUID par ligne.
    Vous pouvez ajouter des commentaires : tout ce qui se trouve après le caractère # sera retiré, et les lignes vides ignorées.
    N'ajoutez pas de vidéos privées, les UUIDs fuiteraient. From 743e794d5d640eebc5e4fcb02495c76090fff869 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 03:41:47 +0000 Subject: [PATCH 18/46] Bump the minor-and-patch group across 1 directory with 5 updates Bumps the minor-and-patch group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.26.0` | `9.27.0` | | [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `5.0.1` | `5.0.2` | | [sass](https://github.com/sass/dart-sass) | `1.88.0` | `1.89.0` | | [sharp](https://github.com/lovell/sharp) | `0.34.1` | `0.34.2` | | [yaml](https://github.com/eemeli/yaml) | `2.7.1` | `2.8.0` | Updates `@eslint/js` from 9.26.0 to 9.27.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.27.0/packages/js) Updates `@types/express` from 5.0.1 to 5.0.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express) Updates `sass` from 1.88.0 to 1.89.0 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.88.0...1.89.0) Updates `sharp` from 0.34.1 to 0.34.2 - [Release notes](https://github.com/lovell/sharp/releases) - [Commits](https://github.com/lovell/sharp/compare/v0.34.1...v0.34.2) Updates `yaml` from 2.7.1 to 2.8.0 - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.7.1...v2.8.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 9.27.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@types/express" dependency-version: 5.0.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: sass dependency-version: 1.89.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: sharp dependency-version: 0.34.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: yaml dependency-version: 2.8.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 317 +++++++++++++++++++++++++--------------------- package.json | 10 +- 2 files changed, 180 insertions(+), 147 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ef897d1..acc1f609 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "xmppjs-chat-bot": "^0.5.0" }, "devDependencies": { - "@eslint/js": "^9.26.0", + "@eslint/js": "^9.27.0", "@lit-labs/motion": "^1.0.8", "@lit/context": "^1.1.5", "@lit/task": "^1.0.2", @@ -33,7 +33,7 @@ "@types/async": "^3.2.24", "@types/escape-html": "^1.0.4", "@types/eslint__js": "^8.42.3", - "@types/express": "^5.0.1", + "@types/express": "^5.0.2", "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", @@ -49,15 +49,15 @@ "lit": "^3.3.0", "lit-analyzer": "^2.0.3", "npm-run-all": "^4.1.5", - "sass": "^1.88.0", - "sharp": "^0.34.1", + "sass": "^1.89.0", + "sharp": "^0.34.2", "stylelint": "^16.19.1", "stylelint-config-recommended-scss": "^14.1.0", "stylelint-config-standard-scss": "^14.0.0", "svgo": "^3.3.2", "typescript": "^5.5.4", "typescript-eslint": "^8.32.1", - "yaml": "^2.7.1" + "yaml": "^2.8.0" }, "engines": { "npm": ">=7" @@ -2101,13 +2101,16 @@ "dev": true }, "node_modules/@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@humanwhocodes/config-array": { @@ -2169,9 +2172,9 @@ "dev": true }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz", - "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz", + "integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==", "cpu": [ "arm64" ], @@ -2192,9 +2195,9 @@ } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz", - "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz", + "integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==", "cpu": [ "x64" ], @@ -2368,9 +2371,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz", - "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz", + "integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==", "cpu": [ "arm" ], @@ -2391,9 +2394,9 @@ } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz", - "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz", + "integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==", "cpu": [ "arm64" ], @@ -2414,9 +2417,9 @@ } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz", - "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz", + "integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==", "cpu": [ "s390x" ], @@ -2437,9 +2440,9 @@ } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz", - "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz", + "integrity": "sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==", "cpu": [ "x64" ], @@ -2460,9 +2463,9 @@ } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz", - "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz", + "integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==", "cpu": [ "arm64" ], @@ -2483,9 +2486,9 @@ } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz", - "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz", + "integrity": "sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==", "cpu": [ "x64" ], @@ -2506,9 +2509,9 @@ } }, "node_modules/@img/sharp-wasm32": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz", - "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz", + "integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==", "cpu": [ "wasm32" ], @@ -2516,7 +2519,7 @@ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.4.0" + "@emnapi/runtime": "^1.4.3" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -2525,10 +2528,30 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz", + "integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz", - "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz", + "integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==", "cpu": [ "ia32" ], @@ -2546,9 +2569,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz", - "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz", + "integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==", "cpu": [ "x64" ], @@ -4176,9 +4199,9 @@ "dev": true }, "node_modules/@types/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz", - "integrity": "sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.2.tgz", + "integrity": "sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g==", "dev": true, "license": "MIT", "dependencies": { @@ -6494,10 +6517,11 @@ } }, "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -11213,9 +11237,9 @@ } }, "node_modules/sass": { - "version": "1.88.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.88.0.tgz", - "integrity": "sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==", + "version": "1.89.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.0.tgz", + "integrity": "sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11536,16 +11560,16 @@ } }, "node_modules/sharp": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz", - "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.2.tgz", + "integrity": "sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.3", - "semver": "^7.7.1" + "detect-libc": "^2.0.4", + "semver": "^7.7.2" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -11554,8 +11578,8 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.1", - "@img/sharp-darwin-x64": "0.34.1", + "@img/sharp-darwin-arm64": "0.34.2", + "@img/sharp-darwin-x64": "0.34.2", "@img/sharp-libvips-darwin-arm64": "1.1.0", "@img/sharp-libvips-darwin-x64": "1.1.0", "@img/sharp-libvips-linux-arm": "1.1.0", @@ -11565,15 +11589,16 @@ "@img/sharp-libvips-linux-x64": "1.1.0", "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", "@img/sharp-libvips-linuxmusl-x64": "1.1.0", - "@img/sharp-linux-arm": "0.34.1", - "@img/sharp-linux-arm64": "0.34.1", - "@img/sharp-linux-s390x": "0.34.1", - "@img/sharp-linux-x64": "0.34.1", - "@img/sharp-linuxmusl-arm64": "0.34.1", - "@img/sharp-linuxmusl-x64": "0.34.1", - "@img/sharp-wasm32": "0.34.1", - "@img/sharp-win32-ia32": "0.34.1", - "@img/sharp-win32-x64": "0.34.1" + "@img/sharp-linux-arm": "0.34.2", + "@img/sharp-linux-arm64": "0.34.2", + "@img/sharp-linux-s390x": "0.34.2", + "@img/sharp-linux-x64": "0.34.2", + "@img/sharp-linuxmusl-arm64": "0.34.2", + "@img/sharp-linuxmusl-x64": "0.34.2", + "@img/sharp-wasm32": "0.34.2", + "@img/sharp-win32-arm64": "0.34.2", + "@img/sharp-win32-ia32": "0.34.2", + "@img/sharp-win32-x64": "0.34.2" } }, "node_modules/sharp/node_modules/color": { @@ -11608,9 +11633,9 @@ "dev": true }, "node_modules/sharp/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -13440,16 +13465,16 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yargs": { @@ -14900,9 +14925,9 @@ } }, "@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true }, "@humanwhocodes/config-array": { @@ -14946,9 +14971,9 @@ "dev": true }, "@img/sharp-darwin-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz", - "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz", + "integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==", "dev": true, "optional": true, "requires": { @@ -14956,9 +14981,9 @@ } }, "@img/sharp-darwin-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz", - "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz", + "integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==", "dev": true, "optional": true, "requires": { @@ -15029,9 +15054,9 @@ "optional": true }, "@img/sharp-linux-arm": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz", - "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz", + "integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==", "dev": true, "optional": true, "requires": { @@ -15039,9 +15064,9 @@ } }, "@img/sharp-linux-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz", - "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz", + "integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==", "dev": true, "optional": true, "requires": { @@ -15049,9 +15074,9 @@ } }, "@img/sharp-linux-s390x": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz", - "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz", + "integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==", "dev": true, "optional": true, "requires": { @@ -15059,9 +15084,9 @@ } }, "@img/sharp-linux-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz", - "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz", + "integrity": "sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==", "dev": true, "optional": true, "requires": { @@ -15069,9 +15094,9 @@ } }, "@img/sharp-linuxmusl-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz", - "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz", + "integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==", "dev": true, "optional": true, "requires": { @@ -15079,9 +15104,9 @@ } }, "@img/sharp-linuxmusl-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz", - "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz", + "integrity": "sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==", "dev": true, "optional": true, "requires": { @@ -15089,26 +15114,33 @@ } }, "@img/sharp-wasm32": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz", - "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz", + "integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==", "dev": true, "optional": true, "requires": { - "@emnapi/runtime": "^1.4.0" + "@emnapi/runtime": "^1.4.3" } }, + "@img/sharp-win32-arm64": { + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz", + "integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==", + "dev": true, + "optional": true + }, "@img/sharp-win32-ia32": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz", - "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz", + "integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==", "dev": true, "optional": true }, "@img/sharp-win32-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz", - "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz", + "integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==", "dev": true, "optional": true }, @@ -16292,9 +16324,9 @@ "dev": true }, "@types/express": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz", - "integrity": "sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.2.tgz", + "integrity": "sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g==", "dev": true, "requires": { "@types/body-parser": "*", @@ -18004,9 +18036,9 @@ "dev": true }, "detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true }, "didyoumean2": { @@ -21397,9 +21429,9 @@ "integrity": "sha512-pVlvK5ysevz8MzybRnDIa2YMxn0OJ7b9lDiWhMoaKPoJ7YkAg/7YtNjUgaYzElkwHxsw8dBMhaEn7UP6zxEwPg==" }, "sass": { - "version": "1.88.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.88.0.tgz", - "integrity": "sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==", + "version": "1.89.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.0.tgz", + "integrity": "sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==", "dev": true, "requires": { "@parcel/watcher": "^2.4.1", @@ -21614,13 +21646,13 @@ } }, "sharp": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz", - "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==", + "version": "0.34.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.2.tgz", + "integrity": "sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==", "dev": true, "requires": { - "@img/sharp-darwin-arm64": "0.34.1", - "@img/sharp-darwin-x64": "0.34.1", + "@img/sharp-darwin-arm64": "0.34.2", + "@img/sharp-darwin-x64": "0.34.2", "@img/sharp-libvips-darwin-arm64": "1.1.0", "@img/sharp-libvips-darwin-x64": "1.1.0", "@img/sharp-libvips-linux-arm": "1.1.0", @@ -21630,18 +21662,19 @@ "@img/sharp-libvips-linux-x64": "1.1.0", "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", "@img/sharp-libvips-linuxmusl-x64": "1.1.0", - "@img/sharp-linux-arm": "0.34.1", - "@img/sharp-linux-arm64": "0.34.1", - "@img/sharp-linux-s390x": "0.34.1", - "@img/sharp-linux-x64": "0.34.1", - "@img/sharp-linuxmusl-arm64": "0.34.1", - "@img/sharp-linuxmusl-x64": "0.34.1", - "@img/sharp-wasm32": "0.34.1", - "@img/sharp-win32-ia32": "0.34.1", - "@img/sharp-win32-x64": "0.34.1", + "@img/sharp-linux-arm": "0.34.2", + "@img/sharp-linux-arm64": "0.34.2", + "@img/sharp-linux-s390x": "0.34.2", + "@img/sharp-linux-x64": "0.34.2", + "@img/sharp-linuxmusl-arm64": "0.34.2", + "@img/sharp-linuxmusl-x64": "0.34.2", + "@img/sharp-wasm32": "0.34.2", + "@img/sharp-win32-arm64": "0.34.2", + "@img/sharp-win32-ia32": "0.34.2", + "@img/sharp-win32-x64": "0.34.2", "color": "^4.2.3", - "detect-libc": "^2.0.3", - "semver": "^7.7.1" + "detect-libc": "^2.0.4", + "semver": "^7.7.2" }, "dependencies": { "color": { @@ -21670,9 +21703,9 @@ "dev": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true } } @@ -22984,9 +23017,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index c0abe4ba..7f881a1f 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "xmppjs-chat-bot": "^0.5.0" }, "devDependencies": { - "@eslint/js": "^9.26.0", + "@eslint/js": "^9.27.0", "@lit-labs/motion": "^1.0.8", "@lit/context": "^1.1.5", "@lit/task": "^1.0.2", @@ -50,7 +50,7 @@ "@types/async": "^3.2.24", "@types/escape-html": "^1.0.4", "@types/eslint__js": "^8.42.3", - "@types/express": "^5.0.1", + "@types/express": "^5.0.2", "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", @@ -66,15 +66,15 @@ "lit": "^3.3.0", "lit-analyzer": "^2.0.3", "npm-run-all": "^4.1.5", - "sass": "^1.88.0", - "sharp": "^0.34.1", + "sass": "^1.89.0", + "sharp": "^0.34.2", "stylelint": "^16.19.1", "stylelint-config-recommended-scss": "^14.1.0", "stylelint-config-standard-scss": "^14.0.0", "svgo": "^3.3.2", "typescript": "^5.5.4", "typescript-eslint": "^8.32.1", - "yaml": "^2.7.1" + "yaml": "^2.8.0" }, "engine": { "peertube": ">=5.2.0" From 238407c0609cadb54b2dc5e262c4d7e5fac73e50 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Wed, 21 May 2025 10:57:24 +0200 Subject: [PATCH 19/46] Changelog. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 887103ad..34a6a6a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Minor changes and fixes +* Translations updates. * Fix #329: auto focus message field after anonymous user has entered nickname. * Fix #392: add draggable items touch screen handling * Fix #506: hide offline users by default in occupant list From 688c4099ade4bbef741685e9bb370fc6e7f0533b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Wed, 21 May 2025 08:56:40 +0000 Subject: [PATCH 20/46] Translated using Weblate (Czech) Currently translated at 99.0% (315 of 318 strings) Translation: PeerTube LiveChat/Peertube Plugin LiveChat Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/ --- languages/cs.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/languages/cs.yml b/languages/cs.yml index 573c6568..c49062d8 100644 --- a/languages/cs.yml +++ b/languages/cs.yml @@ -484,8 +484,9 @@ search_occupant_message: Vyhledat všechny zprávy message_search: Hledání zpráv message_search_original_nick: Přezdívka účastníka v době odeslání zprávy prosody_firewall_label: Povolit mod_firewall Prosody -prosody_firewall_configure_button: "Konfigurace mod_firewall\n" +prosody_firewall_configure_button: "Konfigurace + mod_firewall\n" prosody_firewall_configuration: Konfigurace mod_firewall Prosody prosody_firewall_disabled_warning: "Varování: mod_firewall je zakázán v nastavení pluginu, From 562e6a16e22b916eb2e8621be15673987e04cebf Mon Sep 17 00:00:00 2001 From: John Livingston Date: Wed, 21 May 2025 12:28:24 +0200 Subject: [PATCH 21/46] npm audit fix --- CHANGELOG.md | 1 + package-lock.json | 89 ++++++++++++++++++++++++----------------------- 2 files changed, 47 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34a6a6a3..714e45f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Minor changes and fixes * Translations updates. +* Dependencies updates. * Fix #329: auto focus message field after anonymous user has entered nickname. * Fix #392: add draggable items touch screen handling * Fix #506: hide offline users by default in occupant list diff --git a/package-lock.json b/package-lock.json index acc1f609..468a2e8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1394,13 +1394,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -4726,14 +4724,15 @@ "dev": true }, "node_modules/@uploadx/core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@uploadx/core/-/core-6.1.1.tgz", - "integrity": "sha512-wY9hlTawu3IBJVaSAuxFtqfZCjdaielc0f4zCRVf+kSZTzljndOt4/vyRyI6VkSayMcZaIZTuhGC7GNN7RUltA==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@uploadx/core/-/core-6.1.7.tgz", + "integrity": "sha512-0JwsUjS9AWuU50/iC3mHWpxYsoj4GxhDSlTHZUjVuY28za/RH6csce1PDRLRr0aGhZcgCxngfmw6sDGaApfbbg==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "^3.1.0", "multiparty": "^4.2.2", - "parse-duration": "^1.0.0" + "parse-duration": "^2.1.4" }, "engines": { "node": ">=14.18.20" @@ -7846,10 +7845,11 @@ } }, "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -7870,7 +7870,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -7885,6 +7885,10 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express-validator": { @@ -10458,10 +10462,11 @@ } }, "node_modules/parse-duration": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", - "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", - "dev": true + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-2.1.4.tgz", + "integrity": "sha512-b98m6MsCh+akxfyoz9w9dt0AlH2dfYLOBss5SdDsr9pkhKNvkWBXU/r8A4ahmIGByBOLV2+4YwfCuFxbDDaGyg==", + "dev": true, + "license": "MIT" }, "node_modules/parse-json": { "version": "5.2.0", @@ -10577,10 +10582,11 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -14574,13 +14580,10 @@ } }, "@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "dev": true }, "@babel/template": { "version": "7.27.2", @@ -16718,14 +16721,14 @@ "dev": true }, "@uploadx/core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@uploadx/core/-/core-6.1.1.tgz", - "integrity": "sha512-wY9hlTawu3IBJVaSAuxFtqfZCjdaielc0f4zCRVf+kSZTzljndOt4/vyRyI6VkSayMcZaIZTuhGC7GNN7RUltA==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@uploadx/core/-/core-6.1.7.tgz", + "integrity": "sha512-0JwsUjS9AWuU50/iC3mHWpxYsoj4GxhDSlTHZUjVuY28za/RH6csce1PDRLRr0aGhZcgCxngfmw6sDGaApfbbg==", "dev": true, "requires": { "bytes": "^3.1.0", "multiparty": "^4.2.2", - "parse-duration": "^1.0.0" + "parse-duration": "^2.1.4" } }, "@vscode/web-custom-data": { @@ -19022,9 +19025,9 @@ } }, "express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -19046,7 +19049,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -20899,9 +20902,9 @@ } }, "parse-duration": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz", - "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-2.1.4.tgz", + "integrity": "sha512-b98m6MsCh+akxfyoz9w9dt0AlH2dfYLOBss5SdDsr9pkhKNvkWBXU/r8A4ahmIGByBOLV2+4YwfCuFxbDDaGyg==", "dev": true }, "parse-json": { @@ -20980,9 +20983,9 @@ "dev": true }, "path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true }, "path-type": { From 4bebc18c679232e7dd3255d639924739698073f1 Mon Sep 17 00:00:00 2001 From: John Livingston Date: Wed, 21 May 2025 16:25:11 +0200 Subject: [PATCH 22/46] Fix: moderation notes: fix filter button wrongly displayed on notes without associated occupant. Also fix typo. --- CHANGELOG.md | 1 + conversejs/custom/plugins/notes/components/muc-note-view.js | 2 +- conversejs/custom/plugins/notes/templates/muc-note.js | 4 ++-- conversejs/custom/plugins/notes/templates/muc-notes.js | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 714e45f3..e11a967c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * Fix #503: set custom emojis max height to text height + bigger when posted alone * Fix: Converse bottom panel messages not visible on new Peertube v7 theme (for example for muted users) * Fix #75: New short video urls makes it difficult to use the settings «Activate chat for these videos». +* Fix: moderation notes: fix filter button wrongly displayed on notes without associated occupant. ## 12.0.4 diff --git a/conversejs/custom/plugins/notes/components/muc-note-view.js b/conversejs/custom/plugins/notes/components/muc-note-view.js index 260b31e3..3e80130e 100644 --- a/conversejs/custom/plugins/notes/components/muc-note-view.js +++ b/conversejs/custom/plugins/notes/components/muc-note-view.js @@ -14,7 +14,7 @@ export default class MUCNoteView extends CustomElement { return { model: { type: Object, attribute: true }, edit: { type: Boolean, attribute: false }, - is_ocupant_filter: { type: Boolean, attribute: true } + is_occupant_filter: { type: Boolean, attribute: true } } } diff --git a/conversejs/custom/plugins/notes/templates/muc-note.js b/conversejs/custom/plugins/notes/templates/muc-note.js index d900d442..3139055f 100644 --- a/conversejs/custom/plugins/notes/templates/muc-note.js +++ b/conversejs/custom/plugins/notes/templates/muc-note.js @@ -25,7 +25,7 @@ export function tplMucNote (el, note) { aboutOccupant ? html` ` @@ -34,7 +34,7 @@ export function tplMucNote (el, note) {
    ${note.get('description') ?? ''}
    ${ - aboutOccupant && el.is_ocupant_filter + !aboutOccupant || el.is_occupant_filter ? '' : html`