From b218b103b33386323fa7ccca103919a0608fad71 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 16:33:24 +0100 Subject: [PATCH 001/142] Update dependency @stylistic/eslint-plugin to v4.4.1 (#30109) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 99 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 82 insertions(+), 17 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2c5b901548..f0cb0e8f57 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2917,9 +2917,9 @@ "@sinonjs/commons" "^3.0.0" "@stylistic/eslint-plugin@^4.0.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-4.4.0.tgz#e1a3c9fd7109411d32dc0bcb575d2b4066fbbc63" - integrity sha512-bIh/d9X+OQLCAMdhHtps+frvyjvAM4B1YlSJzcEEhl7wXLIqPar3ngn9DrHhkBOrTA/z9J0bUMtctAspe0dxdQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-4.4.1.tgz#410ac332887fb3d61cad1df4e6b55ae35d87c632" + integrity sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ== dependencies: "@typescript-eslint/utils" "^8.32.1" eslint-visitor-keys "^4.2.0" @@ -3719,6 +3719,15 @@ "@typescript-eslint/types" "^8.33.0" debug "^4.3.4" +"@typescript-eslint/project-service@8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.34.0.tgz#449119b72fe9fae185013a6bdbaf1ffbfee6bcaf" + integrity sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw== + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.34.0" + "@typescript-eslint/types" "^8.34.0" + debug "^4.3.4" + "@typescript-eslint/scope-manager@8.23.0": version "8.23.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz#ee3bb7546421ca924b9b7a8b62a77d388193ddec" @@ -3735,11 +3744,24 @@ "@typescript-eslint/types" "8.33.0" "@typescript-eslint/visitor-keys" "8.33.0" -"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": +"@typescript-eslint/scope-manager@8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz#9fedaec02370cf79c018a656ab402eb00dc69e67" + integrity sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw== + dependencies: + "@typescript-eslint/types" "8.34.0" + "@typescript-eslint/visitor-keys" "8.34.0" + +"@typescript-eslint/tsconfig-utils@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== +"@typescript-eslint/tsconfig-utils@8.34.0", "@typescript-eslint/tsconfig-utils@^8.33.0", "@typescript-eslint/tsconfig-utils@^8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz#97d0a24e89a355e9308cebc8e23f255669bf0979" + integrity sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA== + "@typescript-eslint/type-utils@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" @@ -3755,11 +3777,16 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.23.0.tgz#3355f6bcc5ebab77ef6dcbbd1113ec0a683a234a" integrity sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ== -"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": +"@typescript-eslint/types@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== +"@typescript-eslint/types@8.34.0", "@typescript-eslint/types@^8.33.0", "@typescript-eslint/types@^8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.34.0.tgz#18000f205c59c9aff7f371fc5426b764cf2890fb" + integrity sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA== + "@typescript-eslint/typescript-estree@8.23.0": version "8.23.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz#f633ef08efa656e386bc44b045ffcf9537cc6924" @@ -3790,7 +3817,23 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.33.0", "@typescript-eslint/utils@^8.32.1": +"@typescript-eslint/typescript-estree@8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz#c9f3feec511339ef64e9e4884516c3e558f1b048" + integrity sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg== + dependencies: + "@typescript-eslint/project-service" "8.34.0" + "@typescript-eslint/tsconfig-utils" "8.34.0" + "@typescript-eslint/types" "8.34.0" + "@typescript-eslint/visitor-keys" "8.34.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^2.1.0" + +"@typescript-eslint/utils@8.33.0": version "8.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== @@ -3810,6 +3853,16 @@ "@typescript-eslint/types" "8.23.0" "@typescript-eslint/typescript-estree" "8.23.0" +"@typescript-eslint/utils@^8.32.1": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.34.0.tgz#7844beebc1153b4d3ec34135c2da53a91e076f8d" + integrity sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ== + dependencies: + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.34.0" + "@typescript-eslint/types" "8.34.0" + "@typescript-eslint/typescript-estree" "8.34.0" + "@typescript-eslint/visitor-keys@8.23.0": version "8.23.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz#40405fd26a61d23f5f4c2ed0f016a47074781df8" @@ -3826,6 +3879,14 @@ "@typescript-eslint/types" "8.33.0" eslint-visitor-keys "^4.2.0" +"@typescript-eslint/visitor-keys@8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz#c7a149407be31d755dba71980617d638a40ac099" + integrity sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA== + dependencies: + "@typescript-eslint/types" "8.34.0" + eslint-visitor-keys "^4.2.0" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -3853,7 +3914,6 @@ "@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" - uid "" "@vector-im/matrix-wysiwyg@2.38.3": version "2.38.3" @@ -4083,7 +4143,12 @@ acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.9.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.13.0.tgz#2a30d670818ad16ddd6a35d3842dacec9e5d7ca3" integrity sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w== -acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.1, acorn@^8.8.2: +acorn@^8.14.0, acorn@^8.15.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + +acorn@^8.4.1, acorn@^8.8.1, acorn@^8.8.2: version "8.14.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -6490,10 +6555,10 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== +eslint-visitor-keys@^4.2.0, eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" + integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== eslint@8.57.1: version "8.57.1" @@ -6540,13 +6605,13 @@ eslint@8.57.1: text-table "^0.2.0" espree@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== + version "10.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" + integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== dependencies: - acorn "^8.14.0" + acorn "^8.15.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" + eslint-visitor-keys "^4.2.1" espree@^9.6.0, espree@^9.6.1: version "9.6.1" From 2350c065a4e22f54d0df40e9ce41b373d0ccbe6c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 16:33:36 +0100 Subject: [PATCH 002/142] Update definitelyTyped (#30108) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 63 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/yarn.lock b/yarn.lock index f0cb0e8f57..0f22c1a0eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3155,9 +3155,9 @@ "@babel/types" "^7.20.7" "@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + version "1.19.6" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== dependencies: "@types/connect" "*" "@types/node" "*" @@ -3273,9 +3273,9 @@ "@types/send" "*" "@types/express@*", "@types/express@^5.0.0": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.2.tgz#7be9e337a5745d6b43ef5b0c352dad94a7f0c256" - integrity sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g== + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956" + integrity sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^5.0.0" @@ -3334,9 +3334,9 @@ integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== "@types/http-proxy@^1.17.8": version "1.17.16" @@ -3455,20 +3455,27 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>=13.7.0": +"@types/node@*": + version "24.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.0.tgz#14a278ce74dd33993f2c4e5dd614760728c0fba8" + integrity sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg== + dependencies: + undici-types "~7.8.0" + +"@types/node@18", "@types/node@^18.11.18": + version "18.19.111" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.111.tgz#e95b89efc24cc625834b43bcd70bd5591a5dfba5" + integrity sha512-90sGdgA+QLJr1F9X79tQuEut0gEYIfkX9pydI4XGRgvFo9g2JWswefI+WUSUHPYVBHYSEfTEqBxA5hQvAZB3Mw== + dependencies: + undici-types "~5.26.4" + +"@types/node@>=13.7.0": version "22.15.23" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.23.tgz#a0b7c03f951f1ffe381a6a345c68d80e48043dd0" integrity sha512-7Ec1zaFPF4RJ0eXu1YT/xgiebqwqoJz8rYPDi/O2BcZ++Wpt0Kq9cl0eg6NN6bYbPnR67ZLo7St5Q3UK0SnARw== dependencies: undici-types "~6.21.0" -"@types/node@18", "@types/node@^18.11.18": - version "18.19.105" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.105.tgz#44bae77ea9832da4357e1d35df37cb86927e1405" - integrity sha512-a+DrwD2VyzqQR2W0EVF8EaCh6Em4ilQAYLEPZnMNkQHXR7ziWW7RUhZMWZAgRpkDDAdUIcJOXSPJT/zBEwz3sA== - dependencies: - undici-types "~5.26.4" - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -3581,9 +3588,9 @@ integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== "@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + version "0.17.5" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74" + integrity sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w== dependencies: "@types/mime" "^1" "@types/node" "*" @@ -3595,7 +3602,16 @@ dependencies: "@types/express" "*" -"@types/serve-static@*", "@types/serve-static@^1.15.5": +"@types/serve-static@*": + version "1.15.8" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877" + integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + +"@types/serve-static@^1.15.5": version "1.15.7" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== @@ -12956,6 +12972,11 @@ undici-types@~6.21.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== +undici-types@~7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" + integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== + undici@^7.10.0: version "7.10.0" resolved "https://registry.yarnpkg.com/undici/-/undici-7.10.0.tgz#8ae17a976acc6593b13c9ff3342840bea9b24670" From e28b197868d5142384fff1304227e993480eaa8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:33:57 +0000 Subject: [PATCH 003/142] Update babel monorepo (#30107) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 96 +++++++++++++++++++++++++++---------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0f22c1a0eb..f75de06890 100644 --- a/yarn.lock +++ b/yarn.lock @@ -61,24 +61,24 @@ picocolors "^1.1.1" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111" - integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82" + integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== "@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.18.5", "@babel/core@^7.21.3", "@babel/core@^7.23.9", "@babel/core@^7.24.4": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.3.tgz#d7d05502bccede3cab36373ed142e6a1df554c2f" - integrity sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA== + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" + integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.27.3" "@babel/helper-compilation-targets" "^7.27.2" "@babel/helper-module-transforms" "^7.27.3" - "@babel/helpers" "^7.27.3" - "@babel/parser" "^7.27.3" + "@babel/helpers" "^7.27.4" + "@babel/parser" "^7.27.4" "@babel/template" "^7.27.2" - "@babel/traverse" "^7.27.3" + "@babel/traverse" "^7.27.4" "@babel/types" "^7.27.3" convert-source-map "^2.0.0" debug "^4.1.0" @@ -87,9 +87,9 @@ semver "^6.3.1" "@babel/eslint-parser@^7.12.10": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.27.1.tgz#e146fb2facef62c6c5d1a6fd07cfd79ee9f7b0f1" - integrity sha512-q8rjOuadH0V6Zo4XLMkJ3RMQ9MSBqwaDByyYB0izsYdaIWGNLmEblbCOf1vyFHICcg16CD7Fsi51vcQnYxmt6Q== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.27.5.tgz#56577afa9d820e9936e986d3a3b79c422223dfc6" + integrity sha512-HLkYQfRICudzcOtjGwkPvGc5nF1b4ljLZh1IRDj50lRZ718NAKVgQpIAUX8bfg6u/yuSKY3L7E0YzIV+OxrB8Q== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" @@ -124,11 +124,11 @@ jsesc "^3.0.2" "@babel/generator@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc" - integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.5.tgz#3eb01866b345ba261b04911020cbe22dd4be8c8c" + integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw== dependencies: - "@babel/parser" "^7.27.3" + "@babel/parser" "^7.27.5" "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" @@ -341,13 +341,13 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helpers@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.3.tgz#387d65d279290e22fe7a47a8ffcd2d0c0184edd0" - integrity sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg== +"@babel/helpers@^7.27.4": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" + integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== dependencies: "@babel/template" "^7.27.2" - "@babel/types" "^7.27.3" + "@babel/types" "^7.27.6" "@babel/highlight@^7.25.7": version "7.25.9" @@ -380,10 +380,10 @@ dependencies: "@babel/types" "^7.27.0" -"@babel/parser@^7.27.2", "@babel/parser@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.3.tgz#1b7533f0d908ad2ac545c4d05cbe2fb6dc8cfaaf" - integrity sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw== +"@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.5.tgz#ed22f871f110aa285a6fd934a0efed621d118826" + integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== dependencies: "@babel/types" "^7.27.3" @@ -992,9 +992,9 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-runtime@^7.12.10": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.3.tgz#ad35f1eff5ba18a5e23f7270e939fb5a59d3ec0b" - integrity sha512-bA9ZL5PW90YwNgGfjg6U+7Qh/k3zCEQJ06BFgAGRp/yMjw9hP9UGbGPtx3KSOkHGljEPCCxaE+PH4fUR2h1sDw== + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.4.tgz#dee5c5db6543313d1ae1b4b1ec122ff1e77352b9" + integrity sha512-D68nR5zxU64EUzV8i7T3R5XP0Xhrou/amNnddsRQssx6GrTLdZl1rLxyjtVZBd+v/NVX4AbTPOB5aU8thAZV1A== dependencies: "@babel/helper-module-imports" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" @@ -1189,9 +1189,9 @@ "@babel/plugin-transform-typescript" "^7.27.1" "@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.3.tgz#10491113799fb8d77e1d9273384d5d68deeea8f6" - integrity sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw== + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6" + integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== "@babel/template@^7.25.7", "@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3": version "7.27.2" @@ -1250,14 +1250,14 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.3.tgz#8b62a6c2d10f9d921ba7339c90074708509cffae" - integrity sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ== +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea" + integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA== dependencies: "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.27.3" - "@babel/parser" "^7.27.3" + "@babel/parser" "^7.27.4" "@babel/template" "^7.27.2" "@babel/types" "^7.27.3" debug "^4.3.1" @@ -1296,10 +1296,10 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@babel/types@^7.27.1", "@babel/types@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec" - integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw== +"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.6.tgz#a434ca7add514d4e646c80f7375c0aa2befc5535" + integrity sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" @@ -4845,7 +4845,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.23.1, browserslist@^4.23.2, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.24.4: +browserslist@^4.0.0, browserslist@^4.23.1, browserslist@^4.23.2, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.3, browserslist@^4.25.0: version "4.25.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c" integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== @@ -5370,11 +5370,11 @@ core-js-compat@^3.38.1: browserslist "^4.24.3" core-js-compat@^3.40.0: - version "3.42.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" - integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== + version "3.43.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.43.0.tgz#055587369c458795ef316f65e0aabb808fb15840" + integrity sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA== dependencies: - browserslist "^4.24.4" + browserslist "^4.25.0" core-js@^3.0.0, core-js@^3.38.1: version "3.42.0" @@ -6114,9 +6114,9 @@ ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.5.160: - version "1.5.161" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12" - integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA== + version "1.5.166" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.166.tgz#3fff386ed473cc2169dbe2d3ace9592262601114" + integrity sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw== emittery@^0.13.1: version "0.13.1" From 902517a02d40ad351486b4bc87798f7e82ef539b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:34:39 +0000 Subject: [PATCH 004/142] Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 66e34aa (#30105) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a1813cf66d..ceb5fd34b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN /src/scripts/docker-package.sh RUN cp /src/config.sample.json /src/webapp/config.json # App -FROM nginxinc/nginx-unprivileged:alpine-slim@sha256:2acffd86b1bdefb8fa6b48b6e9aadf75430e8ab9c43c54c515ea7df77897f987 +FROM nginxinc/nginx-unprivileged:alpine-slim@sha256:66e34aa81c2faf290ea4e4c28a490f2b35a07478265a2d5994c8637506045eee # Need root user to install packages & manipulate the usr directory USER root From c995496a930323fa9f723b8d45bcf435547c1f39 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:40:29 +0000 Subject: [PATCH 005/142] Update fontsource monorepo to v5.2.6 (#30114) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index f75de06890..5127d50252 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1800,14 +1800,14 @@ integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== "@fontsource/inconsolata@^5": - version "5.2.5" - resolved "https://registry.yarnpkg.com/@fontsource/inconsolata/-/inconsolata-5.2.5.tgz#8f220d83567dc27b7b54fd583044cb2ebbbd2759" - integrity sha512-OvzkZY5qYghv/jEV6cfGZzFhdFTvSnU+ExPC7WcZ7w8PdRhtiu/SpcBWOBt+3LXgS0n9qyepgq4zZmxlDTlGGQ== + version "5.2.6" + resolved "https://registry.yarnpkg.com/@fontsource/inconsolata/-/inconsolata-5.2.6.tgz#441408df72dfe1a2408eb8bf676609043b869504" + integrity sha512-TRGh7bN+BN/oP8qD1IYe8REXM/0Uw3jbuERSncA/ZF6mqKFEOeTt6PR2T3xK7G+65N9pn2p0ablamdboee2nFQ== "@fontsource/inter@^5": - version "5.2.5" - resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.2.5.tgz#69efffe6ccfae138cbe1806f41daa39cef986b59" - integrity sha512-kbsPKj0S4p44JdYRFiW78Td8Ge2sBVxi/PIBwmih+RpSXUdvS9nbs1HIiuUSPtRMi14CqLEZ/fbk7dj7vni1Sg== + version "5.2.6" + resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.2.6.tgz#2c705ea57d7af283a05bb1ca59fb0f06fc5de3be" + integrity sha512-CZs9S1CrjD0jPwsNy9W6j0BhsmRSQrgwlTNkgQXTsAeDRM42LBRLo3eo9gCzfH4GvV7zpyf78Ozfl773826csw== "@formatjs/ecma402-abstract@2.3.4": version "2.3.4" From d770826c2d27c59ca2e4de05e254d7246f3c22be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:49:07 +0000 Subject: [PATCH 006/142] Update dependency caniuse-lite to v1.0.30001721 (#30111) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index db4dea80d1..e0727da0c9 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@types/react-dom": "19.1.5", "oidc-client-ts": "3.2.1", "jwt-decode": "4.0.0", - "caniuse-lite": "1.0.30001720", + "caniuse-lite": "1.0.30001721", "testcontainers": "^11.0.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0", "wrap-ansi": "npm:wrap-ansi@^7.0.0" diff --git a/yarn.lock b/yarn.lock index 5127d50252..979acb9f0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5010,10 +5010,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@1.0.30001720, caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001718: - version "1.0.30001720" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd" - integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g== +caniuse-lite@1.0.30001721, caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001718: + version "1.0.30001721" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz#36b90cd96901f8c98dd6698bf5c8af7d4c6872d7" + integrity sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ== chalk@5.2.0: version "5.2.0" From 10b9b2cb8bffeba62cc1ea8d31576a576ea6db3f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:54:32 +0000 Subject: [PATCH 007/142] Update dependency @sentry/browser to v9.27.0 (#30116) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 68 +++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/yarn.lock b/yarn.lock index 979acb9f0e..9c4a5e365a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2769,35 +2769,35 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@sentry-internal/browser-utils@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.23.0.tgz#19cd82bc42654883190423126e666c6e5db66b43" - integrity sha512-hyN2Q6mh7ggw8sDVHeRyWz5LR6gjvf8zHSzQnMaF7QkeSyaeGM/SVSL4ODwqR9TRH7U2ku6nZFMbKhaBPV+Hfg== +"@sentry-internal/browser-utils@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.27.0.tgz#1860a9925aadb700fc273d59d4d6e7083408f765" + integrity sha512-SJa7f6Ct1BzP8rWEomnshSGN1CmT+axNKvT+StrbFPD6AyHnYfFLJpKgc2iToIJHB/pmeuOI9dUwqtzVx+5nSw== dependencies: - "@sentry/core" "9.23.0" + "@sentry/core" "9.27.0" -"@sentry-internal/feedback@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.23.0.tgz#088c52187cb1a9bb0b22c3df14a6d0b8fafec0e4" - integrity sha512-Xf+KqV69TBiPo1gk2EsU6O/dumuTMxWOF52uVWJddQYI3pQTU5DqSeoZ5AY76bIIhV9n6AEFDGqNPXmuj4Acrw== +"@sentry-internal/feedback@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.27.0.tgz#ec9311033b401f4f89304c47ffde2de942a281ef" + integrity sha512-e7L8eG0y63RulN352lmafoCCfQGg4jLVT8YLx6096eWu/YKLkgmVpgi8livsT5WREnH+HB+iFSrejOwK7cRkhw== dependencies: - "@sentry/core" "9.23.0" + "@sentry/core" "9.27.0" -"@sentry-internal/replay-canvas@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.23.0.tgz#7e384e8ab50d99d363c5e01cd255e04af1b9623b" - integrity sha512-cYlw5svJjyPequm0PJjFGLpee86L1NieONEHlujOXkIG6IEriiorMm+8bNpGsHRuyvg41B+4P/YmcQAGtEGxXg== +"@sentry-internal/replay-canvas@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.27.0.tgz#d18e95ace5c6bd593935cacea1980b9e640b3afe" + integrity sha512-44rVSt3LCH6qePYRQrl4WUBwnkOk9dzinmnKmuwRksEdDOkVq5KBRhi/IDr7omwSpX8C+KrX5alfKhOx1cP0gQ== dependencies: - "@sentry-internal/replay" "9.23.0" - "@sentry/core" "9.23.0" + "@sentry-internal/replay" "9.27.0" + "@sentry/core" "9.27.0" -"@sentry-internal/replay@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.23.0.tgz#6b1369a8712323666fd04a4f86d3ab8865ff4f37" - integrity sha512-0/q15tvSboaK7/05BFQhs71bqgHKejJoDJgXmH0lySqgsRh/S18867ZxQNiuYhuVt337h07u1QaCyjnNJKHfuA== +"@sentry-internal/replay@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.27.0.tgz#e357d45a6fc2b80ac312798cc5b1b758c5ca9c66" + integrity sha512-n2kO1wOfCG7GxkMAqbYYkpgTqJM5tuVLdp0JuNCqTOLTXWvw6svWGaYKlYpKUgsK9X/GDzJYSXZmfe+Dbg+FJQ== dependencies: - "@sentry-internal/browser-utils" "9.23.0" - "@sentry/core" "9.23.0" + "@sentry-internal/browser-utils" "9.27.0" + "@sentry/core" "9.27.0" "@sentry/babel-plugin-component-annotate@3.5.0": version "3.5.0" @@ -2805,15 +2805,15 @@ integrity sha512-s2go8w03CDHbF9luFGtBHKJp4cSpsQzNVqgIa9Pfa4wnjipvrK6CxVT4icpLA3YO6kg5u622Yoa5GF3cJdippw== "@sentry/browser@^9.0.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.23.0.tgz#8fdc4e393c8b893ca467d577bb7b11d038650641" - integrity sha512-QRkNxWys8e088260vByztoTsEVZ0W6v/XnZfKT6wkPPGn0aFeOrg/xjgxfI8D5huqZCxT28Cf23akOOly4FXjg== + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.27.0.tgz#5aa87a34600aa7ee19e29d2295266c18a32d7bc7" + integrity sha512-geR3lhRJOmUQqi1WgovLSYcD/f66zYnctdnDEa7j1BW2XIB1nlTJn0mpYyAHghXKkUN/pBpp1Z+Jk0XlVwFYVg== dependencies: - "@sentry-internal/browser-utils" "9.23.0" - "@sentry-internal/feedback" "9.23.0" - "@sentry-internal/replay" "9.23.0" - "@sentry-internal/replay-canvas" "9.23.0" - "@sentry/core" "9.23.0" + "@sentry-internal/browser-utils" "9.27.0" + "@sentry-internal/feedback" "9.27.0" + "@sentry-internal/replay" "9.27.0" + "@sentry-internal/replay-canvas" "9.27.0" + "@sentry/core" "9.27.0" "@sentry/bundler-plugin-core@3.5.0": version "3.5.0" @@ -2883,10 +2883,10 @@ "@sentry/cli-win32-i686" "2.42.2" "@sentry/cli-win32-x64" "2.42.2" -"@sentry/core@9.23.0": - version "9.23.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.23.0.tgz#96a514cc9d8ac043dea0a4648ed1205c25ff5ae5" - integrity sha512-9846pn/BvASGgl7WsnKY4xry98WreP9ToeLfCQTQOf+pNfD/qNPn1/0xPInGni3LVMAXRtfHHMPm2Ghz255N7A== +"@sentry/core@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.27.0.tgz#e97d6957c243d95f9f05ccb553b937838bb500ea" + integrity sha512-Zb2SSAdWXQjTem+sVWrrAq9L6YYfxyoTwtapaE6C6qZBR5C8Uak0wcYww8StaCFH7dDA/PSW+VxOwjNXocrQHQ== "@sentry/webpack-plugin@^3.0.0": version "3.5.0" From bd4509576caa25715a03091a17a9d85c7ce4edac Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 10 Jun 2025 17:09:24 +0100 Subject: [PATCH 008/142] Warn user before doing a manual verification via slash command (#30102) --- src/SlashCommands.tsx | 14 +++++++- src/i18n/strings/en_EN.json | 2 ++ test/unit-tests/SlashCommands-test.tsx | 46 +++++++++++++++++++++++--- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/src/SlashCommands.tsx b/src/SlashCommands.tsx index c8563509f2..ed2382c3ff 100644 --- a/src/SlashCommands.tsx +++ b/src/SlashCommands.tsx @@ -674,7 +674,19 @@ export const Commands = [ if (matches) { const deviceId = matches[1]; const fingerprint = matches[2]; - return success(manuallyVerifyDevice(cli, deviceId, fingerprint)); + + const { finished } = Modal.createDialog(QuestionDialog, { + title: _t("slash_command|manual_device_verification_confirm_title"), + description: _t("slash_command|manual_device_verification_confirm_description"), + button: _t("action|verify"), + danger: true, + }); + + return success( + finished.then(([confirmed]) => { + if (confirmed) manuallyVerifyDevice(cli, deviceId, fingerprint); + }), + ); } } return reject(this.getUsage()); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 73566fee1b..d83c2d6f2d 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -3112,6 +3112,8 @@ "jumptodate": "Jump to the given date in the timeline", "jumptodate_invalid_input": "We were unable to understand the given date (%(inputDate)s). Try using the format YYYY-MM-DD.", "lenny": "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message", + "manual_device_verification_confirm_description": "This will allow another device to send and receive messages as you. IF SOMEONE TOLD YOU TO PASTE SOMETHING HERE, IT IS LIKELY YOU ARE BEING SCAMMED! Are you sure you want to verify this other device?", + "manual_device_verification_confirm_title": "Caution: manual device verification", "me": "Displays action", "msg": "Sends a message to the given user", "myavatar": "Changes your profile picture in all rooms", diff --git a/test/unit-tests/SlashCommands-test.tsx b/test/unit-tests/SlashCommands-test.tsx index 375a8888b7..884031237e 100644 --- a/test/unit-tests/SlashCommands-test.tsx +++ b/test/unit-tests/SlashCommands-test.tsx @@ -9,18 +9,20 @@ Please see LICENSE files in the repository root for full details. import { type MatrixClient, Room, RoomMember } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; import { mocked } from "jest-mock"; +import { act, waitFor } from "jest-matrix-react"; import { type Command, Commands, getCommand } from "../../src/SlashCommands"; import { createTestClient } from "../test-utils"; import { LocalRoom, LOCAL_ROOM_ID_PREFIX } from "../../src/models/LocalRoom"; import SettingsStore from "../../src/settings/SettingsStore"; import { SdkContextClass } from "../../src/contexts/SDKContext"; -import Modal from "../../src/Modal"; +import Modal, { type ComponentType, type IHandle } from "../../src/Modal"; import WidgetUtils from "../../src/utils/WidgetUtils"; import { WidgetType } from "../../src/widgets/WidgetType"; import { warnSelfDemote } from "../../src/components/views/right_panel/UserInfo"; import dispatcher from "../../src/dispatcher/dispatcher"; import { SettingLevel } from "../../src/settings/SettingLevel"; +import QuestionDialog from "../../src/components/views/dialogs/QuestionDialog"; import ErrorDialog from "../../src/components/views/dialogs/ErrorDialog"; jest.mock("../../src/components/views/right_panel/UserInfo"); @@ -260,11 +262,47 @@ describe("SlashCommands", () => { expect(command.run(client, roomId, null, undefined).error).toBe(command.getUsage()); }); - it("should show an error if device is not found", async () => { + it("should attempt manual verification after confirmation", async () => { + // Given we say yes to prompt const spy = jest.spyOn(Modal, "createDialog"); + spy.mockReturnValue({ finished: Promise.resolve([true]) } as unknown as IHandle); + + // When we run the command const command = findCommand("verify")!; - await command.run(client, roomId, null, "mydeviceid myfingerprint").promise; - expect(spy).toHaveBeenCalledWith(ErrorDialog, expect.objectContaining({ title: "Verification failed" })); + await act(() => command.run(client, roomId, null, "mydeviceid myfingerprint")); + + // Then the prompt is displayed + expect(spy).toHaveBeenCalledWith( + QuestionDialog, + expect.objectContaining({ title: "Caution: manual device verification" }), + ); + + // And then we attempt the verification + await waitFor(() => + expect(spy).toHaveBeenCalledWith( + ErrorDialog, + expect.objectContaining({ title: "Verification failed" }), + ), + ); + }); + + it("should not do manual verification if cancelled", async () => { + // Given we say no to prompt + const spy = jest.spyOn(Modal, "createDialog"); + spy.mockReturnValue({ finished: Promise.resolve([false]) } as unknown as IHandle); + + // When we run the command + const command = findCommand("verify")!; + command.run(client, roomId, null, "mydeviceid myfingerprint"); + + // Then the prompt is displayed + expect(spy).toHaveBeenCalledWith( + QuestionDialog, + expect.objectContaining({ title: "Caution: manual device verification" }), + ); + + // But nothing else happens + expect(spy).not.toHaveBeenCalledWith(ErrorDialog, expect.anything()); }); }); From 276fa5eaa89c058192d782740f3ff06964aed73b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:11:10 +0000 Subject: [PATCH 009/142] Update dependency @types/react-dom to v19.1.6 (#30110) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e0727da0c9..23883dc8f0 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "**/pretty-format/react-is": "19.1.0", "@playwright/test": "1.52.0", "@types/react": "19.1.6", - "@types/react-dom": "19.1.5", + "@types/react-dom": "19.1.6", "oidc-client-ts": "3.2.1", "jwt-decode": "4.0.0", "caniuse-lite": "1.0.30001721", @@ -214,7 +214,7 @@ "@types/qrcode": "^1.3.5", "@types/react": "19.1.6", "@types/react-beautiful-dnd": "^13.0.0", - "@types/react-dom": "19.1.5", + "@types/react-dom": "19.1.6", "@types/react-transition-group": "^4.4.0", "@types/sanitize-html": "2.16.0", "@types/semver": "^7.5.8", diff --git a/yarn.lock b/yarn.lock index 9c4a5e365a..56ce8eabea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3525,10 +3525,10 @@ dependencies: "@types/react" "*" -"@types/react-dom@19.1.5": - version "19.1.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.5.tgz#cdfe2c663742887372f54804b16e8dbc26bd794a" - integrity sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg== +"@types/react-dom@19.1.6": + version "19.1.6" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.6.tgz#4af629da0e9f9c0f506fc4d1caa610399c595d64" + integrity sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw== "@types/react-redux@^7.1.20": version "7.1.34" From f43e953794cd662aa282eb048cccfb082587f984 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:25:16 +0000 Subject: [PATCH 010/142] Update all non-major dependencies (#30106) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- yarn.lock | 455 +++++++++++++++++++++++++-------------------------- 2 files changed, 227 insertions(+), 232 deletions(-) diff --git a/package.json b/package.json index 23883dc8f0..4c15e5c7e7 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "opus-recorder": "^8.0.3", "pako": "^2.0.3", "png-chunks-extract": "^1.0.0", - "posthog-js": "1.248.1", + "posthog-js": "1.249.4", "qrcode": "1.5.4", "re-resizable": "6.11.2", "react": "^19.0.0", @@ -180,7 +180,7 @@ "@babel/preset-typescript": "^7.12.7", "@babel/runtime": "^7.12.5", "@casualbot/jest-sonar-reporter": "2.2.7", - "@element-hq/element-call-embedded": "0.12.0", + "@element-hq/element-call-embedded": "0.12.2", "@element-hq/element-web-playwright-common": "^1.1.5", "@peculiar/webcrypto": "^1.4.3", "@playwright/test": "^1.50.1", diff --git a/yarn.lock b/yarn.lock index 56ce8eabea..3793a91881 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,14 +34,14 @@ dependencies: axe-core "~4.10.2" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-validator-identifier" "^7.27.1" js-tokens "^4.0.0" - picocolors "^1.0.0" + picocolors "^1.1.1" "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.7": version "7.25.7" @@ -51,14 +51,14 @@ "@babel/highlight" "^7.25.7" picocolors "^1.0.0" -"@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== +"@babel/code-frame@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/helper-validator-identifier" "^7.27.1" + "@babel/helper-validator-identifier" "^7.25.9" js-tokens "^4.0.0" - picocolors "^1.1.1" + picocolors "^1.0.0" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": version "7.27.5" @@ -1354,19 +1354,19 @@ "@csstools/css-calc" "^2.1.1" "@csstools/css-parser-algorithms@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#74426e93bd1c4dcab3e441f5cc7ba4fb35d94356" - integrity sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz#5755370a9a29abaec5515b43c8b3f2cf9c2e3076" + integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== "@csstools/css-tokenizer@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#a5502c8539265fecbd873c1e395a890339f119c2" - integrity sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz#333fedabc3fd1a8e5d0100013731cf19e6a8c5d3" + integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== "@csstools/media-query-list-parser@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#e80e17eba1693fceafb8d6f2cfc68c0e7a9ab78a" - integrity sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz#7aec77bcb89c2da80ef207e73f474ef9e1b3cdf1" + integrity sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ== "@csstools/postcss-cascade-layers@^5.0.1": version "5.0.1" @@ -1667,10 +1667,10 @@ resolved "https://registry.yarnpkg.com/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#519c1549b0e147759e7825701ecffd25e5819f7b" integrity sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg== -"@element-hq/element-call-embedded@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@element-hq/element-call-embedded/-/element-call-embedded-0.12.0.tgz#654da28610c758c6d1164bbfe61007a636357cca" - integrity sha512-p/ZymzOqrF5WDnt7ZIkpdtQwzUcwchykIGcU9quU1YkAwOCnGwqCwGmgG0YAvPEhqWAb4DVJ4qHL0ZZ+WqxAtQ== +"@element-hq/element-call-embedded@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@element-hq/element-call-embedded/-/element-call-embedded-0.12.2.tgz#b6b6b7df69369b3088960b79591ce1bfd2b84a1a" + integrity sha512-2u5/bOARcjc5TFq4929x1R0tvsNbeVA58FBtiW05GlIJCapxzPSOeeGhbqEcJ1TW3/hLGpiKMcw0QwRBQVNzQA== "@element-hq/element-web-module-api@1.0.0": version "1.0.0" @@ -2168,9 +2168,9 @@ thingies "^1.20.0" "@jsonjoy.com/util@^1.1.2", "@jsonjoy.com/util@^1.3.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.5.0.tgz#6008e35b9d9d8ee27bc4bfaa70c8cbf33a537b4c" - integrity sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA== + version "1.6.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.6.0.tgz#23991b2fe12cb3a006573d9dc97c768d3ed2c9f1" + integrity sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A== "@keyv/serialize@^1.0.3": version "1.0.3" @@ -2224,10 +2224,10 @@ resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67a1cef50d1a2459ba60f315e448d2ad87fe" integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q== -"@maplibre/maplibre-gl-style-spec@^23.2.2": - version "23.2.2" - resolved "https://registry.yarnpkg.com/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.2.2.tgz#9030560d2b92c33132a7cea1d537a154d7674580" - integrity sha512-kLcVlItPCULc20SM6pSVA7u8nST9xmQA8d7utc9j3KB0Tf/xhM4GgCn/QsZcmlbN/wW0ujyomDrvZ3/LbwvAmw== +"@maplibre/maplibre-gl-style-spec@^23.3.0": + version "23.3.0" + resolved "https://registry.yarnpkg.com/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz#b69ab48cb3abead4e49213396c8f83492638b97c" + integrity sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA== dependencies: "@mapbox/jsonlint-lines-primitives" "~2.0.2" "@mapbox/unitbezier" "^0.0.1" @@ -2272,10 +2272,10 @@ resolved "https://registry.yarnpkg.com/@matrix-org/spec/-/spec-1.14.0.tgz#cedc4f9cc86c9e623ccd4f643629bac97bc0fed2" integrity sha512-UI4kY6WXniRV++ZeMesmCvZMH8lANLc12rnca1/M+nkPgJgU9GQd5X9ezFoOLabG6tGdEUPPKr5/S2EP1FdGLA== -"@napi-rs/wasm-runtime@^0.2.9": - version "0.2.10" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.10.tgz#f3b7109419c6670000b2401e0c778b98afc25f84" - integrity sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ== +"@napi-rs/wasm-runtime@^0.2.11": + version "0.2.11" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz#192c1610e1625048089ab4e35bc0649ce478500e" + integrity sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA== dependencies: "@emnapi/core" "^1.4.3" "@emnapi/runtime" "^1.4.3" @@ -2309,72 +2309,72 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oxc-resolver/binding-darwin-arm64@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-9.0.2.tgz#345ff11258dbec11d333bf088a79b864f5f03ec5" - integrity sha512-MVyRgP2gzJJtAowjG/cHN3VQXwNLWnY+FpOEsyvDepJki1SdAX/8XDijM1yN6ESD1kr9uhBKjGelC6h3qtT+rA== +"@oxc-resolver/binding-darwin-arm64@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.2.0.tgz#e10cb8530dfa948a2eee889346f459f6c65eebfd" + integrity sha512-ruKLkS+Dm/YIJaUhzEB7zPI+jh3EXxu0QnNV8I7t9jf0lpD2VnltuyRbhrbJEkksklZj//xCMyFFsILGjiU2Mg== -"@oxc-resolver/binding-darwin-x64@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-9.0.2.tgz#cd19f263a31b601356002ebd2eb8dda193753704" - integrity sha512-7kV0EOFEZ3sk5Hjy4+bfA6XOQpCwbDiDkkHN4BHHyrBHsXxUR05EcEJPPL1WjItefg+9+8hrBmoK0xRoDs41+A== +"@oxc-resolver/binding-darwin-x64@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.2.0.tgz#d91779b76820037055c9ead87bf3ee21a96e178d" + integrity sha512-0zhgNUm5bYezdSFOg3FYhtVP83bAq7FTV/3suGQDl/43MixfQG7+bl+hlrP4mz6WlD2SUb2u9BomnJWl1uey9w== -"@oxc-resolver/binding-freebsd-x64@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-9.0.2.tgz#e6e0b9b9409cb4eb71307ca880f1d868cce88c94" - integrity sha512-6OvkEtRXrt8sJ4aVfxHRikjain9nV1clIsWtJ1J3J8NG1ZhjyJFgT00SCvqxbK+pzeWJq6XzHyTCN78ML+lY2w== +"@oxc-resolver/binding-freebsd-x64@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.2.0.tgz#6149681bb3c3eaf0d92517428d38042e1c56faf2" + integrity sha512-SHOxfCcZV1axeIGfyeD1BkdLvfQgjmPy18tO0OUXGElcdScxD6MqU5rj/AVtiuBT+51GtFfOKlwl1+BdVwhD1A== -"@oxc-resolver/binding-linux-arm-gnueabihf@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-9.0.2.tgz#e4ef8e0a831fa05101ca8fc0501cd7b536093e66" - integrity sha512-aYpNL6o5IRAUIdoweW21TyLt54Hy/ZS9tvzNzF6ya1ckOQ8DLaGVPjGpmzxdNja9j/bbV6aIzBH7lNcBtiOTkQ== +"@oxc-resolver/binding-linux-arm-gnueabihf@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.2.0.tgz#7f375b0823374148368e65e4de8a2a3041e6d27c" + integrity sha512-mgEkYrJ+N90sgEDqEZ07zH+4I1D28WjqAhdzfW3aS2x2vynVpoY9jWfHuH8S62vZt3uATJrTKTRa8CjPWEsrdw== -"@oxc-resolver/binding-linux-arm64-gnu@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-9.0.2.tgz#c95345cf91b9597a469a8d3028d0b182e2e22055" - integrity sha512-RGFW4vCfKMFEIzb9VCY0oWyyY9tR1/o+wDdNePhiUXZU4SVniRPQaZ1SJ0sUFI1k25pXZmzQmIP6cBmazi/Dew== +"@oxc-resolver/binding-linux-arm64-gnu@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.2.0.tgz#aa70d17bdf6418d3fe309b11c1514e25e92bd7c7" + integrity sha512-BhEzNLjn4HjP8+Q18D3/jeIDBxW7OgoJYIjw2CaaysnYneoTlij8hPTKxHfyqq4IGM3fFs9TLR/k338M3zkQ7g== -"@oxc-resolver/binding-linux-arm64-musl@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-9.0.2.tgz#d968aadd446a6c1d729764f3ddd0e1b66e3ec53f" - integrity sha512-lxx/PibBfzqYvut2Y8N2D0Ritg9H8pKO+7NUSJb9YjR/bfk2KRmP8iaUz3zB0JhPtf/W3REs65oKpWxgflGToA== +"@oxc-resolver/binding-linux-arm64-musl@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.2.0.tgz#5065ba7151d316d45b209b55fc37f3ecfcb9f9bd" + integrity sha512-yxbMYUgRmN2V8x8XoxmD/Qq6aG7YIW3ToMDILfmcfeeRRVieEJ3DOWBT0JSE+YgrOy79OyFDH/1lO8VnqLmDQQ== -"@oxc-resolver/binding-linux-riscv64-gnu@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-9.0.2.tgz#698f364bf15489e69c8441c842a09a468c7389ca" - integrity sha512-yD28ptS/OuNhwkpXRPNf+/FvrO7lwURLsEbRVcL1kIE0GxNJNMtKgIE4xQvtKDzkhk6ZRpLho5VSrkkF+3ARTQ== +"@oxc-resolver/binding-linux-riscv64-gnu@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.2.0.tgz#63aaddff4d065d8a90425e1cc00e1d1410ea9b48" + integrity sha512-QG1UfgC2N2qhW1tOnDCgB/26vn1RCshR5sYPhMeaxO1gMQ3kEKbZ3QyBXxrG1IX5qsXYj5hPDJLDYNYUjRcOpg== -"@oxc-resolver/binding-linux-s390x-gnu@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-9.0.2.tgz#dfcbf0531f0ade1197275f40e6f8900635af187c" - integrity sha512-WBwEJdspoga2w+aly6JVZeHnxuPVuztw3fPfWrei2P6rNM5hcKxBGWKKT6zO1fPMCB4sdDkFohGKkMHVV1eryQ== +"@oxc-resolver/binding-linux-s390x-gnu@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.2.0.tgz#ab007ce62814b783f55a1ae7c204d841bd72e2af" + integrity sha512-uqTDsQdi6mrkSV1gvwbuT8jf/WFl6qVDVjNlx7IPSaAByrNiJfPrhTmH8b+Do58Dylz7QIRZgxQ8CHIZSyBUdg== -"@oxc-resolver/binding-linux-x64-gnu@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-9.0.2.tgz#73f7157f3b052c44c206b672b970da060125c533" - integrity sha512-a2z3/cbOOTUq0UTBG8f3EO/usFcdwwXnCejfXv42HmV/G8GjrT4fp5+5mVDoMByH3Ce3iVPxj1LmS6OvItKMYQ== +"@oxc-resolver/binding-linux-x64-gnu@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.2.0.tgz#71543385bcd557201a1fb27acb899c7d09ad3502" + integrity sha512-GZdHXhJ7p6GaQg9MjRqLebwBf8BLvGIagccI6z5yMj4fV3LU4QuDfwSEERG+R6oQ/Su9672MBqWwncvKcKT68w== -"@oxc-resolver/binding-linux-x64-musl@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-9.0.2.tgz#2b047ce69cb7fa1900174d43e4a7b6027146a449" - integrity sha512-bHZF+WShYQWpuswB9fyxcgMIWVk4sZQT0wnwpnZgQuvGTZLkYJ1JTCXJMtaX5mIFHf69ngvawnwPIUA4Feil0g== +"@oxc-resolver/binding-linux-x64-musl@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.2.0.tgz#28876735f3bd99d89363885ee6a35f36246bd0b2" + integrity sha512-YBAC3GOicYznReG2twE7oFPSeK9Z1f507z1EYWKg6HpGYRYRlJyszViu7PrhMT85r/MumDTs429zm+CNqpFWOA== -"@oxc-resolver/binding-wasm32-wasi@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-9.0.2.tgz#df8eab1815ae0da0c70f0f9dda4bcd84c70d7024" - integrity sha512-I5cSgCCh5nFozGSHz+PjIOfrqW99eUszlxKLgoNNzQ1xQ2ou9ZJGzcZ94BHsM9SpyYHLtgHljmOZxCT9bgxYNA== +"@oxc-resolver/binding-wasm32-wasi@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.2.0.tgz#68684ab71e727c870655fd3694ea5b8806b87516" + integrity sha512-+qlIg45CPVPy+Jn3vqU1zkxA/AAv6e/2Ax/ImX8usZa8Tr2JmQn/93bmSOOOnr9fXRV9d0n4JyqYzSWxWPYDEw== dependencies: - "@napi-rs/wasm-runtime" "^0.2.9" + "@napi-rs/wasm-runtime" "^0.2.11" -"@oxc-resolver/binding-win32-arm64-msvc@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-9.0.2.tgz#9530c2e08ebb5d02870b004135ef0b4438a620b7" - integrity sha512-5IhoOpPr38YWDWRCA5kP30xlUxbIJyLAEsAK7EMyUgqygBHEYLkElaKGgS0X5jRXUQ6l5yNxuW73caogb2FYaw== +"@oxc-resolver/binding-win32-arm64-msvc@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.2.0.tgz#ef9ced6045c60a77357fdd62205e76e0879d9fb0" + integrity sha512-AI4KIpS8Zf6vwfOPk0uQPSC0pQ1m5HU4hCbtrgL21JgJSlnJaeEu3/aoOBB45AXKiExBU9R+CDR7aSnW7uhc5A== -"@oxc-resolver/binding-win32-x64-msvc@9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-9.0.2.tgz#15dc9cecd2e89bbcad07247477fc04dd8c3ffbbe" - integrity sha512-Qc40GDkaad9rZksSQr2l/V9UubigIHsW69g94Gswc2sKYB3XfJXfIfyV8WTJ67u6ZMXsZ7BH1msSC6Aen75mCg== +"@oxc-resolver/binding-win32-x64-msvc@11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.2.0.tgz#24af4f17b40b1e6c08e9fa3bdfcaaf5d64bfcd64" + integrity sha512-r19cQc7HaEJ76HFsMsbiKMTIV2YqFGSof8H5hB7e5Jkb/23Y8Isv1YrSzkDaGhcw02I/COsrPo+eEmjy35eFuA== "@peculiar/asn1-schema@^2.3.13", "@peculiar/asn1-schema@^2.3.8": version "2.3.13" @@ -3282,9 +3282,9 @@ "@types/serve-static" "*" "@types/express@^4.17.21": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + version "4.17.23" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef" + integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -3602,7 +3602,7 @@ dependencies: "@types/express" "*" -"@types/serve-static@*": +"@types/serve-static@*", "@types/serve-static@^1.15.5": version "1.15.8" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877" integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg== @@ -3611,15 +3611,6 @@ "@types/node" "*" "@types/send" "*" -"@types/serve-static@^1.15.5": - version "1.15.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== - dependencies: - "@types/http-errors" "*" - "@types/node" "*" - "@types/send" "*" - "@types/sockjs@^0.3.36": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" @@ -4922,13 +4913,13 @@ bytes@3.1.2, bytes@^3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacheable@^1.8.9: - version "1.8.10" - resolved "https://registry.yarnpkg.com/cacheable/-/cacheable-1.8.10.tgz#c1b36260240d812912a6d3503da3a6e00166f75c" - integrity sha512-0ZnbicB/N2R6uziva8l6O6BieBklArWyiGx4GkwAhLKhSHyQtRfM9T1nx7HHuHDKkYB/efJQhz3QJ6x/YqoZzA== +cacheable@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/cacheable/-/cacheable-1.10.0.tgz#844dc3bc299344af373b728d9f4f0906ee67c1c9" + integrity sha512-SSgQTAnhd7WlJXnGlIi4jJJOiHzgnM5wRMEPaXAU4kECTAMpBoYKoZ9i5zHmclIEZbxcu3j7yY/CF8DTmwIsHg== dependencies: - hookified "^1.8.1" - keyv "^5.3.2" + hookified "^1.8.2" + keyv "^5.3.3" call-bind-apply-helpers@^1.0.0: version "1.0.1" @@ -5781,7 +5772,7 @@ debug@^4.3.2: dependencies: ms "^2.1.3" -debug@^4.3.7, debug@^4.4.0: +debug@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -6877,12 +6868,12 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fd-package-json@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fd-package-json/-/fd-package-json-1.2.0.tgz#4f218bb8ff65c21011d1f4f17cb3d0c9e72f8da7" - integrity sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA== +fd-package-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fd-package-json/-/fd-package-json-2.0.0.tgz#03f53ce5a0af552c2f4faf703a24e526310a2411" + integrity sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ== dependencies: - walk-up-path "^3.0.1" + walk-up-path "^4.0.0" fdir@^6.4.0: version "6.4.2" @@ -6922,12 +6913,12 @@ fflate@^0.4.8: resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== -file-entry-cache@^10.0.8: - version "10.0.8" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-10.0.8.tgz#2b7a32c40615c4a6b59c385fb059a2762faf9624" - integrity sha512-FGXHpfmI4XyzbLd3HQ8cbUcsFGohJpZtmQRHr8z8FxxtCe2PcpgIlVLwIgunqjvRmXypBETvwhV4ptJizA+Y1Q== +file-entry-cache@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-10.1.1.tgz#ca46f5c4eb22cc37e4ac30214452a59c297d2119" + integrity sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg== dependencies: - flat-cache "^6.1.8" + flat-cache "^6.1.10" file-entry-cache@^6.0.1: version "6.0.1" @@ -7030,14 +7021,14 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" -flat-cache@^6.1.8: - version "6.1.8" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-6.1.8.tgz#968fb89b19df488fe60f346857ffc54b8dd0ba14" - integrity sha512-R6MaD3nrJAtO7C3QOuS79ficm2pEAy++TgEUD8ii1LVlbcgZ9DtASLkt9B+RZSFCzm7QHDMlXPsqqB6W2Pfr1Q== +flat-cache@^6.1.10: + version "6.1.10" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-6.1.10.tgz#bf388abca92c213ac55086d678b08362867d6213" + integrity sha512-B6/v1f0NwjxzmeOhzfXPGWpKBVA207LS7lehaVKQnFrVktcFRfkzjZZ2gwj2i1TkEUMQht7ZMJbABUT5N+V1Nw== dependencies: - cacheable "^1.8.9" + cacheable "^1.10.0" flatted "^3.3.3" - hookified "^1.8.1" + hookified "^1.9.1" flat@^5.0.2: version "5.0.2" @@ -7096,12 +7087,12 @@ form-data@^4.0.0: es-set-tostringtag "^2.1.0" mime-types "^2.1.12" -formatly@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/formatly/-/formatly-0.2.3.tgz#30c4d3605c4f66d97a97a7dafbd9bb4a2467b26f" - integrity sha512-WH01vbXEjh9L3bqn5V620xUAWs32CmK4IzWRRY6ep5zpa/mrisL4d9+pRVuETORVDTQw8OycSO1WC68PL51RaA== +formatly@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/formatly/-/formatly-0.2.4.tgz#9f6281e14d2dc43a14061c0526b42c8bbb780c7a" + integrity sha512-lIN7GpcvX/l/i24r/L9bnJ0I8Qn01qijWpQpDDvTLL29nKqSaJJu4h20+7VJ6m2CAhQ2/En/GbxDiHCzq/0MyA== dependencies: - fd-package-json "^1.2.0" + fd-package-json "^2.0.0" forwarded@0.2.0: version "0.2.0" @@ -7515,10 +7506,10 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: dependencies: react-is "^16.7.0" -hookified@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/hookified/-/hookified-1.8.2.tgz#b365a89dfce3da43e790673a6a97d3b896ae5fa7" - integrity sha512-5nZbBNP44sFCDjSoB//0N7m508APCgbQ4mGGo1KJGBYyCKNHfry1Pvd0JVHZIxjdnqn8nFRBAN/eFB6Rk/4w5w== +hookified@^1.8.2, hookified@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/hookified/-/hookified-1.9.1.tgz#d30cb77590672a05029b7ea9adf25b71c406121d" + integrity sha512-u3pxtGhKjcSXnGm1CX6aXS9xew535j3lkOCegbA6jdyh0BaAjTbXI4aslKstCr6zUNtoCxFGFKwjbSHdGrMB8g== hosted-git-info@^2.1.4: version "2.8.9" @@ -7656,9 +7647,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.9" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.9.tgz#b817b3ca0edea6236225000d795378707c169cec" - integrity sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw== + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-agent@^5.0.0: version "5.0.0" @@ -7669,7 +7660,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@^2.0.7: +http-proxy-middleware@^2.0.9: version "2.0.9" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== @@ -7741,11 +7732,16 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^7.0.0, ignore@^7.0.3: +ignore@^7.0.0: version "7.0.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078" integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== +ignore@^7.0.4: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -8909,10 +8905,10 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" -keyv@^5.3.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-5.3.3.tgz#ec2d723fbd7b908de5ee7f56b769d46dbbeaf8ba" - integrity sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ== +keyv@^5.3.3: + version "5.3.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-5.3.4.tgz#e0548d9449c51fc332abdd637c2b3bb2d24c9bc9" + integrity sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw== dependencies: "@keyv/serialize" "^1.0.3" @@ -8934,21 +8930,21 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== knip@^5.36.2: - version "5.59.0" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.59.0.tgz#f2f035d06f68b42fef7555c9ff800262c63572f7" - integrity sha512-fpkvLIcw2xqcisJpFZRt/BG2rol1znSwzUB5AR6uj+tTgurC1iUEudx8mSlaxsLaeWx5zvHmlW0dlfq7CfKWJQ== + version "5.60.2" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.60.2.tgz#0deb8f5d72878f08a1dd8200d2655124204c5d56" + integrity sha512-TsYqEsoL3802RmhGL5MN7RLI6/03kocMYx/4BpMmwo3dSwEJxmzV7HqRxMVZr6c1llbd25+MqjgA86bv1IwsPA== dependencies: "@nodelib/fs.walk" "^1.2.3" fast-glob "^3.3.3" - formatly "^0.2.3" + formatly "^0.2.4" jiti "^2.4.2" js-yaml "^4.1.0" minimist "^1.2.8" - oxc-resolver "^9.0.2" - picocolors "^1.1.0" + oxc-resolver "^11.1.0" + picocolors "^1.1.1" picomatch "^4.0.1" - smol-toml "^1.3.1" - strip-json-comments "5.0.1" + smol-toml "^1.3.4" + strip-json-comments "5.0.2" zod "^3.22.4" zod-validation-error "^3.0.3" @@ -9238,9 +9234,9 @@ makeerror@1.0.12: tmpl "1.0.5" maplibre-gl@^5.0.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/maplibre-gl/-/maplibre-gl-5.5.0.tgz#0a295a634e745a5c31848ac7198893da417d09ae" - integrity sha512-p8AOPuzzqn1ZA9gcXxKw0IED715we/2Owa/YUr6PANmgMvNMe/JG+V/C1hRra43Wm62Biz+Aa8AgbOLJimA8tA== + version "5.6.0" + resolved "https://registry.yarnpkg.com/maplibre-gl/-/maplibre-gl-5.6.0.tgz#bb62bad5669ecd33b27cd84d8d2338f93553d919" + integrity sha512-7TuHMozUC4rlIp08bSsxCixFn18P24otrlZU/7UGCO5RufFTJadFzauTrvBHr9FB67MbJ6nvFXEftGd0bUl4Iw== dependencies: "@mapbox/geojson-rewind" "^0.5.2" "@mapbox/jsonlint-lines-primitives" "^2.0.2" @@ -9249,7 +9245,7 @@ maplibre-gl@^5.0.0: "@mapbox/unitbezier" "^0.0.1" "@mapbox/vector-tile" "^1.3.1" "@mapbox/whoots-js" "^3.1.0" - "@maplibre/maplibre-gl-style-spec" "^23.2.2" + "@maplibre/maplibre-gl-style-spec" "^23.3.0" "@types/geojson" "^7946.0.16" "@types/geojson-vt" "3.2.5" "@types/mapbox__point-geometry" "^0.1.4" @@ -9375,9 +9371,9 @@ media-typer@^1.1.0: integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== memfs@^4.6.0: - version "4.17.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.17.0.tgz#a3c4b5490b9b1e7df5d433adc163e08208ce7ca2" - integrity sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg== + version "4.17.2" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.17.2.tgz#1f71a6d85c8c53b4f1b388234ed981a690c7e227" + integrity sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg== dependencies: "@jsonjoy.com/json-pack" "^1.0.3" "@jsonjoy.com/util" "^1.3.0" @@ -9619,16 +9615,16 @@ nano-spawn@^1.0.2: resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-1.0.2.tgz#9853795681f0e96ef6f39104c2e4347b6ba79bf6" integrity sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg== +nanoid@^3.3.11, nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + nanoid@^3.3.7: version "3.3.8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -9843,9 +9839,9 @@ onetime@^7.0.0: mimic-function "^5.0.0" open@^10.0.3: - version "10.1.0" - resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1" - integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== + version "10.1.2" + resolved "https://registry.yarnpkg.com/open/-/open-10.1.2.tgz#d5df40984755c9a9c3c93df8156a12467e882925" + integrity sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw== dependencies: default-browser "^5.2.1" define-lazy-prop "^3.0.0" @@ -9896,24 +9892,24 @@ own-keys@^1.0.1: object-keys "^1.1.1" safe-push-apply "^1.0.0" -oxc-resolver@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-9.0.2.tgz#0a86ee1e26f6c3f5f2af73dece276f8f588d4ef8" - integrity sha512-w838ygc1p7rF+7+h5vR9A+Y9Fc4imy6C3xPthCMkdFUgFvUWkmABeNB8RBDQ6+afk44Q60/UMMQ+gfDUW99fBA== +oxc-resolver@^11.1.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-11.2.0.tgz#1c996e5b07b5170cc7134b66f71d27f65d4a5f74" + integrity sha512-3iJYyIdDZMDoj0ZSVBrI1gUvPBMkDC4gxonBG+7uqUyK5EslG0mCwnf6qhxK8oEU7jLHjbRBNyzflPSd3uvH7Q== optionalDependencies: - "@oxc-resolver/binding-darwin-arm64" "9.0.2" - "@oxc-resolver/binding-darwin-x64" "9.0.2" - "@oxc-resolver/binding-freebsd-x64" "9.0.2" - "@oxc-resolver/binding-linux-arm-gnueabihf" "9.0.2" - "@oxc-resolver/binding-linux-arm64-gnu" "9.0.2" - "@oxc-resolver/binding-linux-arm64-musl" "9.0.2" - "@oxc-resolver/binding-linux-riscv64-gnu" "9.0.2" - "@oxc-resolver/binding-linux-s390x-gnu" "9.0.2" - "@oxc-resolver/binding-linux-x64-gnu" "9.0.2" - "@oxc-resolver/binding-linux-x64-musl" "9.0.2" - "@oxc-resolver/binding-wasm32-wasi" "9.0.2" - "@oxc-resolver/binding-win32-arm64-msvc" "9.0.2" - "@oxc-resolver/binding-win32-x64-msvc" "9.0.2" + "@oxc-resolver/binding-darwin-arm64" "11.2.0" + "@oxc-resolver/binding-darwin-x64" "11.2.0" + "@oxc-resolver/binding-freebsd-x64" "11.2.0" + "@oxc-resolver/binding-linux-arm-gnueabihf" "11.2.0" + "@oxc-resolver/binding-linux-arm64-gnu" "11.2.0" + "@oxc-resolver/binding-linux-arm64-musl" "11.2.0" + "@oxc-resolver/binding-linux-riscv64-gnu" "11.2.0" + "@oxc-resolver/binding-linux-s390x-gnu" "11.2.0" + "@oxc-resolver/binding-linux-x64-gnu" "11.2.0" + "@oxc-resolver/binding-linux-x64-musl" "11.2.0" + "@oxc-resolver/binding-wasm32-wasi" "11.2.0" + "@oxc-resolver/binding-win32-arm64-msvc" "11.2.0" + "@oxc-resolver/binding-win32-x64-msvc" "11.2.0" p-limit@^2.2.0: version "2.3.0" @@ -10807,7 +10803,7 @@ postcss@^8.3.11, postcss@^8.4.33: picocolors "^1.1.0" source-map-js "^1.2.1" -postcss@^8.4.40, postcss@^8.5.3: +postcss@^8.4.40: version "8.5.3" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== @@ -10816,10 +10812,19 @@ postcss@^8.4.40, postcss@^8.5.3: picocolors "^1.1.1" source-map-js "^1.2.1" -posthog-js@1.248.1: - version "1.248.1" - resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.248.1.tgz#7d45bbf8af1fd1092871ee0b0a062dc0a1907aec" - integrity sha512-2KBbvvLbiNqQdoEgjczZJ7im5QT8zi0Q29a8AmfXs0UGyaYxmgqPCrE1elQmGBuAm1S3T+Xw2D6Ff0VQPXE6Rw== +postcss@^8.5.3: + version "8.5.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.4.tgz#d61014ac00e11d5f58458ed7247d899bd65f99c0" + integrity sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w== + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +posthog-js@1.249.4: + version "1.249.4" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.249.4.tgz#449a908e7363be13b86aff59c917943147c8a4e1" + integrity sha512-Qq4cxDZ1P9BkwguuoVNTiLGQiET9vrzwjYWLS3DduKhRXqEzERLl9tOq2X8ZNPbo+D207+FILdWg/dTKUItfDg== dependencies: core-js "^3.38.1" fflate "^0.4.8" @@ -11679,17 +11684,7 @@ schema-utils@^3.0.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" - integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -schema-utils@^4.3.0, schema-utils@^4.3.2: +schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== @@ -11884,9 +11879,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" - integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== + version "1.8.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" + integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== side-channel-list@^1.0.0: version "1.0.0" @@ -11987,7 +11982,7 @@ slice-ansi@^7.1.0: ansi-styles "^6.2.1" is-fullwidth-code-point "^5.0.0" -smol-toml@^1.3.1: +smol-toml@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.3.4.tgz#4ec76e0e709f586bc50ba30eb79024173c2b2221" integrity sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA== @@ -12327,10 +12322,10 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-5.0.1.tgz#0d8b7d01b23848ed7dbdf4baaaa31a8250d8cfa0" - integrity sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw== +strip-json-comments@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-5.0.2.tgz#14a76abd63b84a6d2419d14f26a0281d0cf6ea46" + integrity sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g== strip-json-comments@^3.1.1: version "3.1.1" @@ -12394,9 +12389,9 @@ stylelint-value-no-unknown-custom-properties@^6.0.1: resolve "^1.22.8" stylelint@^16.13.0: - version "16.19.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.19.1.tgz#486b95fa7518a3077ee2802bc6dda2174bc097bb" - integrity sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw== + version "16.20.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.20.0.tgz#ec9eeddd49c20bbc397473505e63ad22f1639228" + integrity sha512-B5Myu9WRxrgKuLs3YyUXLP2H0mrbejwNxPmyADlACWwFsrL8Bmor/nTSh4OMae5sHjOz6gkSeccQH34gM4/nAw== dependencies: "@csstools/css-parser-algorithms" "^3.0.4" "@csstools/css-tokenizer" "^3.0.3" @@ -12408,15 +12403,15 @@ stylelint@^16.13.0: cosmiconfig "^9.0.0" css-functions-list "^3.2.3" css-tree "^3.1.0" - debug "^4.3.7" + debug "^4.4.1" fast-glob "^3.3.3" fastest-levenshtein "^1.0.16" - file-entry-cache "^10.0.8" + file-entry-cache "^10.1.0" global-modules "^2.0.0" globby "^11.1.0" globjoin "^0.1.4" html-tags "^3.3.1" - ignore "^7.0.3" + ignore "^7.0.4" imurmurhash "^0.1.4" is-plain-object "^5.0.0" known-css-properties "^0.36.0" @@ -12773,9 +12768,9 @@ tr46@~0.0.3: integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tree-dump@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.0.2.tgz#c460d5921caeb197bde71d0e9a7b479848c5b8ac" - integrity sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.0.3.tgz#2f0e42e77354714418ed7ab44291e435ccdb0f80" + integrity sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg== tree-kill@^1.2.2: version "1.2.2" @@ -13186,10 +13181,10 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" -walk-up-path@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" - integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== +walk-up-path@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-4.0.0.tgz#590666dcf8146e2d72318164f1f2ac6ef51d4198" + integrity sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A== walk@^2.3.15: version "2.3.15" @@ -13306,9 +13301,9 @@ webpack-dev-middleware@^7.4.2: schema-utils "^4.0.0" webpack-dev-server@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.1.tgz#049072d6e19cbda8cf600b9e364e6662d61218ba" - integrity sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ== + version "5.2.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz#96a143d50c58fef0c79107e61df911728d7ceb39" + integrity sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg== dependencies: "@types/bonjour" "^3.5.13" "@types/connect-history-api-fallback" "^1.5.4" @@ -13326,7 +13321,7 @@ webpack-dev-server@^5.0.0: connect-history-api-fallback "^2.0.0" express "^4.21.2" graceful-fs "^4.2.6" - http-proxy-middleware "^2.0.7" + http-proxy-middleware "^2.0.9" ipaddr.js "^2.1.0" launch-editor "^2.6.1" open "^10.0.3" @@ -13609,9 +13604,9 @@ ws@^8.11.0: integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== ws@^8.18.0: - version "8.18.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.1.tgz#ea131d3784e1dfdff91adb0a4a116b127515e3cb" - integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== + version "8.18.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" + integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== xml-name-validator@^4.0.0: version "4.0.0" @@ -13723,6 +13718,6 @@ zod-validation-error@^3.0.3: integrity sha512-1KP64yqDPQ3rupxNv7oXhf7KdhHHgaqbKuspVoiN93TT0xrBjql+Svjkdjq/Qh/7GSMmgQs3AfvBT0heE35thw== zod@^3.22.4: - version "3.25.36" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.36.tgz#e5ae0fb7803662b8a21d9a1e282e7d5b8ff57726" - integrity sha512-eRFS3i8T0IrpGdL8HQyqFAugGOn7jOjyGgGdtv5NY4Wkhi7lJDk732bNZ609YMIGFbLoaj6J69O1Mura23gfIw== + version "3.25.57" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.57.tgz#317c8a6eb8a8460bb4b58defb19e8b50c1200e51" + integrity sha512-6tgzLuwVST5oLUxXTmBqoinKMd3JeesgbgseXeFasKKj8Q1FCZrHnbqJOyiEvr4cVAlbug+CgIsmJ8cl/pU5FA== From e293d2b58f12087ae49de46d9c287e3e986b0a4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:32:52 +0000 Subject: [PATCH 011/142] Update dependency @element-hq/element-web-playwright-common to v1.3.0 (#30115) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3793a91881..aceacd5228 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28,11 +28,11 @@ "@jridgewell/trace-mapping" "^0.3.24" "@axe-core/playwright@^4.10.1": - version "4.10.1" - resolved "https://registry.yarnpkg.com/@axe-core/playwright/-/playwright-4.10.1.tgz#c811ba8bfa244833cce422c4131e0043828c42cc" - integrity sha512-EV5t39VV68kuAfMKqb/RL+YjYKhfuGim9rgIaQ6Vntb2HgaCaau0h98Y3WEUqW1+PbdzxDtDNjFAipbtZuBmEA== + version "4.10.2" + resolved "https://registry.yarnpkg.com/@axe-core/playwright/-/playwright-4.10.2.tgz#f2d364986ce2ce58ef845c5def62ae7444c1d3aa" + integrity sha512-6/b5BJjG6hDaRNtgzLIfKr5DfwyiLHO4+ByTLB0cJgWSM8Ll7KqtdblIS6bEkwSF642/Ex91vNqIl3GLXGlceg== dependencies: - axe-core "~4.10.2" + axe-core "~4.10.3" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": version "7.27.1" @@ -1678,9 +1678,9 @@ integrity sha512-FYId5tYgaKvpqAXRXqs0pY4+7/A09bEl1mCxFqlS9jlZOCjlMZVvZuv8spbY8ZN9HaMvuVmx9J00Fn2gCJd0TQ== "@element-hq/element-web-playwright-common@^1.1.5": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@element-hq/element-web-playwright-common/-/element-web-playwright-common-1.2.0.tgz#63808520825899701d9359001430e91b0ca6d1e0" - integrity sha512-I+W+0PThZkwwfP03xT19q6C0jrMqSimD+6QjsKV+DdwJyoJrFfhHD10jil8dWelDMwrhyfk+qLiu6Go7UDgaog== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@element-hq/element-web-playwright-common/-/element-web-playwright-common-1.3.0.tgz#5f57eb2ee25e9733c92185ef57431db808deb603" + integrity sha512-tq3lN77f0KnTYtPVkRrwvsWpq/JAC6JqDkC2f6dxuvX3a+OmyjGnuoZh83kB2WNObfrrx7gxmsZpS7ov2mrw4Q== dependencies: "@axe-core/playwright" "^4.10.1" "@testcontainers/postgresql" "^11.0.0" @@ -3034,11 +3034,11 @@ "@svgr/plugin-svgo" "8.1.0" "@testcontainers/postgresql@^11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@testcontainers/postgresql/-/postgresql-11.0.0.tgz#6590f2398fae2d9ad78a748e92b89053d2380f56" - integrity sha512-cw2vIz5MS1AjXkxcPmOQh0NRdh7p6frSLOkjsBFuR5lUo3qnV3LmvCfanyRzgXs5aHGJLwc0mlQNfXnKedBF6Q== + version "11.0.3" + resolved "https://registry.yarnpkg.com/@testcontainers/postgresql/-/postgresql-11.0.3.tgz#53387b2706ef519afdbe9064c025f51a62b4471d" + integrity sha512-nMq0lBLguZecp9JDV4J8nlPWwxOQ4XiXUIGkV5Lvj1CMdVqbqQJe4eVrNHVC3rIM/w8nadNp5ecEoxnwkhG33w== dependencies: - testcontainers "^11.0.0" + testcontainers "^11.0.3" "@testing-library/dom@^10.4.0": version "10.4.0" @@ -4532,7 +4532,7 @@ axe-core@^4.10.0: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== -axe-core@~4.10.2: +axe-core@~4.10.3: version "4.10.3" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.3.tgz#04145965ac7894faddbac30861e5d8f11bfd14fc" integrity sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg== @@ -7078,13 +7078,14 @@ foreground-child@^3.1.0: signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae" + integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" es-set-tostringtag "^2.1.0" + hasown "^2.0.2" mime-types "^2.1.12" formatly@^0.2.4: @@ -9208,9 +9209,9 @@ magic-string@0.30.8: "@jridgewell/sourcemap-codec" "^1.4.15" mailpit-api@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/mailpit-api/-/mailpit-api-1.4.0.tgz#881b473434b86c13ff85c3d92e9474daf4376135" - integrity sha512-A7hMRDQGo0jf1HZM06tw8dSgT2cYEev7lh1ehUXDWIBWXuK+Rq6HHCCQz624uAFYWEngmt4RGG1kMGGUC7iY6A== + version "1.5.0" + resolved "https://registry.yarnpkg.com/mailpit-api/-/mailpit-api-1.5.0.tgz#c7006c3650308f4eec1c36f51ac1a66c1e949e5e" + integrity sha512-csvr3se1TKHhiMJBrToVxX7W4O/9VZ74ivitHHOZezYVLp+nZthx7dWWXB8BwCJPmTLtfKHcJXWqMluK453ulA== dependencies: axios "^1.9.0" @@ -12630,7 +12631,7 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -testcontainers@^11.0.0: +testcontainers@^11.0.0, testcontainers@^11.0.3: version "11.0.0" resolved "https://registry.yarnpkg.com/testcontainers/-/testcontainers-11.0.0.tgz#248d8e59b922c993da378e6ef8bb018c0fc29330" integrity sha512-8zY2V+eovC6aylgMqMR3A7H+un2gqpqepbvBCnjo7QP2fpI0pJZhSus+A5TckHpF2CR2d1Zj/IQ5rNPW/HjS6g== From fadaaccebce2b468df7fdfee89489044090959a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 23:08:00 +0000 Subject: [PATCH 012/142] Update dependency testcontainers to v11.0.2 (#30112) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/yarn.lock b/yarn.lock index aceacd5228..007e5a18f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3213,9 +3213,9 @@ "@types/ssh2" "*" "@types/dockerode@^3.3.39": - version "3.3.39" - resolved "https://registry.yarnpkg.com/@types/dockerode/-/dockerode-3.3.39.tgz#629adef5db9b3bb955423db1ccd586ee2b36e2e7" - integrity sha512-uMPmxehH6ofeYjaslASPtjvyH8FRJdM9fZ+hjhGzL4Jq3bGjr9D7TKmp9soSwgFncNk0HOwmyBxjqOb3ikjjsA== + version "3.3.40" + resolved "https://registry.yarnpkg.com/@types/dockerode/-/dockerode-3.3.40.tgz#5b1055bf4fd5cf106c545b4478d611686fb1cc95" + integrity sha512-O1ckSFYbcYv/KcnAHMLCnKQYY8/5+6CRzpsOPcQIePHRX2jG4Gmz8uXPMCXIxTGN9OYkE5eox/L67l2sGY1UYg== dependencies: "@types/docker-modem" "*" "@types/node" "*" @@ -3455,7 +3455,7 @@ dependencies: "@types/node" "*" -"@types/node@*": +"@types/node@*", "@types/node@>=13.7.0": version "24.0.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.0.tgz#14a278ce74dd33993f2c4e5dd614760728c0fba8" integrity sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg== @@ -3469,13 +3469,6 @@ dependencies: undici-types "~5.26.4" -"@types/node@>=13.7.0": - version "22.15.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.23.tgz#a0b7c03f951f1ffe381a6a345c68d80e48043dd0" - integrity sha512-7Ec1zaFPF4RJ0eXu1YT/xgiebqwqoJz8rYPDi/O2BcZ++Wpt0Kq9cl0eg6NN6bYbPnR67ZLo7St5Q3UK0SnARw== - dependencies: - undici-types "~6.21.0" - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -5941,10 +5934,10 @@ docker-modem@^5.0.6: split-ca "^1.0.1" ssh2 "^1.15.0" -dockerode@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-4.0.6.tgz#e53978605346afaaed940a72e24d4e8490d52437" - integrity sha512-FbVf3Z8fY/kALB9s+P9epCpWhfi/r0N2DgYYcYpsAUlaTxPjdsitsFobnltb+lyCgAIvf9C+4PSWlTnHlJMf1w== +dockerode@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-4.0.7.tgz#8c68a80f4e057723a07a1e886416248945056621" + integrity sha512-R+rgrSRTRdU5mH14PZTCPZtW/zw3HDWNTS/1ZAQpL/5Upe/ye5K9WQkIysu4wBoiMwKynsz0a8qWuGsHgEvSAA== dependencies: "@balena/dockerignore" "^1.0.2" "@grpc/grpc-js" "^1.11.1" @@ -10932,9 +10925,9 @@ properties-reader@^2.3.0: mkdirp "^1.0.4" protobufjs@^7.2.5, protobufjs@^7.3.2: - version "7.4.0" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" - integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== + version "7.5.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.3.tgz#13f95a9e3c84669995ec3652db2ac2fb00b89363" + integrity sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -12140,9 +12133,9 @@ statuses@2.0.1, statuses@^2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== streamx@^2.15.0, streamx@^2.21.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.0.tgz#cd7b5e57c95aaef0ff9b2aef7905afa62ec6e4a7" - integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== + version "2.22.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.1.tgz#c97cbb0ce18da4f4db5a971dc9ab68ff5dc7f5a5" + integrity sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA== dependencies: fast-fifo "^1.3.2" text-decoder "^1.1.0" @@ -12632,9 +12625,9 @@ test-exclude@^6.0.0: minimatch "^3.0.4" testcontainers@^11.0.0, testcontainers@^11.0.3: - version "11.0.0" - resolved "https://registry.yarnpkg.com/testcontainers/-/testcontainers-11.0.0.tgz#248d8e59b922c993da378e6ef8bb018c0fc29330" - integrity sha512-8zY2V+eovC6aylgMqMR3A7H+un2gqpqepbvBCnjo7QP2fpI0pJZhSus+A5TckHpF2CR2d1Zj/IQ5rNPW/HjS6g== + version "11.0.3" + resolved "https://registry.yarnpkg.com/testcontainers/-/testcontainers-11.0.3.tgz#2d444996d0eebed27d2caed6cdd7321210d5353e" + integrity sha512-Xu6ZAaE1FaLyHzFSYdCsd+xMPxUegUjkum0r6zgO8SinnFDHRX/PllIHMt1D+DVUmJqBvPQI6vge/J5jgE5vng== dependencies: "@balena/dockerignore" "^1.0.2" "@types/dockerode" "^3.3.39" @@ -12643,7 +12636,7 @@ testcontainers@^11.0.0, testcontainers@^11.0.3: byline "^5.0.0" debug "^4.4.1" docker-compose "^1.2.0" - dockerode "^4.0.6" + dockerode "^4.0.7" get-port "^7.1.0" proper-lockfile "^4.1.2" properties-reader "^2.3.0" @@ -12963,11 +12956,6 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - undici-types@~7.8.0: version "7.8.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" From 82200b57cffbadf61b0eeb916449b33a0112baea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:08:44 +0100 Subject: [PATCH 013/142] Update typescript-eslint monorepo to v8.33.1 (#30113) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 126 +++++++++++++----------------------------------------- 1 file changed, 30 insertions(+), 96 deletions(-) diff --git a/yarn.lock b/yarn.lock index 007e5a18f4..b1b78412f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3685,38 +3685,29 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^8.19.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz#51ed03649575ba51bcee7efdbfd85283249b5447" - integrity sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ== + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz#96c9f818782fe24cd5883a5d517ca1826d3fa9c2" + integrity sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/type-utils" "8.33.0" - "@typescript-eslint/utils" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" + "@typescript-eslint/scope-manager" "8.34.0" + "@typescript-eslint/type-utils" "8.34.0" + "@typescript-eslint/utils" "8.34.0" + "@typescript-eslint/visitor-keys" "8.34.0" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" "@typescript-eslint/parser@^8.19.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.0.tgz#8e523c2b447ad7cd6ac91b719d8b37449481784d" - integrity sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ== + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.34.0.tgz#703270426ac529304ae6988482f487c856d9c13f" + integrity sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA== dependencies: - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" - debug "^4.3.4" - -"@typescript-eslint/project-service@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.0.tgz#71f37ef9010de47bf20963914743c5cbef851e08" - integrity sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A== - dependencies: - "@typescript-eslint/tsconfig-utils" "^8.33.0" - "@typescript-eslint/types" "^8.33.0" + "@typescript-eslint/scope-manager" "8.34.0" + "@typescript-eslint/types" "8.34.0" + "@typescript-eslint/typescript-estree" "8.34.0" + "@typescript-eslint/visitor-keys" "8.34.0" debug "^4.3.4" "@typescript-eslint/project-service@8.34.0": @@ -3736,14 +3727,6 @@ "@typescript-eslint/types" "8.23.0" "@typescript-eslint/visitor-keys" "8.23.0" -"@typescript-eslint/scope-manager@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" - integrity sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw== - dependencies: - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" - "@typescript-eslint/scope-manager@8.34.0": version "8.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz#9fedaec02370cf79c018a656ab402eb00dc69e67" @@ -3752,23 +3735,18 @@ "@typescript-eslint/types" "8.34.0" "@typescript-eslint/visitor-keys" "8.34.0" -"@typescript-eslint/tsconfig-utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" - integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== - -"@typescript-eslint/tsconfig-utils@8.34.0", "@typescript-eslint/tsconfig-utils@^8.33.0", "@typescript-eslint/tsconfig-utils@^8.34.0": +"@typescript-eslint/tsconfig-utils@8.34.0", "@typescript-eslint/tsconfig-utils@^8.34.0": version "8.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz#97d0a24e89a355e9308cebc8e23f255669bf0979" integrity sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA== -"@typescript-eslint/type-utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" - integrity sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ== +"@typescript-eslint/type-utils@8.34.0": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz#03e7eb3776129dfd751ba1cac0c6ea4b0fab5ec6" + integrity sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg== dependencies: - "@typescript-eslint/typescript-estree" "8.33.0" - "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/typescript-estree" "8.34.0" + "@typescript-eslint/utils" "8.34.0" debug "^4.3.4" ts-api-utils "^2.1.0" @@ -3777,12 +3755,7 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.23.0.tgz#3355f6bcc5ebab77ef6dcbbd1113ec0a683a234a" integrity sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ== -"@typescript-eslint/types@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" - integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== - -"@typescript-eslint/types@8.34.0", "@typescript-eslint/types@^8.33.0", "@typescript-eslint/types@^8.34.0": +"@typescript-eslint/types@8.34.0", "@typescript-eslint/types@^8.34.0": version "8.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.34.0.tgz#18000f205c59c9aff7f371fc5426b764cf2890fb" integrity sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA== @@ -3801,22 +3774,6 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/typescript-estree@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" - integrity sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ== - dependencies: - "@typescript-eslint/project-service" "8.33.0" - "@typescript-eslint/tsconfig-utils" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/visitor-keys" "8.33.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^2.1.0" - "@typescript-eslint/typescript-estree@8.34.0": version "8.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz#c9f3feec511339ef64e9e4884516c3e558f1b048" @@ -3833,15 +3790,15 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" - integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== +"@typescript-eslint/utils@8.34.0", "@typescript-eslint/utils@^8.32.1": + version "8.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.34.0.tgz#7844beebc1153b4d3ec34135c2da53a91e076f8d" + integrity sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.33.0" - "@typescript-eslint/types" "8.33.0" - "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/scope-manager" "8.34.0" + "@typescript-eslint/types" "8.34.0" + "@typescript-eslint/typescript-estree" "8.34.0" "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": version "8.23.0" @@ -3853,16 +3810,6 @@ "@typescript-eslint/types" "8.23.0" "@typescript-eslint/typescript-estree" "8.23.0" -"@typescript-eslint/utils@^8.32.1": - version "8.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.34.0.tgz#7844beebc1153b4d3ec34135c2da53a91e076f8d" - integrity sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ== - dependencies: - "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.34.0" - "@typescript-eslint/types" "8.34.0" - "@typescript-eslint/typescript-estree" "8.34.0" - "@typescript-eslint/visitor-keys@8.23.0": version "8.23.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz#40405fd26a61d23f5f4c2ed0f016a47074781df8" @@ -3871,14 +3818,6 @@ "@typescript-eslint/types" "8.23.0" eslint-visitor-keys "^4.2.0" -"@typescript-eslint/visitor-keys@8.33.0": - version "8.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" - integrity sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ== - dependencies: - "@typescript-eslint/types" "8.33.0" - eslint-visitor-keys "^4.2.0" - "@typescript-eslint/visitor-keys@8.34.0": version "8.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz#c7a149407be31d755dba71980617d638a40ac099" @@ -7726,12 +7665,7 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078" - integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== - -ignore@^7.0.4: +ignore@^7.0.0, ignore@^7.0.4: version "7.0.5" resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== From ed9b48033825d9660af92f2255a7791b89ce954c Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Wed, 11 Jun 2025 02:01:18 -0500 Subject: [PATCH 014/142] [create-pull-request] automated change (#30120) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/cs.json | 3 +-- src/i18n/strings/cy.json | 3 +-- src/i18n/strings/de_DE.json | 3 +-- src/i18n/strings/el.json | 3 +-- src/i18n/strings/eo.json | 3 +-- src/i18n/strings/es.json | 3 +-- src/i18n/strings/et.json | 31 +++++++++++++++++++++++++++++-- src/i18n/strings/fa.json | 3 +-- src/i18n/strings/fi.json | 3 +-- src/i18n/strings/fr.json | 4 ++-- src/i18n/strings/gl.json | 3 +-- src/i18n/strings/he.json | 3 +-- src/i18n/strings/hu.json | 3 +-- src/i18n/strings/id.json | 3 +-- src/i18n/strings/is.json | 3 +-- src/i18n/strings/it.json | 3 +-- src/i18n/strings/ja.json | 3 +-- src/i18n/strings/ka.json | 2 -- src/i18n/strings/lo.json | 3 +-- src/i18n/strings/lt.json | 3 +-- src/i18n/strings/lv.json | 3 +-- src/i18n/strings/mg_MG.json | 2 -- src/i18n/strings/nb_NO.json | 25 +++++++++++++++++++++++-- src/i18n/strings/nl.json | 3 +-- src/i18n/strings/pl.json | 3 +-- src/i18n/strings/pt.json | 2 -- src/i18n/strings/pt_BR.json | 29 +++++++++++++++++++++++++++-- src/i18n/strings/ru.json | 3 +-- src/i18n/strings/sk.json | 3 +-- src/i18n/strings/sq.json | 3 +-- src/i18n/strings/sv.json | 3 +-- src/i18n/strings/tr.json | 3 +-- src/i18n/strings/uk.json | 25 ++++++++++++++++++++++--- src/i18n/strings/vi.json | 3 +-- src/i18n/strings/zh_Hans.json | 3 +-- src/i18n/strings/zh_Hant.json | 3 +-- 36 files changed, 131 insertions(+), 73 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index c744b2dae8..33868e7682 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -922,8 +922,6 @@ "security_key_title": "Klíč pro obnovení" }, "bootstrap_title": "Příprava klíčů", - "cancel_entering_passphrase_description": "Chcete určitě zrušit zadávání přístupové fráze?", - "cancel_entering_passphrase_title": "Zrušit zadávání přístupové fráze?", "confirm_encryption_setup_body": "Kliknutím na tlačítko níže potvrďte nastavení šifrování.", "confirm_encryption_setup_title": "Potvrďte nastavení šifrování", "cross_signing_room_normal": "Místnost je koncově šifrovaná", @@ -3133,6 +3131,7 @@ "upgraderoom": "Aktualizuje místnost na novou verzi", "upgraderoom_permission_error": "Na provedení tohoto příkazu nemáte dostatečná oprávnění.", "usage": "Použití", + "verify": "Ověří uživatele, relaci a veřejné klíče", "view": "Zobrazí místnost s danou adresou", "whois": "Zobrazuje informace o uživateli" }, diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json index 2255353380..2252975325 100644 --- a/src/i18n/strings/cy.json +++ b/src/i18n/strings/cy.json @@ -918,8 +918,6 @@ "security_key_title": "Allwedd Adfer" }, "bootstrap_title": "Gosod allweddi", - "cancel_entering_passphrase_description": "Ydych chi'n siŵr eich bod am ddiddymu'r cyfrinymadrodd?", - "cancel_entering_passphrase_title": "Diddymu cyflwyno cyfrinymadrodd?", "confirm_encryption_setup_body": "Clicio'r botwm isod i gadarnhau gosod amgryptio.", "confirm_encryption_setup_title": "Cadarnhau gosodiad amgryptio", "cross_signing_room_normal": "Mae'r ystafell hon wedi'i hamgryptio o ben-i-ben", @@ -3012,6 +3010,7 @@ "upgraderoom": "Yn uwchraddio ystafell i fersiwn newydd", "upgraderoom_permission_error": "Nid oes gennych y caniatâd gofynnol i ddefnyddio'r gorchymyn hwn.", "usage": "Defnydd", + "verify": "Yn dilysu defnyddiwr, sesiwn, a pubkey tuple", "view": "Ystafell golygfeydd gyda chyfeiriad a roddwyd", "whois": "Yn arddangos gwybodaeth am ddefnyddiwr" }, diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index e55b50ce88..602b3f22f5 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -920,8 +920,6 @@ "security_key_title": "Wiederherstellungsschlüssel" }, "bootstrap_title": "Schlüssel werden eingerichtet", - "cancel_entering_passphrase_description": "Bist du sicher, dass du die Eingabe der Passphrase abbrechen möchtest?", - "cancel_entering_passphrase_title": "Eingabe der Passphrase abbrechen?", "confirm_encryption_setup_body": "Klick die Schaltfläche unten um die Einstellungen der Verschlüsselung zu bestätigen.", "confirm_encryption_setup_title": "Bestätige die Einrichtung der Verschlüsselung", "cross_signing_room_normal": "Dieser Raum ist Ende-zu-Ende verschlüsselt", @@ -3125,6 +3123,7 @@ "upgraderoom": "Aktualisiert den Raum auf eine neue Version", "upgraderoom_permission_error": "Du hast nicht die erforderlichen Berechtigungen, diesen Befehl zu verwenden.", "usage": "Verwendung", + "verify": "Verifiziert Benutzer, Sitzung und öffentlichen Schlüsselpaare", "view": "Raum mit angegebener Adresse betrachten", "whois": "Zeigt Informationen über Benutzer" }, diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index 662d56b6d5..3a25563601 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -720,8 +720,6 @@ "security_key_title": "Κλειδί Ασφαλείας" }, "bootstrap_title": "Ρύθμιση κλειδιών", - "cancel_entering_passphrase_description": "Είστε σίγουρος/η ότι θέλετε να ακυρώσετε την εισαγωγή κωδικού;", - "cancel_entering_passphrase_title": "Ακύρωση εισαγωγής κωδικού;", "confirm_encryption_setup_body": "Κάντε κλικ στο κουμπί παρακάτω για να επιβεβαιώσετε τη ρύθμιση της κρυπτογράφησης.", "confirm_encryption_setup_title": "Επιβεβαιώστε τη ρύθμιση κρυπτογράφησης", "cross_signing_room_normal": "Αυτό το δωμάτιο έχει κρυπτογράφηση από άκρο σε άκρο", @@ -2335,6 +2333,7 @@ "upgraderoom": "Αναβαθμίζει το δωμάτιο σε μια καινούργια έκδοση", "upgraderoom_permission_error": "Δεν διαθέτετε τις απαιτούμενες άδειες για να χρησιμοποιήσετε αυτήν την εντολή.", "usage": "Χρήση", + "verify": "Επιβεβαιώνει έναν χρήστη, συνεδρία, και pubkey tuple", "whois": "Εμφανίζει πληροφορίες για έναν χρήστη" }, "space": { diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index a6f28167ea..5ac803f285 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -604,8 +604,6 @@ "security_key_title": "Sekureca ŝlosilo" }, "bootstrap_title": "Agordo de klavoj", - "cancel_entering_passphrase_description": "Ĉu vi certe volas nuligi enigon de pasfrazo?", - "cancel_entering_passphrase_title": "Ĉu nuligi enigon de pasfrazo?", "confirm_encryption_setup_body": "Klaku sube la butonon por konfirmi agordon de ĉifrado.", "confirm_encryption_setup_title": "Konfirmi agordon de ĉifrado", "cross_signing_room_normal": "Ĉi tiu ĉambro uzas tutvojan ĉifradon", @@ -1957,6 +1955,7 @@ "upgraderoom": "Gradaltigas ĉambron al nova versio", "upgraderoom_permission_error": "Vi ne havas sufiĉajn permesojn por uzi ĉi tiun komandon.", "usage": "Uzo", + "verify": "Kontrolas opon de uzanto, salutaĵo, kaj publika ŝlosilo", "whois": "Montras informojn pri uzanto" }, "space": { diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 6abbdbe819..75a08251c5 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -748,8 +748,6 @@ "security_key_title": "Clave de seguridad" }, "bootstrap_title": "Configurando claves", - "cancel_entering_passphrase_description": "¿Estas seguro que quieres cancelar el ingresar tu contraseña de recuperación?", - "cancel_entering_passphrase_title": "¿Cancelar el ingresar tu contraseña de recuperación?", "confirm_encryption_setup_body": "Haz clic en el botón de abajo para confirmar la configuración del cifrado.", "confirm_encryption_setup_title": "Confirmar la configuración de cifrado", "cross_signing_room_normal": "Esta sala usa cifrado de extremo a extremo", @@ -2485,6 +2483,7 @@ "upgraderoom": "Actualiza una sala a una nueva versión", "upgraderoom_permission_error": "No tienes los permisos requeridos para usar este comando.", "usage": "Uso", + "verify": "Verifica a un usuario, sesión y tupla de clave pública", "whois": "Muestra información sobre un usuario" }, "space": { diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 7dee6e6a31..9a27318316 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -786,6 +786,7 @@ "cross_signing_status": "Risttunnustamise olek:", "cross_signing_untrusted": "Sinu kasutajakonto risttunnustamise identiteet on krüptitud andmehoidlas olemas, aga see sessioon teda veel ei usalda.", "crypto_not_available": "Krüptomoodul pole saadaval", + "device_id": "Seadme tunnus", "key_backup_active_version": "Varukoopia aktiivne versioon:", "key_backup_active_version_none": "Puudub", "key_backup_inactive_warning": "See sessioon ei varunda sinu krüptovõtmeid.", @@ -798,6 +799,8 @@ "secret_storage_ready": "on valmis", "secret_storage_status": "Krüptitud andmeruum:", "self_signing_private_key_cached_status": "Privaatvõti allkirjastamiseks sinu nimel:", + "session": "Sessioon", + "session_fingerprint": "Sõrmejälg (sessiooni võti)", "title": "Läbiv krüptimine", "user_signing_private_key_cached_status": "Kasutaja privaatvõti allkirjastamiseks:" }, @@ -823,6 +826,7 @@ "low_bandwidth_mode": "Vähese ribalaiusega režiim", "low_bandwidth_mode_description": "Eeldab, et koduserver toetab sellist funktsionaalsust.", "main_timeline": "Peamine ajajoon", + "manual_device_verification": "Seadme käsitsi verifitseerimine", "no_receipt_found": "Lugemisteatist ei leidu", "notification_state": "Teavituste olek: %(notificationState)s", "notifications_debug": "Teavituste silumine", @@ -920,8 +924,6 @@ "security_key_title": "Taastevõti" }, "bootstrap_title": "Võtame krüptovõtmed kasutusele", - "cancel_entering_passphrase_description": "Kas oled kindel et sa soovid katkestada paroolifraasi sisestamise?", - "cancel_entering_passphrase_title": "Kas katkestame paroolifraasi sisestamise?", "confirm_encryption_setup_body": "Kinnitamaks, et soovid krüptimist seadistada, klõpsi järgnevat nuppu.", "confirm_encryption_setup_title": "Krüptimise seadistuse kinnitamine", "cross_signing_room_normal": "See jututuba on läbivalt krüptitud", @@ -1009,6 +1011,21 @@ "incoming_sas_dialog_waiting": "Ootan teise osapoole kinnitust…", "incoming_sas_user_dialog_text_1": "Selle kasutaja usaldamiseks peaksid ta verifitseerima. Kui sa pruugid läbivalt krüptitud sõnumeid, siis kasutajate verifitseerimine tagab sulle täiendava meelerahu.", "incoming_sas_user_dialog_text_2": "Selle kasutaja verifitseerimisel märgitakse tema sessioon usaldusväärseks ning samuti märgitakse sinu sessioon tema jaoks usaldusväärseks.", + "manual": { + "already_verified": "See seade on juba verifitseeritud", + "already_verified_and_wrong_fingerprint": "Viidatud sõrmejälg ei klapi, aga see seade on juba verifitseeritud!", + "device_id": "Seadme tunnus", + "failure_description": "„%(deviceId)s“ seadme verifitseerimine ei õnnestunud: %(error)s", + "failure_title": "Verifitseerimine ei õnnestunud", + "fingerprint": "Sõrmejälg (sessiooni võti)", + "no_crypto": "Seadme verifitseerimine ei õnnestunud - krüptoteenused pole kasutusel", + "no_device": "Seadme verifitseerimine ei õnnestunud - seadet tunnusega „%(deviceId)s“ polnud võimalik leida", + "no_userid": "Seadme verifitseerimine ei õnnestunud - meie kasutajatunnust ei õnnestu leida", + "success_description": "See seade (%(deviceId)s) on nüüd risttunnustatud", + "success_title": "Verifitseerimine õnnestus", + "text": "Verifitseerimiseks sisesta ühe oma seadme tunnus ja sõrmejälg. Palun arvesta, et see võimaldab muul seadmel saata ja vastu võtta sõnumeid esinedes sinuna. KUI KEEGI PALUS SUL SIIA MIDAGI KOPEERIDA, SIIS ON SEE KAHTLANE JA ILMSELT PROOVITAKSE SIND PETTA!", + "wrong_fingerprint": "„%(deviceId)s“ seadme verifitseerimine ei õnnestunud - lisatud sõrmejälg „%(fingerprint)s“ ja seadme sõrmejälg „%(fprint)s“ pole samad" + }, "no_key_or_device": "Tundub, et sul ei ole ei taastevõtit ega muid seadmeid, mida saaksid verifitseerimiseks kasutada. Siin seadmes ei saa lugeda vanu krüptitud sõnumeid. Enda tuvastamiseks selles seadmes pead oma vanad verifitseerimisvõtmed kustutama.", "no_support_qr_emoji": "See seade, mida sa tahad verifitseerida ei toeta QR-koodi ega emoji-põhist verifitseerimist, aga just neid %(brand)s oskab kasutada. Proovi mõne muu Matrix'i kliendiga.", "other_party_cancelled": "Teine osapool tühistas verifitseerimise.", @@ -2049,6 +2066,7 @@ "read_topic": "Teema lugemiseks klõpsi", "rejecting": "Hülgan kutset…", "rejoin_button": "Liitu uuesti", + "room_is_low_priority": "See on vähetähtis jututuba", "search": { "all_rooms_button": "Otsi kõikidest jututubadest", "placeholder": "Otsi sõnumeid…", @@ -2687,6 +2705,9 @@ "inline_url_previews_room": "Luba URL'ide vaikimisi eelvaated selles jututoas osalejate jaoks", "inline_url_previews_room_account": "Luba URL'ide eelvaated selle jututoa jaoks (mõjutab vaid sind)", "insert_trailing_colon_mentions": "Mainimiste järel näita sõnumi alguses koolonit", + "invite_controls": { + "default_label": "Luba kasutajatel sind kutsida jututubadesse" + }, "jump_to_bottom_on_send": "Sõnumi saatmiseks hüppa ajajoone lõppu", "key_backup": { "backup_in_progress": "Sinu krüptovõtmeid varundatakse (esimese varukoopia tegemine võib võtta paar minutit).", @@ -2753,6 +2774,7 @@ "show_in_private": "Privaatsetes jututubades", "show_media": "Alati" }, + "not_supported": "See funktsionaalsus pole sinu serveris kasutusel.", "notifications": { "default_setting_description": "See seadistus kehtib vaikimisi kõikides sinu jututubades.", "default_setting_section": "Soovin teavitusi (vaikimisi seadistused)", @@ -2810,6 +2832,7 @@ "voip": "Kõned ja videokõned" }, "preferences": { + "Electron.enableContentProtection": "Blokeeri akna sisu salvestamine teiste rakenduste poolt", "Electron.enableHardwareAcceleration": "Kasuta riistvaralist kiirendust (jõustamiseks käivita %(appName)s uuesti)", "always_show_menu_bar": "Näita aknas alati menüüriba", "autocomplete_delay": "Viivitus automaatsel sõnalõpetusel (ms)", @@ -2982,6 +3005,7 @@ "show_chat_effects": "Näita vestluses edevat graafikat (näiteks kui keegi on saatnud serpentiine)", "show_displayname_changes": "Näita kuvatava nime muutusi", "show_join_leave": "Näita jututubade liitumise ja lahkumise teateid (ei käi kutsete, müksamiste ja keelamiste kohta)", + "show_message_previews": "Näita sõnumite eelvaateid", "show_nsfw_content": "Näita töökeskkonnas mittesobilikku sisu", "show_read_receipts": "Näita teiste kasutajate lugemisteatiseid", "show_redaction_placeholder": "Näita kustutatud sõnumite asemel kohatäidet", @@ -3088,6 +3112,8 @@ "jumptodate": "Vaata ajajoont alates sellest kuupäevast", "jumptodate_invalid_input": "Me ei suutnud sellist kuupäeva mõista (%(inputDate)s). Pigem kasuta aaaa-kk-pp vormingut.", "lenny": "Lisa ( ͡° ͜ʖ ͡°) smaili vormindamata sõnumi algusesse", + "manual_device_verification_confirm_description": "See võimaldab muul seadmel saata ja vastu võtta sõnumeid esinedes sinuna. KUI KEEGI PALUS SUL SIIA MIDAGI KOPEERIDA, SIIS ON SEE KAHTLANE JA ILMSELT PROOVITAKSE SIND PETTA. Kas sa oled kindel, et soovid seda teist seadet verifitseerida?", + "manual_device_verification_confirm_title": "Hoiatus: seadme käsitsi verifitseerimine", "me": "Näitab tegevusi", "msg": "Saadab sõnumi näidatud kasutajale", "myavatar": "Sellega muudad sinu tunnuspilti kõikides jututubades", @@ -3128,6 +3154,7 @@ "upgraderoom": "Uuendab jututoa uue versioonini", "upgraderoom_permission_error": "Sul ei ole piisavalt õigusi selle käsu käivitamiseks.", "usage": "Kasutus", + "verify": "Verifitseeri üks oma seadmetest käsitsi", "view": "Vaata sellise aadressiga jututuba", "whois": "Näitab teavet kasutaja kohta" }, diff --git a/src/i18n/strings/fa.json b/src/i18n/strings/fa.json index 7b375d4db0..acf6654db0 100644 --- a/src/i18n/strings/fa.json +++ b/src/i18n/strings/fa.json @@ -564,8 +564,6 @@ "security_key_title": "کلید امنیتی" }, "bootstrap_title": "تنظیم کلیدها", - "cancel_entering_passphrase_description": "آیا مطمئن هستید که می خواهید وارد کردن عبارت امنیتی را لغو کنید؟", - "cancel_entering_passphrase_title": "وارد کردن عبارت امنیتی لغو شود؟", "confirm_encryption_setup_body": "برای تأیید و فعال‌سازی رمزگذاری ، روی دکمه زیر کلیک کنید.", "confirm_encryption_setup_title": "راه‌اندازی رمزگذاری را تأیید کنید", "cross_signing_room_normal": "این اتاق به صورت سرتاسر رمزشده است", @@ -1716,6 +1714,7 @@ "upgraderoom": "یک اتاق را به نسخه جدید ارتقا دهید", "upgraderoom_permission_error": "شما مجوزهای لازم را برای استفاده از این دستور ندارید.", "usage": "استفاده", + "verify": "یک کاربر، نشست و عبارت کلید عمومی را تائید می‌کند", "whois": "اطلاعات مربوط به کاربر را نمایش می دهد" }, "space": { diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 366bd83467..7e993adc31 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -796,8 +796,6 @@ "security_key_title": "Palautusavain" }, "bootstrap_title": "Otetaan avaimet käyttöön", - "cancel_entering_passphrase_description": "Haluatko varmasti peruuttaa salasanan syöttämisen?", - "cancel_entering_passphrase_title": "Peruuta salasanan syöttäminen?", "confirm_encryption_setup_body": "Napsauta alla olevaa painiketta vahvistaaksesi salauksen asettamisen.", "confirm_encryption_setup_title": "Vahvista salauksen asetukset", "cross_signing_room_normal": "Tämä huone käyttää päästä päähän -salausta", @@ -2697,6 +2695,7 @@ "upgraderoom": "Päivittää huoneen uuteen versioon", "upgraderoom_permission_error": "Sinulla ei ole vaadittavia oikeuksia tämän komennon käyttämiseksi.", "usage": "Käyttö", + "verify": "Varmentaa käyttäjän, istunnon ja julkiset avaimet", "whois": "Näyttää tietoa käyttäjästä" }, "space": { diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 4dd7c426f7..e7cab1d82a 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -920,8 +920,6 @@ "security_key_title": "Clé de récupération" }, "bootstrap_title": "Configuration des clés", - "cancel_entering_passphrase_description": "Souhaitez-vous vraiment annuler la saisie de la phrase de passe ?", - "cancel_entering_passphrase_title": "Annuler la saisie du mot de passe ?", "confirm_encryption_setup_body": "Cliquez sur le bouton ci-dessous pour confirmer la configuration du chiffrement.", "confirm_encryption_setup_title": "Confirmer la configuration du chiffrement", "cross_signing_room_normal": "Ce salon est chiffré de bout en bout", @@ -2809,6 +2807,7 @@ "voip": "Appels audio et vidéo" }, "preferences": { + "Electron.enableContentProtection": "Empêcher le contenu de la fenêtre d'être capturé par d'autres applications", "Electron.enableHardwareAcceleration": "Activer l’accélération matérielle (redémarrez %(appName)s pour l'activer)", "always_show_menu_bar": "Toujours afficher la barre de menu de la fenêtre", "autocomplete_delay": "Délai pour l’autocomplétion (ms)", @@ -3128,6 +3127,7 @@ "upgraderoom": "Met à niveau un salon vers une nouvelle version", "upgraderoom_permission_error": "Vous n’avez pas les autorisations nécessaires pour utiliser cette commande.", "usage": "Utilisation", + "verify": "Vérifie un utilisateur, une session et une collection de clés publiques", "view": "Affiche le salon avec cette adresse", "whois": "Affiche des informations à propos de l’utilisateur" }, diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json index be37d40bc6..8b32535f57 100644 --- a/src/i18n/strings/gl.json +++ b/src/i18n/strings/gl.json @@ -676,8 +676,6 @@ "security_key_title": "Chave de Seguridade" }, "bootstrap_title": "Configurando as chaves", - "cancel_entering_passphrase_description": "¿Estás seguro de que non queres escribir a frase de paso?", - "cancel_entering_passphrase_title": "Cancelar a escrita da frase de paso?", "confirm_encryption_setup_body": "Preme no botón inferior para confirmar os axustes do cifrado.", "confirm_encryption_setup_title": "Confirma os axustes de cifrado", "cross_signing_room_normal": "Esta sala está cifrada extremo-a-extremo", @@ -2255,6 +2253,7 @@ "upgraderoom": "Subir a sala de versión", "upgraderoom_permission_error": "Non tes os permisos suficientes para usar este comando.", "usage": "Uso", + "verify": "Verifica unha usuaria, sesión e chave pública", "whois": "Mostra información acerca da usuaria" }, "space": { diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json index 22a1cecc89..c4783212ef 100644 --- a/src/i18n/strings/he.json +++ b/src/i18n/strings/he.json @@ -574,8 +574,6 @@ "security_key_title": "מפתח אבטחה" }, "bootstrap_title": "מגדיר מפתחות", - "cancel_entering_passphrase_description": "האם אתם בטוחים שהינכם רוצים לבטל?", - "cancel_entering_passphrase_title": "בטל הקלדת סיסמא?", "confirm_encryption_setup_body": "לחץ על הלחצן למטה כדי לאשר את הגדרת ההצפנה.", "confirm_encryption_setup_title": "אשר את הגדרת ההצפנה", "cross_signing_room_normal": "חדר זה מוצפן מקצה לקצה", @@ -1874,6 +1872,7 @@ "upgraderoom": "משדרג את החדר לגרסא חדשה", "upgraderoom_permission_error": "אין לכם הרשאות להשתמש בפקודה זו.", "usage": "שימוש", + "verify": "מוודא משתמש, התחברות וצמד מפתח ציבורי", "whois": "מציג מידע אודות משתמש" }, "space": { diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index daf0f52d4c..c5d7cd6704 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -916,8 +916,6 @@ "security_key_title": "Helyreállítási kulcs" }, "bootstrap_title": "Kulcsok beállítása", - "cancel_entering_passphrase_description": "Biztos, hogy megszakítja a jelmondat bevitelét?", - "cancel_entering_passphrase_title": "Megszakítja a jelmondat bevitelét?", "confirm_encryption_setup_body": "Az alábbi gomb megnyomásával erősítsd meg, hogy megadod a titkosítási beállításokat.", "confirm_encryption_setup_title": "Erősítse meg a titkosítási beállításokat", "cross_signing_room_normal": "Ez a szoba végpontok közti titkosítást használ", @@ -3101,6 +3099,7 @@ "upgraderoom": "Új verzióra fejleszti a szobát", "upgraderoom_permission_error": "A parancs használatához nincs meg a megfelelő jogosultsága.", "usage": "Használat", + "verify": "Felhasználó, munkamenet és nyilvános kulcs hármas ellenőrzése", "view": "Megadott címmel rendelkező szobák megjelenítése", "whois": "Információt jelenít meg a felhasználóról" }, diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index d42f86dab5..9f7c8b10f8 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -917,8 +917,6 @@ "security_key_title": "Kunci pemulihan" }, "bootstrap_title": "Menyiapkan kunci", - "cancel_entering_passphrase_description": "Apakah Anda yakin untuk membatalkan pemasukkan frasa sandi?", - "cancel_entering_passphrase_title": "Batalkan memasukkan frasa sandi?", "confirm_encryption_setup_body": "Klik tombol di bawah untuk mengkonfirmasi menyiapkan enkripsi.", "confirm_encryption_setup_title": "Konfirmasi pengaturan enkripsi", "cross_signing_room_normal": "Ruangan ini dienkripsi secara ujung ke ujung", @@ -3118,6 +3116,7 @@ "upgraderoom": "Meningkatkan ruangan ke versi yang baru", "upgraderoom_permission_error": "Anda tidak memiliki izin yang dibutuhkan untuk menggunakan perintah ini.", "usage": "Penggunaan", + "verify": "Memverifikasi sebuah pengguna, sesi, dan tupel pubkey", "view": "Menampilkan ruangan dengan alamat yang ditentukan", "whois": "Menampilkan informasi tentang sebuah pengguna" }, diff --git a/src/i18n/strings/is.json b/src/i18n/strings/is.json index f57cdf156e..69792b62d1 100644 --- a/src/i18n/strings/is.json +++ b/src/i18n/strings/is.json @@ -679,8 +679,6 @@ "security_key_title": "Öryggislykill" }, "bootstrap_title": "Set upp dulritunarlykla", - "cancel_entering_passphrase_description": "Viltu örugglega hætta við að setja inn lykilfrasa?", - "cancel_entering_passphrase_title": "Hætta við að setja inn lykilfrasa?", "confirm_encryption_setup_body": "Smelltu á hnappinn hér að neðan til að staðfesta uppsetningu á dulritun.", "confirm_encryption_setup_title": "Staðfestu uppsetningu dulritunar", "cross_signing_room_normal": "Þessi spjallrás er enda-í-enda dulrituð", @@ -2185,6 +2183,7 @@ "upgraderoom": "Uppfærir spjallrás í nýja útgáfu", "upgraderoom_permission_error": "Þú hefur ekki nauðsynlegar heimildir til að nota þessa skipun.", "usage": "Notkun", + "verify": "Sannreynir auðkenni notanda, setu og dreifilykils", "whois": "Birtir upplýsingar um notanda" }, "space": { diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 66ea31ad9c..7213b88974 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -801,8 +801,6 @@ "security_key_title": "Chiave di sicurezza" }, "bootstrap_title": "Configurazione chiavi", - "cancel_entering_passphrase_description": "Sei sicuro di volere annullare l'inserimento della frase?", - "cancel_entering_passphrase_title": "Annullare l'inserimento della password?", "confirm_encryption_setup_body": "Clicca il pulsante sotto per confermare l'impostazione della crittografia.", "confirm_encryption_setup_title": "Conferma impostazione crittografia", "cross_signing_room_normal": "Questa stanza è cifrata end-to-end", @@ -2712,6 +2710,7 @@ "upgraderoom": "Aggiorna una stanza ad una nuova versione", "upgraderoom_permission_error": "Non hai l'autorizzazione necessaria per usare questo comando.", "usage": "Utilizzo", + "verify": "Verifica un utente, una sessione e una tupla pubblica", "view": "Visualizza la stanza con l'indirizzo dato", "whois": "Mostra le informazioni di un utente" }, diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json index e4e61e8907..c19ebfd082 100644 --- a/src/i18n/strings/ja.json +++ b/src/i18n/strings/ja.json @@ -760,8 +760,6 @@ "security_key_title": "セキュリティーキー" }, "bootstrap_title": "鍵のセットアップ", - "cancel_entering_passphrase_description": "パスフレーズの入力をキャンセルしてよろしいですか?", - "cancel_entering_passphrase_title": "パスフレーズの入力をキャンセルしますか?", "confirm_encryption_setup_body": "以下のボタンをクリックして、暗号化の設定を承認してください。", "confirm_encryption_setup_title": "暗号化の設定を承認してください", "cross_signing_room_normal": "このルームはエンドツーエンドで暗号化されています", @@ -2462,6 +2460,7 @@ "upgraderoom": "ルームを新しいバージョンにアップグレード", "upgraderoom_permission_error": "このコマンドを実行するのに必要な権限がありません。", "usage": "用法", + "verify": "ユーザー、セッション、およびpubkeyタプルを認証", "whois": "ユーザーの情報を表示" }, "space": { diff --git a/src/i18n/strings/ka.json b/src/i18n/strings/ka.json index 514e069bfa..440c373cac 100644 --- a/src/i18n/strings/ka.json +++ b/src/i18n/strings/ka.json @@ -665,8 +665,6 @@ "security_key_title": "უსაფრთხოების გასაღები" }, "bootstrap_title": "გასაღებების დაყენება", - "cancel_entering_passphrase_description": "დარწმუნებული ხართ, რომ გსურთ გააუქმოთ პაროლის შეყვანა?", - "cancel_entering_passphrase_title": "გააუქმოს პაროლის შეყვანა?", "confirm_encryption_setup_body": "დააწკაპუნეთ ქვემოთ მოცემულ ღილაკზე დაშიფვრის დაყენების დასადასტურებლად.", "confirm_encryption_setup_title": "დაადასტურეთ დაშიფვრის დაყენება", "cross_signing_room_normal": "", diff --git a/src/i18n/strings/lo.json b/src/i18n/strings/lo.json index 782980078d..3feb855896 100644 --- a/src/i18n/strings/lo.json +++ b/src/i18n/strings/lo.json @@ -668,8 +668,6 @@ "security_key_title": "ກະແຈຄວາມປອດໄພ" }, "bootstrap_title": "ການຕັ້ງຄ່າກະແຈ", - "cancel_entering_passphrase_description": "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການຍົກເລີກການໃສ່ປະໂຫຍກລະຫັດຜ່ານ?", - "cancel_entering_passphrase_title": "ຍົກເລີກການໃສ່ປະໂຫຍກລະຫັດຜ່ານບໍ?", "confirm_encryption_setup_body": "ກົດທີ່ປຸ່ມຂ້າງລຸ່ມນີ້ເພື່ອຢືນຢັນການຕັ້ງຄ່າການເຂົ້າລະຫັດ.", "confirm_encryption_setup_title": "ຢືນຢັນການຕັ້ງຄ່າການເຂົ້າລະຫັດ", "cross_signing_room_normal": "ຫ້ອງນີ້ຖືກເຂົ້າລະຫັດແບບຕົ້ນທາງ-ເຖິງປາຍທາງ", @@ -2182,6 +2180,7 @@ "upgraderoom": "ຍົກລະດັບຫ້ອງເປັນລຸ້ນໃໝ່", "upgraderoom_permission_error": "ທ່ານບໍ່ມີສິດໃຊ້ຄໍາສັ່ງນີ້.", "usage": "ການນໍາໃຊ້", + "verify": "ຢືນຢັນຜູ້ໃຊ້, ລະບົບ, ແລະ pubkey tuple", "whois": "ສະແດງຂໍ້ມູນກ່ຽວກັບຜູ້ໃຊ້" }, "space": { diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json index 3c8ca8fbab..ce5a36d807 100644 --- a/src/i18n/strings/lt.json +++ b/src/i18n/strings/lt.json @@ -505,8 +505,6 @@ "security_key_title": "Saugumo Raktas" }, "bootstrap_title": "Raktų nustatymas", - "cancel_entering_passphrase_description": "Ar tikrai norite atšaukti slaptafrazės įvedimą?", - "cancel_entering_passphrase_title": "Atšaukti slaptafrazės įvedimą?", "confirm_encryption_setup_body": "Paspauskite mygtuką žemiau, kad patvirtintumėte šifravimo nustatymą.", "confirm_encryption_setup_title": "Patvirtinti šifravimo sąranką", "cross_signing_room_normal": "Šis kambarys visapusiškai užšifruotas", @@ -1739,6 +1737,7 @@ "upgraderoom": "Atnaujina kambarį į naują versiją", "upgraderoom_permission_error": "Jūs neturite reikalingų leidimų naudoti šią komandą.", "usage": "Naudojimas", + "verify": "Patvirtina vartotojo, seanso ir pubkey daugiadalę duomenų struktūrą", "whois": "Parodo informaciją apie vartotoją" }, "space": { diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json index 739e9a81b0..18c1d8361b 100644 --- a/src/i18n/strings/lv.json +++ b/src/i18n/strings/lv.json @@ -840,8 +840,6 @@ "security_key_title": "Drošības atslēga" }, "bootstrap_title": "Atslēgu iestatīšana", - "cancel_entering_passphrase_description": "Vai tiešām atcelt paroles vārdkopas ievadīšanu?", - "cancel_entering_passphrase_title": "Atcelt frāzveida paroles ievadi?", "confirm_encryption_setup_body": "Noklikšķiniet uz tālāk esošās pogas, lai apstiprinātu šifrēšanas iestatīšanu.", "confirm_encryption_setup_title": "Apstiprināt šifrēšanas iestatīšanu", "cross_signing_room_normal": "Šajā istabā tiek veikta pilnīga šifrēšana", @@ -2643,6 +2641,7 @@ "upgraderoom": "Atjaunina istabu uz jaunu versiju", "upgraderoom_permission_error": "Nav šīs komandas izmantošanai nepieciešamo atļauju.", "usage": "Lietojums", + "verify": "Verificē lietotāju, sesiju un publiskās atslēgas", "view": "Skata istabu ar norādīto adresi", "whois": "Parāda lietotāja informāciju" }, diff --git a/src/i18n/strings/mg_MG.json b/src/i18n/strings/mg_MG.json index 1ec5ed76c5..c6666dac0b 100644 --- a/src/i18n/strings/mg_MG.json +++ b/src/i18n/strings/mg_MG.json @@ -797,8 +797,6 @@ "security_key_title": "Kitendry fiarovana" }, "bootstrap_title": "Fametrahana fanalahidy", - "cancel_entering_passphrase_description": "Tena te-hanafoana ny fampidirana fehezanteny ve ianao?", - "cancel_entering_passphrase_title": "Hanafoana ny fidirana amin'ny teny miafina ?", "confirm_encryption_setup_body": "Kitiho ny bokotra etsy ambany hanamafisana ny fametrahana encryption.", "confirm_encryption_setup_title": "Hamafiso ny fanamboarana fanafenana", "cross_signing_room_normal": "Ity efitrano ity dia misy encryption avy hatrany", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index eade6ba1d2..799e67b4a6 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -786,6 +786,7 @@ "cross_signing_status": "Status for krysssignering:", "cross_signing_untrusted": "Kontoen din har en krysssigneringsidentitet i hemmelig lagring, men den er ennå ikke klarert av denne sesjonen.", "crypto_not_available": "Kryptografisk modul er ikke tilgjengelig", + "device_id": "Enhets-ID", "key_backup_active_version": "Aktiv sikkerhetskopiversion:", "key_backup_active_version_none": "Ingen", "key_backup_inactive_warning": "Nøklene dine blir ikke sikkerhetskopiert fra denne sesjonen.", @@ -798,6 +799,8 @@ "secret_storage_ready": "klar", "secret_storage_status": "Hemmelig lagringsplass:", "self_signing_private_key_cached_status": "Selvsignert privat nøkkel:", + "session": "Sesjon", + "session_fingerprint": "Fingeravtrykk (sesjonsnøkkel)", "title": "Ende-til-ende-kryptering", "user_signing_private_key_cached_status": "Brukersignert privat nøkkel:" }, @@ -823,6 +826,7 @@ "low_bandwidth_mode": "Lav båndbreddemodus", "low_bandwidth_mode_description": "Krever kompatibel hjemmeserver.", "main_timeline": "Hovedtidslinje", + "manual_device_verification": "Manuell enhetsverifisering", "no_receipt_found": "Ingen kvittering funnet", "notification_state": "Varslingsstatus er %(notificationState)s", "notifications_debug": "Feilsøking av varsler", @@ -920,8 +924,6 @@ "security_key_title": "Gjenopprettingsnøkkel" }, "bootstrap_title": "Setter opp nøkler", - "cancel_entering_passphrase_description": "Er du sikker på at du vil avbryte inntasting av passordfrase?", - "cancel_entering_passphrase_title": "Avbryte inntastingen av passordfrase?", "confirm_encryption_setup_body": "Klikk på knappen nedenfor for å bekrefte konfigureringen av kryptering.", "confirm_encryption_setup_title": "Bekreft krypteringsoppsett", "cross_signing_room_normal": "Dette rommet er ende-til-ende-kryptert", @@ -1009,6 +1011,17 @@ "incoming_sas_dialog_waiting": "Venter på at partneren skal bekrefte...", "incoming_sas_user_dialog_text_1": "Bekreft denne brukeren for å markere dem som klarerte. Tillit til brukere gir deg ekstra trygghet når du bruker ende-til-ende-krypterte meldinger.", "incoming_sas_user_dialog_text_2": "Bekreftelse av denne brukeren vil markere økten som klarert, og også merke økten din som klarert for dem.", + "manual": { + "already_verified": "Denne enheten er allerede verifisert", + "already_verified_and_wrong_fingerprint": "Det medfølgende fingeravtrykket stemmer ikke overens, men enheten er allerede verifisert!", + "device_id": "Enhets-ID", + "failure_description": "Kunne ikke verifisere '%(deviceId)s': %(error)s", + "failure_title": "Verifisering mislyktes", + "fingerprint": "Fingeravtrykk (sesjonsnøkkel)", + "no_crypto": "Kan ikke verifisere enheten - krypto er ikke aktivert", + "no_device": "Kunne ikke verifisere enheten - enheten '%(deviceId)s' ble ikke funnet", + "no_userid": "Kan ikke verifisere enheten - finner ikke bruker-ID" + }, "no_key_or_device": "Det ser ut til at du ikke har en gjenopprettingsnøkkel eller andre enheter du kan verifisere mot. Denne enheten vil ikke kunne få tilgang til gamle krypterte meldinger. For å bekrefte identiteten din på denne enheten, må du tilbakestille verifiseringsnøklene dine.", "no_support_qr_emoji": "Enheten du prøver å bekrefte støtter ikke skanning av en QR-kode eller emoji-verifikasjon, som er det som %(brand)s støtter. Prøv med en annen klient.", "other_party_cancelled": "Den andre parten kansellerte verifiseringen.", @@ -2049,6 +2062,7 @@ "read_topic": "Klikk for å lese emnet", "rejecting": "Avviser invitasjon...", "rejoin_button": "Bli med igjen", + "room_is_low_priority": "Dette er et lavt prioritert rom", "search": { "all_rooms_button": "Søk i alle rom", "placeholder": "Søk i meldinger...", @@ -2686,6 +2700,9 @@ "inline_url_previews_room": "Skru på URL-forhåndsvisninger som standard for deltakerne i dette rommet", "inline_url_previews_room_account": "Skru på URL-forhåndsvisninger for dette rommet (Påvirker bare deg)", "insert_trailing_colon_mentions": "Sett inn et etterfølgende kolon etter at brukeromtaler i starten av en melding", + "invite_controls": { + "default_label": "Tillat brukere å invitere deg til rom" + }, "jump_to_bottom_on_send": "Gå til bunnen av tidslinjen når du vil sende en melding", "key_backup": { "backup_in_progress": "Nøklene dine blir sikkerhetskopiert (den første sikkerhetskopieringen kan ta noen minutter).", @@ -2752,6 +2769,7 @@ "show_in_private": "I private rom", "show_media": "Vis alltid" }, + "not_supported": "Serveren din implementerer ikke denne funksjonen.", "notifications": { "default_setting_description": "Denne innstillingen vil bli brukt som standard for alle rommene dine.", "default_setting_section": "Jeg ønsker å bli varslet for (standardinnstilling)", @@ -2809,6 +2827,7 @@ "voip": "Lyd- og videosamtaler" }, "preferences": { + "Electron.enableContentProtection": "Forhindre at innholdet i vinduet fanges opp av andre apper", "Electron.enableHardwareAcceleration": "Aktiver maskinvareakselerasjon (start %(appName)s på nytt for at det skal tre i kraft)", "always_show_menu_bar": "Vis alltid vinduets menylinje", "autocomplete_delay": "Autofullføringsforsinkelse (ms)", @@ -2981,6 +3000,7 @@ "show_chat_effects": "Vis chatteffekter (animasjoner når du mottar f.eks. konfetti)", "show_displayname_changes": "Vis visningsnavnendringer", "show_join_leave": "Vis bli med/forlat meldinger (invitasjoner/fjernede/utestengte upåvirket)", + "show_message_previews": "Vise forhåndsvisninger av meldinger", "show_nsfw_content": "Vis NSFW-innhold", "show_read_receipts": "Vis lesekvitteringer sendt av andre brukere", "show_redaction_placeholder": "Vis en stattholder for fjernede meldinger", @@ -3127,6 +3147,7 @@ "upgraderoom": "Oppgraderer et rom til en ny versjon", "upgraderoom_permission_error": "Du har ikke de rette tilgangene til å bruke denne kommandoen.", "usage": "Bruk", + "verify": "Verifiserer en bruker-, økt- og pubkey-tuple", "view": "Viser rom med oppgitt adresse", "whois": "Viser informasjon om en bruker" }, diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index c8cfd1e8ba..348a0b43d3 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -699,8 +699,6 @@ "security_key_title": "Veiligheidssleutel" }, "bootstrap_title": "Sleutelconfiguratie", - "cancel_entering_passphrase_description": "Weet je zeker, dat je het invoeren van je wachtwoord wilt afbreken?", - "cancel_entering_passphrase_title": "Wachtwoord annuleren?", "confirm_encryption_setup_body": "Klik op de knop hieronder om het instellen van de versleuting te bevestigen.", "confirm_encryption_setup_title": "Bevestig versleuting instelling", "cross_signing_room_normal": "Deze kamer is eind-tot-eind-versleuteld", @@ -2301,6 +2299,7 @@ "upgraderoom": "Upgrade deze kamer naar een nieuwere versie", "upgraderoom_permission_error": "Je beschikt niet over de vereiste machtigingen om deze opdracht uit te voeren.", "usage": "Gebruik", + "verify": "Verifieert de combinatie van persoon, sessie en publieke sleutel", "whois": "Geeft informatie weer over een persoon" }, "space": { diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index a2f8cbff2b..ce09d10a57 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -923,8 +923,6 @@ "security_key_title": "Klucz przywracania" }, "bootstrap_title": "Konfigurowanie kluczy", - "cancel_entering_passphrase_description": "Czy na pewno chcesz anulować wpisywanie hasła?", - "cancel_entering_passphrase_title": "Anulować wpisywanie hasła?", "confirm_encryption_setup_body": "Kliknij przycisk poniżej, aby potwierdzić ustawienie szyfrowania.", "confirm_encryption_setup_title": "Potwierdź ustawienie szyfrowania", "cross_signing_room_normal": "Ten pokój jest szyfrowany end-to-end", @@ -3131,6 +3129,7 @@ "upgraderoom": "Ulepsza pokój do nowej wersji", "upgraderoom_permission_error": "Nie posiadasz wymaganych uprawnień do użycia tego polecenia.", "usage": "Użycie", + "verify": "Weryfikuje użytkownika, sesję oraz klucz publiczny", "view": "Przegląda pokój z podanym adresem", "whois": "Pokazuje informacje na temat użytkownika" }, diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json index db6df857a6..eefb0a8254 100644 --- a/src/i18n/strings/pt.json +++ b/src/i18n/strings/pt.json @@ -892,8 +892,6 @@ "security_key_title": "Chave de recuperação" }, "bootstrap_title": "A configurar chaves", - "cancel_entering_passphrase_description": "Tem a certeza que quer cancelar a introdução da frase-passe?", - "cancel_entering_passphrase_title": "Cancelar a introdução da frase-passe?", "confirm_encryption_setup_body": "Clica no botão abaixo para confirmar a configuração da encriptação.", "confirm_encryption_setup_title": "Confirma a configuração da encriptação", "cross_signing_room_normal": "Esta sala é encriptada de ponta a ponta", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index f95696b3e5..ebe5b8c12f 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -786,6 +786,7 @@ "cross_signing_status": "Status de assinatura cruzada:", "cross_signing_untrusted": "Sua conta tem uma identidade de assinatura cruzada no armazenamento secreto, mas ela ainda não é confiável para esta sessão.", "crypto_not_available": "O módulo criptográfico não está disponível", + "device_id": "ID do dispositivo", "key_backup_active_version": "Versão de backup ativo:", "key_backup_active_version_none": "Nenhuma", "key_backup_inactive_warning": "Suas chaves não estão sendo copiadas nesta sessão.", @@ -798,6 +799,8 @@ "secret_storage_ready": "pronto", "secret_storage_status": "Armazenamento secreto:", "self_signing_private_key_cached_status": "Chave privada auto-assinada:", + "session": "Sessão", + "session_fingerprint": "Impressão digital (chave de sessão)", "title": "Criptografia de ponta a ponta", "user_signing_private_key_cached_status": "Chave privada de assinatura do usuário:" }, @@ -823,6 +826,7 @@ "low_bandwidth_mode": "Modo de baixa largura de banda", "low_bandwidth_mode_description": "Requer servidor doméstico compatível.", "main_timeline": "Linha do tempo principal", + "manual_device_verification": "Verificação manual do dispositivo", "no_receipt_found": "Nenhum recibo encontrado", "notification_state": "O estado da notificação é%(notificationState)s", "notifications_debug": "Depuração de notificações", @@ -920,8 +924,6 @@ "security_key_title": "Chave de recuperação" }, "bootstrap_title": "Configurar chaves", - "cancel_entering_passphrase_description": "Tem certeza que quer cancelar a introdução da frase de senha?", - "cancel_entering_passphrase_title": "Cancelar a introdução da frase de senha?", "confirm_encryption_setup_body": "Clique no botão abaixo para confirmar a configuração da criptografia.", "confirm_encryption_setup_title": "Confirmar a configuração de criptografia", "cross_signing_room_normal": "Esta sala é criptografada de ponta a ponta", @@ -1009,6 +1011,21 @@ "incoming_sas_dialog_waiting": "Aguardando a confirmação do parceiro…", "incoming_sas_user_dialog_text_1": "Confirme este usuário para torná-lo confiável. Confiar nos usuários fornece segurança adicional ao trocar mensagens criptografadas de ponta a ponta.", "incoming_sas_user_dialog_text_2": "Se você confirmar esse usuário, a sessão será marcada como confiável para você e para ele.", + "manual": { + "already_verified": "Este dispositivo já está verificado", + "already_verified_and_wrong_fingerprint": "A impressão digital fornecida não corresponde, mas o dispositivo já foi verificado!", + "device_id": "ID do dispositivo", + "failure_description": "Falha ao verificar '%(deviceId)s': %(error)s", + "failure_title": "A verificação falhou", + "fingerprint": "Impressão digital (chave de sessão)", + "no_crypto": "Não é possível verificar o dispositivo - a criptografia não está ativada", + "no_device": "Não foi possível verificar o dispositivo - o dispositivo '%(deviceId)s' não foi encontrado", + "no_userid": "Não foi possível verificar o dispositivo - não foi possível encontrar nossa ID de usuário", + "success_description": "O dispositivo (%(deviceId)s) agora tem assinatura cruzada", + "success_title": "Verificação bem-sucedida", + "text": "Forneça o ID e a impressão digital de um de seus próprios dispositivos para verificá-lo. OBSERVE que isso permite que o outro dispositivo envie e receba mensagens como você. SE ALGUÉM LHE DISSE PARA COLAR ALGO AQUI, É PROVÁVEL QUE VOCÊ ESTEJA SENDO ENGANADO!", + "wrong_fingerprint": "Não é possível verificar o dispositivo '%(deviceId)s' - a impressão digital fornecida '%(fingerprint)s' não corresponde à impressão digital do dispositivo, '%(fprint)s'" + }, "no_key_or_device": "Parece que você não tem uma chave de segurança ou qualquer outro dispositivo que possa ser verificado. Este dispositivo não poderá acessar mensagens criptografadas antigas. Para verificar sua identidade neste dispositivo, você precisará redefinir suas chaves de verificação.", "no_support_qr_emoji": "O dispositivo que você está tentando verificar não suporta a leitura de um código QR ou verificação de emoji, que é o que %(brand)s suporta. Tente com um cliente diferente.", "other_party_cancelled": "Seu contato cancelou a confirmação.", @@ -2048,6 +2065,7 @@ "read_topic": "Clique para ler o tópico", "rejecting": "Rejeitando o convite...", "rejoin_button": "Entrar novamente", + "room_is_low_priority": "Esta é uma sala de baixa prioridade", "search": { "all_rooms_button": "Pesquisar todos as salas", "placeholder": "Pesquisar mensagens...", @@ -2686,6 +2704,9 @@ "inline_url_previews_room": "Ativar, para todos os participantes desta sala, a visualização de links", "inline_url_previews_room_account": "Ativar, para esta sala, a visualização de links (só afeta você)", "insert_trailing_colon_mentions": "Insira dois pontos à direita após o usuário mencionar no início de uma mensagem", + "invite_controls": { + "default_label": "Permitir que usuários convidem você para salas" + }, "jump_to_bottom_on_send": "Vá para o final da linha do tempo ao enviar uma mensagem", "key_backup": { "backup_in_progress": "O backup de suas chaves está sendo feito (o primeiro backup pode demorar alguns minutos).", @@ -2752,6 +2773,7 @@ "show_in_private": "Em salas privadas", "show_media": "Mostrar sempre" }, + "not_supported": "Seu servidor não implementa esse recurso.", "notifications": { "default_setting_description": "Essa configuração será aplicada por padrão a todas as suas salas.", "default_setting_section": "Quero ser notificado sobre (configuração padrão)", @@ -2809,6 +2831,7 @@ "voip": "Chamadas de áudio e vídeo" }, "preferences": { + "Electron.enableContentProtection": "Impedir que o conteúdo da janela seja capturado por outros aplicativos", "Electron.enableHardwareAcceleration": "Ativar a aceleração de hardware (reinicie %(appName)s para fazer efeito)", "always_show_menu_bar": "Mostrar a barra de menu na janela", "autocomplete_delay": "Atraso no preenchimento automático (ms)", @@ -2981,6 +3004,7 @@ "show_chat_effects": "Mostrar efeitos na conversa (por exemplo: animações ao receber confetes)", "show_displayname_changes": "Mostrar alterações de nome e sobrenome", "show_join_leave": "Mostrar mensagens de entrada/saída (convites/remoções/bans não são afetados)", + "show_message_previews": "Mostrar prévias de mensagens", "show_nsfw_content": "Mostrar conteúdo NSFW (\"Não seguro para o trabalho\")", "show_read_receipts": "Mostrar confirmações de leitura dos outros usuários", "show_redaction_placeholder": "Mostrar um marcador para as mensagens removidas", @@ -3127,6 +3151,7 @@ "upgraderoom": "Atualiza a sala para uma nova versão", "upgraderoom_permission_error": "Você não tem as permissões necessárias para usar este comando.", "usage": "Uso", + "verify": "Verifique manualmente um de seus próprios dispositivos", "view": "Visualizações da sala com o endereço fornecido", "whois": "Exibe informação sobre um usuário" }, diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index eb960a6b41..44eeefdf92 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -911,8 +911,6 @@ "security_key_title": "Ключ восстановления" }, "bootstrap_title": "Настройка ключей", - "cancel_entering_passphrase_description": "Вы уверены, что хотите отменить ввод кодовой фразы?", - "cancel_entering_passphrase_title": "Отменить ввод кодовой фразы?", "confirm_encryption_setup_body": "Нажмите кнопку ниже, чтобы подтвердить настройку шифрования.", "confirm_encryption_setup_title": "Подтвердите настройку шифрования", "cross_signing_room_normal": "Эта комната зашифрована сквозным шифрованием", @@ -3060,6 +3058,7 @@ "upgraderoom": "Обновляет комнату до новой версии", "upgraderoom_permission_error": "У вас нет необходимых разрешений для использования этой команды.", "usage": "Использование", + "verify": "Проверяет пользователя, сеанс и публичные ключи", "view": "Просмотр комнаты с указанным адресом", "whois": "Показать информацию о пользователе" }, diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 521ef69175..08fc2c7d5f 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -929,8 +929,6 @@ "security_key_title": "Kľúč na obnovenie" }, "bootstrap_title": "Príprava kľúčov", - "cancel_entering_passphrase_description": "Naozaj chcete zrušiť zadávanie prístupovej frázy?", - "cancel_entering_passphrase_title": "Zrušiť zadanie prístupovej frázy?", "confirm_encryption_setup_body": "Kliknutím na tlačidlo nižšie potvrdíte nastavenie šifrovania.", "confirm_encryption_setup_title": "Potvrdiť nastavenie šifrovania", "cross_signing_room_normal": "Táto miestnosť je end-to-end šifrovaná", @@ -3166,6 +3164,7 @@ "upgraderoom": "Aktualizuje miestnosť na novšiu verziu", "upgraderoom_permission_error": "Na použitie tohoto príkazu nemáte dostatočné povolenia.", "usage": "Použitie", + "verify": "Overí používateľa, reláciu a verejné kľúče", "view": "Zobrazí miestnosti s danou adresou", "whois": "Zobrazuje informácie o používateľovi" }, diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 15ea9a3df8..9637f7a820 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -762,8 +762,6 @@ "security_key_title": "Kyç Sigurie" }, "bootstrap_title": "Ujdisje kyçesh", - "cancel_entering_passphrase_description": "Jeni i sigurt se doni të anulohet dhënie frazëkalimi?", - "cancel_entering_passphrase_title": "Të anulohet dhënue frazëkalimi?", "confirm_encryption_setup_body": "Klikoni mbi butonin më poshtë që të ripohoni ujdisjen e fshehtëzimit.", "confirm_encryption_setup_title": "Ripohoni ujdisje fshehtëzimi", "cross_signing_room_normal": "Kjo dhomë është e fshehtëzuar skaj-më-skaj", @@ -2532,6 +2530,7 @@ "upgraderoom": "E kalon një dhomë te një version i ri i përmirësuar", "upgraderoom_permission_error": "S’keni lejet e domosdoshme për përdorimin e këtij urdhri.", "usage": "Përdorim", + "verify": "Verifikon një përdorues, sesion dhe një set kyçesh publikë", "whois": "Shfaq të dhëna rreth një përdoruesi" }, "space": { diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 49e9908dc4..6dedd8e10a 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -916,8 +916,6 @@ "security_key_title": "Säkerhetsnyckel" }, "bootstrap_title": "Sätter upp nycklar", - "cancel_entering_passphrase_description": "Är du säker på att du vill avbryta inmatning av lösenfrasen?", - "cancel_entering_passphrase_title": "Avbryta inmatning av lösenfras?", "confirm_encryption_setup_body": "Klicka på knappen nedan för att bekräfta inställning av kryptering.", "confirm_encryption_setup_title": "Bekräfta krypteringsinställning", "cross_signing_room_normal": "Det här rummet är totalsträckskrypterat", @@ -3100,6 +3098,7 @@ "upgraderoom": "Uppgraderar ett rum till en ny version", "upgraderoom_permission_error": "Du har inte de behörigheter som krävs för att använda det här kommandot.", "usage": "Användande", + "verify": "Verifierar en användar-, sessions- och pubkey-tupel", "view": "Visar rum med den angivna adressen", "whois": "Visar information om en användare" }, diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 20cc904f17..264880a2d4 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -890,8 +890,6 @@ "security_key_title": "Güvenlik anahtarı" }, "bootstrap_title": "Anahtarları ayarla", - "cancel_entering_passphrase_description": "Parola girmeyi iptal etmek istediğinizden emin misiniz?", - "cancel_entering_passphrase_title": "Parola girişini iptal et?", "confirm_encryption_setup_body": "Şifreleme kurulumunu onaylamak için aşağıdaki düğmeye tıklayın.", "confirm_encryption_setup_title": "Şifreleme kurulumunu onayla", "cross_signing_room_normal": "Bu oda uçtan uça şifreli", @@ -3030,6 +3028,7 @@ "upgraderoom": "Bir odayı yeni bir versiyona yükseltir", "upgraderoom_permission_error": "Bu komutu kullanmak için gerekli izinlere sahip değilsin.", "usage": "Kullanım", + "verify": "Bir kullanıcı, oturum ve açık anahtar çiftini doğrular", "view": "Verilen adresli odayı görüntüle", "whois": "Bir kullanıcı hakkındaki bilgileri görüntüler" }, diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 175f9fa7d6..6be282da55 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -159,6 +159,7 @@ "view_message": "Переглянути повідомлення", "view_source": "Переглянути код", "yes": "Так", + "yes_dismiss": "Так, відхилити", "zoom_in": "Збільшити", "zoom_out": "Зменшити" }, @@ -913,15 +914,15 @@ "empty_room_was_name": "Порожня кімната (були %(oldName)s)", "encryption": { "access_secret_storage_dialog": { + "alternatives": "Якщо у вас є ключ безпеки або фраза безпеки, це теж спрацює.", "key_validation_text": { - "wrong_security_key": "Неправильний ключ відновлення" + "wrong_security_key": "Ви ввели некоректний ключ відновлення." }, + "privacy_warning": "Переконайтеся, що ніхто не бачить цей екран!", "restoring": "Відновлення ключів із резервної копії", "security_key_title": "Ключ відновлення" }, "bootstrap_title": "Налаштовування ключів", - "cancel_entering_passphrase_description": "Ви точно хочете скасувати введення парольної фрази?", - "cancel_entering_passphrase_title": "Скасувати введення парольної фрази?", "confirm_encryption_setup_body": "Клацніть на кнопку внизу, щоб підтвердити налаштування шифрування.", "confirm_encryption_setup_title": "Підтвердити налаштування шифрування", "cross_signing_room_normal": "Ця кімната є наскрізно зашифрованою", @@ -973,6 +974,8 @@ "setup_secure_backup": { "explainer": "Створіть резервну копію ключів перед виходом, щоб не втратити їх." }, + "turn_on_key_storage": "Увімкнути сховище ключів", + "turn_on_key_storage_description": "Зберігайте свій криптографічний ідентифікатор і ключі повідомлень на сервері. Це дозволить вам переглядати історію повідомлень на будь-яких нових пристроях. %1$s.", "udd": { "interactive_verification_button": "Звірити інтерактивно за допомогою емоджі", "other_ask_verify_text": "Попросіть цього користувача звірити сеанс, або звірте його власноруч унизу.", @@ -1956,6 +1959,7 @@ }, "face_pile_tooltip_shortcut": "Включно з %(commaSeparatedMembers)s", "face_pile_tooltip_shortcut_joined": "Включно з вами, %(commaSeparatedMembers)s", + "failed_determine_user": "Неможливо визначити, якого користувача ігнорувати, оскільки подія учасника змінилася.", "failed_reject_invite": "Не вдалось відхилити запрошення", "forget_room": "Забути цю кімнату", "forget_space": "Забути цей простір", @@ -2103,11 +2107,14 @@ "no_chats_description_no_room_rights": "Розпочніть користування, написавши комусь повідомлення", "no_favourites": "У вас ще немає обраних бесід", "no_favourites_description": "Ви можете додати бесіду до обраних у її налаштуваннях", + "no_invites": "У вас немає непрочитаних запрошень", + "no_mentions": "У вас немає непрочитаних згадок", "no_people": "У вас ще немає особистих бесід", "no_people_description": "Ви можете очистити фільтри, щоб побачити інші ваші бесіди", "no_rooms": "Ви ще не входили до кімнат", "no_rooms_description": "Ви можете очистити фільтри, щоб побачити інші ваші бесіди", "no_unread": "Вітаємо! У вас немає непрочитаних повідомлень", + "show_activity": "Переглянути всю діяльність", "show_chats": "Показати всі бесіди" }, "failed_add_tag": "Не вдалось додати до кімнати мітку %(tagName)s", @@ -2115,6 +2122,9 @@ "failed_set_dm_tag": "Не вдалося встановити мітку особистого повідомлення", "filters": { "favourite": "Обрані", + "invites": "Запрошення", + "low_priority": "Неважливі", + "mentions": "Згадування", "people": "Люди", "rooms": "Кімнати", "unread": "Непрочитані" @@ -2447,6 +2457,10 @@ "recent_changes_heading": "Останні зміни, котрі ще не отримано", "title": "Сервер не відповідає" }, + "service_worker_error": { + "description": "%(brand)s потребує Service worker для завантаження автентифікованих медіа з репозиторіїв вмісту Matrix. Ваш браузер не підтримує цю функцію, тому медіафайли можуть не завантажуватися.", + "title": "Не вдалося завантажити Service Worker" + }, "seshat": { "error_initialising": "Не вдалося почати пошук, перевірте налаштування, щоб дізнатися більше", "reset_button": "Очистити сховище подій", @@ -2540,6 +2554,8 @@ "session_key": "Ключ сеансу:", "title": "Додатково" }, + "confirm_key_storage_off": "Ви впевнені, що хочете вимкнути сховище ключів?", + "confirm_key_storage_off_description": "Якщо ви вийдете з усіх своїх пристроїв, ви втратите історію повідомлень і вам потрібно буде знову підтвердити всі наявні контакти. Докладніше", "delete_key_storage": { "breadcrumb_page": "Видалити сховище ключів", "confirm": "Видалити сховище ключів", @@ -2798,6 +2814,7 @@ "voip": "Голосові та відеовиклики" }, "preferences": { + "Electron.enableContentProtection": "Запобігати захопленню вмісту вікна іншими застосунками", "Electron.enableHardwareAcceleration": "Увімкнути апаратне прискорення (перезапустіть %(appName)s, щоб зміни вступили в силу)", "always_show_menu_bar": "Завжди показувати рядок меню", "autocomplete_delay": "Затримка автозаповнення (мс)", @@ -2970,6 +2987,7 @@ "show_chat_effects": "Показувати ефекти бесід (анімації отримання, наприклад, конфеті)", "show_displayname_changes": "Показувати зміни псевдонімів", "show_join_leave": "Показувати повідомлення про приєднання/виходи (не стосується запрошень/вилучень/блокувань]", + "show_message_previews": "Показати попередній перегляд повідомлень", "show_nsfw_content": "Показати матеріали NSFW", "show_read_receipts": "Показувати мітки прочитання, надіслані іншими користувачами", "show_redaction_placeholder": "Показувати замісну позначку замість видалених повідомлень", @@ -3116,6 +3134,7 @@ "upgraderoom": "Поліпшує кімнату до нової версії", "upgraderoom_permission_error": "Вам бракує дозволу на використання цієї команди.", "usage": "Використання", + "verify": "Звіряє користувача, сеанс та супровід відкритого ключа", "view": "Перегляд кімнати з вказаною адресою", "whois": "Показує відомості про користувача" }, diff --git a/src/i18n/strings/vi.json b/src/i18n/strings/vi.json index a0c91663ff..d8cfdbece1 100644 --- a/src/i18n/strings/vi.json +++ b/src/i18n/strings/vi.json @@ -723,8 +723,6 @@ "security_key_title": "Chìa khóa bảo mật" }, "bootstrap_title": "Đang thiết lập khóa bảo mật", - "cancel_entering_passphrase_description": "Bạn có chắc chắn muốn hủy nhập cụm mật khẩu không?", - "cancel_entering_passphrase_title": "Hủy nhập cụm mật khẩu?", "confirm_encryption_setup_body": "Nhấp vào nút bên dưới để xác nhận thiết lập mã hóa.", "confirm_encryption_setup_title": "Xác nhận thiết lập mã hóa", "cross_signing_room_normal": "Phòng này được mã hóa end-to-end", @@ -2449,6 +2447,7 @@ "upgraderoom": "Nâng cấp phòng lên phiên bản mới", "upgraderoom_permission_error": "Bạn không có quyền để dùng lệnh này.", "usage": "Cách sử dụng", + "verify": "Xác thực người dùng, thiết bị và tuple pubkey", "view": "Phòng truyền hình với địa chỉ đã cho", "whois": "Hiển thị thông tin về người dùng" }, diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 43e1ac008c..68a7ea94e9 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -733,8 +733,6 @@ "security_key_title": "安全密钥" }, "bootstrap_title": "设置密钥", - "cancel_entering_passphrase_description": "你确定要取消输入口令词组吗?", - "cancel_entering_passphrase_title": "取消输入口令词组?", "confirm_encryption_setup_body": "点击下方按钮以确认设置加密。", "confirm_encryption_setup_title": "确认加密设置", "cross_signing_room_normal": "此房间是端到端加密的", @@ -2400,6 +2398,7 @@ "upgraderoom": "将房间升级到新版本", "upgraderoom_permission_error": "你没有权限使用此命令。", "usage": "用法", + "verify": "验证用户、会话和公钥元组", "whois": "显示关于用户的信息" }, "space": { diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 18cc169d97..2dcf0c1d47 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -791,8 +791,6 @@ "security_key_title": "安全金鑰" }, "bootstrap_title": "正在產生金鑰", - "cancel_entering_passphrase_description": "您確定要取消輸入安全密語嗎?", - "cancel_entering_passphrase_title": "取消輸入安全密語?", "confirm_encryption_setup_body": "點擊下方按鈕以確認設定加密。", "confirm_encryption_setup_title": "確認加密設定", "cross_signing_room_normal": "此聊天室已端對端加密", @@ -2645,6 +2643,7 @@ "upgraderoom": "升級聊天室到新版本", "upgraderoom_permission_error": "您沒有使用此指令的必要權限。", "usage": "使用方法", + "verify": "驗證使用者、工作階段與公開金鑰組合", "view": "檢視指定聊天室的地址", "whois": "顯示關於使用者的資訊" }, From 451a99d49ef76ee296a6367224f8db780a42bc26 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Wed, 11 Jun 2025 17:06:29 +0530 Subject: [PATCH 015/142] Show `EmptyRoomListView` when low priority filter matches zero rooms (#30122) * Implement empty section for low prio filter * Write test --- .../rooms/RoomListPanel/EmptyRoomList.tsx | 8 ++++++ src/i18n/strings/en_EN.json | 1 + .../RoomListPanel/EmptyRoomList-test.tsx | 1 + .../__snapshots__/EmptyRoomList-test.tsx.snap | 25 +++++++++++++++++++ 4 files changed, 35 insertions(+) diff --git a/src/components/views/rooms/RoomListPanel/EmptyRoomList.tsx b/src/components/views/rooms/RoomListPanel/EmptyRoomList.tsx index 1f04e4c86e..0e3412f588 100644 --- a/src/components/views/rooms/RoomListPanel/EmptyRoomList.tsx +++ b/src/components/views/rooms/RoomListPanel/EmptyRoomList.tsx @@ -76,6 +76,14 @@ export function EmptyRoomList({ vm }: EmptyRoomListProps): JSX.Element | undefin filter={vm.activePrimaryFilter} /> ); + case FilterKey.LowPriorityFilter: + return ( + + ); default: return undefined; } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index d83c2d6f2d..1d18ec8c73 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -2122,6 +2122,7 @@ "no_favourites": "You don't have favourite chat yet", "no_favourites_description": "You can add a chat to your favourites in the chat settings", "no_invites": "You don't have any unread invites", + "no_lowpriority": "You don't have any low priority rooms", "no_mentions": "You don't have any unread mentions", "no_people": "You don’t have direct chats with anyone yet", "no_people_description": "You can deselect filters in order to see your other chats", diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/EmptyRoomList-test.tsx b/test/unit-tests/components/views/rooms/RoomListPanel/EmptyRoomList-test.tsx index a8f87a4241..06215d09ca 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/EmptyRoomList-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomListPanel/EmptyRoomList-test.tsx @@ -54,6 +54,7 @@ describe("", () => { { key: FilterKey.UnreadFilter, name: "unread", action: "Show all chats" }, { key: FilterKey.MentionsFilter, name: "mention", action: "See all activity" }, { key: FilterKey.InvitesFilter, name: "invite", action: "See all activity" }, + { key: FilterKey.LowPriorityFilter, name: "low priority", action: "See all activity" }, ])("should display the empty state for the $name filter", async ({ key, name, action }) => { const user = userEvent.setup(); const activePrimaryFilter = { diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/EmptyRoomList-test.tsx.snap b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/EmptyRoomList-test.tsx.snap index 1e6fb38ab1..99314b38fe 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/EmptyRoomList-test.tsx.snap +++ b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/EmptyRoomList-test.tsx.snap @@ -88,6 +88,31 @@ exports[` should display the empty state for the invite filter `; +exports[` should display the empty state for the low priority filter 1`] = ` + +
+ + You don't have any low priority rooms + + +
+
+`; + exports[` should display the empty state for the mention filter 1`] = `
Date: Wed, 11 Jun 2025 15:49:20 +0200 Subject: [PATCH 016/142] New room list: filter list can be collapsed (#29992) * feat: add new hook to check if a node is visible * feat: filters in new room list can be collapsed * feat: add animation to filter list * feat: hide chevron when list fit on one line * fix: use correct label for expand button * test: update room list panel snapshots * test: add tests for useIsNodeVisible * chore: update i18n * test: add tests for primary filters * test(e2e): update existing screenshots * test(e2e): update primary filter tests * chore: typo in css file * refactor: replace ternary by if in filter condition * feat: compute filter height instead of hardcoded value * fix: floor floating computation on filter * refactor: move hooks to dedicated files * test: update tests * feat: rework collapse feature * test: remove room list panel snapshot * test: update room list primary filter tests * test(e2e): update screenshots * test(e2e): update screenshots * test(e2e): fix favourite filter in scroll behaviour test * fix: accessibility order when tabbing --- .../room-list-filter-sort.spec.ts | 28 +- .../Favourite-empty-room-list-linux.png | Bin 9457 -> 9457 bytes .../Invites-empty-room-list-linux.png | Bin 7018 -> 7018 bytes .../Mentions-empty-room-list-linux.png | Bin 7058 -> 7057 bytes .../People-empty-room-list-linux.png | Bin 10336 -> 10337 bytes .../Rooms-empty-room-list-linux.png | Bin 7701 -> 7703 bytes .../Unreads-empty-room-list-linux.png | Bin 8123 -> 8124 bytes .../default-empty-room-list-linux.png | Bin 13235 -> 13284 bytes .../room-panel-empty-room-list-linux.png | Bin 28124 -> 24184 bytes .../unread-dm-linux.png | Bin 2862 -> 2867 bytes .../unread-primary-filters-linux.png | Bin 8115 -> 4282 bytes .../unselected-primary-filters-linux.png | Bin 7387 -> 3553 bytes .../room-list-header-space-menu-linux.png | Bin 10038 -> 10060 bytes .../room-list-panel-linux.png | Bin 32683 -> 29751 bytes .../room-list-panel-smallscreen-linux.png | Bin 19701 -> 14848 bytes .../room-list-item-activity-linux.png | Bin 2489 -> 2494 bytes .../room-list-item-hover-linux.png | Bin 2511 -> 2531 bytes .../room-list-item-hover-silent-linux.png | Bin 2678 -> 2697 bytes .../room-list-item-invited-linux.png | Bin 2590 -> 2597 bytes .../room-list-item-low-priority-linux.png | Bin 2674 -> 2684 bytes .../room-list-item-mark-as-unread-linux.png | Bin 3365 -> 3370 bytes .../room-list-item-mention-linux.png | Bin 3379 -> 3384 bytes .../room-list-item-message-preview-linux.png | Bin 4947 -> 4953 bytes .../room-list-item-notification-linux.png | Bin 3566 -> 3572 bytes ...room-list-item-open-more-options-linux.png | Bin 81687 -> 78914 bytes ...t-item-open-notification-options-linux.png | Bin 77409 -> 74694 bytes ...n-notification-options-selection-linux.png | Bin 95794 -> 92349 bytes .../room-list-item-public-linux.png | Bin 2841 -> 2845 bytes .../room-list-item-silent-linux.png | Bin 2490 -> 2504 bytes .../room-list-item-video-linux.png | Bin 2633 -> 2692 bytes .../room-list.spec.ts/room-list-linux.png | Bin 20453 -> 21623 bytes .../room-list-scrolled-linux.png | Bin 18375 -> 19293 bytes .../_RoomListPrimaryFilters.pcss | 31 +- .../RoomListPanel/RoomListPrimaryFilters.tsx | 154 +++++- src/i18n/strings/en_EN.json | 2 + .../RoomListPanel/RoomListPanel-test.tsx | 7 +- .../RoomListPrimaryFilters-test.tsx | 114 ++++- .../__snapshots__/RoomListPanel-test.tsx.snap | 459 ------------------ .../RoomListPrimaryFilters-test.tsx.snap | 77 +-- 39 files changed, 341 insertions(+), 531 deletions(-) delete mode 100644 test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListPanel-test.tsx.snap diff --git a/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index d3aa060a27..7f87f3f43c 100644 --- a/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -22,13 +22,21 @@ test.describe("Room list filters and sort", () => { }); function getPrimaryFilters(page: Page): Locator { - return page.getByRole("listbox", { name: "Room list filters" }); + return page.getByTestId("primary-filters"); } function getRoomOptionsMenu(page: Page): Locator { return page.getByRole("button", { name: "Room Options" }); } + function getFilterExpandButton(page: Page): Locator { + return getPrimaryFilters(page).getByRole("button", { name: "Expand filter list" }); + } + + function getFilterCollapseButton(page: Page): Locator { + return getPrimaryFilters(page).getByRole("button", { name: "Collapse filter list" }); + } + /** * Get the room list * @param page @@ -136,6 +144,7 @@ test.describe("Room list filters and sort", () => { await tile.click(); // Enable Favourite filter + await getFilterExpandButton(page).click(); const primaryFilters = getPrimaryFilters(page); await primaryFilters.getByRole("option", { name: "Favourite" }).click(); await expect(tile).not.toBeVisible(); @@ -223,10 +232,6 @@ test.describe("Room list filters and sort", () => { expect(await roomList.locator("role=gridcell").count()).toBe(4); await expect(primaryFilters).toMatchScreenshot("unread-primary-filters.png"); - await primaryFilters.getByRole("option", { name: "Favourite" }).click(); - await expect(roomList.getByRole("gridcell", { name: "favourite room" })).toBeVisible(); - expect(await roomList.locator("role=gridcell").count()).toBe(1); - await primaryFilters.getByRole("option", { name: "People" }).click(); await expect(roomList.getByRole("gridcell", { name: "unread dm" })).toBeVisible(); await expect(roomList.getByRole("gridcell", { name: "invited room" })).toBeVisible(); @@ -240,6 +245,12 @@ test.describe("Room list filters and sort", () => { await expect(roomList.getByRole("gridcell", { name: "Low prio room" })).toBeVisible(); expect(await roomList.locator("role=gridcell").count()).toBe(5); + await getFilterExpandButton(page).click(); + + await primaryFilters.getByRole("option", { name: "Favourite" }).click(); + await expect(roomList.getByRole("gridcell", { name: "favourite room" })).toBeVisible(); + expect(await roomList.locator("role=gridcell").count()).toBe(1); + await primaryFilters.getByRole("option", { name: "Mentions" }).click(); await expect(roomList.getByRole("gridcell", { name: "room with mention" })).toBeVisible(); expect(await roomList.locator("role=gridcell").count()).toBe(1); @@ -247,6 +258,9 @@ test.describe("Room list filters and sort", () => { await primaryFilters.getByRole("option", { name: "Invites" }).click(); await expect(roomList.getByRole("gridcell", { name: "invited room" })).toBeVisible(); expect(await roomList.locator("role=gridcell").count()).toBe(1); + + await getFilterCollapseButton(page).click(); + await expect(primaryFilters.locator("role=option").first()).toHaveText("Invites"); }); test( @@ -326,6 +340,8 @@ test.describe("Room list filters and sort", () => { { tag: "@screenshot" }, async ({ page, app, user }) => { const primaryFilters = getPrimaryFilters(page); + await getFilterExpandButton(page).click(); + await primaryFilters.getByRole("option", { name: filter }).click(); const emptyRoomList = getEmptyRoomList(page); @@ -343,6 +359,8 @@ test.describe("Room list filters and sort", () => { { tag: "@screenshot" }, async ({ page, app, user }) => { const primaryFilters = getPrimaryFilters(page); + await getFilterExpandButton(page).click(); + await primaryFilters.getByRole("option", { name: filter }).click(); const emptyRoomList = getEmptyRoomList(page); diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Favourite-empty-room-list-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Favourite-empty-room-list-linux.png index 6c71c11b1d41832fad170f51d4663ce4943adc99..8cf4a3c97b3343d8e769223e3eb2f06e46d28876 100644 GIT binary patch delta 7841 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 delta 7861 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 KpGzc+fBrv=P+Us@ diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Invites-empty-room-list-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Invites-empty-room-list-linux.png index c7396da41d9b653dabe8c46f088985e8ba1f1088..c770da3377a94f840e872c41fe6e5355ed56468f 100644 GIT binary patch delta 6182 zcmV+>7}@9QHtII8k^+B}TEd=nQ#%*j@64CPe8<6{p85A=w5RF~Nz5aU9110LOCx zU}(XC&I=d21JlOuT{H61*6$%$B;Ub0I|syvx^AtsOi87udvp=V@ijHNtiNG3Uxk(9 z04|sNz3V}KHP7nTT1)F%w&wv$q4S@I5h@vPeEJ2! zvrXF^a=s*Q_BM6ij;%KTsaQ|d8PB$d-! z?Y{n50Q#*1rTJ3TdYv3o4-f9I+FT^PRbJmQ^ypLrBx8RgM{3KRnxjQ0{PD^tmHJcQ@hWR{5Zw(P7}-S(!=kyu8BQi(`!+s=x&B=HSLMRQNs zcQZcu)2TH0wk5*kG-`g?u6Avo`)Wv=sUFC z-*S7MgYhhh;IW#0mjcSX0T}93-_hfj)uoK(dbo3E<;NET%7VdXnc8&V!U5mzli|#M zk3QAC?{Hs4H%%Do>Qv*#?;m0p(|ri z1CYwL*##t(?%m$nGk3z;63@fXrh^yuHl2$kpDH^UKHGHYQc#)Kku7kG@$nlSyQ^CQ zTEiSwd1e7yO@jTsZB zxuA?*YTkV;v!iLohuRKZ48|8t6M#7vZ1ul)xNme;M>c0J#3MJ_K0bVN&IEvzdhKXq z$Mwm$w!{nBrZye8aM-u|>`GgZjQ8!U>$ox**8y`Oe(Te=bCVlhRcvq%!D92a)R%v7 zK=}NrwllXiK-_+y!Nmh+?E0zB@kNN`UEe72AE%>NKe6*rub=E1f5A(cq|$rtjt21V z*2~{UV&9GS?h!OCV|loz{lc_~f|@T!XMUWH{oe~UGEC)C`}vHcZqA!k{m~yMl^?RHvB9fD9TlR*BJF?Z8aTJT0Dw?&eDLPb8K1aT*L*3i7j;}6kA8Qn zdsh($=;K2{%>BB*yJ_Y7sqh!?ihw%$b$E^won99Y#3#dQx{cAJ!H5A! zZm(=LV^>afMHV5w+x@K)|1lo=;(ZBF`ad0xJ<+ZhYFy`p9Q&RN(I2LiA0vO4_Y?pN z!NIYN*e+>&W8k}~$oG?hBPAT5kB@{k(<+sFWWbCEBk9+gT4XG0g0q)zlh^!kZa~+i zwr}Ig{i*0zAIboM#0?eMt|M2XKTO5GyVB;)hCbGL zZae{`^y!!>h*EjyH%k2bsn~zFCp`j8W#pQo1DG5CYj0!;$n$@8J^F(Z{@Y2HF}vX< z$A)*lxZ+){H8P-2h2l%#9nDSUxd2jXC@^IL_WJ$4Vje)QtFE~s2UrLNCfC3CTSH2l z466Y0{7pNz6bjZ{X=~Flzx-(T#DimTfOj`GyCn-?u~jtJm+?S+d?kOE0Dz($erGNK zi|nf}7Xj$A2@?P;R;kowFMNT1ZI-A0fZrwN=E~ce8a)DFYBRbCAlGxa@9t#e@?lpl z0FD;~9)O|ihG`KUmG&%P`ffTj2_>j30(qWF*_u*A!6_4YHSMRi74iUA=sVoDJqPC0 z&BznCGWgQ^zuvk(d8>b;BG&?d&$aO!U>aJ+X*0{^FPE(V_|mF6j{ul@OgCYbxB7~J zrC4xMPXQ?{98^p|uJlSTb=54mt1AmR0J+Y(9nLIZaZWQH)mHKzJ?JgY%(OhAu?6dmB*jV)F7 zTq|!Y-Pv}qY{L)Pf8DtHR%b)gyTN^TG{C;A)mON3EgsVVYAi9c#)sh6+A#oFmK0BwI_Laif3*WvR7*iA_7GE${OUT%kr>mE)9VffX?B}Kx zWh|^$3+7}{SprwI&HZwr1ux{Re9$eNz;nP7k{Pw&C4PTpv8k)GI)KP2&p)4feDmft z!$dBJWc=>+p+IOl7N1gA&%`Exl&Nb508xH)aCxaf#6Ymjn)0j2~KY*KM_*K zqN=wrIH`XDvfC?Jfkb*=W!tN~E-`bDakj_*A1UqT(VflL=K=6?nQyP7&>ZXPpL))l zbQa0GRlcYwN>I^C&9SHf&gpeYztznXsjS9bz-N|bm5X^U8SQD<{b|?$xExo-hdWBe z*x;uD^_7ZxuGFr9%M%1ZpO3}0lq-GX)`*2w1K@uJi3gCrOKRxmN@HRgbB4KA%sE~Z zIB13%)r@U69srVhOj}%8Y~e(K2NtyOw7y5SSpYzfPpT#$<_J88-|P#4RQ%fDgpMpv z`%rhi-3p{;27+g9JX~%O96o1uXfz&-OwK6tK+(4JWzfpL;tG8Sj#diKDnXkVyfqK5 zsOf*Jfuk+~z+7OetN*!cXpuaXMP15tEHoK56a!hV%JQ{Z+Vm}K(|p+NFc$QezkQwV zDNUQaqxMK+@sq_F;d4V_147l=;m=ks;!h7htS~2tJg}g}r}dOQeQ*tRR(q<9C%o)8 zx>jkcGY^2$_t(IT0U!|`=pJ1FvPvsU1Pgz7F;4)X-tHY$Q$Qj*(sg}y%{5s>hf4x5 zKYV`mCeE#kfk$Tup}5i^0LFMv_qdh*C*egnNU$ov_`o^tk7{-g<>o8Z> zzzbFYFqGkuXl83~5nVnfkEL*5PaqD?Ugk+(2CeL?g~0iN@XCdA|a6dD`|CxDcC_k2(A6~1&4 z?B%6AOl6>Z<-Wc-Gu-IjTwc?0doG3aZsxe`bhjoE846||T#ub!Ik;;2;PwtiUj1rp zJ-ogCuulZEv6gr2@>@lvA6!%naQ1(?mMX~tSS9Zcdls+|I8;%XFO|Occ~UM~yR&PR zYn#diz!?A3_ogJ~+kGcgQF^pI*L|SHoej(me(WyZR8su*-oZG)J6h7$g)fE^qyiBz z#*h2oalF`<(pJf3&jS{NhrI5s-ipl*|Ai;db2huzBf!*V^~WxQR`!*tT=ajxT~@Kh zA-%cld}Kj2I7xhLmso@nj|`Yo9UqieY%O=bUDXkJvCXqcW!vmo(54j~ytDd=4#+Ce ziXmaNO zF!UuLORhRL{N>@&bkEmnum7T_V|$6jgO?ojpADU>DOjh6#o2sk2S0mPPA}$*YCbzz zD`#hvB-MT~)U~Tb08C@i1O)s0T~~W*i(jV4mRouJ{ONb?VwSEgB<6qg7wH-ETaNT} zZ7<@nsK%#t(cAgu@h4CCHiyrd4d98(AdAi0b@f7%I}gTuTwO4cEms{2T>W&*6CXRP zz5a{O>z&y!=HqdVcOUCL?UnE%ERw4-y(6;bU(PW659QKg*2aoKWJYwwq> zo(+@oEPQFx!0_pJ?L2>UbyhRLiH@c(M|$gJ3t;n|?Q1WWIOyth+>~lQyU^y$dVG`n z(92Ee&6mp8ei7+P0tS7>-jx4{ZjEYqsM|%8o)cf zF5&fz>?_H3jbCJ8D_|uPtkzWO+_K{@t^P2be*1p#`_~heU zFS?@fj@`Q&cJFK%){y@7UFX^E!SR=P4wS5kQu_$UOEv)z^45NI_XSoY6be~@Af}&? zQg3%(xY*e@rv0{$UcAQWcL1o`t218`H`QI6d)R&&;f``K zUy^nV%p@KTlQEOg5FCFEWM}(u#_!Wp>dlUoF)zeTj*8locju^;ehj5{18WXuk!$yQ zB*0LD%ERGX)O(RxAj{<|%Y1;qT4=Y6=^sI7Npg`(&f$R6%uw@tyV|Zys(KdBEot$| zzC(>2D?{QL;WLfR{gZKRi5K$(b0I!{so{gxn-ts(l-dofJ(z!m)xOP{2P{T|Q|ZAU zQtDVJ4)AuLGxGt0?9%$4zSHFb0IB-S)!Th-?%b3XIB_KcW0^tHYfqi7;O1sf*VgrFH}B3}(U0zA_2WBcss-08@=j zr~q$Y?@_HsQrdq+Kv{%P-qv1MY6UFfmZoDh5)hxbt3G_rZy^?%oJj%}x#9A}__e>* zmcGuvJbY1<+6_E4m<7^0!!^h4e647Rj+y28@aB z^W*73c9XGznk{8j4QIm%q-F+cHp!*$G!D<00IX6;sgQ+-WBCw(Qu}JG(pGm7u&8QF z5X;u<9&n<)SOD~~=07{!4I^`q{Rcmk0rkpW*E@gZ?#)HTe?Apb=XFjJcv!@;N_#ep z$+kb2Rc!TEyyI<)EP*en^~==IK18W~6};>#OOIJ9I=$-+-(<0QJ3edm*>j*TXu4{c z$n_i_yxQuMvrKJP)t12LRUYXNq=&(>NVQ)Kb?+(>&4qY;TI1x(U9H_;^)wVyr}hzg z+K~gWhuV?hd4GRodMr3}ZNs_Glj^;Jcs!h#~t`+M5^ z@BftgM;H0a{l7SD1x5AOe|r4izpe*A_InEp@`^va`phl*>Dos{wt_t0g&!aM+BNv2 zV!W+Qsn?plzI_)18edxVZYie*`%n4btGgUCp5x7bJb#JNgPSGst;V|v0I*2j6Q^4{ zPPbOBGgVHSt)jKFy|wE|wPbm64X-P>Hm;ArF)`C=v5Z>W8&txYe02$qgejPpv@>?sulAQGZ{V5#5{_+$rTt&X!T8+hVp;Yn97A zGN69#e{bi(&Vid@HS@wH6&q;YeY|f}%XPl%uMmyM*DW73_Qs57FUokocJpXm^MwgR z^w#hF$ipjx7Y-jhKfb}W(F${B@IcL>ufwM7-}6z89pNjVwjAw=B?0L7PSn+&xDhrb z&ws8DD@ASi#2){l+dA*4-BT`c0P-q#ebV5`ocNKKedRI`AHSX6!jwK4h%7=Z^Sd8S z7sUxrt|8A^?U7(Aw?nE404X&TP)y`i`km`c*u#k5yJP*zevbXE{iCwNf;?M6o~`_lj4@_%f9 z`rr4H%gd?1U;D7gR^T`i`sIlVJh6u5fOUdm3aVxkKKWcmvh>Jnbg)@lmarQZ?+0zt~t=P z@8XQE>*}m#0;c(#GcjANqR3BPK7Z5Lsp<(`RW*P!O%sL|i5U>w6{YFvOD*z_&Ym6V z_dMgYZIL`aJ0F=01(l>-3D<`_EUBYB= z{C2cb4k$~Uy?lqf@zi-1seFg?^R~#uO{K&fodxgkyQPihRsW-7x?gK*qsMDL*j{sD zY;N^x!!#BRfa7_N6C^Pk(0>h1a=Dx?m(wnobLxDO<1Ci-7iFwHsZNBHCEk59aJA=5 z+hM<*$Ma8kpNxmbXCb`X`?rzv9mkuiO1Rbc@{+Tdhpvo9=YaIhySB!rj-l8_{bh@- z%u9h6|PdyhtCW>cS8$sf=vLFiN13KriYLAogLNy4gf5L-sW9H;R|27M1Q(ZoYZUT{L&LE6-xbO;;kFO>+|M%O(y^N8eF0Uu(?0VpZ&XsQesPn6#j!F@L)pdOE>e;3$F){vi zU;mvr=cxItr^O{ad(lId!s?Fp_wC&D@QK6CXU6!NI*+h^O@E$Xk!#vd`ecN!oNC_p zd0eWiw`Z*`<6Q>_29K2S>eyiar9p-Fwf6@;tF~DHi|lLq(9SO^w=Q)LPCb1qF4taN zDZw-$IICT2HkoU#A=mDA=K+9JzQg|f+wjLl^XUF(U`9K=z6-PVBiDzU?5uZc+3q3y zzyJ7;|Nf_UenjtD{Gn+-#pgmpmqSYU`YeRXdy$;<2N-bd$<5y$kKP8hv0Xi1{A4LIwyN{0{HUIzs07*qoM6N<$ Eg7W8*AOHXW delta 6178 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 diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Mentions-empty-room-list-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/Mentions-empty-room-list-linux.png index 15620d361269e2d4cc192737e09da573b100a1fb..44e27d96189cb41580c27a5241e74651b5814c7c 100644 GIT binary patch delta 6283 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 delta 9588 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 z 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 Z{tw#lJ(Inr1l#}s002ovPDHLkV1nEcdK&-$ delta 6253 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 +`AJbDkpi-f#(!u07L5!<|`rl$4sRS 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 diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unread-dm-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unread-dm-linux.png index 2f12ee4e41563b54423a9f3783bfa5ee223322d3..13577e0a1bc5efab6eb57c148c7979b1d904da10 100644 GIT binary patch delta 2722 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 delta 2717 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 literal 8115 zcmaKxWl&tr*0whmJcCOzXa;u(1b4T=2Z9EI``|9Y39cbHAxIM3J-9<~hTs}pg4@S) zp7ZC_TlMW9-Mgw+b@kfatM`4a6{)5whl}+B3jhFI1$k)=06;Q)de_82erl`Jq##cn zl8c6%Bv3XA{sRD1_6pJxTArB)Spiyv+f7HyQOC0WI0vbDwW@Y|fhiJ4^c71_JM(c;{7z;Xh=vwjTp`n;^HRkk_LEqcGO zcoc9mSp+LHa8~PDUtbU69Cpml&+nc?ba!_fKWNY=eO}3x4 zWlnlV8^y8a?^m?G=B`@rU8hRZi~DzW`ir&m19K$f2~mToeFZ#Cna(mEj`JQ4>f@Fg z{$yrkU=?dC(b3YbeJWbNJXk0g9>SFm8%;PWc{$4DASfuvP0!3NXrt|_1^I{plHWS( zR8fhGfqsmE#>PIiD$>%@5jin(FfsD@VKe~=Grdp_s^~cEa-zGfN5i{d^Lg>lM4Z$i z)+LFWRG9{*qB9)jON~Bnu6xc|vOQ_Vzg~}IHG8x-NQZ@n(m8s*i`2t}Q&J-lwS8x$ zXa9SVb?@kyyxizw>7|Ut`R?62dxjuuHIb` zc=?^l`krg{(>^EN2*FSyqC~xm#iq)fpybyT5)f##qesiu{wD1f4l2wSHl2&Ydy$p(>C<)e!Jx}r#x%6�kc;frp~@yd#^!PS-V;}s~yhq5ep#bUZt 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 BkP`p^ diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unselected-primary-filters-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-filter-sort.spec.ts/unselected-primary-filters-linux.png index 878818f820aba0ddc198cbb63afcb1ef6ea41cfd..0b879c18fe1ba451b0407617b90256e74c2712c7 100644 GIT binary patch literal 3553 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 Ne3DdJyO_HV92U5o$# diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-panel.spec.ts/room-list-panel-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-panel.spec.ts/room-list-panel-linux.png index bada16f154b47858e96923c0c7360030212f947a..75cea916c91f777302b5b5cfdda6a93a6c500484 100644 GIT binary patch literal 29751 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 PfWJNnO1>}V*Y^4!fN0y> diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list-panel.spec.ts/room-list-panel-smallscreen-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list-panel.spec.ts/room-list-panel-smallscreen-linux.png index b0de5b5253a137f7f698d9fe39b942c40129dab9..e023a0d34d5f03f92a4981195b0ab262574a3b49 100644 GIT binary patch literal 14848 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%0As7IwKWC( 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 aDh|%q)RI0_0?sj;=Ir2Zf7|xp>AwKvY)MA| diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-activity-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-activity-linux.png index aa73d79988bb19ee375f2f18861c1aa7028c8fe6..bc1aa9f4f115dfdd148806089d2b9770cbc8e501 100644 GIT binary patch literal 2494 zcmaKuX*kr27sr3dHTJRJ$i7xck*$cqOi0Gq%Tg%A*oV zSIgo;8i8#>t8a?%u)ADp{Z2Ks_O}VBQTw~4RqYP@+iDkuId(InpmwYo{O>cNg(`9g zb_k?{p5(O4dG+jbfxnMVq)1*XIr}+LJ^8&$6dp4LK^6$89pclbj0F>dG{nG==l>se z!j~?qoU0^LL*=*j;<^TA)T6hA4B{Lt#*=w zG1KqhW>(J61Oyz*+s%R*KiB4qGVwFzUvl~A8w)WFN|tHxM`^04`beoAk@K8X1uUP-iQo$%uZS%sdy z7c5w7OO3e(%`9aFtS9m|8}($`+Y7>FPE&@in$N_06U(V&dQ0TKG8@}tM={!1gI+kv zYiv_DGO|^g)PJ@fC#zKm)_40Bqf|wyOdI#J!Di|T1NXRWC%*k3)qQVz3F}S+>qv$HclNh;IIyV=5-*`uiCtZfkJ6dR zS2m8Mi+;E{4ZIUOdxB%Fo45FzM$@2Z-OPOwEd)?G-`u0+k(uE#)pWzTNKE-cqR&5l zpZb*&{-)&kbFwFN-V_4+Crb0faQI93)Jom!(`b+xrylgQ zQV4gRTc->4C3yc8@u2a|_7yhZ3);rS8SQzHqBw*ht-KcI04fQ0JUl*-`Mjg*l+}}k z&UWGeY+W4}z&LzW%p6Kv>4M&6+5hO1-;_m*J#lfL6xU{p%~JRbMCdSH-1;`tP$a z4T>Eu1#lJ3r+8vzjUV;*(b-vd+Z}lTbcPjpXXDBXNNtfBj#~@#r3Jb|z09ljqPjJU z4xgILk+xWfI>4xR?4gUyeXc1l7v9&;%;E=#4(vVj1hBJ|Azk5}jlj~BXvfT~g?TnB z5T7}e?SoxZ%vrY7aM4qext$J8%24i5JN19iqIc6s}8gJ+;BVoFxS z88h!E);qmFdY7S~-ceBRUke2X3u=vqS4b8;s_G75%Qtd!|5{u;A>_OScjCSd4T;Y@ z@NNZw_}B_0YNK>KH2_Vyq&@qxSPP z-SwQ8nqfRmDKo+PIFwQQgJA{05jG*9oJ--`_csG9o6G`ye0`Ir_O^S|XSb#VuC-ah zU^K=X${#O8SI;IP5d0HVCmQYX4etRzfXbl3HEoBB7Bo5dOYv1cfq~r~pZriq-ew&y`Us%M1hliKFJ~^IfSYN<9IP9pZQj!uAsdNznAs)gjTSs+rHjPiHyY+Nr z#Aj_y>jf^@)TtaVqBlF5B+zpD!79K6`VBX>fo~NyoQ@I)q847B6l^aa@N?@pcnyee zD(PF^|OyS>OLlza4Uf0#o3dv%A zqF|M`I-w+{8Gy(9IX2lj_Vvrl=0SKjyp{NKwP&-h(xUXX5*H<=N>VSPs-dB}?N?n& zy-*_SVX<5UxzzJ=!ZIu%)v#??fAURRfQ7MKTF*eVIjmd0siX#XM1HA_UrILsS%FQ_ z^UkoXfJwHv53_n+sjs-~4|WJD)fJ(FD7koHSm^PG*Wp^ZCg!A!9s>%C2}>a-Qh1#Z zg=tB)R!sFs#Q*92mTr#&6~56)b}8_&k*|wYUPlQaFUD>1K)v?F2}*7b*g;dRmasvd zICBB#4zB1trn&}j;6q`blw2@m@n#;aZ`WY;^nwEMfN*^udljuc9!iyFR>IvHpbg^k zQZD>8OPP-RlYzh65PCH#y!rV2KZ!+JE!;U^i07?B+9+29NAmN2%hSj9D`=GK=;R;J zYxA7!@iSap%dymgpl_J-TM+@rajj$nn%nLqdef?G;*fB+<#QKpN`6;VR+edCVl)_m x=VTQ)(JcQPxNkdE-P6NTCy%UI3QxsO*;wNcoMkZMYfM81n48@;t%2N&{TJzsw21%! literal 2489 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 diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-hover-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-hover-linux.png index 55f4af3972d1148b6e5d6f3b411b76dc8d65936a..1315363e7edc21b613d42a6bf75c29a894d2a934 100644 GIT binary patch literal 2531 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 literal 2511 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 DKf)mp literal 2678 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 AumAu6 diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-low-priority-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-low-priority-linux.png index cc2adcc5989ba6ab2b8c1b9ca41f5969d5f222a3..fe5ef29ecf2ee03f9f52818ed3023573913c58b7 100644 GIT binary patch delta 2662 zcmV-s3Yqot6#NvB7k@Db0ssI2_N(o600001b5ch_0Itp)=>Pxr5aw)6cw{^<3)d>y}HzVn-T-}g5Zf*=4P zgx(-G+6f?p#vH5*2q96CsUClnf=p)VXncAjt>#W)UGx36#=ET`2Xy_9=z8kLGj*qX znX1xNWD*4-G%_edx!#c=pep^(gs^j+P0z%1qfJs>`n{)_`(z45>QD%wkt2OwsJrp- z-$B1M*R_-Euc=G>^e9KyLR-3U2%!-pO_0HGvbP*h_@h`HD`Z=0|i$O2#sM9 z*M*)Jy>S62Z)Vm?9n#FzC^&&DuP86|3<#lNC0Sh{`iOnpt!_?LP&cBy}9jUSH5Wo~cGt`QrB z&?q9cUZ}~vC)=nBit-E}v%nt~L}z{ap$1io8E)VH^Ye%(J9{TbCsyPaU)I*%1%R|m zSM&@_y1KdqebxrAH<~=HyZeRUaFOrgFE?)ynJ4eEFkg=Uo5`@fIlKwjYWMpKnS{-a=VeK_{ z!H%7~Iy(5m&Vx0%u|4C5rIRb3;+uK>Nr zNY#bgGOY_{u14F7)~!6`Gm~raPqT?~3KHMb+1c62^ayQH(T zlj-avFE5wP%LRbm-rn52d^%mTq@)x8+S}Vp%gWu{Sp8?q%P+{{@%F{W96uJ{($X3b z5cKTXtJ{A)vU$12#zwrX^q|1yWD*dzR#a3bo=7-wAXYfUXQ6jtJ`VscUP#H!`2zs_ zIE#v|7T4815OlbHqoTUzwjXCv{|rwgo?NwRMPYt6!^Zk*aYQ7|Dfpq8L8J1 zkMA_gD&E{k=eb`v4{?&yNoS~3>VY5jDk>@hz{ehQm@N0C-;#q?EN419^LRO4o*q|= zOSC6yJ37wd<>Wd#&dSNjqf)6(jt>22>+2)p4(wM`Qw4y7ar*)bNP~a!qzx__i-voM3k$SFvSluL(VDo>Xm_siL08mzb&BoeF@R$SuMMXu1jdf{R zIRLo3yYX^z0U$3gpJ8ibXUE9PF93ktynI)di*U%BEX>UWMF9X*R8(e6w=BPQU2sUJ zYf72`04OUfzq2R+0EI%~aC}ZDodJNCFJC5~OpeikJqB>)&V?p5+1P^rR|4nhJWw=au1+t@2&woIlX2twq}E8(Fl z%cY^=;jQW#9xvCHVPng%sjRGOZEelW%4RYLiQaFjo}M156OahU*QdU|p`@fVD~tF1 z`E&32^WHf`OlVnUg%GK_Fv*loqL+U-N-By0dk6lb&&(;x&MTH^HfyUHrDf&9NAHUl zFN#Y_t*vGNfTpI#Ogr23^xtpZs&-+{*3i&kFl4EW{(08~{~@%gWwFuS_C z%CB8FG&GPp0f}g9YqQy|X_qcvOuOXi=^y|iv$yWT!Hge2{>x2~Vd0T;Jmv}48Y~wkzk{!?PMc*vlg!UP#l$53=;1SGQvA3}SFT=b zXUo{N^SgI8AtVt}_gQy5c^YLFBfihJf{+2166ospzk^);Bc#a`bq6F!Rt^Y>Aa$Nnb%KiWc%|o0yQL1J z^3hw*rH`I80f4p^UF2QA*0v5gISP%$%k1|7U&<9K^a($;$P zr0MaKW-JN_jUAHh``Xt_?DY8QztA%sSr z^q)i5SleF>Isu4oNZHS*+OWgdU_LtCo=xXl#;AT|fxE zPw>B7i6XTx%UICSDelrKgpdsV53Tk! U!@oVNX8-^I07*qoM6N<$f;&kslmGw# literal 2674 zcmV-&3XS!NP)Px?ZTBns;SLP*pA znat8y_4;mn>7%Ujny2+ukLy4V=(PcTl=>T@yh-al*sn zL6@4U--zi(8=*3Ho2!xYND4*jPza&kBYj;czx({(e&=h-8%Xw7*QWh=grjYuDP1^( zP_L1uE)WE9VdKrjsB9_X%?M{rS!F}Pl>+(VE)ea+ZtlsFl*iqSI)zvk0rLH2>s?C=ljXd1+m2os zg;3ujRTl_?I2CfGC&Hf&jsI3Qj8alm96#RFz`#K2QO}-L{9RlBZedZ6<%p1Mkh%_< zU)9{w{GlhpzkA)nuWDA+7~B(+%iOMr?Y%Y%p*}=vy-=F=M7B`}D9AHBjC_Be5uW_x z;30#gnBl>Lhd+gcSy|iJ+Oa}^URzf77y#n0-O$k+)!f`H=(Eg!g~7;iEiLZ_hqF9q zuU)r6WS;Q#8<#Fye(>O7dk6LebF0-sA*Bxv$nAZ0Jo_#>?S(`z>1YYo*eJblVLl%Zun)hNQO>q z*PRiObLaVv9Bq6f;U)kiCMGRj;%{VP?lyJCmaW?x8~MV{T{SteU3c%<8@49g*wkY7 z9G}9%qL_A|si}!+ZznG=m%>W}fVQ@_wDb%*T|GB94*(h( z8uIcBoSax4XG_n>Oy==+M@F1HakRF!&d0~^&6|(6d!+Ev3=Iu<$q9bG3&-TTIyc_;KiAheJiKD{F$J`ox6o4r4PI~vpQyY>hzh# zix*~Pq%bVZZ{_6r`YqAb)rs7-W8SJMEFKY}Nwq$9* zm8U1*9eYln=H|fs_@8$8@CJ{W?&0gg1cz3ZjLA%=`}a%6jvaIO z@X@ZC0KkdOvay*203kmGS=-o0?AWTSqXPhbzVkQ#`kR!$3G|&JwO)8$QZ18U)54hD zFA4yVUvS&P+)VJ81ONpE1%`!rUVZ@pI6FJ>Qquq+Jw1bAX<=o>NYBUwfVA`sN0x(d z$mdLqjRZvj0F;%LCyX~OxP3=(NT;hyng9SODJgxmC;$M3Lg8>c&P87UfDa! WM< z&E<63lTN1#|DBVYXJut6Jk-|HoAAc4_MMVG@IPhcggQ!&DN(Ui< z-rJYOm~H45GFc{55dyZX`TTxKDUX+C$*{0wSQHf%*VWY}C8sc%T}1CN zRcmXj)Cow0Od_wJqh^l4umA||w~vOBNzajJHgmHHdHDsxNALUh?{jkV%*`eMfV%q7iB^^g2{-TEFL7W_9y)X=gJBUH zce$pfw$qaf08m_9%;$f6!fbACF1US1Utdq^1SF!VsmW$L#$UUBHU65btBY{iB8DZy zB0Kw*@UX1xaYaR?g}IsdCWItHsxAyS?0h**-b61Gm0_K~8ChH3SW{Oo(QI?Pxr3Aj zty~qHk&&5^kr}uuSeZ)op6w-Qb#h`IKXKB^k|9{kvmBU*{y1V|V@*?4?Q}L8jpiS) zGA%75Jw4MuAdn!4nKRwHlR#J0)Mx)qR#jCwAAM@LhDLW1=*r;1gV(MJ4GIpO;xbLR)?hg>`Hg%vHQFTWiDZ8E z(W6EkJ#z5Eg;+1{+(k>4Sy?i+Z~g77O$bSZ)P2^CuU>~4MTqaSDKntcWkvGAoU`k$ zZ!HQ^9sajY2S&%;pisbb`V_J$%T)OKjTM!Z$BrE8ljwqz0ycIIbLY%n9T>Kok-)9=pKZ`obpK)g-Fx%7?pm6kR_qne zUmZUiXJuyWXm3p__itQnZSBliTwPtAsC~QD)ra*8j`<{DVO7>Pu&5`O$k9u|gl4^udPwVFA))M#rDmxY! z`_<2_owsx9I7fZFy$_*pLbvLI5Wl+l&ef7f+2z$w>#LvCK|2i78=|hGW@xQ#>N;Ar zi#w(eLj99$>H)&+!+C{p{f^aqVi g;x3&+2+7d@0Mqm}!5Bh-Pyhe`07*qoM6N<$f*#r|=l}o! diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-mark-as-unread-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-mark-as-unread-linux.png index 310912e50da212422f864b4593234c6029856284..86032973a3b60393e0d7eab020a81a6f2531705c 100644 GIT binary patch delta 3237 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 S9>G@t0000Px>@{ux=e_>ug2#KRg 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 delta 3220 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 IM6N<$g5=DCQ~&?~ delta 4828 zcmV<25+m)|CetR67aK4L0ssI2J@-D)00001b5ch_0Itp)=>Px|4UsaCf0?fR+>J6ZF$RFNw2Y!x zua++h5D*}Yrqa{X6ZU)f40BU6GtAL5n(Y|J>>*S{I!MrvT8<(6}vdyOp(ro`KQ&4V!pE`2c`_z)D4BjpCA$pMN>7sH}1F z)M|Hf;&KeJ6UZi#q@$C8a1TYa}J5{QS!aCau7r9g4~t zccWu?`$Y)E#Dwd-&`{QLc+UBfv?|{GJx?e(>~#L!>t=2hX>_`Oz=}I}V;mjr*R5S$ zUS7Fx{}0J2j{u;qu5N+1FNKm|KEup!$>Q{kOm~m@Wo6~df0y~|Xlnz2|I#IkeHVUg zZOLL^0Js|+i+%0s=}AnyPbQO{ot+pmIy&0Rm-z#Lrl!Wu9YJbps!J9xV$zCFxKAdN zU7VeHyBY|@#Du$kM0ZQ?uS+8uD_Y0mvZ1UcB;fk4d#gmGh@5K)5D3SP9c_5m;N&zL z05ml;Hf-8Tf2F25*xQBu9!{gv5A5H&ZtZFSFf*He>(-t6`gbc=EX&GzQe0B9XrVV& zUtpl5q-Z(QA|o^F#ft(%!>RG{iFA5jfd5i{etw3Gp01AH65mUguc)Xf2L*1$4q91R zrlnMxy~hZeAV$IM4m?sJFGTwzaWlYtY+!enw_i>^+L1;ndhT z3IO~*(e;2K(eE4x2_2a_OgOH4hoZ9hnT%KL?AS8ne`SJ=ohdGCSI!Y#!EoPW++PIE! z3L8liin6XPMJ?YHF`X-W(Vh@E)nL@Tt0>fPj~$dreJkNXUP&<^zZEBM@WZ ze|!#g+UWxs)n%gzWK@?;JAL3{ZtA$WPZ0;^fHy@LTA)*|Qyd7x^&RfAsNQa4jP8(&a0H0s>y19-lg$te^k@`T5U} zpE%{?Jzqsd82}dgEC~DkGN$D|&y|zl5s0x6nw_#SI-IRocOQNA?XbSVfeq&NWAw;T zd*OX2JtHEYt=No(hFDSn00~7gZ7Wr_Dw)@xz3=2`*wWF#e%sbfWo2bsw|#T-f99>- z-|b|al9ZIZcJ@$~7CPi>l;n`&sN z*Vevub#)dK6a7>`Oic8^{=IE&ZNVr1^Ym#BcF@pps=mJ7;NYOQ_k3YtVNQZaAb6&{ zwQ(nfi>bFeDUs!^jbn7m(R{~ef0W|TFkJu~BQQ>m)0P0zmqe{P1sL*=lXL zw8+R+hvR@J1b+U@snoRSJ2$6KH~G@BApXe=4G&wNJ^X3+K~jixZo$g=dM4MNXDz*P zmg(#)Wlie3J$NoFZXd%@d!aC?oUM$oBvH#!1po@}msaK10f3RK4kv+ee`0*%a5?D6V~wH0IW%TZpadHIg5jD_zs z{3JX86sJ}dQ!4;~Bq3zvraLaiCkVsC!>9gp=C{zZ_I9?xCw}?T;UNC`WL1y+)Qo)b z#P0mjp8iq$;G-#W2uF3tf6m5kwlc=9Ish;{G+a!rc;7*D4zvOQQ%}A8d#}cBe1d?( z;c}m5e(5L>UlCa~BR}^4`}8qyiX6gGdx7n(E2$)=W~vAPmAP+w+iAtrimv8f05F)N zMIiFC*8LyK3kbw#CaZ?W$3D-B7~?ZR%G}2g&xZqmmq}&VM5C7ve_sQD0Eyq!i~VFF z1OhQ4v;kH-82lZI7##H@L}i3qYdcs77`c9!^XIYK&SSUT$ET)y=w)1c#@aY%p&}4p z9Y*rXiLYPsrZ^VA9JLo%-?~yN;>yz$Mmwu(t4<;d@oXG{_?j`2SNhC~7#y`1lnmsm z^4^YicIILuY&?>3f1Da~vVR7jk`%!nVXl-lX{rwT_ z^Q1|9@^Z5Ni{`7Tj;Sk)V9Uw$``=Kmb0{3_x;SW-6970R#E%5-obX3p7xaM zw`1Pcz0*)rS+~-UL?p7cz~EI$+2x2^8fq%f3yPL3^t3QD{`4X+?1Wyp($>*osIRlo z%MCkTRb5L-OfD^}l$VpSwVGjJW|Eqb9e({b*2LJjCcxN`&BPN4viPC}^HMXj+uA#% zeaBt@3TrSeI~Os2VG{ zY-hjQ+GwO^X1BJsPti~VfIG2?WffH$f7b*ElZbH%$tOcD?E7}x(SPsx;c&3?Yx z<^oK4<(u4R1>T;n08sd^{cQ6By|3?L_zgQNi?u8KO3NxPhDT~oQOC@dmQ@69e_Ykv z(sts^xx!ba-v({$=;#c+a3%2}b%BR7Cl(mAw6yt5e!qHiczD>;&FMv9aSY|bssLYkIhpL7XTfLA z|9D`RFo_5NiAhwZsJQw2e~qY;rBc>>SK9oJT2)G|ETLAF4i698sA=1%YT2l1YfFvi zxE>dIK~O|sON8H1=L_xiU1RhrrApp zBWUw#S!pQ%@b+@uweQgD@=7gDbtc{Pteo_$4|^zB&onohss{iMQc@jkXK8Av0>BJY z~I_qm;w#lihMM~aIX0RjQLyJ$2ziAbEpH>vh* zJ$C;X>g(e1co}I)4RsZ=f0!5_9xp)_*VWc+ZfWDt0s|6}=r-2@ThPVgBDgx)%gIUu zz+xYd?RyS3G&Set7pN$IX!U5QsW{KJO?sSWJdM+tso(DZ3Hu-}Cc1jrVmuySSyj{4 z-r?>t8vulbNse~2DECu5-JFsir_Z*x#+qQZRu=b@sjo_2o0&`le}E-E9!ybT!6R6s zB_*dNCAY?O)EB0W3*7AoO;!-y65)4jUKp*L&E8EcAd!UvZ}^iWSWR{s4XnN}G&EFJ z@#fOCsDZ%&%NeG9{r%EXl9&J=9xq82Z*FPR(qz`f>I+zP?N&_uxl0jS)-7*q?~s;~ zV93ZwNiyzFDM>Qpf4H=yWXoUgTh#STAFIJEKCaui|5!|3lIoR%`IZ0 zBG~QJ(%Sa%E&VA9^0IDo9ez0(3IJqrv8LufcerkBZei3ZKYoBWwX|rcsc;@)PTuq9 z1w{wXXglAo;Njb@5Lv{$VdTzlY>q2=bwJ)VG?`7GhSeQ2p0FRUB@hTS8l4Z19~v5ZkerGQuW|)f7Fb*a0EkOW z?(XRwe;gW$ycMgasw5{XZ8g*EP4(NnXDWcIUw{9=z+lL^%Mnr0*yVkYoLXJ;7Avgm z_}7n&A961ti7Be?p5C)z*D9*2xxH41afiqEe^cV{xLN+j)4lZLPozG&n9cURwYDov zUA9~EP*7lkQD4C0@zaf``Yvz>0Izv-W8)tlIT3=D;)6D>!k$_lE^}_j#6NtL_VdBL zO!Wmd6{T$(Rsw*Y&XgrSo|mph)z;N(X{vAEvX;?@pX*=~aWlH=O^wzR^`K3wv1%EI ze|1Nrsd@#4#k=+$;+w>0W-^V#=>uc2Fxo``fH@A<2alej(ddQ-x*Jyq0Dy>y@Hbo5 z+)GFbyLw}?yqu4h8&+-6(bCY@)!MoD$A$CV2n7CT1w~%-=3+nmV;J=X0Re)i+Zg|31 ztf0uyK!-6Tg!od7>3!B11N6b7N98$p3+qe&c+dUtAMd%>mY(jZXW%$xg1qM*F+t#J zwiV*@!()5lFD3-|4CiVY&ea-^cn}E0mj^w@5eNh`Px?u8}gBf0!2_2;zk2 zKg4H7?~8ktg;!tJmo;^?bak|L0SpkIKop-yoUArU&vxcaGgX`rOh6Fy&A{-p-m&W= zJ^fft_W1%vCzDGt5fZ^@osMOo5m7>f=e8gS`rGiB7e4p&W<}?v9nI-#r=zSw951pY z$k^1Kf)~c|&>{pue;Z!%e*&Gx2zO2@dr-|odzy>MZok=zkO(}~g&^qfG2*Plhyyr4$?%DMZKP{^eKo`9S0FLZ*?k z?wTW3=(~F*_1d-THwp`%kkzJ{nVEXHy9o&ip|6foLt~>Je`Ov3p!#(g9*_SsFW)_LpC=d(prd7=9g zBY1jfFO$WkjQj8Q6nhPhjg6Hp2Q8xMG{#W1@WQyz(qPeXs4iRn5_&Z3D8jOHI+y(FOn{CM6RH1Up-60KlGoAyH9hwrvge zaCa3F5@IkIXV1mX*4Lv@^muFQdriIW?(WL+7sz;l&uGxtR@M4JGi+BUvj=5)F(Kin zoA#ePBe1Xy?y%OP!&J- z^p-t%qqSuEuzg^$SdmdNL?ZEWN}_~>1e?uva9njS>wbB8g__zlG%#e%md-sP&L|QGi)tII0 z?%_?N(U4zzdV0bmBAr&PQ`gY4Tkdq^=!uSwe+~eEshP#ivgFwmMrJyCb2bHRep&ho+0JA# z4;>D*SY$<>G0Snq>adfiKeo3c0o&Tz=ybZAyh_M{!yM6?n_KqoJFsM_t;Q@}XBYR2 ze{l)OfR6iq#U~`$Eq7Aa(9)&Mb#e80`LYzvpA;JX@@iiXoM`lKJ%b2Mjtk9=)vYR=5OMIw>Z)dv}Cf84m4k(QRBt*wQ}<1%mE4v&aLw(k!)6msBj z2aUFR)kP;o6cl{CHxR{$zl0tQe-DpD z0*Z);;PLq2AgYm}LH}sIy}j#P)<;IgNJ~qta9mzfTf2S7Ptnn5x$jp|(UYy)ekd<5 zx3je|G?fTZNa ztEnkiEOxz{i?Qi~+qds--4gV%y*(~IK}K3S`BFTQNMx~C%dG7)GH;c>Dsyvne*E~) zS7l`@9G4^W3kVX4L=Et7XlQ&={M35cQgd_8>729YV(ARVuAM)4Zg2+xe^4m8|M}0A z`uYY{RTY0fUp-wN2M2pB7Tet1qNSsMKRai~_AS%^|Clr9ySuxo0shE9pfB3Jd-qF9 zo-bTzel{i&0O0BAZfIl{5gFy?=FDZknwpyd0Q2U~-M?=)27{qe{Y6DZMMU5&YGc9U znn4cxmrC-H4~7cUEY)U3f92mtSrI+KS$Il#~>)SS$cQSy>5(!!@_G004@MpE4LdCMHHiA`t+9#bPZi7Ce1cl9!i1 zV>)?6edtqIR0IH6yvPFiYGQ0;Vr+zbmX)21#o;#kQ`_3w-n^*>e*g@73`e3_eu*X{ zElr{5=H%p7R#kD?FGGWQN{Wi<8JP<$tSA&+^%>KbSuf>ncc9Vcam|p2eGTa;$*X*? zyete#ALL3Fmx^czc)1}416)tpAW5M#>ve44b-~7GFnT;ZeeT@(!_{TowynYFy7brV z3v!~4;bSspAmn1sf54bbCezM-1vN0Zt*vd&Z2c`kf#{-*poe|M#Kgp|U%z}XWG{uH zo0ng(SD(?p7IuiX^mKIr0BK*MH8eKn=NC##OR1`;aOp!uMdghfX@-Ud2M_GKm2tzw z*y!E68f54Je|_t;Cd&`ps3AQi(=F&Ti*@8d=0eq(R^(YIE24+$JYt-bcx!Dt_cBBY z5x<1h%6f7DfZVtzu~f7p1(bP#&1SoMc;)2el1L;41%(q~r;zQ&Muz=o1h|kGKYnvy zz`;YIZtFeg&YfLS^5W^U5;s?8Q`6Ej>2&(>qoH^_w|}OJ%Bt-gp;eEE+$4 zoR*d*f685eMl-F+Q!^``b8PgTZ6+-~4ge7EZ12t z3P{M1{1R8o&6EZJye+PKmRYW8`PUhHPdBqPi`x{)R1Fz4edz7&&AOir0HD!m$Bu{f zZ6}dPDDwgUV56@$9*;kM;#BU#M+AbfuaDP`f9+e4pWN5GWMyTiXJnR^zCxcDCQh6f zA9p?|Xj^zhBo2qOvaO;m{*HckLmQ)qH)twr&5huhzD$K|UJ;qN2}s zbaXm8EbrTn#bSRCKecn$p2VbNHk&lOo&_IC5#)v|2|jkCD$Ft-;n}=+d(s>z#R~s4Yvq>?|Ta8Xw96L8DfAb3=A@dG?#K?CNqhn{BK_Hda(KRw9!n z1$hN(WY2?ctNV0#am>eh8lSC7Dt@;k(?e{6D4%g42>KdEw#e^0*>QdetNA?0i+v{= zaA_?}3J^4E@$z1o&erbJYZG4QfAjKS=;_8v8=@RwQh=b*jK}xTv03bg@x`eJ{-8B= zqO3xaB--pSGgzyQ!3y%uB?y89j<5ID(mQ(6kLF~Z$s6{)wI;55mYa>>EF%Pc6Zpyt zh|i4PmswQ>sW0lwzr5$3{pCIPKf+L;QM1B=o=z{yZ}Ma7y}REk+2#nm=_=j p;)Lq?j-x?4t?Qre0tEeA{1<0;V<~+H9n$~+002ovPDHLkV1iPx?sF5<5e?0#oJ~Mh> z+^a0S`m(;PsiUQ*5+Xde1wqi?hR3|{xu-WPIxp>LPFFh}WfkIhktIRKrtTEH zFph^7Aqe{0@RAqkG)A~{e^S|lY989tTugTR%~pg&;Gr%AL4S`C=Y__~mfzMUHdeLp z+@!SXM4t;zGSeh^jsQW>S2eQfz>b!#(`yp=NeX{umUW4=<}QAMKoIoxj9|Rb%VZs~ zKKHtyRv-H@D*KoEMpELM7X$)7c^i|VS2>fT~77#&#!e;ru`eK}=IweN9Q zf&Fh9L0-r>@gQ~oAA)Ka0ATx*+2R000S1JiG3<3~)4JrShwmx}{dJzaYOLc1g?hqPS%#g+l<7!_tR6c%pC*pC}M{XA~jhuDY9I-;* z-7Bfru3f)TSonmjHqFe;)Wh9PNJt2Mb(9(!8}%sj007mmf6MTA{GWOG4vwpkKh%xu zSE{S4{rm&<_4O{NB=O%?>eXukj0TNK5qbA~uEwG)9B#ADTYo;EEuzW`-Jcl2(?ffi zEG}i-f48UDYjA9AtZX@G5lyEthN^`Z#)Xy!i;hEe+47grqhTjctEo*hF)=DCDlRN6 znr~_nd*KY4f4al+^4@qeE#q2hijIyp03b0bnLr@e*;)et_UsFZiaN7xYp{pAtB{Zo zgTXj^E_SxQ9)+UETU+02>UDQ_SC+p(#tVE#gT}V1)(@ItyE>UYD9eip2|wMmS7icU z!%tM}pvxY-;hq$f_2iJGQ1_}SH|`0un`y9CTR}@!e_C~-k+bgY(+`KL__?RI?7=jpgv=| zsHi9a0FTG}ZS)pYLt}1Sc|`kKC9 zJDEK$f639=o;$D@4A1SNn!tQF)95$WD1t@ZfE^3~4;dis+#_kNEVVgL{GZ zFF(A0`Jw+7>+SQgcq{;*@cJ;vf39JJ57g7sLk$f6^ojOs=pk`&@qq;-B`01@O~GQZ z>)l+8O&8q0eRu1YppWhCaq$T<($dM7;)z5ei^W=IZJ&{OtMpZwo2&EV$A7*mD_h~X z9GPE0kVqtIfPX_nj$r z`1|?l>FPK**kiHS=H?bH9sT>+IXkv*p$7QJoH^g!-AxVfM+O3Y(eB;5UsCdX;X?DX zF_8cOPfvG4BeRIeC^t7}F8kHg+zbGiH+Sy-eY-Ij43+9HDk>@>0&h_p3m(@Da@fCA zl8<~aRG4O|HY+OsKFW&de+ecpaB$pbVeUN#0PrZG`1$P$!3JkCnV#Mo?`P-u`}y=g zw)dx`q=?000RYO%N;n*@xupdFP+a_!!RRqDF(ML)001l&YhkhA>9dl&y!;u{$s_7R zpTeRd0Kno!7RXl|`tsx6z;4*4FmsO*H^u*kd>nf6eksG#P1W3Pm?3 zC%3Yyipzc(8q8BtR7}svTxelMq3Ej5n7+(&V?tWmPcYDwnR<8qmiM39e22JxIaEcIQ00YjQiF`u2NDv&`&?W( z$4L_ake5<&YIQuTcle8-D1#$O!F9dI-Mjbf?QHh#{TXGge?HpUS_Fb{R#tXbR~Iso zdF$340D!(e1pt8IX$`5Kt_}boJtGtOn)~q4rhv`&vvc0QeOL6P*mCir#Q0chfWNx> zjQ+K-L$sx*s|x@~`x338u`xftP+D3_RYiqMA1W#;Z`?>TG&DGPVBf8b8z#m^@7~oQ zLl5X%r!`rAf8a(9=_#3RL7!QyBM&kcs?M|`&q7%dJyhor^~#Gg~a&rn*#$59tw3^ z?>Tqw?2?ifPoI^zxjG{!5pq+e006=xq82PLb6Vkmf3ox5ULH5o(tka2ys4>KOpKUx zDW&N{lix-k$w`tT1VVm6!P#>cef`YuAtxZ=~S3zOX`0?Ykv@}uf z0yLUwe@&j6S@E1>qwj1pY4LFYfOsb_0050aAGg&e(gpnWb6Wra-1@$e`&%Z*Onb{cHdLjYd0mJgjd!i9|w~ z7XSboeZBE`{P7c~avwe-5QKewymoBgg8byZf8Hf4D?2?Sv$XUT`n)i4;>7s4^Fcw| z!XqMaIGmN0rJt`ivYz7TkzWpn9@)8T51Fjy>*KX;`;UFKwrvga*%%NNeYT^c)6rph z-*zk(`+NAQoxAoVCMC1k>`9X(Plg>^x^xNmJ}j|Zbofw6%$ak?Pn-k*P$+sK`}a(i ze?j$Eg+{qS5Bt8?Vtua-v;2|I@dB##j>T!OB3v$UDX?ghf!$8?L4RtkZT~_01ed!0 ziK}OttD@*C1pVuD_Aur~>@R8Lc2pi{rj%@+?=GSc?{^-dI;kcbDt)Dgui=ESWFw`o z5gCHU05M@g+zKyY+z9^n3FB}{D}DG$e+q)UZ;Ce~y>AMF{)LX`-U>`hL|ORQl9f~g z3qD&!I|;vRs|lVU;2{H^fV19iD%hA1H1<#pEFx^2#f68ty--3#^t^*R|4Cs4d10Ki zxUq|XZ}>C!oI{!Huh!e~Uk+2#hRL^%D j4ccj4|8y51=-=YMnZ08tez|4M00000NkvXXu0mjfcYc%m diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-more-options-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-more-options-linux.png index 126f5d718deffbb8831e1d07a2a7b1dd8abfc69f..e9f1db7361f2fb234c98e1230a20d00cf29f3f6e 100644 GIT binary patch literal 78914 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 noTjT`)ld>tTrfktIoqxh!_1hW!2JS$ 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 G|NI{*jTiL* literal 81687 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 IDVl!xFMjh20ssI2 diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-notification-options-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-notification-options-linux.png index a8fbeb0b0320e39219d1e6576e2599c2d1ebdc35..b638b2880e258385f3873c280f2d891d9918e256 100644 GIT binary patch literal 74694 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�}BY{Oqhr2Cuif2BQ`ZQn!mNL7NS44+_D;w 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 +
`; From a622772a08625ec7e3406bbef04758ed5a0c1201 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 12 Jun 2025 09:12:45 +0100 Subject: [PATCH 017/142] Handle m.room.pinned_events being invalid (#30129) * Handle m.room.pinned_events being invalid Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update src/hooks/usePinnedEvents.ts Co-authored-by: Florian Duros --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> Co-authored-by: Florian Duros --- src/hooks/usePinnedEvents.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hooks/usePinnedEvents.ts b/src/hooks/usePinnedEvents.ts index f563211129..98f544097b 100644 --- a/src/hooks/usePinnedEvents.ts +++ b/src/hooks/usePinnedEvents.ts @@ -38,6 +38,10 @@ function getPinnedEventIds(room?: Room): string[] { .getState(EventTimeline.FORWARDS) ?.getStateEvents(EventType.RoomPinnedEvents, "") ?.getContent()?.pinned ?? []; + if (!Array.isArray(eventIds)) { + logger.warn("Encountered invalid pinned events state in room", room?.roomId, eventIds); + return []; + } // Limit the number of pinned events to 100 return eventIds.slice(0, 100); } From 55e874fb5059b35cc5128f1a7c204b7784d77ce6 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Thu, 12 Jun 2025 11:53:52 +0100 Subject: [PATCH 018/142] Fix #30118 - TypeError in manual verify - by using MatrixClientPeg (#30131) We can't use MatrixClientContext inside a dialog at the moment. --- .../views/dialogs/ManualDeviceKeyVerificationDialog.tsx | 4 ++-- .../dialogs/ManualDeviceKeyVerificationDialog-test.tsx | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx b/src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx index 8f699c4495..566061f73b 100644 --- a/src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx +++ b/src/components/views/dialogs/ManualDeviceKeyVerificationDialog.tsx @@ -20,7 +20,7 @@ import Modal from "../../../Modal"; import InfoDialog from "./InfoDialog"; import Field from "../elements/Field"; import ErrorDialog from "./ErrorDialog"; -import { useMatrixClientContext } from "../../../contexts/MatrixClientContext"; +import { MatrixClientPeg } from "../../../MatrixClientPeg"; interface Props { onFinished(confirm?: boolean): void; @@ -37,7 +37,7 @@ export function ManualDeviceKeyVerificationDialog({ onFinished }: Readonly { diff --git a/test/unit-tests/components/views/dialogs/ManualDeviceKeyVerificationDialog-test.tsx b/test/unit-tests/components/views/dialogs/ManualDeviceKeyVerificationDialog-test.tsx index 0b710bec46..3193b41e66 100644 --- a/test/unit-tests/components/views/dialogs/ManualDeviceKeyVerificationDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/ManualDeviceKeyVerificationDialog-test.tsx @@ -13,17 +13,12 @@ import { DeviceVerificationStatus } from "matrix-js-sdk/src/crypto-api"; import { stubClient } from "../../../../test-utils"; import { ManualDeviceKeyVerificationDialog } from "../../../../../src/components/views/dialogs/ManualDeviceKeyVerificationDialog"; -import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; describe("ManualDeviceKeyVerificationDialog", () => { let mockClient: MatrixClient; function renderDialog(onFinished: (confirm: boolean) => void) { - return render( - - - , - ); + return render(); } beforeEach(() => { From c0d91a46c778d202bdb9872447870e76372b77ea Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 12 Jun 2025 19:00:50 +0530 Subject: [PATCH 019/142] Emit event after rebuilding home space (#30132) --- src/stores/spaces/SpaceStore.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stores/spaces/SpaceStore.ts b/src/stores/spaces/SpaceStore.ts index 015c9fa0fd..2945d486c2 100644 --- a/src/stores/spaces/SpaceStore.ts +++ b/src/stores/spaces/SpaceStore.ts @@ -1302,11 +1302,11 @@ export class SpaceStoreClass extends AsyncStoreWithClient { const newValue = SettingsStore.getValue("Spaces.allRoomsInHome"); if (this.allRoomsInHome !== newValue) { this._allRoomsInHome = newValue; - this.emit(UPDATE_HOME_BEHAVIOUR, this.allRoomsInHome); if (this.enabledMetaSpaces.includes(MetaSpace.Home)) { this.rebuildHomeSpace(); } this.sendUserProperties(); + this.emit(UPDATE_HOME_BEHAVIOUR, this.allRoomsInHome); } break; } From 6f0d288c1dba449c4b3371849f9fdd3113987bb1 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 12 Jun 2025 16:42:30 +0100 Subject: [PATCH 020/142] Use nav for new room list and label sections (#30134) * Use nav for new room list and label sections The old room list had a nav element but it was missed in the new one, so add it and albel the sections. Also remove the test ID and use this instead. * Update snapshots * Use the function we define above --- .../left-panel/room-list-panel/room-list-filter-sort.spec.ts | 4 +++- .../e2e/left-panel/room-list-panel/room-list-panel.spec.ts | 4 ++-- playwright/e2e/left-panel/room-list-panel/room-list.spec.ts | 2 +- src/components/structures/RoomView.tsx | 2 +- src/components/views/rooms/RoomListPanel/RoomListPanel.tsx | 5 +++-- src/i18n/strings/en_EN.json | 1 + .../structures/__snapshots__/RoomView-test.tsx.snap | 3 +++ 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts index 7f87f3f43c..26d27cc01c 100644 --- a/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts +++ b/playwright/e2e/left-panel/room-list-panel/room-list-filter-sort.spec.ts @@ -326,7 +326,9 @@ test.describe("Room list filters and sort", () => { async ({ page, app, user }) => { const emptyRoomList = getEmptyRoomList(page); await expect(emptyRoomList).toMatchScreenshot("default-empty-room-list.png"); - await expect(page.getByTestId("room-list-panel")).toMatchScreenshot("room-panel-empty-room-list.png"); + await expect(page.getByRole("navigation", { name: "Room list" })).toMatchScreenshot( + "room-panel-empty-room-list.png", + ); }, ); diff --git a/playwright/e2e/left-panel/room-list-panel/room-list-panel.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list-panel.spec.ts index 8ca138a707..d0503e2caf 100644 --- a/playwright/e2e/left-panel/room-list-panel/room-list-panel.spec.ts +++ b/playwright/e2e/left-panel/room-list-panel/room-list-panel.spec.ts @@ -19,7 +19,7 @@ test.describe("Room list panel", () => { * @param page */ function getRoomListView(page: Page) { - return page.getByTestId("room-list-panel"); + return page.getByRole("navigation", { name: "Room list" }); } test.beforeEach(async ({ page, app, user }) => { @@ -44,7 +44,7 @@ test.describe("Room list panel", () => { test("should respond to small screen sizes", { tag: "@screenshot" }, async ({ page }) => { await page.setViewportSize({ width: 575, height: 600 }); - const roomListPanel = page.getByTestId("room-list-panel"); + const roomListPanel = getRoomListView(page); await expect(roomListPanel).toMatchScreenshot("room-list-panel-smallscreen.png"); }); }); diff --git a/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts index 73eb98512b..0567b8a162 100644 --- a/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts +++ b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts @@ -278,7 +278,7 @@ test.describe("Room list", () => { }); test("should be a video room", { tag: "@screenshot" }, async ({ page, app, user }) => { - await page.getByTestId("room-list-panel").getByRole("button", { name: "Add" }).click(); + await page.getByRole("navigation", { name: "Room list" }).getByRole("button", { name: "Add" }).click(); await page.getByRole("menuitem", { name: "New video room" }).click(); await page.getByRole("textbox", { name: "Name" }).fill("video room"); await page.getByRole("button", { name: "Create video room" }).click(); diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx index d64f4b7a36..b6f8bc06b3 100644 --- a/src/components/structures/RoomView.tsx +++ b/src/components/structures/RoomView.tsx @@ -315,7 +315,7 @@ function LocalRoomView(props: LocalRoomViewProps): ReactElement {
-
+
diff --git a/src/components/views/rooms/RoomListPanel/RoomListPanel.tsx b/src/components/views/rooms/RoomListPanel/RoomListPanel.tsx index 291794399f..f5c0620a66 100644 --- a/src/components/views/rooms/RoomListPanel/RoomListPanel.tsx +++ b/src/components/views/rooms/RoomListPanel/RoomListPanel.tsx @@ -13,6 +13,7 @@ import { RoomListSearch } from "./RoomListSearch"; import { RoomListHeaderView } from "./RoomListHeaderView"; import { RoomListView } from "./RoomListView"; import { Flex } from "../../../utils/Flex"; +import { _t } from "../../../../languageHandler"; type RoomListPanelProps = { /** @@ -30,11 +31,11 @@ export const RoomListPanel: React.FC = ({ activeSpace }) => return ( {displayRoomSearch && } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 5763e0a781..56f22dc6d7 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -2066,6 +2066,7 @@ "read_topic": "Click to read topic", "rejecting": "Rejecting invite…", "rejoin_button": "Re-join", + "room_content": "Room content", "room_is_low_priority": "This is a low priority room", "search": { "all_rooms_button": "Search all rooms", diff --git a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap index 8d909a6797..f194d0bb33 100644 --- a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -403,6 +403,7 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]
Date: Fri, 13 Jun 2025 01:22:53 -0500 Subject: [PATCH 021/142] [create-pull-request] automated change (#30139) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/cs.json | 1 + src/i18n/strings/et.json | 3 +++ src/i18n/strings/id.json | 35 ++++++++++++++++++++++++++++++++++- src/i18n/strings/nb_NO.json | 10 ++++++++-- src/i18n/strings/sv.json | 3 ++- 5 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 33868e7682..d736aa3d6f 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -2122,6 +2122,7 @@ "filters": { "favourite": "Oblíbené", "invites": "Pozvánky", + "low_priority": "Nízká priorita", "mentions": "Zmínky", "people": "Lidé", "rooms": "Místnosti", diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 9a27318316..24f5661733 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -2115,6 +2115,7 @@ "add_space_label": "Lisa kogukonnakeskus", "breadcrumbs_empty": "Hiljuti külastatud jututubasid ei leidu", "breadcrumbs_label": "Hiljuti külastatud jututoad", + "collapse_filters": "Ahenda filtriloendit", "empty": { "no_chats": "Vestlusi veel ei leidu", "no_chats_description": "Alusta sellest, et leia mõni vestluspartner või loo oma jututuba", @@ -2122,6 +2123,7 @@ "no_favourites": "Sa pole veel ühtegi vestlust märkinud lemmikuks", "no_favourites_description": "Vestluse saad märkida lemmikuks tema seadistustest", "no_invites": "Sul pole lugemata kutseid", + "no_lowpriority": "Sul pole ühtegi vähetähtsat jututuba", "no_mentions": "Sul pole lugemata mainimisi", "no_people": "Sul pole veel ühtegi otsevestlust kellegagi", "no_people_description": "Kõikide muude vestluste nägemiseks eemalda otsingufiltrid", @@ -2131,6 +2133,7 @@ "show_activity": "Vaata kõiki tegevusi", "show_chats": "Näita kõiki vestlusi" }, + "expand_filters": "Laienda filtriloendit", "failed_add_tag": "Sildi %(tagName)s lisamine jututoale ebaõnnestus", "failed_remove_tag": "Sildi %(tagName)s eemaldamine jututoast ebaõnnestus", "failed_set_dm_tag": "Otsevestluse sildi seadmine ei õnnestunud", diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index 9f7c8b10f8..331a1a597e 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -784,6 +784,7 @@ "cross_signing_status": "Status penandatanganan silang:", "cross_signing_untrusted": "Akun Anda memiliki identitas penandatanganan silang dalam penyimpanan rahasia, tetapi belum dipercaya oleh sesi ini.", "crypto_not_available": "Modul kriptografi tidak tersedia", + "device_id": "ID Perangkat", "key_backup_active_version": "Versi cadangan aktif:", "key_backup_active_version_none": "Tidak ada", "key_backup_inactive_warning": "Kunci Anda tidak dicadangkan dari sesi ini.", @@ -796,6 +797,8 @@ "secret_storage_ready": "siap", "secret_storage_status": "Penyimpanan rahasia:", "self_signing_private_key_cached_status": "Kunci pribadi penandatanganan sendiri:", + "session": "Sesi", + "session_fingerprint": "Sidik jari (kunci sesi)", "title": "Enkripsi ujung ke ujung", "user_signing_private_key_cached_status": "Kunci pribadi penandatanganan pengguna:" }, @@ -821,6 +824,7 @@ "low_bandwidth_mode": "Mode bandwidth rendah", "low_bandwidth_mode_description": "Membutuhkan homeserver yang kompatibel.", "main_timeline": "Lini masa utama", + "manual_device_verification": "Verifikasi perangkat manual", "no_receipt_found": "Tidak ada laporan yang ditemukan", "notification_state": "Keadaan notifikasi adalah %(notificationState)s", "notifications_debug": "Pengawakutuan notifikasi", @@ -1004,6 +1008,21 @@ "incoming_sas_dialog_waiting": "Menunggu pengguna untuk konfirmasi…", "incoming_sas_user_dialog_text_1": "Verifikasi pengguna ini untuk menandainya sebagai terpercaya. Mempercayai pengguna memberikan Anda ketenangan saat menggunakan pesan terenkripsi secara ujung ke ujung.", "incoming_sas_user_dialog_text_2": "Memverifikasi pengguna ini akan menandai sesinya sebagai terpercaya, dan juga menandai sesi Anda sebagai terpercaya kepadanya.", + "manual": { + "already_verified": "Perangkat ini sudah diverifikasi", + "already_verified_and_wrong_fingerprint": "Sidik jari yang disediakan tidak cocok, tetapi perangkat sudah diverifikasi!", + "device_id": "ID Perangkat", + "failure_description": "Gagal memverifikasi '%(deviceId)s': %(error)s", + "failure_title": "Verifikasi gagal", + "fingerprint": "Sidik jari (kunci sesi)", + "no_crypto": "Tidak dapat memverifikasi perangkat - kripto tidak diaktifkan", + "no_device": "Tidak dapat memverifikasi perangkat - perangkat %(deviceId)s '' tidak ditemukan", + "no_userid": "Tidak dapat memverifikasi perangkat - tidak dapat menemukan ID Pengguna kami", + "success_description": "Perangkat (%(deviceId)s) sekarang ditandatangani silang", + "success_title": "Verifikasi berhasil", + "text": "Berikan ID dan sidik jari salah satu perangkat Anda untuk memverifikasinya. PERHATIKAN bahwa ini memungkinkan perangkat lain untuk mengirim dan menerima pesan seperti Anda. JIKA SESEORANG MEMINTA ANDA UNTUK MENEMPELKAN SESUATU DI SINI, KEMUNGKINAN ANDA SEDANG DITIPU!", + "wrong_fingerprint": "Tidak dapat memverifikasi perangkat '%(deviceId)s' - sidik jari yang disediakan '%(fingerprint)s' tidak cocok dengan sidik jari perangkat, '%(fprint)s'" + }, "no_key_or_device": "Sepertinya Anda tidak memiliki Kunci Pemulihan atau perangkat lain yang dapat Anda verifikasi. Perangkat ini tidak akan dapat mengakses pesan terenkripsi lama. Untuk memverifikasi identitas Anda di perangkat ini, Anda harus mengatur ulang kunci verifikasi Anda.", "no_support_qr_emoji": "Perangkat yang Anda sedang verifikasi tidak mendukung pemindaian kode QR atau verifikasi emoji, yang didukung oleh %(brand)s. Coba menggunakan klien yang lain.", "other_party_cancelled": "Pengguna yang lain membatalkan proses verifikasi ini.", @@ -1949,6 +1968,7 @@ }, "face_pile_tooltip_shortcut": "Termasuk %(commaSeparatedMembers)s", "face_pile_tooltip_shortcut_joined": "Termasuk Anda, %(commaSeparatedMembers)s", + "failed_determine_user": "Tidak dapat menentukan pengguna mana yang akan diabaikan karena peristiwa anggota telah berubah.", "failed_reject_invite": "Gagal untuk menolak undangan", "forget_room": "Lupakan ruangan ini", "forget_space": "Lupakan space ini", @@ -2039,6 +2059,7 @@ "read_topic": "Klik untuk membaca topik", "rejecting": "Menolak undangan…", "rejoin_button": "Bergabung Ulang", + "room_is_low_priority": "Ini adalah ruangan dengan prioritas rendah", "search": { "all_rooms_button": "Cari semua ruangan", "placeholder": "Cari pesan...", @@ -2086,6 +2107,7 @@ "add_space_label": "Tambahkan space", "breadcrumbs_empty": "Tidak ada ruangan yang baru saja dilihat", "breadcrumbs_label": "Ruangan yang baru saja dilihat", + "collapse_filters": "Tutup daftar filter", "empty": { "no_chats": "Belum ada obrolan", "no_chats_description": "Mulailah dengan mengirim pesan kepada seseorang atau dengan membuat ruangan", @@ -2093,6 +2115,7 @@ "no_favourites": "Anda belum memiliki obrolan favorit", "no_favourites_description": "Anda dapat menambahkan obrolan ke favorit Anda di pengaturan obrolan", "no_invites": "Anda tidak memiliki undangan yang belum dibaca", + "no_lowpriority": "Anda tidak memiliki ruangan dengan prioritas rendah", "no_mentions": "Anda tidak memiliki sebutan yang belum dibaca", "no_people": "Anda belum memiliki obrolan langsung dengan siapa pun", "no_people_description": "Anda dapat membatalkan pilihan saringan untuk melihat percakapan Anda yang lain", @@ -2102,12 +2125,14 @@ "show_activity": "Lihat semua aktivitas", "show_chats": "Tampilkan semua obrolan" }, + "expand_filters": "Buka daftar filter", "failed_add_tag": "Gagal menambahkan tag %(tagName)s ke ruangan", "failed_remove_tag": "Gagal menghapus tanda %(tagName)s dari ruangan", "failed_set_dm_tag": "Gagal menetapkan tanda pesan langsung", "filters": { "favourite": "Favorit", "invites": "Undangan", + "low_priority": "Prioritas rendah", "mentions": "Sebutan", "people": "Orang", "rooms": "Ruangan", @@ -2675,6 +2700,9 @@ "inline_url_previews_room": "Aktifkan tampilan URL secara bawaan untuk anggota di ruangan ini", "inline_url_previews_room_account": "Aktifkan tampilan URL secara bawaan (hanya memengaruhi Anda)", "insert_trailing_colon_mentions": "Tambahkan sebuah karakter titik dua sesudah sebutan pengguna dari awal pesan", + "invite_controls": { + "default_label": "Izinkan pengguna mengundang Anda ke ruangan" + }, "jump_to_bottom_on_send": "Pergi ke bawah lini masa ketika Anda mengirim pesan", "key_backup": { "backup_in_progress": "Kunci Anda sedang dicadangkan (cadangan pertama mungkin membutuhkan beberapa menit).", @@ -2741,6 +2769,7 @@ "show_in_private": "Di ruangan privat", "show_media": "Selalu tampilkan" }, + "not_supported": "Server Anda tidak menerapkan fitur ini.", "notifications": { "default_setting_description": "Pengaturan ini akan diterapkan secara bawaan ke semua ruangan Anda.", "default_setting_section": "Saya ingin diberi tahu (Pengaturan Bawaan)", @@ -2798,6 +2827,7 @@ "voip": "Panggilan Audio dan Video" }, "preferences": { + "Electron.enableContentProtection": "Mencegah konten jendela agar tidak ditangkap oleh aplikasi lain", "Electron.enableHardwareAcceleration": "Aktifkan akselerasi perangkat keras (mulai ulang %(appName)s untuk menerapkan)", "always_show_menu_bar": "Selalu tampilkan bilah menu window", "autocomplete_delay": "Delay penyelesaian otomatis (md)", @@ -2970,6 +3000,7 @@ "show_chat_effects": "Tampilkan efek (animasi ketika menerima konfeti, misalnya)", "show_displayname_changes": "Tampilkan perubahan nama tampilan", "show_join_leave": "Tampilkan pesan-pesan gabung/keluar (undangan/pengeluaran/cekalan tidak terpengaruh)", + "show_message_previews": "Tampilkan pratinjau pesan", "show_nsfw_content": "Tampilkan konten NSFW", "show_read_receipts": "Tampilkan laporan dibaca terkirim oleh pengguna lain", "show_redaction_placeholder": "Tampilkan sebuah penampung untuk pesan terhapus", @@ -3076,6 +3107,8 @@ "jumptodate": "Pergi ke tanggal yang diberikan di lini masa", "jumptodate_invalid_input": "Kami tidak dapat mengerti tanggal yang dicantumkan (%(inputDate)s). Coba menggunakan format TTTT-BB-HH.", "lenny": "Menambahkan ( ͡° ͜ʖ ͡°) ke pesan teks biasa", + "manual_device_verification_confirm_description": "Ini akan memungkinkan perangkat lain untuk mengirim dan menerima pesan seperti Anda. JIKA SESEORANG MENYURUH ANDA MENEMPELKAN SESUATU DI SINI, KEMUNGKINAN ANDA SEDANG DITIPU! Apakah Anda yakin ingin memverifikasi perangkat lain ini?", + "manual_device_verification_confirm_title": "Perhatian: verifikasi perangkat manual", "me": "Menampilkan aksi", "msg": "Mengirim sebuah pesan ke pengguna yang dicantumkan", "myavatar": "Ubah foto profil Anda dalam semua ruangan", @@ -3116,7 +3149,7 @@ "upgraderoom": "Meningkatkan ruangan ke versi yang baru", "upgraderoom_permission_error": "Anda tidak memiliki izin yang dibutuhkan untuk menggunakan perintah ini.", "usage": "Penggunaan", - "verify": "Memverifikasi sebuah pengguna, sesi, dan tupel pubkey", + "verify": "Verifikasi salah satu perangkat Anda secara manual", "view": "Menampilkan ruangan dengan alamat yang ditentukan", "whois": "Menampilkan informasi tentang sebuah pengguna" }, diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index 799e67b4a6..e0f08b7ff8 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -1020,7 +1020,10 @@ "fingerprint": "Fingeravtrykk (sesjonsnøkkel)", "no_crypto": "Kan ikke verifisere enheten - krypto er ikke aktivert", "no_device": "Kunne ikke verifisere enheten - enheten '%(deviceId)s' ble ikke funnet", - "no_userid": "Kan ikke verifisere enheten - finner ikke bruker-ID" + "no_userid": "Kan ikke verifisere enheten - finner ikke bruker-ID", + "success_description": "Enheten (%(deviceId)s) er nå krysssignert", + "success_title": "Verifiseringen var vellykket", + "wrong_fingerprint": "Kan ikke verifisere enheten %(deviceId)s '- det medfølgende fingeravtrykket'%(fingerprint)s «samsvarer ikke med enhetens fingeravtrykk»%(fprint)s '" }, "no_key_or_device": "Det ser ut til at du ikke har en gjenopprettingsnøkkel eller andre enheter du kan verifisere mot. Denne enheten vil ikke kunne få tilgang til gamle krypterte meldinger. For å bekrefte identiteten din på denne enheten, må du tilbakestille verifiseringsnøklene dine.", "no_support_qr_emoji": "Enheten du prøver å bekrefte støtter ikke skanning av en QR-kode eller emoji-verifikasjon, som er det som %(brand)s støtter. Prøv med en annen klient.", @@ -2118,6 +2121,7 @@ "no_favourites": "Du har ikke favorittchat ennå", "no_favourites_description": "Du kan legge til en chat til dine favoritter i chat-innstillingene", "no_invites": "Du har ingen uleste invitasjoner", + "no_lowpriority": "Du har ingen rom med lav prioritet", "no_mentions": "Du har ingen uleste omtaler", "no_people": "Du har ikke direkte chatter med noen ennå", "no_people_description": "Du kan fjerne merket for filtre for å se de andre chattene dine", @@ -2127,6 +2131,7 @@ "show_activity": "Se alle aktiviteter", "show_chats": "Vis alle chatter" }, + "expand_filters": "Utvid filterlisten", "failed_add_tag": "Kunne ikke legge til tagg %(tagName)s til rom", "failed_remove_tag": "Kunne ikke fjerne tagg %(tagName)s fra rommet", "failed_set_dm_tag": "Kan ikke sette kode på direktemeldingen", @@ -3107,6 +3112,7 @@ "jumptodate": "Gå til den gitte datoen i tidslinjen", "jumptodate_invalid_input": "Vi klarte ikke å forstå den gitte datoen (%(inputDate)s). Prøv å bruke formatet ÅÅÅÅ-MM-DD.", "lenny": "Legger til ( ͡° ͜ʖ ͡°) foran en ren tekstmelding", + "manual_device_verification_confirm_title": "Forsiktig: manuell enhetsverifisering", "me": "Viser handling", "msg": "Sender en melding til den angitte brukeren", "myavatar": "Endrer profilbildet ditt i alle rom", @@ -3147,7 +3153,7 @@ "upgraderoom": "Oppgraderer et rom til en ny versjon", "upgraderoom_permission_error": "Du har ikke de rette tilgangene til å bruke denne kommandoen.", "usage": "Bruk", - "verify": "Verifiserer en bruker-, økt- og pubkey-tuple", + "verify": "Verifiser en av dine egne enheter manuelt", "view": "Viser rom med oppgitt adresse", "whois": "Viser informasjon om en bruker" }, diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 6dedd8e10a..84deb17d98 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -3098,7 +3098,7 @@ "upgraderoom": "Uppgraderar ett rum till en ny version", "upgraderoom_permission_error": "Du har inte de behörigheter som krävs för att använda det här kommandot.", "usage": "Användande", - "verify": "Verifierar en användar-, sessions- och pubkey-tupel", + "verify": "Verifiera en av dina egna enheter manuellt", "view": "Visar rum med den angivna adressen", "whois": "Visar information om en användare" }, @@ -3207,6 +3207,7 @@ "heading_without_query": "Sök efter", "join_button_text": "Gå med i %(roomAddress)s", "keyboard_scroll_hint": "Använd för att skrolla", + "messages_label": "Meddelanden", "other_rooms_in_space": "Andra rum i %(spaceName)s", "public_rooms_label": "Offentliga rum", "public_spaces_label": "Offentliga utrymmen", From 0f0f904cb0266c5478ff9128bbdf89e35cae5241 Mon Sep 17 00:00:00 2001 From: Marc Date: Fri, 13 Jun 2025 09:08:29 +0200 Subject: [PATCH 022/142] Mvvm split user info, create userinfoadmintools container component (#29808) * feat: mvvm split user info, create userinfoadmintools container component * test: mvvm userinfoadmintools and view * feat: user info admin components more split and comments * test: mvvm user admin info mute view models more coverage * chore: rename user-info folder to user_info --- .../UserInfoAdminToolsContainerViewModel.tsx | 82 ++++ .../admin/UserInfoBanButtonViewModel.tsx | 153 ++++++ .../admin/UserInfoKickButtonViewModel.tsx | 142 ++++++ .../admin/UserInfoMuteButtonViewModel.tsx | 120 +++++ .../admin/UserInfoRedactButtonViewModel.tsx | 39 ++ src/components/views/right_panel/UserInfo.tsx | 461 +----------------- .../user_info/UserInfoAdminToolsContainer.tsx | 220 +++++++++ ...rInfoAdminToolsContainerViewModel-test.tsx | 173 +++++++ .../admin/UserInfoBanButtonViewModel-test.tsx | 224 +++++++++ .../UserInfoKickButtonViewModel-test.tsx | 232 +++++++++ .../UserInfoMuteButtonViewModel-test.tsx | 230 +++++++++ .../UserInfoRedactButtonViewModel-test.tsx | 98 ++++ .../views/right_panel/UserInfo-test.tsx | 445 +---------------- .../UserInfoAdminToolsContainer-test.tsx | 306 ++++++++++++ 14 files changed, 2024 insertions(+), 901 deletions(-) create mode 100644 src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel.tsx create mode 100644 src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx create mode 100644 src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel.tsx create mode 100644 src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel.tsx create mode 100644 src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel.tsx create mode 100644 src/components/views/right_panel/user_info/UserInfoAdminToolsContainer.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel-test.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel-test.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel-test.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel-test.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel-test.tsx create mode 100644 test/unit-tests/components/views/right_panel/UserInfoAdminToolsContainer-test.tsx diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel.tsx new file mode 100644 index 0000000000..54ed32ceb5 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel.tsx @@ -0,0 +1,82 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { type Room, type RoomMember, type IPowerLevelsContent } from "matrix-js-sdk/src/matrix"; + +import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; + +/** + * Interface used by admin tools container subcomponents props + */ +export interface RoomAdminToolsProps { + room: Room; + member: RoomMember; + isUpdating: boolean; + startUpdating: () => void; + stopUpdating: () => void; +} + +/** + * Interface used by admin tools container props + */ +export interface RoomAdminToolsContainerProps { + room: Room; + member: RoomMember; + powerLevels: IPowerLevelsContent; +} + +interface UserInfoAdminToolsContainerState { + shouldShowKickButton: boolean; + shouldShowBanButton: boolean; + shouldShowMuteButton: boolean; + shouldShowRedactButton: boolean; + isCurrentUserInTheRoom: boolean; +} + +/** + * The view model for the user info admin tools container + * @param {RoomAdminToolsContainerProps} props - the object containing the necceray props for the view model + * @param {Room} props.room - the room that display the admin tools + * @param {RoomMember} props.member - the selected member + * @param {IPowerLevelsContent} props.powerLevels - current room power levels + * @returns {UserInfoAdminToolsContainerState} the user info admin tools container state + */ +export const useUserInfoAdminToolsContainerViewModel = ( + props: RoomAdminToolsContainerProps, +): UserInfoAdminToolsContainerState => { + const cli = useMatrixClientContext(); + const { room, member, powerLevels } = props; + + const editPowerLevel = + (powerLevels.events ? powerLevels.events["m.room.power_levels"] : null) || powerLevels.state_default; + + // if these do not exist in the event then they should default to 50 as per the spec + const { ban: banPowerLevel = 50, kick: kickPowerLevel = 50, redact: redactPowerLevel = 50 } = powerLevels; + + const me = room.getMember(cli.getUserId() || ""); + const isCurrentUserInTheRoom = me !== null; + + if (!isCurrentUserInTheRoom) { + return { + shouldShowKickButton: false, + shouldShowBanButton: false, + shouldShowMuteButton: false, + shouldShowRedactButton: false, + isCurrentUserInTheRoom: false, + }; + } + + const isMe = me.userId === member.userId; + const canAffectUser = member.powerLevel < me.powerLevel || isMe; + + return { + shouldShowKickButton: !isMe && canAffectUser && me.powerLevel >= kickPowerLevel, + shouldShowRedactButton: me.powerLevel >= redactPowerLevel && !room.isSpaceRoom(), + shouldShowBanButton: !isMe && canAffectUser && me.powerLevel >= banPowerLevel, + shouldShowMuteButton: !isMe && canAffectUser && me.powerLevel >= Number(editPowerLevel) && !room.isSpaceRoom(), + isCurrentUserInTheRoom, + }; +}; diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx new file mode 100644 index 0000000000..525b10e093 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel.tsx @@ -0,0 +1,153 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { logger } from "@sentry/browser"; +import { type Room } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; +import { _t } from "../../../../../languageHandler"; +import Modal from "../../../../../Modal"; +import { bulkSpaceBehaviour } from "../../../../../utils/space"; +import ConfirmSpaceUserActionDialog from "../../../../views/dialogs/ConfirmSpaceUserActionDialog"; +import ConfirmUserActionDialog from "../../../../views/dialogs/ConfirmUserActionDialog"; +import ErrorDialog from "../../../../views/dialogs/ErrorDialog"; +import { type RoomAdminToolsProps } from "./UserInfoAdminToolsContainerViewModel"; + +export interface BanButtonState { + /** + * The function to call when the button is clicked + */ + onBanOrUnbanClick: () => Promise; + /** + * The label of the ban button can be ban or unban + */ + banLabel: string; +} +/** + * The view model for the room ban button used in the UserInfoAdminToolsContainer + * @param {RoomAdminToolsProps} props - the object containing the necceray props for banButton the view model + * @param {Room} props.room - the room to ban/unban the user in + * @param {RoomMember} props.member - the member to ban/unban + * @param {boolean} props.isUpdating - whether the operation is currently in progress + * @param {function} props.startUpdating - callback function to start the operation + * @param {function} props.stopUpdating - callback function to stop the operation + * @returns {BanButtonState} the room ban/unban button state + */ +export const useBanButtonViewModel = (props: RoomAdminToolsProps): BanButtonState => { + const { isUpdating, startUpdating, stopUpdating, room, member } = props; + + const cli = useMatrixClientContext(); + + const isBanned = member.membership === KnownMembership.Ban; + + let banLabel = room.isSpaceRoom() ? _t("user_info|ban_button_space") : _t("user_info|ban_button_room"); + if (isBanned) { + banLabel = room.isSpaceRoom() ? _t("user_info|unban_button_space") : _t("user_info|unban_button_room"); + } + + const onBanOrUnbanClick = async (): Promise => { + if (isUpdating) return; // only allow one operation at a time + startUpdating(); + + const commonProps = { + member, + action: room.isSpaceRoom() + ? isBanned + ? _t("user_info|unban_button_space") + : _t("user_info|ban_button_space") + : isBanned + ? _t("user_info|unban_button_room") + : _t("user_info|ban_button_room"), + title: isBanned + ? _t("user_info|unban_room_confirm_title", { roomName: room.name }) + : _t("user_info|ban_room_confirm_title", { roomName: room.name }), + askReason: !isBanned, + danger: !isBanned, + }; + + let finished: Promise<[success?: boolean, reason?: string, rooms?: Room[]]>; + + if (room.isSpaceRoom()) { + ({ finished } = Modal.createDialog( + ConfirmSpaceUserActionDialog, + { + ...commonProps, + space: room, + spaceChildFilter: isBanned + ? (child: Room) => { + // Return true if the target member is banned and we have sufficient PL to unban + const myMember = child.getMember(cli.credentials.userId || ""); + const theirMember = child.getMember(member.userId); + return ( + !!myMember && + !!theirMember && + theirMember.membership === KnownMembership.Ban && + myMember.powerLevel > theirMember.powerLevel && + child.currentState.hasSufficientPowerLevelFor("ban", myMember.powerLevel) + ); + } + : (child: Room) => { + // Return true if the target member isn't banned and we have sufficient PL to ban + const myMember = child.getMember(cli.credentials.userId || ""); + const theirMember = child.getMember(member.userId); + return ( + !!myMember && + !!theirMember && + theirMember.membership !== KnownMembership.Ban && + myMember.powerLevel > theirMember.powerLevel && + child.currentState.hasSufficientPowerLevelFor("ban", myMember.powerLevel) + ); + }, + allLabel: isBanned ? _t("user_info|unban_space_everything") : _t("user_info|ban_space_everything"), + specificLabel: isBanned ? _t("user_info|unban_space_specific") : _t("user_info|ban_space_specific"), + warningMessage: isBanned ? _t("user_info|unban_space_warning") : _t("user_info|kick_space_warning"), + }, + "mx_ConfirmSpaceUserActionDialog_wrapper", + )); + } else { + ({ finished } = Modal.createDialog(ConfirmUserActionDialog, commonProps)); + } + + const [proceed, reason, rooms = []] = await finished; + if (!proceed) { + stopUpdating(); + return; + } + + const fn = (roomId: string): Promise => { + if (isBanned) { + return cli.unban(roomId, member.userId); + } else { + return cli.ban(roomId, member.userId, reason || undefined); + } + }; + + bulkSpaceBehaviour(room, rooms, (room) => fn(room.roomId)) + .then( + () => { + // NO-OP; rely on the m.room.member event coming down else we could + // get out of sync if we force setState here! + logger.info("Ban success"); + }, + function (err) { + logger.error("Ban error: " + err); + Modal.createDialog(ErrorDialog, { + title: _t("common|error"), + description: _t("user_info|error_ban_user"), + }); + }, + ) + .finally(() => { + stopUpdating(); + }); + }; + + return { + onBanOrUnbanClick, + banLabel, + }; +}; diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel.tsx new file mode 100644 index 0000000000..8ae179ac07 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel.tsx @@ -0,0 +1,142 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { logger } from "@sentry/browser"; +import { type Room } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; +import { _t } from "../../../../../languageHandler"; +import Modal from "../../../../../Modal"; +import { bulkSpaceBehaviour } from "../../../../../utils/space"; +import ConfirmSpaceUserActionDialog from "../../../../views/dialogs/ConfirmSpaceUserActionDialog"; +import ConfirmUserActionDialog from "../../../../views/dialogs/ConfirmUserActionDialog"; +import ErrorDialog from "../../../../views/dialogs/ErrorDialog"; +import { type RoomAdminToolsProps } from "./UserInfoAdminToolsContainerViewModel"; + +interface RoomKickButtonState { + /** + * The function to call when the button is clicked + */ + onKickClick: () => Promise; + /** + * Whether the user can be kicked based on membership value. If the user already join or was invited, it can be kicked + */ + canUserBeKicked: boolean; + /** + * The label of the kick button can be kick or disinvite + */ + kickLabel: string; +} + +/** + * The view model for the room kick button used in the UserInfoAdminToolsContainer + * @param {RoomAdminToolsProps} props - the object containing the necceray props for kickButton the view model + * @param {Room} props.room - the room to kick/disinvite the user from + * @param {RoomMember} props.member - the member to kick/disinvite + * @param {boolean} props.isUpdating - whether the operation is currently in progress + * @param {function} props.startUpdating - callback function to start the operation + * @param {function} props.stopUpdating - callback function to stop the operation + * @returns {KickButtonState} the room kick/disinvite button state + */ +export function useRoomKickButtonViewModel(props: RoomAdminToolsProps): RoomKickButtonState { + const { isUpdating, startUpdating, stopUpdating, room, member } = props; + + const cli = useMatrixClientContext(); + + const onKickClick = async (): Promise => { + if (isUpdating) return; // only allow one operation at a time + startUpdating(); + + const commonProps = { + member, + action: room.isSpaceRoom() + ? member.membership === KnownMembership.Invite + ? _t("user_info|disinvite_button_space") + : _t("user_info|kick_button_space") + : member.membership === KnownMembership.Invite + ? _t("user_info|disinvite_button_room") + : _t("user_info|kick_button_room"), + title: + member.membership === KnownMembership.Invite + ? _t("user_info|disinvite_button_room_name", { roomName: room.name }) + : _t("user_info|kick_button_room_name", { roomName: room.name }), + askReason: member.membership === KnownMembership.Join, + danger: true, + }; + + let finished: Promise<[success?: boolean, reason?: string, rooms?: Room[]]>; + + if (room.isSpaceRoom()) { + ({ finished } = Modal.createDialog( + ConfirmSpaceUserActionDialog, + { + ...commonProps, + space: room, + spaceChildFilter: (child: Room) => { + // Return true if the target member is not banned and we have sufficient PL to ban them + const myMember = child.getMember(cli.credentials.userId || ""); + const theirMember = child.getMember(member.userId); + return ( + !!myMember && + !!theirMember && + theirMember.membership === member.membership && + myMember.powerLevel > theirMember.powerLevel && + child.currentState.hasSufficientPowerLevelFor("kick", myMember.powerLevel) + ); + }, + allLabel: _t("user_info|kick_button_space_everything"), + specificLabel: _t("user_info|kick_space_specific"), + warningMessage: _t("user_info|kick_space_warning"), + }, + "mx_ConfirmSpaceUserActionDialog_wrapper", + )); + } else { + ({ finished } = Modal.createDialog(ConfirmUserActionDialog, commonProps)); + } + + const [proceed, reason, rooms = []] = await finished; + if (!proceed) { + stopUpdating(); + return; + } + + bulkSpaceBehaviour(room, rooms, (room) => cli.kick(room.roomId, member.userId, reason || undefined)) + .then( + () => { + // NO-OP; rely on the m.room.member event coming down else we could + // get out of sync if we force setState here! + logger.info("Kick success"); + }, + function (err) { + logger.error("Kick error: " + err); + Modal.createDialog(ErrorDialog, { + title: _t("user_info|error_kicking_user"), + description: err?.message ?? "Operation failed", + }); + }, + ) + .finally(() => { + stopUpdating(); + }); + }; + + const canUserBeKicked = member.membership === KnownMembership.Invite || member.membership === KnownMembership.Join; + + const kickLabel = room.isSpaceRoom() + ? member.membership === KnownMembership.Invite + ? _t("user_info|disinvite_button_space") + : _t("user_info|kick_button_space") + : member.membership === KnownMembership.Invite + ? _t("user_info|disinvite_button_room") + : _t("user_info|kick_button_room"); + + return { + onKickClick, + canUserBeKicked, + kickLabel, + }; +} diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel.tsx new file mode 100644 index 0000000000..1608628198 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel.tsx @@ -0,0 +1,120 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { logger } from "@sentry/browser"; +import { type RoomMember, type IPowerLevelsContent } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; +import { _t } from "../../../../../languageHandler"; +import Modal from "../../../../../Modal"; +import ErrorDialog from "../../../../views/dialogs/ErrorDialog"; +import { type RoomAdminToolsProps } from "./UserInfoAdminToolsContainerViewModel"; + +interface MuteButtonState { + /** + * Whether the member is in the roomn based on the membership value + */ + isMemberInTheRoom: boolean; + /** + * The label of the mute button can be mute or unmute + */ + muteLabel: string; + /** + * The function to call when the mute button is clicked + */ + onMuteButtonClick: () => Promise; +} + +/** + * The view model for the room mute button used in the UserInfoAdminToolsContainer + * @param {RoomAdminToolsProps} props - the object containing the necceray props for muteButton the view model + * @param {Room} props.room - the room to mute/unmute the user in + * @param {RoomMember} props.member - the member to mute/unmute + * @param {boolean} props.isUpdating - whether the operation is currently in progress + * @param {function} props.startUpdating - callback function to start the operation + * @param {function} props.stopUpdating - callback function to stop the operation + * @returns {MuteButtonState} the room mute/unmute button state + */ +export const useMuteButtonViewModel = (props: RoomAdminToolsProps): MuteButtonState => { + const { isUpdating, startUpdating, stopUpdating, room, member } = props; + + const cli = useMatrixClientContext(); + + const isMuted = (member: RoomMember, powerLevelContent: IPowerLevelsContent): boolean => { + if (!powerLevelContent || !member) return false; + + const levelToSend = + (powerLevelContent.events ? powerLevelContent.events["m.room.message"] : null) || + powerLevelContent.events_default; + + // levelToSend could be undefined as .events_default is optional. Coercing in this case using + // Number() would always return false, so this preserves behaviour + // FIXME: per the spec, if `events_default` is unset, it defaults to zero. If + // the member has a negative powerlevel, this will give an incorrect result. + if (levelToSend === undefined) return false; + + return member.powerLevel < levelToSend; + }; + + const muted = isMuted(member, room.currentState.getStateEvents("m.room.power_levels", "")?.getContent() || {}); + const muteLabel = muted ? _t("common|unmute") : _t("common|mute"); + + const isMemberInTheRoom = member.membership == KnownMembership.Join; + + const onMuteButtonClick = async (): Promise => { + if (isUpdating) return; // only allow one operation at a time + startUpdating(); + + const roomId = member.roomId; + const target = member.userId; + + const powerLevelEvent = room.currentState.getStateEvents("m.room.power_levels", ""); + const powerLevels = powerLevelEvent?.getContent(); + const levelToSend = powerLevels?.events?.["m.room.message"] ?? powerLevels?.events_default; + + let level; + if (muted) { + // unmute + level = levelToSend; + } else { + // mute + level = levelToSend - 1; + } + level = parseInt(level); + + console.log("level", level); + if (isNaN(level)) { + stopUpdating(); + return; + } + + cli.setPowerLevel(roomId, target, level) + .then( + () => { + // NO-OP; rely on the m.room.member event coming down else we could + // get out of sync if we force setState here! + logger.info("Mute toggle success"); + }, + function (err) { + logger.error("Mute error: " + err); + Modal.createDialog(ErrorDialog, { + title: _t("common|error"), + description: _t("user_info|error_mute_user"), + }); + }, + ) + .finally(() => { + stopUpdating(); + }); + }; + + return { + isMemberInTheRoom, + onMuteButtonClick, + muteLabel, + }; +}; diff --git a/src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel.tsx b/src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel.tsx new file mode 100644 index 0000000000..73b8ea70f0 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel.tsx @@ -0,0 +1,39 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { type RoomMember } from "matrix-js-sdk/src/matrix"; + +import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; +import Modal from "../../../../../Modal"; +import BulkRedactDialog from "../../../../views/dialogs/BulkRedactDialog"; + +export interface RedactMessagesButtonState { + onRedactAllMessagesClick: () => void; +} + +/** + * The view model for the redact messages button used in the UserInfoAdminToolsContainer + * @param {RoomMember} member - the selected member to redact messages for + * @returns {RedactMessagesButtonState} the redact messages button state + */ +export const useRedactMessagesButtonViewModel = (member: RoomMember): RedactMessagesButtonState => { + const cli = useMatrixClientContext(); + + const onRedactAllMessagesClick = (): void => { + const room = cli.getRoom(member.roomId); + if (!room) return; + + Modal.createDialog(BulkRedactDialog, { + matrixClient: cli, + room, + member, + }); + }; + + return { + onRedactAllMessagesClick, + }; +}; diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index 7bba4f0950..542e6421de 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -34,10 +34,6 @@ import MentionIcon from "@vector-im/compound-design-tokens/assets/web/icons/ment import InviteIcon from "@vector-im/compound-design-tokens/assets/web/icons/user-add"; import BlockIcon from "@vector-im/compound-design-tokens/assets/web/icons/block"; import DeleteIcon from "@vector-im/compound-design-tokens/assets/web/icons/delete"; -import CloseIcon from "@vector-im/compound-design-tokens/assets/web/icons/close"; -import ChatProblemIcon from "@vector-im/compound-design-tokens/assets/web/icons/chat-problem"; -import VisibilityOffIcon from "@vector-im/compound-design-tokens/assets/web/icons/visibility-off"; -import LeaveIcon from "@vector-im/compound-design-tokens/assets/web/icons/leave"; import dis from "../../../dispatcher/dispatcher"; import Modal from "../../../Modal"; @@ -61,15 +57,11 @@ import Spinner from "../elements/Spinner"; import PowerSelector from "../elements/PowerSelector"; import MemberAvatar from "../avatars/MemberAvatar"; import PresenceLabel from "../rooms/PresenceLabel"; -import BulkRedactDialog from "../dialogs/BulkRedactDialog"; import { ShareDialog } from "../dialogs/ShareDialog"; import ErrorDialog from "../dialogs/ErrorDialog"; import QuestionDialog from "../dialogs/QuestionDialog"; -import ConfirmUserActionDialog from "../dialogs/ConfirmUserActionDialog"; import { mediaFromMxc } from "../../../customisations/Media"; import { type ComposerInsertPayload } from "../../../dispatcher/payloads/ComposerInsertPayload"; -import ConfirmSpaceUserActionDialog from "../dialogs/ConfirmSpaceUserActionDialog"; -import { bulkSpaceBehaviour } from "../../../utils/space"; import { shouldShowComponent } from "../../../customisations/helpers/UIComponents"; import { UIComponent } from "../../../settings/UIFeature"; import { TimelineRenderingType } from "../../../contexts/RoomContext"; @@ -83,6 +75,7 @@ import { SdkContextClass } from "../../../contexts/SDKContext"; import { Flex } from "../../utils/Flex"; import CopyableText from "../elements/CopyableText"; import { useUserTimezone } from "../../../hooks/useUserTimezone"; +import { UserInfoAdminToolsContainer } from "./user_info/UserInfoAdminToolsContainer"; export interface IDevice extends Device { ambiguous?: boolean; @@ -314,7 +307,7 @@ const Container: React.FC<{ return
{children}
; }; -interface IPowerLevelsContent { +export interface IPowerLevelsContent { events?: Record; // eslint-disable-next-line camelcase users_default?: number; @@ -368,362 +361,6 @@ export const useRoomPowerLevels = (cli: MatrixClient, room: Room): IPowerLevelsC return powerLevels; }; -interface IBaseProps { - member: RoomMember; - isUpdating: boolean; - startUpdating(): void; - stopUpdating(): void; -} - -export const RoomKickButton = ({ - room, - member, - isUpdating, - startUpdating, - stopUpdating, -}: Omit): JSX.Element | null => { - const cli = useContext(MatrixClientContext); - - // check if user can be kicked/disinvited - if (member.membership !== KnownMembership.Invite && member.membership !== KnownMembership.Join) return <>; - - const onKick = async (): Promise => { - if (isUpdating) return; // only allow one operation at a time - startUpdating(); - - const commonProps = { - member, - action: room.isSpaceRoom() - ? member.membership === KnownMembership.Invite - ? _t("user_info|disinvite_button_space") - : _t("user_info|kick_button_space") - : member.membership === KnownMembership.Invite - ? _t("user_info|disinvite_button_room") - : _t("user_info|kick_button_room"), - title: - member.membership === KnownMembership.Invite - ? _t("user_info|disinvite_button_room_name", { roomName: room.name }) - : _t("user_info|kick_button_room_name", { roomName: room.name }), - askReason: member.membership === KnownMembership.Join, - danger: true, - }; - - let finished: Promise<[success?: boolean, reason?: string, rooms?: Room[]]>; - - if (room.isSpaceRoom()) { - ({ finished } = Modal.createDialog( - ConfirmSpaceUserActionDialog, - { - ...commonProps, - space: room, - spaceChildFilter: (child: Room) => { - // Return true if the target member is not banned and we have sufficient PL to ban them - const myMember = child.getMember(cli.credentials.userId || ""); - const theirMember = child.getMember(member.userId); - return ( - !!myMember && - !!theirMember && - theirMember.membership === member.membership && - myMember.powerLevel > theirMember.powerLevel && - child.currentState.hasSufficientPowerLevelFor("kick", myMember.powerLevel) - ); - }, - allLabel: _t("user_info|kick_button_space_everything"), - specificLabel: _t("user_info|kick_space_specific"), - warningMessage: _t("user_info|kick_space_warning"), - }, - "mx_ConfirmSpaceUserActionDialog_wrapper", - )); - } else { - ({ finished } = Modal.createDialog(ConfirmUserActionDialog, commonProps)); - } - - const [proceed, reason, rooms = []] = await finished; - if (!proceed) { - stopUpdating(); - return; - } - - bulkSpaceBehaviour(room, rooms, (room) => cli.kick(room.roomId, member.userId, reason || undefined)) - .then( - () => { - // NO-OP; rely on the m.room.member event coming down else we could - // get out of sync if we force setState here! - logger.log("Kick success"); - }, - function (err) { - logger.error("Kick error: " + err); - Modal.createDialog(ErrorDialog, { - title: _t("user_info|error_kicking_user"), - description: err?.message ?? "Operation failed", - }); - }, - ) - .finally(() => { - stopUpdating(); - }); - }; - - const kickLabel = room.isSpaceRoom() - ? member.membership === KnownMembership.Invite - ? _t("user_info|disinvite_button_space") - : _t("user_info|kick_button_space") - : member.membership === KnownMembership.Invite - ? _t("user_info|disinvite_button_room") - : _t("user_info|kick_button_room"); - - return ( - { - ev.preventDefault(); - onKick(); - }} - disabled={isUpdating} - label={kickLabel} - kind="critical" - Icon={LeaveIcon} - /> - ); -}; - -const RedactMessagesButton: React.FC = ({ member }) => { - const cli = useContext(MatrixClientContext); - - const onRedactAllMessages = (): void => { - const room = cli.getRoom(member.roomId); - if (!room) return; - - Modal.createDialog(BulkRedactDialog, { - matrixClient: cli, - room, - member, - }); - }; - - return ( - { - ev.preventDefault(); - onRedactAllMessages(); - }} - label={_t("user_info|redact_button")} - kind="critical" - Icon={CloseIcon} - /> - ); -}; - -export const BanToggleButton = ({ - room, - member, - isUpdating, - startUpdating, - stopUpdating, -}: Omit): JSX.Element => { - const cli = useContext(MatrixClientContext); - - const isBanned = member.membership === KnownMembership.Ban; - const onBanOrUnban = async (): Promise => { - if (isUpdating) return; // only allow one operation at a time - startUpdating(); - - const commonProps = { - member, - action: room.isSpaceRoom() - ? isBanned - ? _t("user_info|unban_button_space") - : _t("user_info|ban_button_space") - : isBanned - ? _t("user_info|unban_button_room") - : _t("user_info|ban_button_room"), - title: isBanned - ? _t("user_info|unban_room_confirm_title", { roomName: room.name }) - : _t("user_info|ban_room_confirm_title", { roomName: room.name }), - askReason: !isBanned, - danger: !isBanned, - }; - - let finished: Promise<[success?: boolean, reason?: string, rooms?: Room[]]>; - - if (room.isSpaceRoom()) { - ({ finished } = Modal.createDialog( - ConfirmSpaceUserActionDialog, - { - ...commonProps, - space: room, - spaceChildFilter: isBanned - ? (child: Room) => { - // Return true if the target member is banned and we have sufficient PL to unban - const myMember = child.getMember(cli.credentials.userId || ""); - const theirMember = child.getMember(member.userId); - return ( - !!myMember && - !!theirMember && - theirMember.membership === KnownMembership.Ban && - myMember.powerLevel > theirMember.powerLevel && - child.currentState.hasSufficientPowerLevelFor("ban", myMember.powerLevel) - ); - } - : (child: Room) => { - // Return true if the target member isn't banned and we have sufficient PL to ban - const myMember = child.getMember(cli.credentials.userId || ""); - const theirMember = child.getMember(member.userId); - return ( - !!myMember && - !!theirMember && - theirMember.membership !== KnownMembership.Ban && - myMember.powerLevel > theirMember.powerLevel && - child.currentState.hasSufficientPowerLevelFor("ban", myMember.powerLevel) - ); - }, - allLabel: isBanned ? _t("user_info|unban_space_everything") : _t("user_info|ban_space_everything"), - specificLabel: isBanned ? _t("user_info|unban_space_specific") : _t("user_info|ban_space_specific"), - warningMessage: isBanned ? _t("user_info|unban_space_warning") : _t("user_info|kick_space_warning"), - }, - "mx_ConfirmSpaceUserActionDialog_wrapper", - )); - } else { - ({ finished } = Modal.createDialog(ConfirmUserActionDialog, commonProps)); - } - - const [proceed, reason, rooms = []] = await finished; - if (!proceed) { - stopUpdating(); - return; - } - - const fn = (roomId: string): Promise => { - if (isBanned) { - return cli.unban(roomId, member.userId); - } else { - return cli.ban(roomId, member.userId, reason || undefined); - } - }; - - bulkSpaceBehaviour(room, rooms, (room) => fn(room.roomId)) - .then( - () => { - // NO-OP; rely on the m.room.member event coming down else we could - // get out of sync if we force setState here! - logger.log("Ban success"); - }, - function (err) { - logger.error("Ban error: " + err); - Modal.createDialog(ErrorDialog, { - title: _t("common|error"), - description: _t("user_info|error_ban_user"), - }); - }, - ) - .finally(() => { - stopUpdating(); - }); - }; - - let label = room.isSpaceRoom() ? _t("user_info|ban_button_space") : _t("user_info|ban_button_room"); - if (isBanned) { - label = room.isSpaceRoom() ? _t("user_info|unban_button_space") : _t("user_info|unban_button_room"); - } - - return ( - { - ev.preventDefault(); - onBanOrUnban(); - }} - disabled={isUpdating} - label={label} - kind="critical" - Icon={ChatProblemIcon} - /> - ); -}; - -interface IBaseRoomProps extends IBaseProps { - room: Room; - powerLevels: IPowerLevelsContent; - children?: ReactNode; -} - -// We do not show a Mute button for ourselves so it doesn't need to handle warning self demotion -const MuteToggleButton: React.FC = ({ - member, - room, - powerLevels, - isUpdating, - startUpdating, - stopUpdating, -}) => { - const cli = useContext(MatrixClientContext); - - // Don't show the mute/unmute option if the user is not in the room - if (member.membership !== KnownMembership.Join) return null; - - const muted = isMuted(member, powerLevels); - const onMuteToggle = async (): Promise => { - if (isUpdating) return; // only allow one operation at a time - startUpdating(); - - const roomId = member.roomId; - const target = member.userId; - - const powerLevelEvent = room.currentState.getStateEvents("m.room.power_levels", ""); - const powerLevels = powerLevelEvent?.getContent(); - const levelToSend = powerLevels?.events?.["m.room.message"] ?? powerLevels?.events_default; - let level; - if (muted) { - // unmute - level = levelToSend; - } else { - // mute - level = levelToSend - 1; - } - level = parseInt(level); - - if (isNaN(level)) { - stopUpdating(); - return; - } - - cli.setPowerLevel(roomId, target, level) - .then( - () => { - // NO-OP; rely on the m.room.member event coming down else we could - // get out of sync if we force setState here! - logger.log("Mute toggle success"); - }, - function (err) { - logger.error("Mute error: " + err); - Modal.createDialog(ErrorDialog, { - title: _t("common|error"), - description: _t("user_info|error_mute_user"), - }); - }, - ) - .finally(() => { - stopUpdating(); - }); - }; - - const muteLabel = muted ? _t("common|unmute") : _t("common|mute"); - return ( - { - ev.preventDefault(); - onMuteToggle(); - }} - disabled={isUpdating} - label={muteLabel} - kind="critical" - Icon={VisibilityOffIcon} - /> - ); -}; - const IgnoreToggleButton: React.FC<{ member: User | RoomMember; }> = ({ member }) => { @@ -786,96 +423,6 @@ const IgnoreToggleButton: React.FC<{ ); }; -export const RoomAdminToolsContainer: React.FC = ({ - room, - children, - member, - isUpdating, - startUpdating, - stopUpdating, - powerLevels, -}) => { - const cli = useContext(MatrixClientContext); - let kickButton; - let banButton; - let muteButton; - let redactButton; - - const editPowerLevel = - (powerLevels.events ? powerLevels.events["m.room.power_levels"] : null) || powerLevels.state_default; - - // if these do not exist in the event then they should default to 50 as per the spec - const { ban: banPowerLevel = 50, kick: kickPowerLevel = 50, redact: redactPowerLevel = 50 } = powerLevels; - - const me = room.getMember(cli.getUserId() || ""); - if (!me) { - // we aren't in the room, so return no admin tooling - return
; - } - - const isMe = me.userId === member.userId; - const canAffectUser = member.powerLevel < me.powerLevel || isMe; - - if (!isMe && canAffectUser && me.powerLevel >= kickPowerLevel) { - kickButton = ( - - ); - } - if (me.powerLevel >= redactPowerLevel && !room.isSpaceRoom()) { - redactButton = ( - - ); - } - if (!isMe && canAffectUser && me.powerLevel >= banPowerLevel) { - banButton = ( - - ); - } - if (!isMe && canAffectUser && me.powerLevel >= Number(editPowerLevel) && !room.isSpaceRoom()) { - muteButton = ( - - ); - } - - if (kickButton || banButton || muteButton || redactButton || children) { - return ( - - {muteButton} - {redactButton} - {kickButton} - {banButton} - {children} - - ); - } - - return
; -}; - const useIsSynapseAdmin = (cli?: MatrixClient): boolean => { return useAsyncMemo(async () => (cli ? cli.isSynapseAdministrator().catch(() => false) : false), [cli], false); }; @@ -1283,7 +830,7 @@ const BasicUserInfo: React.FC<{ } adminToolsContainer = ( - {synapseDeactivateButton} - + ); } else if (synapseDeactivateButton) { adminToolsContainer = {synapseDeactivateButton}; diff --git a/src/components/views/right_panel/user_info/UserInfoAdminToolsContainer.tsx b/src/components/views/right_panel/user_info/UserInfoAdminToolsContainer.tsx new file mode 100644 index 0000000000..1f3eeb706d --- /dev/null +++ b/src/components/views/right_panel/user_info/UserInfoAdminToolsContainer.tsx @@ -0,0 +1,220 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import React, { type JSX, type ReactNode } from "react"; +import classNames from "classnames"; +import { type RoomMember, type Room } from "matrix-js-sdk/src/matrix"; +import { MenuItem } from "@vector-im/compound-web"; +import CloseIcon from "@vector-im/compound-design-tokens/assets/web/icons/close"; +import ChatProblemIcon from "@vector-im/compound-design-tokens/assets/web/icons/chat-problem"; +import VisibilityOffIcon from "@vector-im/compound-design-tokens/assets/web/icons/visibility-off"; +import LeaveIcon from "@vector-im/compound-design-tokens/assets/web/icons/leave"; + +import { _t } from "../../../../languageHandler"; +import { type IPowerLevelsContent } from "../UserInfo"; +import { useUserInfoAdminToolsContainerViewModel } from "../../../viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { useMuteButtonViewModel } from "../../../viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel"; +import { useBanButtonViewModel } from "../../../viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel"; +import { useRoomKickButtonViewModel } from "../../../viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel"; +import { useRedactMessagesButtonViewModel } from "../../../viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel"; + +const Container: React.FC<{ + children: ReactNode; + className?: string; +}> = ({ children, className }) => { + const classes = classNames("mx_UserInfo_container", className); + return
{children}
; +}; + +interface IBaseProps { + member: RoomMember; + isUpdating: boolean; + startUpdating(): void; + stopUpdating(): void; +} + +export const RoomKickButton = ({ + room, + member, + isUpdating, + startUpdating, + stopUpdating, +}: Omit): JSX.Element | null => { + const vm = useRoomKickButtonViewModel({ room, member, isUpdating, startUpdating, stopUpdating }); + // check if user can be kicked/disinvited + if (!vm.canUserBeKicked) return <>; + + return ( + { + ev.preventDefault(); + vm.onKickClick(); + }} + disabled={isUpdating} + label={vm.kickLabel} + kind="critical" + Icon={LeaveIcon} + /> + ); +}; + +const RedactMessagesButton: React.FC = ({ member }) => { + const vm = useRedactMessagesButtonViewModel(member); + + return ( + { + ev.preventDefault(); + vm.onRedactAllMessagesClick(); + }} + label={_t("user_info|redact_button")} + kind="critical" + Icon={CloseIcon} + /> + ); +}; + +export const BanToggleButton = ({ + room, + member, + isUpdating, + startUpdating, + stopUpdating, +}: Omit): JSX.Element => { + const vm = useBanButtonViewModel({ room, member, isUpdating, startUpdating, stopUpdating }); + + return ( + { + ev.preventDefault(); + vm.onBanOrUnbanClick(); + }} + disabled={isUpdating} + label={vm.banLabel} + kind="critical" + Icon={ChatProblemIcon} + /> + ); +}; + +interface IBaseRoomProps extends IBaseProps { + room: Room; + powerLevels: IPowerLevelsContent; + children?: ReactNode; +} + +// We do not show a Mute button for ourselves so it doesn't need to handle warning self demotion +const MuteToggleButton: React.FC = ({ + member, + room, + powerLevels, + isUpdating, + startUpdating, + stopUpdating, +}) => { + const vm = useMuteButtonViewModel({ room, member, isUpdating, startUpdating, stopUpdating }); + // Don't show the mute/unmute option if the user is not in the room + if (!vm.isMemberInTheRoom) return null; + + return ( + { + ev.preventDefault(); + vm.onMuteButtonClick(); + }} + disabled={isUpdating} + label={vm.muteLabel} + kind="critical" + Icon={VisibilityOffIcon} + /> + ); +}; + +export const UserInfoAdminToolsContainer: React.FC = ({ + room, + children, + member, + isUpdating, + startUpdating, + stopUpdating, + powerLevels, +}) => { + let kickButton; + let banButton; + let muteButton; + let redactButton; + + const vm = useUserInfoAdminToolsContainerViewModel({ room, member, powerLevels }); + + if (!vm.isCurrentUserInTheRoom) { + // we aren't in the room, so return no admin tooling + return
; + } + + if (vm.shouldShowKickButton) { + kickButton = ( + + ); + } + if (vm.shouldShowRedactButton) { + redactButton = ( + + ); + } + if (vm.shouldShowBanButton) { + banButton = ( + + ); + } + if (vm.shouldShowMuteButton) { + muteButton = ( + + ); + } + + if (kickButton || banButton || muteButton || redactButton || children) { + return ( + + {muteButton} + {redactButton} + {kickButton} + {banButton} + {children} + + ); + } + + return
; +}; diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel-test.tsx new file mode 100644 index 0000000000..d07bc1ad7a --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel-test.tsx @@ -0,0 +1,173 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { renderHook } from "jest-matrix-react"; +import { type Mocked, mocked } from "jest-mock"; +import { type Room, type MatrixClient, RoomMember, type IPowerLevelsContent } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; +import { + type RoomAdminToolsContainerProps, + useUserInfoAdminToolsContainerViewModel, +} from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { withClientContextRenderOptions } from "../../../../../../test-utils"; + +describe("UserInfoAdminToolsContainerViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + let mockRoom: Mocked; + let mockClient: Mocked; + let mockPowerLevels: IPowerLevelsContent; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + let defaultContainerProps: RoomAdminToolsContainerProps; + + beforeEach(() => { + mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + mockPowerLevels = { + users: { + "@currentuser:example.com": 100, + }, + events: {}, + state_default: 50, + ban: 50, + kick: 50, + redact: 50, + }; + + defaultContainerProps = { + room: mockRoom, + member: defaultMember, + powerLevels: mockPowerLevels, + }; + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn().mockReturnValue(defaultUserId), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue("mock-mxcUrlToHttp"), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + const renderAdminToolsContainerHook = (props = defaultContainerProps) => { + return renderHook( + () => useUserInfoAdminToolsContainerViewModel(props), + withClientContextRenderOptions(mockClient), + ); + }; + + describe("useUserInfoAdminToolsContainerViewModel", () => { + it("should return false when user is not in the room", () => { + mockRoom.getMember.mockReturnValue(null); + const { result } = renderAdminToolsContainerHook(); + expect(result.current).toEqual({ + isCurrentUserInTheRoom: false, + shouldShowKickButton: false, + shouldShowBanButton: false, + shouldShowMuteButton: false, + shouldShowRedactButton: false, + }); + }); + + it("should not show kick, ban and mute buttons if user is me", () => { + const mockMeMember = new RoomMember(mockRoom.roomId, "arbitraryId"); + mockMeMember.powerLevel = 51; // defaults to 50 + mockRoom.getMember.mockReturnValueOnce(mockMeMember); + + const props = { + ...defaultContainerProps, + room: mockRoom, + member: mockMeMember, + powerLevels: mockPowerLevels, + }; + const { result } = renderAdminToolsContainerHook(props); + + expect(result.current).toEqual({ + isCurrentUserInTheRoom: true, + shouldShowKickButton: false, + shouldShowBanButton: false, + shouldShowMuteButton: false, + shouldShowRedactButton: true, + }); + }); + + it("returns mute toggle button if conditions met", () => { + const mockMeMember = new RoomMember(mockRoom.roomId, "arbitraryId"); + mockMeMember.powerLevel = 51; // defaults to 50 + mockRoom.getMember.mockReturnValueOnce(mockMeMember); + + const defaultMemberWithPowerLevelAndJoinMembership = { + ...defaultMember, + powerLevel: 0, + membership: KnownMembership.Join, + } as RoomMember; + + const { result } = renderAdminToolsContainerHook({ + ...defaultContainerProps, + member: defaultMemberWithPowerLevelAndJoinMembership, + powerLevels: { events: { "m.room.power_levels": 1 } }, + }); + + expect(result.current.shouldShowMuteButton).toBe(true); + }); + + it("should not show mute button for one's own member", () => { + const mockMeMember = new RoomMember(mockRoom.roomId, mockClient.getSafeUserId()); + mockMeMember.powerLevel = 51; // defaults to 50 + mockRoom.getMember.mockReturnValueOnce(mockMeMember); + mockClient.getUserId.mockReturnValueOnce(mockMeMember.userId); + + const { result } = renderAdminToolsContainerHook({ + ...defaultContainerProps, + member: mockMeMember, + powerLevels: { events: { "m.room.power_levels": 100 } }, + }); + + expect(result.current.shouldShowMuteButton).toBe(false); + }); + }); +}); diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel-test.tsx new file mode 100644 index 0000000000..a4825d1550 --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel-test.tsx @@ -0,0 +1,224 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { cleanup, renderHook } from "jest-matrix-react"; +import { type Mocked, mocked } from "jest-mock"; +import { type Room, type MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; +import { type RoomAdminToolsProps } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { useBanButtonViewModel } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel"; +import Modal from "../../../../../../../src/Modal"; +import { withClientContextRenderOptions } from "../../../../../../test-utils"; + +describe("useBanButtonViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + let mockRoom: Mocked; + let mockSpace: Mocked; + let mockClient: Mocked; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + const memberWithBanMembership = { ...defaultMember, membership: KnownMembership.Ban } as RoomMember; + + let defaultAdminToolsProps: RoomAdminToolsProps; + const createDialogSpy: jest.SpyInstance = jest.spyOn(Modal, "createDialog"); + + beforeEach(() => { + mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + mockSpace = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue("m.space"), + isSpaceRoom: jest.fn().mockReturnValue(true), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + defaultAdminToolsProps = { + room: mockRoom, + member: defaultMember, + isUpdating: false, + startUpdating: jest.fn(), + stopUpdating: jest.fn(), + }; + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn().mockReturnValue(defaultUserId), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue("mock-mxcUrlToHttp"), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + mockRoom.getMember.mockReturnValue(defaultMember); + }); + + const renderBanButtonHook = (props = defaultAdminToolsProps) => { + return renderHook(() => useBanButtonViewModel(props), withClientContextRenderOptions(mockClient)); + }; + + it("renders the correct labels for banned and unbanned members", () => { + // test for room + const propsWithBanMembership = { + ...defaultAdminToolsProps, + member: memberWithBanMembership, + }; + + // defaultMember is not banned + const { result } = renderBanButtonHook(); + expect(result.current.banLabel).toBe("Ban from room"); + cleanup(); + + const { result: result2 } = renderBanButtonHook(propsWithBanMembership); + expect(result2.current.banLabel).toBe("Unban from room"); + cleanup(); + + // test for space + const { result: result3 } = renderBanButtonHook({ ...defaultAdminToolsProps, room: mockSpace }); + expect(result3.current.banLabel).toBe("Ban from space"); + cleanup(); + + const { result: result4 } = renderBanButtonHook({ + ...propsWithBanMembership, + room: mockSpace, + }); + expect(result4.current.banLabel).toBe("Unban from space"); + cleanup(); + }); + + it("clicking the ban or unban button calls Modal.createDialog with the correct arguments if user is not banned", async () => { + createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); + + const propsWithSpace = { + ...defaultAdminToolsProps, + room: mockSpace, + }; + const { result } = renderBanButtonHook(propsWithSpace); + await result.current.onBanOrUnbanClick(); + + // check the last call arguments and the presence of the spaceChildFilter callback + expect(createDialogSpy).toHaveBeenLastCalledWith( + expect.any(Function), + expect.objectContaining({ spaceChildFilter: expect.any(Function) }), + "mx_ConfirmSpaceUserActionDialog_wrapper", + ); + + // test the spaceChildFilter callback + const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; + + // make dummy values for myMember and theirMember, then we will test + // null vs their member followed by + // truthy my member vs their member + const mockMyMember = { powerLevel: 1 }; + const mockTheirMember = { membership: "is not ban", powerLevel: 0 }; + + const mockRoom = { + getMember: jest + .fn() + .mockReturnValueOnce(null) + .mockReturnValueOnce(mockTheirMember) + .mockReturnValueOnce(mockMyMember) + .mockReturnValueOnce(mockTheirMember), + currentState: { + hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), + }, + }; + + expect(callback(mockRoom)).toBe(false); + expect(callback(mockRoom)).toBe(true); + }); + + it("clicking the ban or unban button calls Modal.createDialog with the correct arguments if user _is_ banned", async () => { + createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); + + const propsWithBanMembership = { + ...defaultAdminToolsProps, + member: memberWithBanMembership, + room: mockSpace, + }; + const { result } = renderBanButtonHook(propsWithBanMembership); + await result.current.onBanOrUnbanClick(); + + // check the last call arguments and the presence of the spaceChildFilter callback + expect(createDialogSpy).toHaveBeenLastCalledWith( + expect.any(Function), + expect.objectContaining({ spaceChildFilter: expect.any(Function) }), + "mx_ConfirmSpaceUserActionDialog_wrapper", + ); + + // test the spaceChildFilter callback + const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; + + // make dummy values for myMember and theirMember, then we will test + // null vs their member followed by + // my member vs their member + const mockMyMember = { powerLevel: 1 }; + const mockTheirMember = { membership: KnownMembership.Ban, powerLevel: 0 }; + + const mockRoom = { + getMember: jest + .fn() + .mockReturnValueOnce(null) + .mockReturnValueOnce(mockTheirMember) + .mockReturnValueOnce(mockMyMember) + .mockReturnValueOnce(mockTheirMember), + currentState: { + hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), + }, + }; + + expect(callback(mockRoom)).toBe(false); + expect(callback(mockRoom)).toBe(true); + }); +}); diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel-test.tsx new file mode 100644 index 0000000000..e4e0d578be --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel-test.tsx @@ -0,0 +1,232 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { cleanup, renderHook } from "jest-matrix-react"; +import { type Mocked, mocked } from "jest-mock"; +import { type Room, type MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; +import { type RoomAdminToolsProps } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { useRoomKickButtonViewModel } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel"; +import Modal from "../../../../../../../src/Modal"; +import { withClientContextRenderOptions } from "../../../../../../test-utils"; + +describe("useRoomKickButtonViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + let mockRoom: Mocked; + let mockSpace: Mocked; + let mockClient: Mocked; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + const memberWithInviteMembership = { ...defaultMember, membership: KnownMembership.Invite } as RoomMember; + const memberWithJoinMembership = { ...defaultMember, membership: KnownMembership.Join } as RoomMember; + + const createDialogSpy: jest.SpyInstance = jest.spyOn(Modal, "createDialog"); + + let defaultAdminToolsProps: RoomAdminToolsProps; + + beforeEach(() => { + mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + mockSpace = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue("m.space"), + isSpaceRoom: jest.fn().mockReturnValue(true), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + defaultAdminToolsProps = { + room: mockRoom, + member: defaultMember, + isUpdating: false, + startUpdating: jest.fn(), + stopUpdating: jest.fn(), + }; + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn().mockReturnValue(defaultUserId), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue("mock-mxcUrlToHttp"), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + // mock useContext to return mockClient + // jest.spyOn(React, "useContext").mockReturnValue(mockClient); + + mockRoom.getMember.mockReturnValue(defaultMember); + }); + + afterEach(() => { + createDialogSpy.mockReset(); + }); + + const renderKickButtonHook = (props = defaultAdminToolsProps) => { + return renderHook(() => useRoomKickButtonViewModel(props), withClientContextRenderOptions(mockClient)); + }; + + it("renders nothing if member.membership is undefined", () => { + // .membership is undefined in our member by default + const { result } = renderKickButtonHook(); + expect(result.current.canUserBeKicked).toBe(false); + }); + + it("renders something if member.membership is 'invite' or 'join'", () => { + let props = { + ...defaultAdminToolsProps, + member: memberWithInviteMembership, + }; + const { result } = renderKickButtonHook(props); + expect(result.current.canUserBeKicked).toBe(true); + + cleanup(); + + props = { + ...defaultAdminToolsProps, + member: memberWithJoinMembership, + }; + const { result: result2 } = renderKickButtonHook(props); + expect(result2.current.canUserBeKicked).toBe(true); + }); + + it("renders the correct label", () => { + // test for room + const propsWithJoinMembership = { + ...defaultAdminToolsProps, + member: memberWithJoinMembership, + }; + + const { result } = renderKickButtonHook(propsWithJoinMembership); + expect(result.current.kickLabel).toBe("Remove from room"); + cleanup(); + + const propsWithInviteMembership = { + ...defaultAdminToolsProps, + member: memberWithInviteMembership, + }; + + const { result: result2 } = renderKickButtonHook(propsWithInviteMembership); + expect(result2.current.kickLabel).toBe("Disinvite from room"); + cleanup(); + }); + + it("renders the correct label for space", () => { + const propsWithInviteMembership = { + ...defaultAdminToolsProps, + room: mockSpace, + member: memberWithInviteMembership, + }; + + const propsWithJoinMembership = { + ...defaultAdminToolsProps, + room: mockSpace, + member: memberWithJoinMembership, + }; + + const { result: result3 } = renderKickButtonHook(propsWithJoinMembership); + expect(result3.current.kickLabel).toBe("Remove from space"); + cleanup(); + + const { result: result4 } = renderKickButtonHook(propsWithInviteMembership); + expect(result4.current.kickLabel).toBe("Disinvite from space"); + cleanup(); + }); + + it("clicking the kick button calls Modal.createDialog with the correct arguments when room is a space", async () => { + createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + + const propsWithInviteMembership = { + ...defaultAdminToolsProps, + room: mockSpace, + member: memberWithInviteMembership, + }; + const { result } = renderKickButtonHook(propsWithInviteMembership); + + await result.current.onKickClick(); + + // check the last call arguments and the presence of the spaceChildFilter callback + expect(createDialogSpy).toHaveBeenLastCalledWith( + expect.any(Function), + expect.objectContaining({ spaceChildFilter: expect.any(Function) }), + "mx_ConfirmSpaceUserActionDialog_wrapper", + ); + + // test the spaceChildFilter callback + const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; + + // make dummy values for myMember and theirMember, then we will test + // null vs their member followed by + // my member vs their member + const mockMyMember = { powerLevel: 1 }; + const mockTheirMember = { membership: KnownMembership.Invite, powerLevel: 0 }; + + const mockRoom = { + getMember: jest + .fn() + .mockReturnValueOnce(null) + .mockReturnValueOnce(mockTheirMember) + .mockReturnValueOnce(mockMyMember) + .mockReturnValueOnce(mockTheirMember), + currentState: { + hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), + }, + }; + + expect(callback(mockRoom)).toBe(false); + expect(callback(mockRoom)).toBe(true); + }); +}); diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel-test.tsx new file mode 100644 index 0000000000..5ebd537855 --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel-test.tsx @@ -0,0 +1,230 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { renderHook } from "jest-matrix-react"; +import { type Mocked, mocked } from "jest-mock"; +import { + type Room, + type MatrixClient, + RoomMember, + type MatrixEvent, + type ISendEventResponse, +} from "matrix-js-sdk/src/matrix"; +import { KnownMembership } from "matrix-js-sdk/src/types"; + +import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; +import { type RoomAdminToolsProps } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { useMuteButtonViewModel } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel"; +import { isMuted } from "../../../../../../../src/components/views/right_panel/UserInfo"; +import { withClientContextRenderOptions } from "../../../../../../test-utils"; + +describe("useMuteButtonViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + let mockRoom: Mocked; + let mockClient: Mocked; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + let defaultAdminToolsProps: RoomAdminToolsProps; + + beforeEach(() => { + mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + defaultAdminToolsProps = { + room: mockRoom, + member: defaultMember, + isUpdating: false, + startUpdating: jest.fn(), + stopUpdating: jest.fn(), + }; + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn().mockReturnValue(defaultUserId), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue("mock-mxcUrlToHttp"), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + + mockClient.setPowerLevel.mockImplementation(() => Promise.resolve({} as ISendEventResponse)); + + mockRoom.currentState.getStateEvents.mockReturnValueOnce({ + getContent: jest.fn().mockReturnValue({ + events: { + "m.room.message": 0, + }, + events_default: 0, + }), + } as unknown as MatrixEvent); + + jest.spyOn(mockClient, "setPowerLevel").mockImplementation(() => Promise.resolve({} as ISendEventResponse)); + jest.spyOn(mockRoom.currentState, "getStateEvents").mockReturnValue({ + getContent: jest.fn().mockReturnValue({ + events: { + "m.room.message": 0, + }, + events_default: 0, + }), + } as unknown as MatrixEvent); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + const renderMuteButtonHook = (props = defaultAdminToolsProps) => { + return renderHook(() => useMuteButtonViewModel(props), withClientContextRenderOptions(mockClient)); + }; + + it("should early return when isUpdating=true", async () => { + const defaultMemberWithPowerLevelAndJoinMembership = { + ...defaultMember, + powerLevel: 0, + membership: KnownMembership.Join, + } as RoomMember; + + const { result } = renderMuteButtonHook({ + ...defaultAdminToolsProps, + member: defaultMemberWithPowerLevelAndJoinMembership, + isUpdating: true, + }); + + const resultClick = await result.current.onMuteButtonClick(); + + expect(resultClick).toBe(undefined); + }); + + it("should stop updating when level is NaN", async () => { + const { result } = renderMuteButtonHook({ + ...defaultAdminToolsProps, + member: defaultMember, + isUpdating: false, + }); + + jest.spyOn(mockRoom.currentState, "getStateEvents").mockReturnValueOnce({ + getContent: jest.fn().mockReturnValue({ + events: { + "m.room.message": NaN, + }, + events_default: NaN, + }), + } as unknown as MatrixEvent); + + await result.current.onMuteButtonClick(); + + expect(defaultAdminToolsProps.stopUpdating).toHaveBeenCalled(); + }); + + it("should set powerlevel to default when user is muted", async () => { + const defaultMutedMember = { + ...defaultMember, + powerLevel: -1, + membership: KnownMembership.Join, + } as RoomMember; + + const { result } = renderMuteButtonHook({ + ...defaultAdminToolsProps, + member: defaultMutedMember, + isUpdating: false, + }); + + await result.current.onMuteButtonClick(); + + expect(mockClient.setPowerLevel).toHaveBeenCalledWith(mockRoom.roomId, defaultMember.userId, 0); + }); + + it("should set powerlevel - 1 when user is unmuted", async () => { + const defaultUnmutedMember = { + ...defaultMember, + powerLevel: 0, + membership: KnownMembership.Join, + } as RoomMember; + + const { result } = renderMuteButtonHook({ + ...defaultAdminToolsProps, + member: defaultUnmutedMember, + isUpdating: false, + }); + + await result.current.onMuteButtonClick(); + + expect(mockClient.setPowerLevel).toHaveBeenCalledWith(mockRoom.roomId, defaultMember.userId, -1); + }); + + it("returns false if either argument is falsy", () => { + // @ts-ignore to let us purposely pass incorrect args + expect(isMuted(defaultMember, null)).toBe(false); + // @ts-ignore to let us purposely pass incorrect args + expect(isMuted(null, {})).toBe(false); + }); + + it("when powerLevelContent.events and .events_default are undefined, returns false", () => { + const powerLevelContents = {}; + expect(isMuted(defaultMember, powerLevelContents)).toBe(false); + }); + + it("when powerLevelContent.events is undefined, uses .events_default", () => { + const higherPowerLevelContents = { events_default: 10 }; + expect(isMuted(defaultMember, higherPowerLevelContents)).toBe(true); + + const lowerPowerLevelContents = { events_default: -10 }; + expect(isMuted(defaultMember, lowerPowerLevelContents)).toBe(false); + }); + + it("when powerLevelContent.events is defined but '.m.room.message' isn't, uses .events_default", () => { + const higherPowerLevelContents = { events: {}, events_default: 10 }; + expect(isMuted(defaultMember, higherPowerLevelContents)).toBe(true); + + const lowerPowerLevelContents = { events: {}, events_default: -10 }; + expect(isMuted(defaultMember, lowerPowerLevelContents)).toBe(false); + }); + + it("when powerLevelContent.events and '.m.room.message' are defined, uses the value", () => { + const higherPowerLevelContents = { events: { "m.room.message": -10 }, events_default: 10 }; + expect(isMuted(defaultMember, higherPowerLevelContents)).toBe(false); + + const lowerPowerLevelContents = { events: { "m.room.message": 10 }, events_default: -10 }; + expect(isMuted(defaultMember, lowerPowerLevelContents)).toBe(true); + }); +}); diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel-test.tsx new file mode 100644 index 0000000000..cb3187a82c --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel-test.tsx @@ -0,0 +1,98 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { renderHook } from "jest-matrix-react"; +import { type Mocked, mocked } from "jest-mock"; +import { type Room, type MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; + +import { MatrixClientPeg } from "../../../../../../../src/MatrixClientPeg"; +import { useRedactMessagesButtonViewModel } from "../../../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel"; +import Modal from "../../../../../../../src/Modal"; +import BulkRedactDialog from "../../../../../../../src/components/views/dialogs/BulkRedactDialog"; +import { withClientContextRenderOptions } from "../../../../../../test-utils"; + +describe("useRedactMessagesButtonViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + let mockRoom: Mocked; + let mockClient: Mocked; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + beforeEach(() => { + mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn().mockReturnValue(defaultUserId), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue("mock-mxcUrlToHttp"), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + const renderRedactButtonHook = (props = defaultMember) => { + return renderHook(() => useRedactMessagesButtonViewModel(props), withClientContextRenderOptions(mockClient)); + }; + + it("should show BulkRedactDialog upon clicking the Remove messages button", async () => { + const spy = jest.spyOn(Modal, "createDialog"); + + mockClient.getRoom.mockReturnValue(mockRoom); + mockClient.getUserId.mockReturnValue("@arbitraryId:server"); + const mockMeMember = new RoomMember(mockRoom.roomId, mockClient.getUserId()!); + mockMeMember.powerLevel = 51; // defaults to 50 + const defaultMemberWithPowerLevel = { ...defaultMember, powerLevel: 0 } as RoomMember; + mockRoom.getMember.mockImplementation((userId) => + userId === mockClient.getUserId() ? mockMeMember : defaultMemberWithPowerLevel, + ); + + const { result } = renderRedactButtonHook(); + await result.current.onRedactAllMessagesClick(); + + expect(spy).toHaveBeenCalledWith( + BulkRedactDialog, + expect.objectContaining({ member: defaultMemberWithPowerLevel }), + ); + }); +}); diff --git a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx index 1a58b1e2e0..ce0edca0ac 100644 --- a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx +++ b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { fireEvent, render, screen, cleanup, act, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; +import { fireEvent, render, screen, act, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { type Mocked, mocked } from "jest-mock"; import { @@ -19,7 +19,6 @@ import { EventType, Device, } from "matrix-js-sdk/src/matrix"; -import { KnownMembership } from "matrix-js-sdk/src/types"; import { EventEmitter } from "events"; import { UserVerificationStatus, @@ -30,13 +29,9 @@ import { } from "matrix-js-sdk/src/crypto-api"; import UserInfo, { - BanToggleButton, disambiguateDevices, getPowerLevels, - isMuted, PowerLevelEditor, - RoomAdminToolsContainer, - RoomKickButton, UserInfoHeader, UserOptionsSection, } from "../../../../../src/components/views/right_panel/UserInfo"; @@ -53,7 +48,6 @@ import { shouldShowComponent } from "../../../../../src/customisations/helpers/U import { UIComponent } from "../../../../../src/settings/UIFeature"; import { Action } from "../../../../../src/dispatcher/actions"; import { ShareDialog } from "../../../../../src/components/views/dialogs/ShareDialog"; -import BulkRedactDialog from "../../../../../src/components/views/dialogs/BulkRedactDialog"; jest.mock("../../../../../src/utils/direct-messages", () => ({ ...jest.requireActual("../../../../../src/utils/direct-messages"), @@ -92,7 +86,6 @@ const defaultUserId = "@user:example.com"; const defaultUser = new User(defaultUserId); let mockRoom: Mocked; -let mockSpace: Mocked; let mockClient: Mocked; let mockCrypto: Mocked; const origDate = global.Date.prototype.toLocaleString; @@ -115,23 +108,6 @@ beforeEach(() => { getEventReadUpTo: jest.fn(), } as unknown as Room); - mockSpace = mocked({ - roomId: defaultRoomId, - getType: jest.fn().mockReturnValue("m.space"), - isSpaceRoom: jest.fn().mockReturnValue(true), - getMember: jest.fn().mockReturnValue(undefined), - getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), - name: "test room", - on: jest.fn(), - off: jest.fn(), - currentState: { - getStateEvents: jest.fn(), - on: jest.fn(), - off: jest.fn(), - }, - getEventReadUpTo: jest.fn(), - } as unknown as Room); - mockCrypto = mocked({ getDeviceVerificationStatus: jest.fn(), getUserDeviceInfo: jest.fn(), @@ -800,384 +776,6 @@ describe("", () => { }); }); -describe("", () => { - const defaultMember = new RoomMember(defaultRoomId, defaultUserId); - const memberWithInviteMembership = { ...defaultMember, membership: KnownMembership.Invite }; - const memberWithJoinMembership = { ...defaultMember, membership: KnownMembership.Join }; - - let defaultProps: Parameters[0]; - beforeEach(() => { - defaultProps = { - room: mockRoom, - member: defaultMember, - startUpdating: jest.fn(), - stopUpdating: jest.fn(), - isUpdating: false, - }; - }); - - const renderComponent = (props = {}) => { - const Wrapper = (wrapperProps = {}) => { - return ; - }; - - return render(, { - wrapper: Wrapper, - }); - }; - - const createDialogSpy: jest.SpyInstance = jest.spyOn(Modal, "createDialog"); - - afterEach(() => { - createDialogSpy.mockReset(); - }); - - it("renders nothing if member.membership is undefined", () => { - // .membership is undefined in our member by default - const { container } = renderComponent(); - expect(container).toBeEmptyDOMElement(); - }); - - it("renders something if member.membership is 'invite' or 'join'", () => { - let result = renderComponent({ member: memberWithInviteMembership }); - expect(result.container).not.toBeEmptyDOMElement(); - - cleanup(); - - result = renderComponent({ member: memberWithJoinMembership }); - expect(result.container).not.toBeEmptyDOMElement(); - }); - - it("renders the correct label", () => { - // test for room - renderComponent({ member: memberWithJoinMembership }); - expect(screen.getByText(/remove from room/i)).toBeInTheDocument(); - cleanup(); - - renderComponent({ member: memberWithInviteMembership }); - expect(screen.getByText(/disinvite from room/i)).toBeInTheDocument(); - cleanup(); - - // test for space - mockRoom.isSpaceRoom.mockReturnValue(true); - renderComponent({ member: memberWithJoinMembership }); - expect(screen.getByText(/remove from space/i)).toBeInTheDocument(); - cleanup(); - - renderComponent({ member: memberWithInviteMembership }); - expect(screen.getByText(/disinvite from space/i)).toBeInTheDocument(); - cleanup(); - mockRoom.isSpaceRoom.mockReturnValue(false); - }); - - it("clicking the kick button calls Modal.createDialog with the correct arguments", async () => { - createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); - - renderComponent({ room: mockSpace, member: memberWithInviteMembership }); - await userEvent.click(screen.getByText(/disinvite from/i)); - - // check the last call arguments and the presence of the spaceChildFilter callback - expect(createDialogSpy).toHaveBeenLastCalledWith( - expect.any(Function), - expect.objectContaining({ spaceChildFilter: expect.any(Function) }), - "mx_ConfirmSpaceUserActionDialog_wrapper", - ); - - // test the spaceChildFilter callback - const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; - - // make dummy values for myMember and theirMember, then we will test - // null vs their member followed by - // my member vs their member - const mockMyMember = { powerLevel: 1 }; - const mockTheirMember = { membership: KnownMembership.Invite, powerLevel: 0 }; - - const mockRoom = { - getMember: jest - .fn() - .mockReturnValueOnce(null) - .mockReturnValueOnce(mockTheirMember) - .mockReturnValueOnce(mockMyMember) - .mockReturnValueOnce(mockTheirMember), - currentState: { - hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), - }, - }; - - expect(callback(mockRoom)).toBe(false); - expect(callback(mockRoom)).toBe(true); - }); -}); - -describe("", () => { - const defaultMember = new RoomMember(defaultRoomId, defaultUserId); - const memberWithBanMembership = { ...defaultMember, membership: KnownMembership.Ban }; - let defaultProps: Parameters[0]; - beforeEach(() => { - defaultProps = { - room: mockRoom, - member: defaultMember, - startUpdating: jest.fn(), - stopUpdating: jest.fn(), - isUpdating: false, - }; - }); - - const renderComponent = (props = {}) => { - const Wrapper = (wrapperProps = {}) => { - return ; - }; - - return render(, { - wrapper: Wrapper, - }); - }; - - const createDialogSpy: jest.SpyInstance = jest.spyOn(Modal, "createDialog"); - - afterEach(() => { - createDialogSpy.mockReset(); - }); - - it("renders the correct labels for banned and unbanned members", () => { - // test for room - // defaultMember is not banned - renderComponent(); - expect(screen.getByText("Ban from room")).toBeInTheDocument(); - cleanup(); - - renderComponent({ member: memberWithBanMembership }); - expect(screen.getByText("Unban from room")).toBeInTheDocument(); - cleanup(); - - // test for space - mockRoom.isSpaceRoom.mockReturnValue(true); - renderComponent(); - expect(screen.getByText("Ban from space")).toBeInTheDocument(); - cleanup(); - - renderComponent({ member: memberWithBanMembership }); - expect(screen.getByText("Unban from space")).toBeInTheDocument(); - cleanup(); - mockRoom.isSpaceRoom.mockReturnValue(false); - }); - - it("clicking the ban or unban button calls Modal.createDialog with the correct arguments if user is not banned", async () => { - createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); - - renderComponent({ room: mockSpace }); - await userEvent.click(screen.getByText(/ban from/i)); - - // check the last call arguments and the presence of the spaceChildFilter callback - expect(createDialogSpy).toHaveBeenLastCalledWith( - expect.any(Function), - expect.objectContaining({ spaceChildFilter: expect.any(Function) }), - "mx_ConfirmSpaceUserActionDialog_wrapper", - ); - - // test the spaceChildFilter callback - const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; - - // make dummy values for myMember and theirMember, then we will test - // null vs their member followed by - // truthy my member vs their member - const mockMyMember = { powerLevel: 1 }; - const mockTheirMember = { membership: "is not ban", powerLevel: 0 }; - - const mockRoom = { - getMember: jest - .fn() - .mockReturnValueOnce(null) - .mockReturnValueOnce(mockTheirMember) - .mockReturnValueOnce(mockMyMember) - .mockReturnValueOnce(mockTheirMember), - currentState: { - hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), - }, - }; - - expect(callback(mockRoom)).toBe(false); - expect(callback(mockRoom)).toBe(true); - }); - - it("clicking the ban or unban button calls Modal.createDialog with the correct arguments if user _is_ banned", async () => { - createDialogSpy.mockReturnValueOnce({ finished: Promise.resolve([]), close: jest.fn() }); - - renderComponent({ room: mockSpace, member: memberWithBanMembership }); - await userEvent.click(screen.getByText(/ban from/i)); - - // check the last call arguments and the presence of the spaceChildFilter callback - expect(createDialogSpy).toHaveBeenLastCalledWith( - expect.any(Function), - expect.objectContaining({ spaceChildFilter: expect.any(Function) }), - "mx_ConfirmSpaceUserActionDialog_wrapper", - ); - - // test the spaceChildFilter callback - const callback = createDialogSpy.mock.lastCall[1].spaceChildFilter; - - // make dummy values for myMember and theirMember, then we will test - // null vs their member followed by - // my member vs their member - const mockMyMember = { powerLevel: 1 }; - const mockTheirMember = { membership: KnownMembership.Ban, powerLevel: 0 }; - - const mockRoom = { - getMember: jest - .fn() - .mockReturnValueOnce(null) - .mockReturnValueOnce(mockTheirMember) - .mockReturnValueOnce(mockMyMember) - .mockReturnValueOnce(mockTheirMember), - currentState: { - hasSufficientPowerLevelFor: jest.fn().mockReturnValue(true), - }, - }; - - expect(callback(mockRoom)).toBe(false); - expect(callback(mockRoom)).toBe(true); - }); -}); - -describe("", () => { - const defaultMember = new RoomMember(defaultRoomId, defaultUserId); - defaultMember.membership = KnownMembership.Invite; - - let defaultProps: Parameters[0]; - beforeEach(() => { - defaultProps = { - room: mockRoom, - member: defaultMember, - isUpdating: false, - startUpdating: jest.fn(), - stopUpdating: jest.fn(), - powerLevels: {}, - }; - }); - - const renderComponent = (props = {}) => { - const Wrapper = (wrapperProps = {}) => { - return ; - }; - - return render(, { - wrapper: Wrapper, - }); - }; - - it("returns a single empty div if room.getMember is falsy", () => { - const { asFragment } = renderComponent(); - expect(asFragment()).toMatchInlineSnapshot(` - -
- - `); - }); - - it("can return a single empty div in case where room.getMember is not falsy", () => { - mockRoom.getMember.mockReturnValueOnce(defaultMember); - const { asFragment } = renderComponent(); - expect(asFragment()).toMatchInlineSnapshot(` - -
- - `); - }); - - it("returns kick, redact messages, ban buttons if conditions met", () => { - const mockMeMember = new RoomMember(mockRoom.roomId, "arbitraryId"); - mockMeMember.powerLevel = 51; // defaults to 50 - mockRoom.getMember.mockReturnValueOnce(mockMeMember); - - const defaultMemberWithPowerLevel = { ...defaultMember, powerLevel: 0 }; - - renderComponent({ member: defaultMemberWithPowerLevel }); - - expect(screen.getByRole("button", { name: "Disinvite from room" })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "Ban from room" })).toBeInTheDocument(); - expect(screen.getByRole("button", { name: "Remove messages" })).toBeInTheDocument(); - }); - - it("should show BulkRedactDialog upon clicking the Remove messages button", async () => { - const spy = jest.spyOn(Modal, "createDialog"); - - mockClient.getRoom.mockReturnValue(mockRoom); - mockClient.getUserId.mockReturnValue("@arbitraryId:server"); - const mockMeMember = new RoomMember(mockRoom.roomId, mockClient.getUserId()!); - mockMeMember.powerLevel = 51; // defaults to 50 - const defaultMemberWithPowerLevel = { ...defaultMember, powerLevel: 0 } as RoomMember; - mockRoom.getMember.mockImplementation((userId) => - userId === mockClient.getUserId() ? mockMeMember : defaultMemberWithPowerLevel, - ); - - renderComponent({ member: defaultMemberWithPowerLevel }); - await userEvent.click(screen.getByRole("button", { name: "Remove messages" })); - - expect(spy).toHaveBeenCalledWith( - BulkRedactDialog, - expect.objectContaining({ member: defaultMemberWithPowerLevel }), - ); - }); - - it("returns mute toggle button if conditions met", () => { - const mockMeMember = new RoomMember(mockRoom.roomId, "arbitraryId"); - mockMeMember.powerLevel = 51; // defaults to 50 - mockRoom.getMember.mockReturnValueOnce(mockMeMember); - - const defaultMemberWithPowerLevelAndJoinMembership = { - ...defaultMember, - powerLevel: 0, - membership: KnownMembership.Join, - }; - - renderComponent({ - member: defaultMemberWithPowerLevelAndJoinMembership, - powerLevels: { events: { "m.room.power_levels": 1 } }, - }); - - const button = screen.getByText(/mute/i); - expect(button).toBeInTheDocument(); - fireEvent.click(button); - expect(defaultProps.startUpdating).toHaveBeenCalled(); - }); - - it("should disable buttons when isUpdating=true", () => { - const mockMeMember = new RoomMember(mockRoom.roomId, "arbitraryId"); - mockMeMember.powerLevel = 51; // defaults to 50 - mockRoom.getMember.mockReturnValueOnce(mockMeMember); - - const defaultMemberWithPowerLevelAndJoinMembership = { - ...defaultMember, - powerLevel: 0, - membership: KnownMembership.Join, - }; - - renderComponent({ - member: defaultMemberWithPowerLevelAndJoinMembership, - powerLevels: { events: { "m.room.power_levels": 1 } }, - isUpdating: true, - }); - - const button = screen.getByRole("button", { name: "Mute" }); - expect(button).toBeInTheDocument(); - expect(button).toBeDisabled(); - }); - - it("should not show mute button for one's own member", () => { - const mockMeMember = new RoomMember(mockRoom.roomId, mockClient.getSafeUserId()); - mockMeMember.powerLevel = 51; // defaults to 50 - mockRoom.getMember.mockReturnValueOnce(mockMeMember); - - renderComponent({ - member: mockMeMember, - powerLevels: { events: { "m.room.power_levels": 100 } }, - }); - - const button = screen.queryByText(/mute/i); - expect(button).not.toBeInTheDocument(); - }); -}); - describe("disambiguateDevices", () => { it("does not add ambiguous key to unique names", () => { const initialDevices = [ @@ -1217,47 +815,6 @@ describe("disambiguateDevices", () => { }); }); -describe("isMuted", () => { - // this member has a power level of 0 - const isMutedMember = new RoomMember(defaultRoomId, defaultUserId); - - it("returns false if either argument is falsy", () => { - // @ts-ignore to let us purposely pass incorrect args - expect(isMuted(isMutedMember, null)).toBe(false); - // @ts-ignore to let us purposely pass incorrect args - expect(isMuted(null, {})).toBe(false); - }); - - it("when powerLevelContent.events and .events_default are undefined, returns false", () => { - const powerLevelContents = {}; - expect(isMuted(isMutedMember, powerLevelContents)).toBe(false); - }); - - it("when powerLevelContent.events is undefined, uses .events_default", () => { - const higherPowerLevelContents = { events_default: 10 }; - expect(isMuted(isMutedMember, higherPowerLevelContents)).toBe(true); - - const lowerPowerLevelContents = { events_default: -10 }; - expect(isMuted(isMutedMember, lowerPowerLevelContents)).toBe(false); - }); - - it("when powerLevelContent.events is defined but '.m.room.message' isn't, uses .events_default", () => { - const higherPowerLevelContents = { events: {}, events_default: 10 }; - expect(isMuted(isMutedMember, higherPowerLevelContents)).toBe(true); - - const lowerPowerLevelContents = { events: {}, events_default: -10 }; - expect(isMuted(isMutedMember, lowerPowerLevelContents)).toBe(false); - }); - - it("when powerLevelContent.events and '.m.room.message' are defined, uses the value", () => { - const higherPowerLevelContents = { events: { "m.room.message": -10 }, events_default: 10 }; - expect(isMuted(isMutedMember, higherPowerLevelContents)).toBe(false); - - const lowerPowerLevelContents = { events: { "m.room.message": 10 }, events_default: -10 }; - expect(isMuted(isMutedMember, lowerPowerLevelContents)).toBe(true); - }); -}); - describe("getPowerLevels", () => { it("returns an empty object when room.currentState.getStateEvents return null", () => { mockRoom.currentState.getStateEvents.mockReturnValueOnce(null); diff --git a/test/unit-tests/components/views/right_panel/UserInfoAdminToolsContainer-test.tsx b/test/unit-tests/components/views/right_panel/UserInfoAdminToolsContainer-test.tsx new file mode 100644 index 0000000000..30a4f78842 --- /dev/null +++ b/test/unit-tests/components/views/right_panel/UserInfoAdminToolsContainer-test.tsx @@ -0,0 +1,306 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import React from "react"; +import { render, screen, fireEvent } from "jest-matrix-react"; +import { type Room, type RoomMember } from "matrix-js-sdk/src/matrix"; +import { mocked } from "jest-mock"; + +import { UserInfoAdminToolsContainer } from "../../../../../src/components/views/right_panel/user_info/UserInfoAdminToolsContainer"; +import { useUserInfoAdminToolsContainerViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel"; +import { useRoomKickButtonViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel"; +import { useBanButtonViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel"; +import { useMuteButtonViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel"; +import { useRedactMessagesButtonViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel"; +import { stubClient } from "../../../../test-utils"; +import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; + +jest.mock("../../../../../src/utils/DMRoomMap", () => { + const mock = { + getUserIdForRoomId: jest.fn(), + getDMRoomsForUserId: jest.fn(), + }; + + return { + shared: jest.fn().mockReturnValue(mock), + sharedInstance: mock, + }; +}); + +jest.mock( + "../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoAdminToolsContainerViewModel", + () => ({ + useUserInfoAdminToolsContainerViewModel: jest.fn().mockReturnValue({ + isCurrentUserInTheRoom: true, + shouldShowKickButton: true, + shouldShowBanButton: true, + shouldShowMuteButton: true, + shouldShowRedactButton: true, + }), + }), +); + +jest.mock("../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoKickButtonViewModel", () => ({ + useRoomKickButtonViewModel: jest.fn().mockReturnValue({ + canUserBeKicked: true, + kickLabel: "Kick", + onKickClick: jest.fn(), + }), +})); + +jest.mock("../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoBanButtonViewModel", () => ({ + useBanButtonViewModel: jest.fn().mockReturnValue({ + banLabel: "Ban", + onBanOrUnbanClick: jest.fn(), + }), +})); + +jest.mock("../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoMuteButtonViewModel", () => ({ + useMuteButtonViewModel: jest.fn().mockReturnValue({ + isMemberInTheRoom: true, + muteLabel: "Mute", + onMuteButtonClick: jest.fn(), + }), +})); + +jest.mock("../../../../../src/components/viewmodels/right_panel/user_info/admin/UserInfoRedactButtonViewModel", () => ({ + useRedactMessagesButtonViewModel: jest.fn().mockReturnValue({ + onRedactAllMessagesClick: jest.fn(), + }), +})); + +const defaultRoomId = "!fkfk"; + +describe("UserInfoAdminToolsContainer", () => { + // Setup it data + const mockRoom = mocked({ + roomId: defaultRoomId, + getType: jest.fn().mockReturnValue(undefined), + isSpaceRoom: jest.fn().mockReturnValue(false), + getMember: jest.fn().mockReturnValue(undefined), + getMxcAvatarUrl: jest.fn().mockReturnValue("mock-avatar-url"), + name: "test room", + on: jest.fn(), + off: jest.fn(), + currentState: { + getStateEvents: jest.fn(), + on: jest.fn(), + off: jest.fn(), + }, + getEventReadUpTo: jest.fn(), + } as unknown as Room); + + const mockMember = { + userId: "@user:example.com", + membership: "join", + powerLevel: 0, + } as unknown as RoomMember; + + const mockPowerLevels = { + users: { + "@currentuser:example.com": 100, + }, + events: {}, + state_default: 50, + ban: 50, + kick: 50, + redact: 50, + }; + + const defaultProps = { + room: mockRoom, + member: mockMember, + powerLevels: mockPowerLevels, + isUpdating: false, + startUpdating: jest.fn(), + stopUpdating: jest.fn(), + }; + + const mockMatrixClient = stubClient(); + + const renderComponent = (props = defaultProps) => { + return render( + + + , + ); + }; + + beforeEach(() => { + mocked(useUserInfoAdminToolsContainerViewModel).mockReturnValue({ + isCurrentUserInTheRoom: true, + shouldShowKickButton: true, + shouldShowBanButton: true, + shouldShowMuteButton: true, + shouldShowRedactButton: true, + }); + jest.clearAllMocks(); + }); + + it("renders all admin tools when user has permissions", () => { + renderComponent(); + + // Check that all buttons are rendered + expect(screen.getByText("Mute")).toBeInTheDocument(); + expect(screen.getByText("Kick")).toBeInTheDocument(); + expect(screen.getByText("Ban")).toBeInTheDocument(); + expect(screen.getByText("Remove messages")).toBeInTheDocument(); + }); + + it("renders no admin tools when current user is not in the room", () => { + mocked(useUserInfoAdminToolsContainerViewModel).mockReturnValue({ + isCurrentUserInTheRoom: false, + shouldShowKickButton: false, + shouldShowBanButton: false, + shouldShowMuteButton: false, + shouldShowRedactButton: false, + }); + + const { container } = renderComponent(); + + // Should render an empty div + expect(container.firstChild).toBeEmptyDOMElement(); + }); + + it("renders children when provided", () => { + render( + +
Custom Child
+
, + ); + + expect(screen.getByTestId("child-element")).toBeInTheDocument(); + expect(screen.getByText("Custom Child")).toBeInTheDocument(); + }); + + describe("Kick behavior", () => { + it("clicking kick button calls the appropriate handler", () => { + const mockedOnKickClick = jest.fn(); + mocked(useRoomKickButtonViewModel).mockReturnValue({ + canUserBeKicked: true, + kickLabel: "Kick", + onKickClick: mockedOnKickClick, + }); + renderComponent(); + + const kickButton = screen.getByText("Kick"); + fireEvent.click(kickButton); + + expect(mockedOnKickClick).toHaveBeenCalled(); + }); + + it("should not display kick buttun if user can't be kicked", () => { + mocked(useRoomKickButtonViewModel).mockReturnValue({ + canUserBeKicked: false, + kickLabel: "Kick", + onKickClick: jest.fn(), + }); + + renderComponent(); + + expect(screen.queryByText("Kick")).not.toBeInTheDocument(); + }); + + it("should display the correct label when user can be disinvited", () => { + mocked(useRoomKickButtonViewModel).mockReturnValue({ + canUserBeKicked: true, + kickLabel: "Disinvite", + onKickClick: jest.fn(), + }); + + renderComponent({ + ...defaultProps, + member: mockMember, + }); + + expect(screen.getByText("Disinvite")).toBeInTheDocument(); + }); + }); + + describe("Ban behavior", () => { + it("clicking ban button calls the appropriate handler", () => { + const mockedOnBanOrUnbanClick = jest.fn(); + mocked(useBanButtonViewModel).mockReturnValue({ + banLabel: "Ban", + onBanOrUnbanClick: mockedOnBanOrUnbanClick, + }); + renderComponent(); + + const banButton = screen.getByText("Ban"); + fireEvent.click(banButton); + + expect(mockedOnBanOrUnbanClick).toHaveBeenCalled(); + }); + + it("should display the correct label", () => { + const mockedOnBanOrUnbanClick = jest.fn(); + mocked(useBanButtonViewModel).mockReturnValue({ + banLabel: "Unban", + onBanOrUnbanClick: mockedOnBanOrUnbanClick, + }); + renderComponent(); + + // The label should be "Unban" + expect(screen.getByText("Unban")).toBeInTheDocument(); + }); + }); + + describe("Mute behavior", () => { + it("clicking mute button calls the appropriate handler", () => { + const mockedOnMuteButtonClick = jest.fn(); + mocked(useMuteButtonViewModel).mockReturnValue({ + isMemberInTheRoom: true, + muteLabel: "Mute", + onMuteButtonClick: mockedOnMuteButtonClick, + }); + renderComponent(); + + const muteButton = screen.getByText("Mute"); + fireEvent.click(muteButton); + + expect(mockedOnMuteButtonClick).toHaveBeenCalled(); + }); + + it("should not display mute button if user is not in the room", () => { + mocked(useMuteButtonViewModel).mockReturnValue({ + isMemberInTheRoom: false, + muteLabel: "Mute", + onMuteButtonClick: jest.fn(), + }); + + renderComponent(); + + expect(screen.queryByText("Mute")).not.toBeInTheDocument(); + }); + + it("should display the correct label", () => { + mocked(useMuteButtonViewModel).mockReturnValue({ + isMemberInTheRoom: true, + muteLabel: "Mute", + onMuteButtonClick: jest.fn(), + }); + renderComponent(); + + expect(screen.getByText("Mute")).toBeInTheDocument(); + }); + }); + + describe("Redact behavior", () => { + it("clicking redact button calls the appropriate handler", () => { + const mockedOnRedactAllMessagesClick = jest.fn(); + mocked(useRedactMessagesButtonViewModel).mockReturnValue({ + onRedactAllMessagesClick: mockedOnRedactAllMessagesClick, + }); + renderComponent(); + + const redactButton = screen.getByText("Remove messages"); + fireEvent.click(redactButton); + + expect(mockedOnRedactAllMessagesClick).toHaveBeenCalled(); + }); + }); +}); From 1e3fd9d3aad272c1d1010bc971da376630b93b76 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Fri, 13 Jun 2025 10:28:43 +0200 Subject: [PATCH 023/142] Update `IconButton` colors (#30124) * chore: update `@vector-im/compound-web` to 8.0.0 * refactor(IconButton): use `kind="secondary"` instead of `subtleBackground` props * test: update snapshots * fix: force color on room header toggle * fix: TAC button color * test(e2e): update release announcement screenshot --- package.json | 2 +- ...uncement-All-new-pinned-messages-linux.png | Bin 108170 -> 108181 bytes .../structures/_ThreadsActivityCentre.pcss | 4 +- res/css/views/rooms/_RoomHeader.pcss | 2 +- src/components/views/right_panel/BaseCard.tsx | 4 +- .../RoomListPanel/RoomListPrimaryFilters.tsx | 4 +- .../__snapshots__/FilePanel-test.tsx.snap | 3 +- .../__snapshots__/RoomView-test.tsx.snap | 84 ++++++++++++------ .../__snapshots__/ThreadPanel-test.tsx.snap | 6 +- .../__snapshots__/AppTile-test.tsx.snap | 3 +- .../__snapshots__/BaseCard-test.tsx.snap | 3 +- .../ExtensionsCard-test.tsx.snap | 6 +- .../PinnedMessagesCard-test.tsx.snap | 21 +++-- .../RoomSummaryCardView-test.tsx.snap | 15 ++-- .../__snapshots__/UserInfo-test.tsx.snap | 6 +- .../__snapshots__/RoomHeader-test.tsx.snap | 12 ++- .../VideoRoomChatButton-test.tsx.snap | 3 +- .../RoomListHeaderView-test.tsx.snap | 42 ++++++--- .../RoomListItemMenuView-test.tsx.snap | 12 ++- .../RoomListOptionsMenu-test.tsx.snap | 3 +- .../PinnedEventTile-test.tsx.snap | 6 +- .../ThirdPartyMemberInfo-test.tsx.snap | 6 +- .../ThemeChoicePanel-test.tsx.snap | 6 +- .../ChangeRecoveryKey-test.tsx.snap | 21 +++-- .../DeleteKeyStoragePanel-test.tsx.snap | 3 +- .../ResetIdentityPanel-test.tsx.snap | 12 ++- .../EncryptionUserSettingsTab-test.tsx.snap | 3 +- .../__snapshots__/SpacePanel-test.tsx.snap | 3 +- .../ThreadsActivityCentre-test.tsx.snap | 6 +- yarn.lock | 8 +- 30 files changed, 202 insertions(+), 107 deletions(-) diff --git a/package.json b/package.json index 4c15e5c7e7..c1a98219a3 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "@types/png-chunks-extract": "^1.0.2", "@types/react-virtualized": "^9.21.30", "@vector-im/compound-design-tokens": "^4.0.0", - "@vector-im/compound-web": "^7.11.0", + "@vector-im/compound-web": "^8.0.0", "@vector-im/matrix-wysiwyg": "2.38.3", "@zxcvbn-ts/core": "^3.0.4", "@zxcvbn-ts/language-common": "^3.0.4", diff --git a/playwright/snapshots/release-announcement/releaseAnnouncement.spec.ts/release-announcement-All-new-pinned-messages-linux.png b/playwright/snapshots/release-announcement/releaseAnnouncement.spec.ts/release-announcement-All-new-pinned-messages-linux.png index f466c17d6453f89cb5f809c9c20fae5e319f479d..78ba6e5cfd22a1833fb9d9535653de59c31bd994 100644 GIT binary patch delta 90362 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⋙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 delta 90429 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 diff --git a/res/css/structures/_ThreadsActivityCentre.pcss b/res/css/structures/_ThreadsActivityCentre.pcss index a1472108ac..f26139da64 100644 --- a/res/css/structures/_ThreadsActivityCentre.pcss +++ b/res/css/structures/_ThreadsActivityCentre.pcss @@ -49,12 +49,12 @@ &:hover, &:hover .mx_ThreadsActivityCentreButton_Icon { background-color: $quaternary-content; - color: $primary-content; + fill: $primary-content; } } & .mx_ThreadsActivityCentreButton_Icon { - color: $secondary-content; + fill: $secondary-content; } } diff --git a/res/css/views/rooms/_RoomHeader.pcss b/res/css/views/rooms/_RoomHeader.pcss index afde8f3464..0e2b40e0bd 100644 --- a/res/css/views/rooms/_RoomHeader.pcss +++ b/res/css/views/rooms/_RoomHeader.pcss @@ -103,5 +103,5 @@ Please see LICENSE files in the repository root for full details. } .mx_RoomHeader .mx_RoomHeader_toggled { - color: var(--cpd-color-icon-accent-primary); + fill: var(--cpd-color-icon-accent-primary); } diff --git a/src/components/views/right_panel/BaseCard.tsx b/src/components/views/right_panel/BaseCard.tsx index a564a60695..b308e1d973 100644 --- a/src/components/views/right_panel/BaseCard.tsx +++ b/src/components/views/right_panel/BaseCard.tsx @@ -76,7 +76,7 @@ const BaseCard: React.FC = ({ data-testid="base-card-back-button" onClick={onBackClick} tooltip={label} - subtleBackground + kind="secondary" > @@ -92,7 +92,7 @@ const BaseCard: React.FC = ({ onClick={onClose ?? closeRightPanel} ref={closeButtonRef} tooltip={closeLabel ?? _t("action|close")} - subtleBackground + kind="secondary" > diff --git a/src/components/views/rooms/RoomListPanel/RoomListPrimaryFilters.tsx b/src/components/views/rooms/RoomListPanel/RoomListPrimaryFilters.tsx index 892f2b56b7..676501a3ea 100644 --- a/src/components/views/rooms/RoomListPanel/RoomListPrimaryFilters.tsx +++ b/src/components/views/rooms/RoomListPanel/RoomListPrimaryFilters.tsx @@ -39,7 +39,7 @@ export function RoomListPrimaryFilters({ vm }: RoomListPrimaryFiltersProps): JSX > {displayChevron && ( setIsExpanded((_expanded) => !_expanded)} > - + )}

+ {shouldShowComponent(UIComponent.AddIntegrations) && ( + + )} {body} ); From 28a232eea849643450e7d07ef79f58248f2229e0 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Mon, 16 Jun 2025 01:23:43 -0500 Subject: [PATCH 025/142] [create-pull-request] automated change (#30144) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/cs.json | 11 +++- src/i18n/strings/el.json | 93 +++++++++++++++++++++++++-- src/i18n/strings/nb_NO.json | 4 ++ src/i18n/strings/ru.json | 121 +++++++++++++++++++++++++++++------- 4 files changed, 199 insertions(+), 30 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index d736aa3d6f..7c9773881e 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -788,6 +788,7 @@ "cross_signing_status": "Stav křížového podepisování:", "cross_signing_untrusted": "Váš účet má v bezpečném úložišti identitu pro křížový podpis, ale v této relaci jí zatím nevěříte.", "crypto_not_available": "Kryptografický modul není k dispozici", + "device_id": "ID zařízení", "key_backup_active_version": "Verze aktivní zálohy:", "key_backup_active_version_none": "Žádné", "key_backup_inactive_warning": "Vaše klíče nejsou z této relace zálohovány.", @@ -1958,6 +1959,7 @@ }, "face_pile_tooltip_shortcut": "Včetně %(commaSeparatedMembers)s", "face_pile_tooltip_shortcut_joined": "Včetně vás, %(commaSeparatedMembers)s", + "failed_determine_user": "Nelze určit, kterého uživatele ignorovat, protože se změnila událost člena.", "failed_reject_invite": "Nepodařilo se odmítnout pozvánku", "forget_room": "Zapomenout na tuto místnost", "forget_space": "Zapomenout tento prostor", @@ -2050,6 +2052,7 @@ "read_topic": "Klikněte pro přečtení tématu", "rejecting": "Odmítání pozvánky…", "rejoin_button": "Znovu vstoupit", + "room_is_low_priority": "Toto je místnost s nízkou prioritou", "search": { "all_rooms_button": "Vyhledávat ve všech místnostech", "placeholder": "Hledat zprávy…", @@ -2690,6 +2693,9 @@ "inline_url_previews_room": "Povolit náhledy URL adres pro členy této místnosti jako výchozí", "inline_url_previews_room_account": "Povolit náhledy URL adres pro tuto místnost (ovlivňuje pouze vás)", "insert_trailing_colon_mentions": "Vložit dvojtečku za zmínku o uživateli na začátku zprávy", + "invite_controls": { + "default_label": "Povolit uživatelům pozvat vás do místností" + }, "jump_to_bottom_on_send": "Po odeslání zprávy přejít na konec časové osy", "key_backup": { "backup_in_progress": "Klíče se zálohují (první záloha může trvat pár minut).", @@ -2756,6 +2762,7 @@ "show_in_private": "V soukromých místnostech", "show_media": "Vždy zobrazit" }, + "not_supported": "Váš server tuto funkci neimplementuje.", "notifications": { "default_setting_description": "Toto nastavení se ve výchozím stavu použije pro všechny vaše místnosti.", "default_setting_section": "Chci být upozorňován na (Výchozí nastavení)", @@ -2813,6 +2820,7 @@ "voip": "Hlasové a video hovory" }, "preferences": { + "Electron.enableContentProtection": "Zabraňte zachycení obsahu okna jinými aplikacemi", "Electron.enableHardwareAcceleration": "Povolit hardwarovou akceleraci (restaurtujte %(appName)s, aby se změna projevila)", "always_show_menu_bar": "Vždy zobrazovat horní lištu okna", "autocomplete_delay": "Zpožnění našeptávače (ms)", @@ -2986,6 +2994,7 @@ "show_chat_effects": "Zobrazit efekty chatu (animace např. při přijetí konfet)", "show_displayname_changes": "Zobrazovat změny zobrazovaného jména", "show_join_leave": "Zobrazit zprávy o vstupu/odchodu (pozvánky/odebrání/vykázání nejsou ovlivněny)", + "show_message_previews": "Zobrazit náhledy zpráv", "show_nsfw_content": "Zobrazit NSFW obsah", "show_read_receipts": "Zobrazovat potvrzení o přečtení", "show_redaction_placeholder": "Zobrazovat smazané zprávy", @@ -3132,7 +3141,7 @@ "upgraderoom": "Aktualizuje místnost na novou verzi", "upgraderoom_permission_error": "Na provedení tohoto příkazu nemáte dostatečná oprávnění.", "usage": "Použití", - "verify": "Ověří uživatele, relaci a veřejné klíče", + "verify": "Ruční ověření jednoho ze svých vlastních zařízení", "view": "Zobrazí místnost s danou adresou", "whois": "Zobrazuje informace o uživateli" }, diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index 3a25563601..70efbb20e9 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -2021,6 +2021,7 @@ "jump_to_bottom_on_send": "Μεταβείτε στο τέλος του χρονολογίου όταν στέλνετε ένα μήνυμα", "key_backup": { "backup_in_progress": "Δημιουργούνται αντίγραφα ασφαλείας των κλειδιών σας (το πρώτο αντίγραφο ασφαλείας μπορεί να διαρκέσει μερικά λεπτά).", + "backup_starting": "Έναρξη δημιουργίας αντιγράφων ασφαλείας...", "backup_success": "Επιτυχία!", "cannot_create_backup": "Δεν είναι δυνατή η δημιουργία αντιγράφου ασφαλείας κλειδιού", "create_title": "Δημιουργία αντιγράφου ασφαλείας κλειδιού", @@ -2030,8 +2031,8 @@ "description": "Προστατευτείτε από την απώλεια πρόσβασης σε κρυπτογραφημένα μηνύματα και δεδομένα, δημιουργώντας αντίγραφα ασφαλείας των κλειδιών κρυπτογράφησης στον διακομιστή σας.", "enter_phrase_title": "Εισαγάγετε τη Φράση Ασφαλείας", "enter_phrase_to_confirm": "Εισαγάγετε τη Φράση Ασφαλείας σας για δεύτερη φορά για να την επιβεβαιώσετε.", - "generate_security_key_description": "Θα δημιουργήσουμε ένα κλειδί ασφαλείας για να το αποθηκεύσετε σε ασφαλές μέρος, όπως έναν διαχειριστή κωδικών πρόσβασης ή ένα χρηματοκιβώτιο.", - "generate_security_key_title": "Δημιουργήστε ένα κλειδί ασφαλείας", + "generate_security_key_description": "Θα δημιουργήσουμε ένα κλειδί ανάκτησης για να το αποθηκεύσετε σε ασφαλές μέρος, όπως έναν διαχειριστή κωδικών πρόσβασης ή ένα χρηματοκιβώτιο.", + "generate_security_key_title": "Δημιουργήστε ένα Κλειδί Ανάκτησης", "pass_phrase_match_failed": "Αυτό δεν ταιριάζει.", "pass_phrase_match_success": "Ταιριάζει!", "phrase_strong_enough": "Τέλεια! Αυτή η Φράση Ασφαλείας φαίνεται αρκετά ισχυρή.", @@ -2044,7 +2045,7 @@ "title_set_phrase": "Ορίστε μια Φράση Ασφαλείας", "unable_to_setup": "Δεν είναι δυνατή η ρύθμιση του μυστικού χώρου αποθήκευσης", "use_different_passphrase": "Να χρησιμοποιηθεί διαφορετική φράση;", - "use_phrase_only_you_know": "Χρησιμοποιήστε μια μυστική φράση που γνωρίζετε μόνο εσείς και προαιρετικά αποθηκεύστε ένα κλειδί ασφαλείας για να το χρησιμοποιήσετε για τη δημιουργία αντιγράφων ασφαλείας." + "use_phrase_only_you_know": "Χρησιμοποιήστε μια μυστική φράση που γνωρίζετε μόνο εσείς και, προαιρετικά, αποθηκεύστε ένα Κλειδί Ανάκτησης για να το χρησιμοποιήσετε ως αντίγραφο ασφαλείας." } }, "key_export_import": { @@ -2145,6 +2146,7 @@ "prompt_invite": "Ερώτηση πριν από την αποστολή προσκλήσεων σε δυνητικά μη έγκυρα αναγνωριστικά matrix", "replace_plain_emoji": "Αυτόματη αντικατάσταση απλού κειμένου Emoji", "security": { + "analytics_description": "Μοιραστείτε ανώνυμα δεδομένα για να μας βοηθήσετε να εντοπίσουμε προβλήματα. Τίποτα προσωπικό. Χωρίς τρίτους.", "bulk_options_accept_all_invites": "Αποδεχτείτε όλες τις %(invitedRooms)sπροσκλήσεις", "bulk_options_reject_all_invites": "Απόρριψη όλων των προσκλήσεων %(invitedRooms)s", "bulk_options_section": "Μαζικές επιλογές", @@ -2175,12 +2177,14 @@ "message_search_unsupported_web": "Το %(brand)s δεν μπορεί να αποθηκεύσει με ασφάλεια κρυπτογραφημένα μηνύματα τοπικά ενώ εκτελείται σε πρόγραμμα περιήγησης ιστού. Χρησιμοποιήστε την %(brand)s Επιφάνεια εργασίας για να εμφανίζονται κρυπτογραφημένα μηνύματα στα αποτελέσματα αναζήτησης.", "record_session_details": "Κατέγραψε το όνομα του πελάτη, την έκδοση και τη διεύθυνση URL για να αναγνωρίζεις τις συνεδρίες πιο εύκολα στον διαχειριστή συνεδρίας", "send_analytics": "Αποστολή δεδομένων αναλυτικών στοιχείων", - "strict_encryption": "Μη στέλνετε ποτέ κρυπτογραφημένα μηνύματα σε μη επαληθευμένες συνεδρίες από αυτήν τη συνεδρία" + "strict_encryption": "Αποστολή μηνυμάτων μόνο σε επαληθευμένους χρήστες" }, "send_read_receipts": "Αποστολή αποδείξεων ανάγνωσης", "send_read_receipts_unsupported": "Ο διακομιστής σου δεν υποστηρίζει την απενεργοποίηση αποστολής αποδείξεων ανάγνωσης.", "send_typing_notifications": "Αποστολή ειδοποιήσεων πληκτρολόγησης", "sessions": { + "best_security_note": "Για τη βέλτιστη ασφάλεια, επαληθεύστε τις συνεδρίες σας και αποσυνδεθείτε από οποιαδήποτε συνεδρία που δεν αναγνωρίζετε ή χρησιμοποιείτε πλέον.", + "browser": "Πρόγραμμα περιήγησης", "confirm_sign_out": { "one": "Επιβεβαιώστε την αποσύνδεση αυτής της συσκευής", "other": "Επιβεβαιώστε την αποσύνδεση αυτών των συσκευών" @@ -2197,8 +2201,83 @@ "one": "Επιβεβαιώστε ότι αποσυνδέεστε από αυτήν τη συσκευή χρησιμοποιώντας Single Sign On για να αποδείξετε την ταυτότητά σας.", "other": "Επιβεβαιώστε την αποσύνδεση από αυτές τις συσκευές χρησιμοποιώντας Single Sign On για να αποδείξετε την ταυτότητά σας." }, + "current_session": "Τρέχουσα συνεδρία", + "desktop_session": "Συνεδρία εφαρμογής υπολογιστή", + "details_heading": "Λεπτομέρειες συνεδρίας", + "device_unverified_description": "Επαληθεύστε ή αποσυνδεθείτε από αυτήν τη συνεδρία για βέλτιστη ασφάλεια και αξιοπιστία.", + "device_unverified_description_current": "Επαληθεύστε την τρέχουσα συνεδρία σας για βελτιωμένα ασφαλή μηνύματα.", + "device_verified_description": "Αυτή η συνεδρία είναι έτοιμη για ασφαλή ανταλλαγή μηνυμάτων.", + "device_verified_description_current": "Η τρέχουσα συνεδρία σας είναι έτοιμη για ασφαλή ανταλλαγή μηνυμάτων.", + "error_pusher_state": "Αποτυχία ορισμού κατάστασης pusher", + "error_set_name": "Αποτυχία ορισμού ονόματος συνεδρίας", + "filter_all": "Όλα", + "filter_inactive": "Ανενεργό", + "filter_inactive_description": "Ανενεργό για%(inactiveAgeDays)s ημέρες ή και περισσότερο", + "filter_label": "Φιλτράρισμα συσκευών", + "filter_unverified_description": "Δεν είναι έτοιμο για ασφαλή ανταλλαγή μηνυμάτων", + "filter_verified_description": "Έτοιμο για ασφαλή ανταλλαγή μηνυμάτων", + "hide_details": "Απόκρυψη λεπτομερειών", + "inactive_days": "Ανενεργό για %(inactiveAgeDays)s+ ημέρες", + "inactive_sessions": "Ανενεργές συνεδρίες", + "inactive_sessions_explainer_1": "Οι ανενεργές συνεδρίες είναι συνεδρίες που δεν έχετε χρησιμοποιήσει για κάποιο χρονικό διάστημα, αλλά συνεχίζουν να λαμβάνουν κλειδιά κρυπτογράφησης.", + "inactive_sessions_explainer_2": "Η αφαίρεση ανενεργών συνεδριών βελτιώνει την ασφάλεια και την απόδοση και σας διευκολύνει να εντοπίσετε αν μια νέα συνεδρία είναι ύποπτη.", + "inactive_sessions_list_description": "Εξετάστε το ενδεχόμενο να αποσυνδεθείτε από παλιές συνεδρίες (%(inactiveAgeDays)s ημέρες ή παλαιότερες) που δεν χρησιμοποιείτε πλέον.", + "ip": "Διεύθυνση IP", + "last_activity": "Τελευταία δραστηριότητα", + "mobile_session": "Συνεδρία κινητού", + "n_sessions_selected": { + "one": "%(count)s επιλεγμένη συνεδρία", + "other": "%(count)s επιλεγμένες συνεδρίες" + }, + "no_inactive_sessions": "Δεν βρέθηκαν ανενεργές συνεδρίες.", + "no_sessions": "Δεν βρέθηκαν συνεδρίες.", + "no_unverified_sessions": "Δεν βρέθηκαν μη επαληθευμένες συνεδρίες.", + "no_verified_sessions": "Δεν βρέθηκαν επαληθευμένες συνεδρίες.", + "os": "Λειτουργικό σύστημα", + "other_sessions_heading": "Άλλες συνεδρίες", + "push_heading": "Ειδοποιήσεις push", + "push_subheading": "Λάβετε ειδοποιήσεις push σε αυτήν τη συνεδρία.", + "push_toggle": "Ενεργοποίηση/απενεργοποίηση ειδοποιήσεων push σε αυτήν τη συνεδρία.", + "rename_form_caption": "Λάβετε υπόψη ότι τα ονόματα των συνεδριών είναι επίσης ορατά στα άτομα με τα οποία επικοινωνείτε.", + "rename_form_heading": "Μετονομασία συνεδρίας", + "rename_form_learn_more": "Μετονομασία συνεδριών", + "rename_form_learn_more_description_1": "Άλλοι χρήστες σε απευθείας μηνύματα και αίθουσες στις οποίες συμμετέχετε μπορούν να δουν μια πλήρη λίστα των συνεδριών σας.", + "rename_form_learn_more_description_2": "Αυτό τους παρέχει την εμπιστοσύνη ότι πραγματικά μιλούν με εσάς, αλλά σημαίνει επίσης ότι μπορούν να δουν το όνομα της συνεδρίας που εισάγετε εδώ.", + "security_recommendations": "Συστάσεις ασφαλείας", + "security_recommendations_description": "Βελτιώστε την ασφάλεια του λογαριασμού σας ακολουθώντας αυτές τις συστάσεις.", "session_id": "Αναγνωριστικό συνεδρίας", - "verify_session": "Επαλήθευση συνεδρίας" + "show_details": "Εμφάνιση λεπτομερειών", + "sign_in_with_qr": "Σύνδεση νέας συσκευής", + "sign_in_with_qr_button": "Εμφάνιση κωδικού QR", + "sign_in_with_qr_description": "Χρησιμοποιήστε έναν κωδικό QR για να συνδεθείτε σε άλλη συσκευή και να ρυθμίσετε την ασφαλή ανταλλαγή μηνυμάτων.", + "sign_out": "Αποσυνδεθείτε από αυτήν τη συνεδρία", + "sign_out_all_other_sessions": "Αποσύνδεση από όλες τις άλλες συνεδρίες (%(otherSessionsCount)s)", + "sign_out_confirm_description": { + "one": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από τη %(count)s συνεδρία;", + "other": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε από τις %(count)s συνεδρίες;" + }, + "sign_out_n_sessions": { + "one": "Αποσύνδεση από %(count)s συνεδρία", + "other": "Αποσύνδεση από %(count)s συνεδρίες" + }, + "title": "Συνεδρίες", + "unknown_session": "Άγνωστος τύπος συνεδρίας", + "unverified_session": "Μη επαληθευμένη συνεδρία", + "unverified_session_explainer_1": "Αυτή η συνεδρία δεν υποστηρίζει κρυπτογράφηση και συνεπώς δεν μπορεί να επαληθευτεί.", + "unverified_session_explainer_2": "Δεν θα μπορείτε να συμμετάσχετε σε αίθουσες όπου είναι ενεργοποιημένη η κρυπτογράφηση κατά τη χρήση αυτής της συνεδρίας.", + "unverified_session_explainer_3": "Για καλύτερη ασφάλεια και ιδιωτικότητα, συνιστάται να χρησιμοποιείτε εφαρμογές Matrix που υποστηρίζουν κρυπτογράφηση.", + "unverified_sessions": "Μη επαληθευμένες συνεδρίες", + "unverified_sessions_explainer_1": "Οι μη επαληθευμένες συνεδρίες είναι συνεδρίες στις οποίες έχετε συνδεθεί με τα διαπιστευτήριά σας, αλλά δεν έχουν επαληθευτεί.", + "unverified_sessions_explainer_2": "Θα πρέπει να βεβαιωθείτε ιδιαίτερα ότι αναγνωρίζετε αυτές τις συνεδρίες, καθώς ενδέχεται να αποτελούν μη εξουσιοδοτημένη χρήση του λογαριασμού σας.", + "unverified_sessions_list_description": "Επαληθεύστε τις συνεδρίες σας για βελτιωμένα ασφαλή μηνύματα ή αποσυνδεθείτε από αυτές που δεν αναγνωρίζετε ή χρησιμοποιείτε πλέον.", + "url": "URL", + "verified_session": "Επαληθευμένη συνεδρία", + "verified_sessions": "Επαληθευμένες συνεδρίες", + "verified_sessions_explainer_1": "Οι επαληθευμένες συνεδρίες είναι οπουδήποτε χρησιμοποιείτε αυτόν τον λογαριασμό αφού εισαγάγετε τη φράση πρόσβασής σας ή επιβεβαιώσετε την ταυτότητά σας με άλλη επαληθευμένη συνεδρία.", + "verified_sessions_explainer_2": "Αυτό σημαίνει ότι έχετε όλα τα κλειδιά που απαιτούνται για να ξεκλειδώσετε τα κρυπτογραφημένα μηνύματά σας και να επιβεβαιώσετε σε άλλους χρήστες ότι εμπιστεύεστε αυτήν τη συνεδρία.", + "verified_sessions_list_description": "Για βέλτιστη ασφάλεια, αποσυνδεθείτε από οποιαδήποτε συνεδρία που δεν αναγνωρίζετε ή χρησιμοποιείτε πλέον.", + "verify_session": "Επαλήθευση συνεδρίας", + "web_session": "Συνεδρία web" }, "show_avatar_changes": "Εμφάνιση αλλαγών εικόνας προφίλ", "show_breadcrumbs": "Εμφάνιση συντομεύσεων σε δωμάτια που προβλήθηκαν πρόσφατα πάνω από τη λίστα δωματίων", @@ -2219,6 +2298,7 @@ "metaspaces_orphans_description": "Ομαδοποιήστε σε ένα μέρος όλα τα δωμάτιά σας που δεν αποτελούν μέρος ενός χώρου.", "metaspaces_people_description": "Ομαδοποιήστε όλα τα άτομα σας σε ένα μέρος.", "metaspaces_subsection": "Χώροι για εμφάνιση", + "spaces_explainer": "Οι χώροι είναι τρόποι ομαδοποίησης αιθουσών και ανθρώπων. Παράλληλα με τους χώρους στους οποίους βρίσκεστε, μπορείτε να χρησιμοποιήσετε και κάποιους προκατασκευασμένους χώρους.", "title": "Πλαϊνή μπάρα" }, "start_automatically": "Αυτόματη έναρξη μετά τη σύνδεση", @@ -2249,7 +2329,8 @@ "voice_processing": "Επεξεργασία φωνής", "voice_section": "Ρυθμίσεις φωνής" }, - "warn_quit": "Προειδοποιήστε πριν την παραίτηση" + "warn_quit": "Προειδοποιήστε πριν την παραίτηση", + "warning": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: " }, "share": { "permalink_message": "Σύνδεσμος στο επιλεγμένο μήνυμα", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index e0f08b7ff8..dd8b57a1b8 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -1023,6 +1023,7 @@ "no_userid": "Kan ikke verifisere enheten - finner ikke bruker-ID", "success_description": "Enheten (%(deviceId)s) er nå krysssignert", "success_title": "Verifiseringen var vellykket", + "text": "Oppgi ID-en og fingeravtrykket til en av dine egne enheter for å verifisere det. MERK at dette lar den andre enheten sende og motta meldinger som deg. HVIS NOEN HAR FORTALT DEG BARE Å LIME INN NOE HER, ER DET SANNSYNLIGVIS AT DU BLIR SVINDLET!", "wrong_fingerprint": "Kan ikke verifisere enheten %(deviceId)s '- det medfølgende fingeravtrykket'%(fingerprint)s «samsvarer ikke med enhetens fingeravtrykk»%(fprint)s '" }, "no_key_or_device": "Det ser ut til at du ikke har en gjenopprettingsnøkkel eller andre enheter du kan verifisere mot. Denne enheten vil ikke kunne få tilgang til gamle krypterte meldinger. For å bekrefte identiteten din på denne enheten, må du tilbakestille verifiseringsnøklene dine.", @@ -2065,6 +2066,7 @@ "read_topic": "Klikk for å lese emnet", "rejecting": "Avviser invitasjon...", "rejoin_button": "Bli med igjen", + "room_content": "Rominnhold", "room_is_low_priority": "Dette er et lavt prioritert rom", "search": { "all_rooms_button": "Søk i alle rom", @@ -2114,6 +2116,7 @@ "add_space_label": "Legg til område", "breadcrumbs_empty": "Ingen nylig besøkte rom", "breadcrumbs_label": "Nylig besøkte rom", + "collapse_filters": "Skjul filterlisten", "empty": { "no_chats": "Ingen chatter ennå", "no_chats_description": "Kom i gang ved å sende meldinger til noen eller ved å opprette et rom", @@ -3112,6 +3115,7 @@ "jumptodate": "Gå til den gitte datoen i tidslinjen", "jumptodate_invalid_input": "Vi klarte ikke å forstå den gitte datoen (%(inputDate)s). Prøv å bruke formatet ÅÅÅÅ-MM-DD.", "lenny": "Legger til ( ͡° ͜ʖ ͡°) foran en ren tekstmelding", + "manual_device_verification_confirm_description": "Dette vil tillate en annen enhet å sende og motta meldinger som deg. HVIS NOEN BA DEG LIME INN NOE HER, ER DET SANNSYNLIG AT DU BLIR LURT! Er du sikker på at du vil bekrefte denne andre enheten?", "manual_device_verification_confirm_title": "Forsiktig: manuell enhetsverifisering", "me": "Viser handling", "msg": "Sender en melding til den angitte brukeren", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 44eeefdf92..126a915ca1 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -762,6 +762,7 @@ "backup_key_not_stored": "не сохранено", "backup_key_stored": "в секретном хранилище", "backup_key_stored_status": "Сохраненный резервный ключ:", + "backup_key_unexpected_type": "непредвиденный тип", "backup_key_well_formed": "корректный", "cross_signing": "Кросс-подпись", "cross_signing_cached": "сохранено локально", @@ -775,6 +776,7 @@ "cross_signing_status": "Статус кросс-подписи:", "cross_signing_untrusted": "У вашей учётной записи есть кросс-подпись в секретное хранилище, но она пока не является доверенной в этом сеансе.", "crypto_not_available": "Криптографический модуль недоступен", + "device_id": "Идентификатор устройства", "key_backup_active_version": "Активная резервная версия:", "key_backup_active_version_none": "Нет", "key_backup_inactive_warning": "Резервное копирование ваших ключей из этого сеанса не выполняется.", @@ -787,6 +789,8 @@ "secret_storage_ready": "готово", "secret_storage_status": "Секретное хранилище:", "self_signing_private_key_cached_status": "Самоподписанный закрытый ключ:", + "session": "Сессия", + "session_fingerprint": "Отпечаток пальца (ключ сессии)", "title": "Сквозное шифрование", "user_signing_private_key_cached_status": "Закрытый ключ подписи пользователей:" }, @@ -812,6 +816,7 @@ "low_bandwidth_mode": "Режим низкой пропускной способности", "low_bandwidth_mode_description": "Требуется совместимый сервер.", "main_timeline": "Основная хронология", + "manual_device_verification": "Ручная проверка устройства", "no_receipt_found": "Квитанция не найдена", "notification_state": "Состояние уведомления %(notificationState)s", "notifications_debug": "Отладка уведомлений", @@ -996,6 +1001,15 @@ "incoming_sas_dialog_waiting": "Ожидаем подтверждения от партнера…", "incoming_sas_user_dialog_text_1": "Проверить этого пользователя, чтобы отметить его, как доверенного. Доверенные пользователи дают вам больше уверенности при использовании шифрованных сообщений.", "incoming_sas_user_dialog_text_2": "Подтверждение этого пользователя сделает его сеанс доверенным у вас, а также сделает ваш сеанс доверенным у него.", + "manual": { + "already_verified": "Это устройство уже проверено", + "already_verified_and_wrong_fingerprint": "Предоставленный отпечаток пальца не совпадает, но устройство уже проверено!", + "device_id": "Идентификатор устройства", + "failure_description": "Не удалось проверить '%(deviceId)s': %(error)s", + "failure_title": "Сбой проверки", + "fingerprint": "Отпечаток пальца (ключ сессии)", + "success_title": "Проверка прошла успешно" + }, "no_key_or_device": "Похоже, у вас нет Ключа Восстановления, или других сеансов, с которыми вы могли бы свериться. В этом сеансе вы не сможете получить доступ к старым зашифрованным сообщениям. Чтобы подтвердить свою личность в этом сеансе, вам нужно будет сбросить свои ключи шифрования.", "no_support_qr_emoji": "Устройство, которое вы пытаетесь проверить, не поддерживает сканирование QR-кода или проверку смайликов, которые поддерживает %(brand)s. Попробуйте использовать другой клиент.", "other_party_cancelled": "Другая сторона отменила проверку.", @@ -1035,7 +1049,7 @@ "unverified_sessions_toast_description": "Проверьте, чтобы убедиться, что ваша учётная запись в безопасности", "unverified_sessions_toast_reject": "Позже", "unverified_sessions_toast_title": "У вас есть незаверенные сеансы", - "verification_description": "Подтвердите свою личность, чтобы получить доступ к зашифрованным сообщениям и доказать свою личность другим.", + "verification_description": "Подтвердите свою личность, чтобы получить доступ к зашифрованным сообщениям и подтвердить свою личность другим. Если вы также используете мобильное устройство, откройте приложение там, прежде чем продолжить.", "verification_dialog_title_device": "Проверить другое устройство", "verification_dialog_title_user": "Запрос на сверку", "verification_skip_warning": "Без проверки вы не сможете получить доступ ко всем своим сообщениям и можете показаться другим людям недоверенным.", @@ -1054,8 +1068,10 @@ "waiting_other_user": "Ожидание %(displayName)s для проверки…" }, "verification_requested_toast_title": "Запрошено подтверждение", + "verified_identity_changed": "Подтвержденная личность %(displayName)s (%(userId)s) изменилась.
Узнайте больше", "verify_toast_description": "Другие пользователи могут не доверять этому сеансу", - "verify_toast_title": "Заверьте этот сеанс" + "verify_toast_title": "Заверьте этот сеанс", + "withdraw_verification_action": "Подтверждение верификации" }, "error": { "admin_contact": "Пожалуйста, обратитесь к вашему администратору, чтобы продолжить использовать этот сервис.", @@ -1096,13 +1112,14 @@ "unknown_error_code": "неизвестный код ошибки", "update_power_level": "Не удалось изменить уровень прав" }, - "error_app_open_in_another_tab": "%(brand)s был открыт в другой вкладке.", + "error_app_open_in_another_tab": "Переключитесь на другую вкладку, чтобы подключиться к %(brand)s . Теперь эту вкладку можно закрыть.", + "error_app_open_in_another_tab_title": "%(brand)s подключен в другой вкладке", "error_app_opened_in_another_window": "%(brand)s открыт в другом окне. Нажмите \"%(label)s\" чтобы использовать %(brand)s в данном окне и отключить другое.", "error_database_closed_description": { "for_desktop": "Возможно, ваш диск переполнен. Освободите место и перезагрузите компьютер.", "for_web": "Если вы очистили данные браузера, то это сообщение ожидаемо. %(brand)s также может быть открыт в другой вкладке, или ваш диск заполнен. Пожалуйста, освободите место и перезагрузите" }, - "error_database_closed_title": "База данных неожиданно закрылась", + "error_database_closed_title": "%(brand)s перестал работать", "error_dialog": { "copy_room_link_failed": { "description": "Не удалось скопировать ссылку на комнату в буфер обмена.", @@ -1141,7 +1158,8 @@ "image": "Изображение", "poll": "Опрос", "video": "Видео" - } + }, + "preview": "%(prefix)s: %(preview)s" }, "export_chat": { "cancelled": "Экспорт отменён", @@ -1266,12 +1284,16 @@ }, "incompatible_browser": { "continue": "Продолжить в любом случае", + "description": "%(brand)s использует некоторые функции браузера, которые недоступны в вашем текущем браузере. %(detail)s", + "detail_can_continue": "Если вы продолжите, некоторые функции могут перестать работать, и существует риск потери данных в будущем.", "detail_no_continue": "Попробуйте обновить этот браузер, если вы используете не последнюю версию, и повторите попытку.", "learn_more": "Подробнее", "linux": "Linux", "macos": "Mac", + "supported_browsers": "Для наилучшего впечатления используйте Chrome, Firefox, Edge или Safari.", "title": "Неподдерживаемый браузер", "use_desktop_heading": "Вместо этого используйте %(brand)s Desktop", + "use_mobile_heading": "Для этого используйте %(brand)s на мобильном телефоне", "use_mobile_heading_after_desktop": "Или воспользуйтесь нашим мобильным приложением", "windows_64bit": "Windows (64-бит)", "windows_arm_64bit": "Windows (ARM 64-бит)" @@ -1284,8 +1306,8 @@ "explainer": "Менеджеры по интеграции получают данные конфигурации и могут изменять виджеты, отправлять приглашения в комнаты и устанавливать уровни доступа от вашего имени.", "manage_title": "Управление интеграциями", "toggle_label": "Включить менеджер интеграции", - "use_im": "Используйте менеджер интеграций для управления ботами, виджетами и наклейками.", - "use_im_default": "Используйте менеджер интеграций %(serverName)s для управления ботами, виджетами и наклейками." + "use_im": "Используйте менеджер интеграций для управления ботами, виджетами и наборами стикеров.", + "use_im_default": "Используйте менеджер интеграций %(serverName)s для управления ботами, виджетами и наборами стикеров." }, "integrations": { "disabled_dialog_description": "Включите '%(manageIntegrations)s' в Настройках.", @@ -1327,7 +1349,7 @@ "name_email_mxid_share_room": "Пригласите кого-нибудь, используя его имя, адрес электронной почты, имя пользователя (например, ) или поделитесь этой комнатой.", "name_email_mxid_share_space": "Пригласите кого-нибудь, используя их имя, адрес электронной почты, имя пользователя (например, ) или поделитесь этим пространством.", "name_mxid_share_room": "Пригласите кого-нибудь, используя его имя, имя пользователя (например, ) или поделитесь этой комнатой.", - "name_mxid_share_space": "Пригласите кого-нибудь, используя их имя, учётную запись (как ) или поделитесь этим пространством.", + "name_mxid_share_space": "Пригласите кого-нибудь, используя их отображаемое имя или имя учётной записи (например, ) или поделитесь этим пространством.", "recents_section": "Недавние Диалоги", "room_failed_partial": "Мы отправили остальных, но нижеперечисленные люди не могут быть приглашены в ", "room_failed_partial_title": "Некоторые приглашения не могут быть отправлены", @@ -2018,7 +2040,10 @@ "pinned_message_badge": "Закреплённое сообщение", "pinned_message_banner": { "button_close_list": "Закрыть список", - "button_view_all": "Посмотреть все" + "button_view_all": "Посмотреть все", + "description": "В этой комнате есть закрепленные сообщения. Нажмите, чтобы просмотреть их.", + "go_to_message": "Показать прикрепленное сообщение на временной шкале.", + "title": "%(index)s из %(length)s Закрепленные сообщения" }, "read_topic": "Нажмите, чтобы увидеть тему", "rejecting": "Отклонение приглашения…", @@ -2115,7 +2140,8 @@ "other": "Удаляются сообщения в %(count)s комнатах" }, "room": { - "more_options": "Дополнительные параметры" + "more_options": "Дополнительные параметры", + "open_room": "Открыть комнату %(roomName)s" }, "show_less": "Показать меньше", "show_n_more": { @@ -2198,6 +2224,8 @@ "error_deleting_alias_description": "Произошла ошибка при удалении этого адреса. Возможно, он больше не существует или произошла временная ошибка.", "error_deleting_alias_description_forbidden": "У вас нет прав для удаления этого адреса.", "error_deleting_alias_title": "Ошибка при удалении адреса", + "error_publishing": "Невозможно опубликовать комнату", + "error_publishing_detail": "Произошла ошибка при публикации этой комнаты", "error_save_space_settings": "Не удалось сохранить настройки пространства.", "error_updating_alias_description": "Произошла ошибка при обновлении альтернативных адресов комнаты. Это может быть запрещено сервером или произошел временный сбой.", "error_updating_canonical_alias_description": "При обновлении основного адреса комнаты произошла ошибка. Возможно, это не разрешено сервером или произошел временный сбой.", @@ -2438,20 +2466,26 @@ }, "settings": { "account": { + "dialog_title": "Настройки: Учетная запись", "title": "Учетная запись" }, "all_rooms_home": "Показывать все комнаты на Главной", "all_rooms_home_description": "Все комнаты, в которых вы находитесь, будут отображаться на Главной.", "always_show_message_timestamps": "Всегда показывать время отправки сообщений", "appearance": { + "bundled_emoji_font": "Использовать встроенный шрифт эмодзи", + "compact_layout": "Показывать компактный текст и сообщения", + "compact_layout_description": "Для использования этой функции необходимо выбрать современный макет.", "custom_font": "Использовать системный шрифт", "custom_font_description": "Установите имя шрифта, установленного в вашей системе, и %(brand)s попытается его использовать.", "custom_font_name": "Название системного шрифта", "custom_font_size": "Использовать другой размер", "custom_theme_add": "Добавить пользовательскую тему", "custom_theme_downloading": "Загрузка пользовательской темы…", - "custom_theme_error_downloading": "Ошибка при загрузке информации темы.", + "custom_theme_error_downloading": "Ошибка при загрузке темы", + "custom_theme_help": "Введите URL-адрес пользовательской темы, которую вы хотите применить.", "custom_theme_invalid": "Неверная схема темы.", + "dialog_title": "Настройки: Внешний вид", "font_size": "Размер шрифта", "font_size_default": "%(fontSize)s (по умолчанию)", "high_contrast": "Высокая контрастность", @@ -2506,6 +2540,7 @@ "title": "Вы уверены, что хотите отключить хранение ключей и удалить их?" }, "device_not_verified_button": "Проверить это устройство", + "device_not_verified_description": "Для просмотра настроек шифрования необходимо подтвердить это устройство.", "device_not_verified_title": "Устройство не проверено", "dialog_title": "Настройки: Шифрование", "key_storage": { @@ -2515,19 +2550,26 @@ }, "recovery": { "change_recovery_confirm_button": "Подтвердите новый ключ восстановления", + "change_recovery_confirm_description": "Чтобы завершить, введите новый Ключ Восстановления ниже. Ваш старый ключ больше работать не будет.", "change_recovery_confirm_title": "Введите новый ключ восстановления", "change_recovery_key": "Изменить ключ восстановления", + "change_recovery_key_description": "Запишите новый ключ восстановления в безопасном месте. Затем нажмите «Продолжить», чтобы подтвердить изменение.", "change_recovery_key_title": "Изменить ключ восстановления?", + "description": "Восстановите свою идентификацию и историю сообщений с помощью ключа восстановления, если вы потеряли все существующие устройства.", "enter_key_error": "Ключ восстановления, который вы ввел, неверный.", "enter_recovery_key": "Введите ключ восстановления", "forgot_recovery_key": "Забыли ключ восстановления?", + "key_storage_warning": "Хранилище ключей не синхронизировано. Нажмите кнопку ниже, чтобы устранить проблему.", "save_key_description": "Не сообщайте эту информацию никому!", "save_key_title": "Ключ восстановления", "set_up_recovery": "Настройка восстановления", "set_up_recovery_confirm_button": "Завершить настройку", + "set_up_recovery_confirm_description": "Введите ключ восстановления, показанный на предыдущем экране, чтобы завершить настройку восстановления.", "set_up_recovery_confirm_title": "Для подтверждения введите ключ восстановления", + "set_up_recovery_description": "Хранилище ключей защищено ключом восстановления. Если после установки вам понадобится новый ключ восстановления, вы можете создать его заново, выбрав '%(changeRecoveryKeyButton)s'.", "set_up_recovery_save_key_description": "Запишите ключ восстановления в безопасном месте, например в диспетчере паролей, зашифрованной заметке или физическом сейфе.", "set_up_recovery_save_key_title": "Сохраните ключ восстановления в безопасном месте", + "set_up_recovery_secondary_description": "После нажатия кнопки «Продолжить» мы сгенерируем для вас ключ восстановления.", "title": "Восстановление" }, "title": "Шифрование" @@ -2609,6 +2651,7 @@ "password_change_success": "Ваш пароль успешно изменён.", "personal_info": "Личная информация", "profile_subtitle": "Так вас видят другие пользователи приложения.", + "profile_subtitle_oidc": "Ваша учетная запись управляется отдельным поставщиком идентификационных данных, поэтому некоторые ваши личные данные изменить нельзя.", "remove_email_prompt": "Удалить %(email)s?", "remove_msisdn_prompt": "Удалить %(phone)s?", "spell_check_locale_placeholder": "Выберите регион", @@ -2638,7 +2681,7 @@ "enter_phrase_title": "Введите секретную фразу", "enter_phrase_to_confirm": "Введите секретную фразу второй раз, чтобы подтвердить ее.", "generate_security_key_description": "Мы создадим ключ восстановления, который вы сможете хранить в безопасном месте, например в менеджере паролей или сейфе.", - "generate_security_key_title": "Создание ключа безопасности", + "generate_security_key_title": "Создание Ключа Восстановления", "pass_phrase_match_failed": "Они не совпадают.", "pass_phrase_match_success": "Они совпадают!", "phrase_strong_enough": "Отлично! Эта контрольная фраза выглядит достаточно сильной.", @@ -2647,11 +2690,11 @@ "set_phrase_again": "Задать другой пароль.", "settings_reminder": "Вы также можете настроить безопасное резервное копирование и управлять своими ключами в настройках.", "title_confirm_phrase": "Подтвердите секретную фразу", - "title_save_key": "Сохраните свой ключ безопасности", + "title_save_key": "Сохраните ключ восстановления", "title_set_phrase": "Задайте секретную фразу", "unable_to_setup": "Невозможно настроить секретное хранилище", "use_different_passphrase": "Использовать другую кодовую фразу?", - "use_phrase_only_you_know": "Используйте секретную фразу, известную только вам, и при необходимости сохраните ключ безопасности для резервного копирования." + "use_phrase_only_you_know": "Используйте секретную фразу, известную только вам, и при необходимости сохраните Ключ Восстановления от резервной копии." } }, "key_export_import": { @@ -2741,6 +2784,7 @@ "code_blocks_heading": "Блоки кода", "compact_modern": "Использовать более компактный \"Современный\" макет", "composer_heading": "Редактор", + "default_timezone": "Браузер по умолчанию (%(timezone)s)", "dialog_title": "Настройки: Параметры", "enable_hardware_acceleration": "Включить аппаратное ускорение", "enable_tray_icon": "Показывать значок в трее и сворачивать в него окно при закрытии", @@ -2766,6 +2810,7 @@ "bulk_options_accept_all_invites": "Принять все приглашения (%(invitedRooms)s)", "bulk_options_reject_all_invites": "Отклонить все %(invitedRooms)s приглашения", "bulk_options_section": "Основные опции", + "dehydrated_device_description": "Функция автономного устройства позволяет вам получать зашифрованные сообщения, даже если вы не вошли в систему ни на одном устройстве.", "dehydrated_device_enabled": "Устройство в автономном режиме", "dialog_title": "Настройки: Безопасность и конфиденциальность", "e2ee_default_disabled_warning": "Администратор вашего сервера отключил сквозное шифрование по умолчанию в приватных комнатах и диалогах.", @@ -3281,6 +3326,7 @@ "download_action_decrypting": "Расшифровка", "download_action_downloading": "Загрузка", "download_failed": "Загрузка не удалась", + "download_failed_description": "Произошла ошибка при загрузке этого файла", "e2e_state": "Состояние сквозного шифрования", "edits": { "tooltip_label": "Изменено %(date)s. Нажмите для посмотра истории изменений.", @@ -3436,6 +3482,7 @@ "left_reason": "%(targetName)s покинул(а) комнату: %(reason)s", "no_change": "%(senderName)s не сделал(а) изменений", "reject_invite": "%(targetName)s отклонил(а) приглашение", + "reject_invite_reason": "%(targetName)s отклонил приглашение: %(reason)s", "remove_avatar": "%(senderName)s удалил(а) аватар", "remove_name": "%(senderName)s удалил(а) отображаемое имя (%(oldDisplayName)s)", "set_avatar": "%(senderName)s установил(а) аватар", @@ -3472,9 +3519,10 @@ }, "m.room.tombstone": "%(senderDisplayName)s обновил(а) эту комнату.", "m.room.topic": { - "changed": "%(senderDisplayName)s изменил(а) тему комнаты на \"%(topic)s\"." + "changed": "%(senderDisplayName)s изменил(а) тему комнаты на \"%(topic)s\".", + "removed": "%(senderDisplayName)s удалил тему." }, - "m.sticker": "%(senderDisplayName)s отправил(а) наклейку.", + "m.sticker": "%(senderDisplayName)s отправил(а) стикер.", "m.video": { "error_decrypting": "Ошибка расшифровки видео" }, @@ -3524,7 +3572,8 @@ "reactions": { "add_reaction_prompt": "Отреагировать", "custom_reaction_fallback_label": "Пользовательская реакция", - "label": "%(reactors)s отреагировали %(content)s" + "label": "%(reactors)s отреагировали %(content)s", + "tooltip_caption": "отреагировал с %(shortName)s" }, "read_receipt_title": { "one": "Просмотрел %(count)s человек", @@ -3713,6 +3762,10 @@ "few": "И еще %(count)s...", "many": "И еще %(count)s..." }, + "unsupported_browser": { + "description": "Если вы продолжите, некоторые функции могут перестать работать, и существует риск потери данных в будущем. Обновите браузер, чтобы продолжить использование %(brand)s.", + "title": "%(brand)s не поддерживает этот браузер" + }, "unsupported_server_description": "На этом сервере используется старая версия Matrix. Перейдите на Matrix%(version)s, чтобы использовать %(brand)s ее без ошибок.", "unsupported_server_title": "Ваш сервер не поддерживается", "update": { @@ -3730,6 +3783,12 @@ "toast_title": "Обновление %(brand)s", "unavailable": "Недоступен" }, + "update_room_access_modal": { + "description": "Чтобы создать ссылку для совместного доступа, сделайте эту комнату общедоступной и разрешите пользователям запрашивать присоединение. Это позволит гостям присоединиться без приглашения.", + "dont_change_description": "Кроме того, вы можете провести звонок в отдельной комнате.", + "no_change": "Я не хочу менять уровень доступа.", + "title": "Изменить уровень доступа в комнату" + }, "upload_failed_generic": "Файл '%(fileName)s' не был загружен.", "upload_failed_size": "Размер файла '%(fileName)s' превышает допустимый предел загрузки, установленный на этом сервере", "upload_failed_title": "Сбой отправки файла", @@ -3739,6 +3798,7 @@ "error_files_too_large": "Эти файлы слишком большие для загрузки. Лимит размера файла составляет %(limit)s.", "error_some_files_too_large": "Некоторые файлы имеют слишком большой размер, чтобы их можно было загрузить. Лимит размера файла составляет %(limit)s.", "error_title": "Ошибка загрузки", + "not_image": "Выбранный вами файл не является изображением.", "title": "Загрузка файлов", "title_progress": "Загрузка файлов (%(current)s из %(total)s)", "upload_all_button": "Загрузить всё", @@ -3758,7 +3818,7 @@ "deactivate_confirm_description": "Деактивация этого пользователя приведет к его выходу из системы и запрету повторного входа. Кроме того, они оставит все комнаты, в которых он участник. Это действие безповоротно. Вы уверены, что хотите деактивировать этого пользователя?", "deactivate_confirm_title": "Деактивировать пользователя?", "demote_button": "Понижение", - "demote_self_confirm_description_space": "Вы не сможете отменить это изменение, поскольку вы понижаете свои права, если вы являетесь последним привилегированным пользователем в пространстве, будет невозможно восстановить привилегии вбудущем.", + "demote_self_confirm_description_space": "Вы не сможете отменить это изменение, поскольку вы понижаете свои права, если вы являетесь последним привилегированным пользователем в пространстве, будет невозможно восстановить привилегии в будущем.", "demote_self_confirm_room": "После понижения своих привилегий вы не сможете это отменить. Если вы являетесь последним привилегированным пользователем в этой комнате, выдать права кому-либо заново будет невозможно.", "demote_self_confirm_title": "Понизить самого себя?", "disinvite_button_room": "Отозвать приглашение в комнату", @@ -3770,10 +3830,11 @@ "error_mute_user": "Не удалось заглушить пользователя", "error_revoke_3pid_invite_description": "Не удалось отозвать приглашение. Возможно, на сервере возникла вре́менная проблема или у вас недостаточно прав для отзыва приглашения.", "error_revoke_3pid_invite_title": "Не удалось отменить приглашение", + "ignore_button": "Игнорировать", "ignore_confirm_description": "Все сообщения и приглашения от этого пользователя будут скрыты. Вы действительно хотите их игнорировать?", "ignore_confirm_title": "Игнорировать %(user)s", "invited_by": "Приглашен %(sender)s", - "jump_to_rr_button": "Перейти к последнему прочтённому", + "jump_to_rr_button": "Перейти к последнему прочитанному сообщению", "kick_button_room": "Удалить из комнаты", "kick_button_room_name": "Удалить из %(roomName)s", "kick_button_space": "Исключить из пространства", @@ -3797,19 +3858,22 @@ "no_recent_messages_description": "Попробуйте пролистать ленту сообщений вверх, чтобы увидеть, есть ли более ранние.", "no_recent_messages_title": "Последние сообщения от %(user)s не найдены" }, - "redact_button": "Удалить последние сообщения", + "redact_button": "Удалить сообщения", "revoke_invite": "Отозвать приглашение", "room_encrypted": "Сообщения в этой комнате защищены сквозным шифрованием.", "room_encrypted_detail": "Ваши сообщения в безопасности, ключи для расшифровки есть только у вас и получателя.", "room_unencrypted": "Сообщения в этой комнате не защищены сквозным шифрованием.", "room_unencrypted_detail": "В зашифрованных комнатах ваши сообщения в безопасности: только у вас и у получателя есть ключи для расшифровки.", - "share_button": "Поделиться ссылкой на пользователя", + "send_message": "Отправить сообщение", + "share_button": "Поделиться профилем", "unban_button_room": "Разблокировать в комнате", "unban_button_space": "Разблокировать в пространстве", "unban_room_confirm_title": "Разблокировать в %(roomName)s", "unban_space_everything": "Разблокировать их везде, где я могу это сделать", "unban_space_specific": "Разблокировать их из определённых мест, где я могу это сделать", "unban_space_warning": "Они не смогут получить доступ к тем местам, где вы не являетесь администратором.", + "unignore_button": "Не игнорировать", + "verification_unavailable": "Проверка пользователя недоступна", "verify_button": "Подтвердить пользователя", "verify_explainer": "Для дополнительной безопасности подтвердите этого пользователя, сравнив одноразовый код на ваших устройствах." }, @@ -3838,6 +3902,7 @@ "camera_disabled": "Ваша камера выключена", "camera_enabled": "Ваша камера всё ещё включена", "cannot_call_yourself_description": "Вы не можете позвонить самому себе.", + "close_lobby": "Закрыть лобби", "connecting": "Подключение", "connection_lost": "Соединение с сервером потеряно", "connection_lost_description": "Вы не можете совершать вызовы без подключения к серверу.", @@ -3851,14 +3916,23 @@ "disabled_no_perms_start_video_call": "У вас нет разрешения для запуска видеозвонка", "disabled_no_perms_start_voice_call": "У вас нет разрешения для запуска звонка", "disabled_ongoing_call": "Текущий звонок", + "element_call": "Element Call", "enable_camera": "Включить камеру", "enable_microphone": "Включить микрофон", "expand": "Вернуться к звонку", + "get_call_link": "Поделиться ссылкой на звонок", "hangup": "Повесить трубку", "hide_sidebar_button": "Скрыть боковую панель", "input_devices": "Устройства ввода", + "jitsi_call": "Конференция Jitsi", "join_button_tooltip_call_full": "Извините — этот вызов в настоящее время заполнен", + "legacy_call": "Звонок (устаревший)", "maximise": "Заполнить экран", + "maximise_call": "Развернуть звонок", + "metaspace_video_rooms": { + "conference_room_section": "Конференции" + }, + "minimise_call": "Свернуть звонок", "misconfigured_server": "Вызов не состоялся из-за неправильно настроенного сервера", "misconfigured_server_description": "Попросите администратора вашего домашнего сервера (%(homeserverDomain)s) настроить сервер TURN для надежной работы звонков.", "misconfigured_server_fallback": "В качестве альтернативы вы можете попробовать использовать общедоступный сервер по адресу , но он не будет таким надежным, и ваш IP-адрес будет передаваться на сервер. Вы также можете управлять этим в настройках.", @@ -3906,6 +3980,7 @@ "user_is_presenting": "%(sharerName)s показывает", "video_call": "Видеовызов", "video_call_started": "Начался видеозвонок", + "video_call_using": "Видеозвонок с использованием:", "voice_call": "Голосовой вызов", "you_are_presenting": "Вы представляете" }, @@ -4005,7 +4080,7 @@ "error_need_to_be_logged_in": "Вы должны войти в систему.", "error_unable_start_audio_stream_description": "Невозможно запустить аудио трансляцию.", "error_unable_start_audio_stream_title": "Не удалось запустить прямую трансляцию", - "modal_data_warning": "Данные на этом экране используются %(widgetDomain)s", + "modal_data_warning": "Приведенные ниже данные передаются %(widgetDomain)s", "modal_title_default": "Модальный виджет", "no_name": "Неизвестное приложение", "open_id_permissions_dialog": { @@ -4014,7 +4089,7 @@ "title": "Разрешите этому виджету проверить ваш идентификатор" }, "popout": "Всплывающий виджет", - "set_room_layout": "Установить мой макет комнаты для всех", + "set_room_layout": "Установить макет для всех", "shared_data_avatar": "URL-адрес изображения вашего профиля", "shared_data_device_id": "Идентификатор вашего устройства", "shared_data_lang": "Ваш язык", From 9d1455e4dd939bce46ab4b1c9302b03cf680ca61 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 17 Jun 2025 11:31:08 +0100 Subject: [PATCH 026/142] Prevent skipping forced verification after logging in with OIDC (#30141) Pass the freshLogin parameter along to doSetLoggedIn when restoring a session, instead of hard-coding it to always be false. --- playwright/e2e/oidc/index.ts | 17 ++ playwright/e2e/oidc/oidc-native.spec.ts | 156 +++++++++++++++++- src/Lifecycle.ts | 2 +- .../components/structures/MatrixChat-test.tsx | 47 +++++- 4 files changed, 218 insertions(+), 4 deletions(-) diff --git a/playwright/e2e/oidc/index.ts b/playwright/e2e/oidc/index.ts index 02de6e2f03..602a4368c7 100644 --- a/playwright/e2e/oidc/index.ts +++ b/playwright/e2e/oidc/index.ts @@ -11,6 +11,9 @@ import { type Page } from "@playwright/test"; import { expect } from "../../element-web-test"; +/** + * Click through registering a new user in the MAS UI. + */ export async function registerAccountMas( page: Page, mailpit: MailpitClient, @@ -42,3 +45,17 @@ export async function registerAccountMas( await expect(page.getByText("Allow access to your account?")).toBeVisible(); await page.getByRole("button", { name: "Continue" }).click(); } + +/** + * Click through entering username and password into the MAS login prompt. + */ +export async function logInAccountMas(page: Page, username: string, password: string): Promise { + await expect(page.getByText("Please sign in to continue:")).toBeVisible(); + + await page.getByRole("textbox", { name: "Username" }).fill(username); + await page.getByRole("textbox", { name: "Password", exact: true }).fill(password); + await page.getByRole("button", { name: "Continue" }).click(); + + await expect(page.getByText("Allow access to your account?")).toBeVisible(); + await page.getByRole("button", { name: "Continue" }).click(); +} diff --git a/playwright/e2e/oidc/oidc-native.spec.ts b/playwright/e2e/oidc/oidc-native.spec.ts index a6fbf231ce..3268c2b65a 100644 --- a/playwright/e2e/oidc/oidc-native.spec.ts +++ b/playwright/e2e/oidc/oidc-native.spec.ts @@ -6,8 +6,12 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import { type Config, CONFIG_JSON } from "@element-hq/element-web-playwright-common"; +import { type Browser, type Page } from "@playwright/test"; +import { type StartedHomeserverContainer } from "@element-hq/element-web-playwright-common/lib/testcontainers/HomeserverContainer"; + import { test, expect } from "../../element-web-test.ts"; -import { registerAccountMas } from "."; +import { logInAccountMas, registerAccountMas } from "."; import { ElementAppPage } from "../../pages/ElementAppPage.ts"; import { masHomeserver } from "../../plugins/homeserver/synapse/masHomeserver.ts"; @@ -101,4 +105,154 @@ test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => { expect(localStorageKeys).toHaveLength(0); }, ); + + test("can log in to an existing MAS account", { tag: "@screenshot" }, async ({ page, mailpitClient }, testInfo) => { + // Register an account with MAS + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + + const userId = `alice_${testInfo.testId}`; + await registerAccountMas(page, mailpitClient, userId, `${userId}@email.com`, "Pa$sW0rD!"); + await expect(page.getByText("Welcome")).toBeVisible(); + + // Log out + await page.getByRole("button", { name: "User menu" }).click(); + await expect(page.getByText(userId, { exact: true })).toBeVisible(); + + // Allow the outstanding requests queue to settle before logging out + await page.waitForTimeout(2000); + await page.locator(".mx_UserMenu_contextMenu").getByRole("menuitem", { name: "Sign out" }).click(); + await expect(page).toHaveURL(/\/#\/login$/); + + // Log in again + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + await page.getByRole("button", { name: "Continue" }).click(); + + // We should be in (we see an error because we have no recovery key). + await expect(page.getByText("Unable to verify this device")).toBeVisible(); + }); + + test.describe("with force_verification on", () => { + test.use({ + config: { + force_verification: true, + }, + }); + + test("verify dialog cannot be dismissed", { tag: "@screenshot" }, async ({ page, mailpitClient }, testInfo) => { + // Register an account with MAS + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + + const userId = `alice_${testInfo.testId}`; + await registerAccountMas(page, mailpitClient, userId, `${userId}@email.com`, "Pa$sW0rD!"); + await expect(page.getByText("Welcome")).toBeVisible(); + + // Log out + await page.getByRole("button", { name: "User menu" }).click(); + await expect(page.getByText(userId, { exact: true })).toBeVisible(); + await page.waitForTimeout(2000); + await page.locator(".mx_UserMenu_contextMenu").getByRole("menuitem", { name: "Sign out" }).click(); + await expect(page).toHaveURL(/\/#\/login$/); + + // Log in again + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + await page.getByRole("button", { name: "Continue" }).click(); + + // We should be being warned that we need to verify (but we can't) + await expect(page.getByText("Unable to verify this device")).toBeVisible(); + + // And there should be no way to close this prompt + await expect(page.getByRole("button", { name: "Skip verification for now" })).not.toBeVisible(); + }); + + test( + "continues to show verification prompt after cancelling device verification", + { tag: "@screenshot" }, + async ({ browser, config, homeserver, page, mailpitClient }, testInfo) => { + // Register an account with MAS + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + + const userId = `alice_${testInfo.testId}`; + const password = "Pa$sW0rD!"; + await registerAccountMas(page, mailpitClient, userId, `${userId}@email.com`, password); + await expect(page.getByText("Welcome")).toBeVisible(); + + // Log in an additional account, and verify it. + // + // This means that when we log out and in again, we are offered + // to verify using another device. + const otherContext = await newContext(browser, config, homeserver); + const otherDevicePage = await otherContext.newPage(); + await otherDevicePage.goto("/#/login"); + await otherDevicePage.getByRole("button", { name: "Continue" }).click(); + await logInAccountMas(otherDevicePage, userId, password); + await verifyUsingOtherDevice(otherDevicePage, page); + await otherDevicePage.close(); + + // Log out + await page.getByRole("button", { name: "User menu" }).click(); + await expect(page.getByText(userId, { exact: true })).toBeVisible(); + await page.waitForTimeout(2000); + await page.locator(".mx_UserMenu_contextMenu").getByRole("menuitem", { name: "Sign out" }).click(); + await expect(page).toHaveURL(/\/#\/login$/); + + // Log in again + await page.goto("/#/login"); + await page.getByRole("button", { name: "Continue" }).click(); + await page.getByRole("button", { name: "Continue" }).click(); + + // We should be in, and not able to dismiss the verify dialog + await expect(page.getByText("Verify this device")).toBeVisible(); + await expect(page.getByRole("button", { name: "Skip verification for now" })).not.toBeVisible(); + + // When we start verifying with another device + await page.getByRole("button", { name: "Verify with another device" }).click(); + + // And then cancel it + await page.getByRole("button", { name: "Close dialog" }).click(); + + // Then we should still be at the unskippable verify prompt + await expect(page.getByText("Verify this device")).toBeVisible(); + await expect(page.getByRole("button", { name: "Skip verification for now" })).not.toBeVisible(); + }, + ); + }); }); + +/** + * Perform interactive emoji verification for a new device. + */ +async function verifyUsingOtherDevice(deviceToVerifyPage: Page, alreadyVerifiedDevicePage: Page) { + await deviceToVerifyPage.getByRole("button", { name: "Verify with another device" }).click(); + await alreadyVerifiedDevicePage.getByRole("button", { name: "Verify session" }).click(); + await alreadyVerifiedDevicePage.getByRole("button", { name: "Start" }).click(); + await alreadyVerifiedDevicePage.getByRole("button", { name: "They match" }).click(); + await deviceToVerifyPage.getByRole("button", { name: "They match" }).click(); + await alreadyVerifiedDevicePage.getByRole("button", { name: "Got it" }).click(); + await deviceToVerifyPage.getByRole("button", { name: "Got it" }).click(); +} + +/** + * Create a new browser context which serves up the default config plus what you supplied, and sets m.homeserver to the + * supplied homeserver's URL. + */ +async function newContext(browser: Browser, config: Partial>, homeserver: StartedHomeserverContainer) { + const otherContext = await browser.newContext(); + await otherContext.route(`http://localhost:8080/config.json*`, async (route) => { + const json = { + ...CONFIG_JSON, + ...config, + default_server_config: { + "m.homeserver": { + base_url: homeserver.baseUrl, + }, + }, + }; + await route.fulfill({ json }); + }); + return otherContext; +} diff --git a/src/Lifecycle.ts b/src/Lifecycle.ts index 5641f936ae..20e7435599 100644 --- a/src/Lifecycle.ts +++ b/src/Lifecycle.ts @@ -657,7 +657,7 @@ export async function restoreSessionFromStorage(opts?: { ignoreGuest?: boolean } freshLogin: freshLogin, }, false, - false, + freshLogin, ); return true; } else { diff --git a/test/unit-tests/components/structures/MatrixChat-test.tsx b/test/unit-tests/components/structures/MatrixChat-test.tsx index 94fc9a925a..1fb705d98c 100644 --- a/test/unit-tests/components/structures/MatrixChat-test.tsx +++ b/test/unit-tests/components/structures/MatrixChat-test.tsx @@ -1040,7 +1040,7 @@ describe("", () => { localStorage.removeItem("must_verify_device"); }); - it("should show the complete security screen if unskippable verification is enabled", async () => { + it("should show the Complete Security screen if unskippable verification is enabled", async () => { // Given we have force verification on, and an existing logged-in session // that is not verified (see beforeEach()) @@ -1053,7 +1053,6 @@ describe("", () => { // Sanity: we are not racing with another screen update, so this heading stays visible await screen.findByRole("heading", { name: "Verify this device", level: 1 }); }); - it("should not open app after cancelling device verify if unskippable verification is on", async () => { // See https://github.com/element-hq/element-web/issues/29230 // We used to allow bypassing force verification by choosing "Verify with @@ -1081,6 +1080,50 @@ describe("", () => { await screen.findByRole("heading", { name: "Verify this device", level: 1 }); }); + describe("when query params have a loginToken", () => { + const loginToken = "test-login-token"; + const realQueryParams = { + loginToken, + }; + + let loginClient!: ReturnType; + const deviceId = "test-device-id"; + const accessToken = "test-access-token"; + const clientLoginResponse = { + user_id: userId, + device_id: deviceId, + access_token: accessToken, + }; + + beforeEach(() => { + localStorage.setItem("mx_sso_hs_url", serverConfig.hsUrl); + localStorage.setItem("mx_sso_is_url", serverConfig.isUrl); + loginClient = getMockClientWithEventEmitter(getMockClientMethods()); + // this is used to create a temporary client during login + jest.spyOn(MatrixJs, "createClient").mockReturnValue(loginClient); + + loginClient.login.mockClear().mockResolvedValue(clientLoginResponse); + }); + + it("should show the Complete Security screen after OIDC login if unskippable ver. is on", async () => { + // Given force_verification is on (outer describe) + // And we just logged in via OIDC (inner describe) + + // When we load the page + getComponent({ realQueryParams }); + + defaultDispatcher.dispatch({ + action: "will_start_client", + }); + await waitFor(() => + expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: "client_started" }), + ); + + // Then we are not allowed in - we are being asked to verify + await screen.findByRole("heading", { name: "Verify this device", level: 1 }); + }); + }); + function createMockCrypto(): CryptoApi { return { getVersion: jest.fn().mockReturnValue("Version 0"), From a7a8428d1cea199b781a6323105081ff994d6b5f Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 17 Jun 2025 13:19:00 +0000 Subject: [PATCH 027/142] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 6a67b7e468..36c501e13d 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "maplibre-gl": "^5.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "37.9.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 8826c7a46a..807587985b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2255,11 +2255,6 @@ resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-wasm/-/matrix-sdk-crypto-wasm-14.2.0.tgz#1d6bddb2f777ac1674546467aab6f8584a7f2e71" integrity sha512-xYbH1Yg8YwfXxGsCVDypiRvSVYPnCybsoRqlBDuAvIOs9tOfmdeeJqN+3VxvLWH28g3CtJs+9Afw8dYSHViTFg== -"@matrix-org/olm@3.2.15": - version "3.2.15" - resolved "https://registry.yarnpkg.com/@matrix-org/olm/-/olm-3.2.15.tgz#55f3c1b70a21bbee3f9195cecd6846b1083451ec" - integrity sha512-S7lOrndAK9/8qOtaTq/WhttJC/o4GAzdfK0MUPpo8ApzsJEC0QjtwrkC3KBXdFP1cD1MXi/mlKR7aaoVMKgs6Q== - "@matrix-org/react-sdk-module-api@^2.4.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.5.0.tgz#df774d0ae0c327fbd40f8994bbb13ed35e26c337" @@ -3853,6 +3848,7 @@ "@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" + uid "" "@vector-im/matrix-wysiwyg@2.38.3": version "2.38.3" @@ -9224,14 +9220,12 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -matrix-js-sdk@37.9.0: +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "37.9.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-37.9.0.tgz#f56dcb47ae5324a719d279a29278f28e43d2b234" - integrity sha512-a4p/2XM7kOQsguOjzsnbmBajxLRJewlOG1KB6HfErUKWR4GKwZEfJ3oHeWUHRdE/IYLdUQzIAwFdvCFK08pOww== + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/4efb27354f466d4e50f09e95f5853780326a2b6c" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^14.2.0" - "@matrix-org/olm" "3.2.15" another-json "^0.2.0" bs58 "^6.0.0" content-type "^1.0.4" From 2034f8b6bbbb73bbb9c275cd21c3a8a28a5682f0 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Wed, 18 Jun 2025 01:23:38 -0500 Subject: [PATCH 028/142] [create-pull-request] automated change (#30159) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/cs.json | 24 ++++++++ src/i18n/strings/el.json | 115 ++++++++++++++++++++++++++++++++++++--- src/i18n/strings/et.json | 1 + src/i18n/strings/id.json | 1 + src/i18n/strings/pl.json | 8 +-- src/i18n/strings/ru.json | 60 ++++++++++++++++++-- src/i18n/strings/sv.json | 4 ++ src/i18n/strings/uk.json | 22 +++++++- 8 files changed, 217 insertions(+), 18 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 7c9773881e..6d44971dcb 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -801,6 +801,8 @@ "secret_storage_ready": "připraveno", "secret_storage_status": "Bezpečné úložiště:", "self_signing_private_key_cached_status": "Soukromý klíč s vlastním podpisem:", + "session": "Relace", + "session_fingerprint": "Otisk prstu (klíč relace)", "title": "Koncové šifrování", "user_signing_private_key_cached_status": "Podpisový soukromý klíč uživatele:" }, @@ -826,6 +828,7 @@ "low_bandwidth_mode": "Režim malé šířky pásma", "low_bandwidth_mode_description": "Vyžaduje kompatibilní domovský server.", "main_timeline": "Hlavní časová osa", + "manual_device_verification": "Ruční ověření zařízení", "no_receipt_found": "Žádné potvrzení o přečtení", "notification_state": "Stav oznámení je %(notificationState)s", "notifications_debug": "Ladění oznámení", @@ -1010,6 +1013,21 @@ "incoming_sas_dialog_waiting": "Čekání na potvrzení partnerem…", "incoming_sas_user_dialog_text_1": "Po ověření bude uživatel označen jako důvěryhodný. Ověřování uživatelů vám dává větší jistotu, že je komunikace důvěrná.", "incoming_sas_user_dialog_text_2": "Ověření uživatele označí jeho relace za důvěryhodné a vaše relace budou důvěryhodné pro něj.", + "manual": { + "already_verified": "Toto zařízení je již ověřeno", + "already_verified_and_wrong_fingerprint": "Zadaný otisk prstu se neshoduje, ale zařízení je již ověřené!", + "device_id": "ID zařízení", + "failure_description": "Nepodařilo se ověřit '%(deviceId)s': %(error)s", + "failure_title": "Ověření se nezdařilo", + "fingerprint": "Otisk prstu (klíč relace)", + "no_crypto": "Nelze ověřit zařízení - šifrování není povoleno", + "no_device": "Nelze ověřit zařízení - zařízení '%(deviceId)s' nebylo nalezeno", + "no_userid": "Nelze ověřit zařízení - nelze najít naše ID uživatele", + "success_description": "Zařízení (%(deviceId)s) je nyní křížově podepsáno", + "success_title": "Ověření proběhlo úspěšně", + "text": "Zadejte ID a otisk prstu jednoho ze svých vlastních zařízení a ověřte jej. POZNÁMKA to umožňuje druhému zařízení odesílat a přijímat zprávy jako vy. POKUD VÁM NĚKDO ŘEKL, ABYSTE SEM NĚCO VLOŽILI, JE PRAVDĚPODOBNÉ, ŽE JSTE PODVEDENI!", + "wrong_fingerprint": "Nelze ověřit zařízení '%(deviceId)s' - zadaný otisk prstu '%(fingerprint)s' neodpovídá otisku prstu zařízení, '%(fprint)s'" + }, "no_key_or_device": "Vypadá to, že nemáte klíč pro obnovení ani žádné jiné zařízení, které byste mohli ověřit. Toto zařízení nebude mít přístup ke starým zašifrovaným zprávám. Abyste mohli na tomto zařízení ověřit svou identitu, budete muset obnovit ověřovací klíče.", "no_support_qr_emoji": "Zařízení, které se snažíte ověřit, neumožňuje ověření QR kódem ani pomocí emotikonů, které %(brand)s podporuje. Zkuste použít jiného klienta.", "other_party_cancelled": "Druhá strana ověření zrušila.", @@ -2052,6 +2070,7 @@ "read_topic": "Klikněte pro přečtení tématu", "rejecting": "Odmítání pozvánky…", "rejoin_button": "Znovu vstoupit", + "room_content": "Obsah místnosti", "room_is_low_priority": "Toto je místnost s nízkou prioritou", "search": { "all_rooms_button": "Vyhledávat ve všech místnostech", @@ -2103,6 +2122,7 @@ "add_space_label": "Přidat prostor", "breadcrumbs_empty": "Žádné nedávno navštívené místnosti", "breadcrumbs_label": "Nedávno navštívené místnosti", + "collapse_filters": "Sbalit seznam filtrů", "empty": { "no_chats": "Zatím žádné chaty", "no_chats_description": "Začněte tím, že někomu pošlete zprávu nebo vytvoříte místnost", @@ -2110,6 +2130,7 @@ "no_favourites": "Zatím nemáte oblíbený chat", "no_favourites_description": "Chat si můžete přidat do oblíbených v nastavení chatu", "no_invites": "Nemáte žádné nepřečtené pozvánky", + "no_lowpriority": "Nemáte žádné místnosti s nízkou prioritou", "no_mentions": "Nemáte žádné nepřečtené zmínky", "no_people": "Zatím s nikým nemáte přímé chaty", "no_people_description": "Můžete zrušit výběr filtrů, abyste viděli ostatní chaty", @@ -2119,6 +2140,7 @@ "show_activity": "Zobrazit veškerou aktivitu", "show_chats": "Zobrazit všechny chaty" }, + "expand_filters": "Rozbalit seznam filtrů", "failed_add_tag": "Nepodařilo se přidat štítek %(tagName)s k místnosti", "failed_remove_tag": "Nepodařilo se odstranit štítek %(tagName)s z místnosti", "failed_set_dm_tag": "Nepodařilo se nastavit značku přímé zprávy", @@ -3101,6 +3123,8 @@ "jumptodate": "Přejít na zadané datum na časové ose", "jumptodate_invalid_input": "Nebyli jsme schopni porozumět zadanému datu (%(inputDate)s). Zkuste použít formát RRRR-MM-DD.", "lenny": "Vloží ( ͡° ͜ʖ ͡°) na začátek zprávy", + "manual_device_verification_confirm_description": "To umožní jinému zařízení odesílat a přijímat zprávy jako vy. POKUD VÁM NĚKDO ŘEKL, ABYSTE SEM NĚCO VLOŽILI, JE PRAVDĚPODOBNÉ, ŽE JSTE PODVEDENI! Opravdu chcete ověřit toto další zařízení?", + "manual_device_verification_confirm_title": "Upozornění: ruční ověření zařízení", "me": "Zobrazí akci", "msg": "Pošle zprávu danému uživateli", "myavatar": "Změní váš profilový obrázek ve všech místnostech", diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index 70efbb20e9..276a910b06 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -50,6 +50,8 @@ "download": "Λήψη", "edit": "Επεξεργασία", "enable": "Ενεργοποίηση", + "enter_fullscreen": "Είσοδος σε πλήρη οθόνη", + "exit_fullscreeen": "Έξοδος από την πλήρη οθόνη", "expand": "Επέκταση", "explore_public_rooms": "Εξερευνήστε δημόσιες αίθουσες", "explore_rooms": "Εξερευνήστε αίθουσες", @@ -149,10 +151,12 @@ "shared_data_heading": "Οποιοδήποτε από τα ακόλουθα δεδομένα μπορεί να κοινοποιηθεί:" }, "auth": { + "3pid_in_use": "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου ή ο αριθμός τηλεφώνου χρησιμοποιείται ήδη.", "account_clash": "Ο νέος λογαριασμός σας (%(newAccountId)s) έχει εγγραφεί, αλλά έχετε ήδη συνδεθεί με διαφορετικό λογαριασμό (%(loggedInUserId)s).", "account_clash_previous_account": "Συνέχεια με τον προηγούμενο λογαριασμό", "account_deactivated": "Αυτός ο λογαριασμός έχει απενεργοποιηθεί.", "autodiscovery_generic_failure": "Απέτυχε η λήψη της διαμόρφωσης αυτόματης ανακάλυψης από τον διακομιστή", + "autodiscovery_hs_incompatible": "Ο αρχικός σας διακομιστής είναι πολύ παλιός και δεν υποστηρίζει την ελάχιστη απαιτούμενη έκδοση API. Παρακαλούμε επικοινωνήστε με τον ιδιοκτήτη του διακομιστή σας ή αναβαθμίστε τον διακομιστή σας.", "autodiscovery_invalid": "Μη έγκυρη απόκριση εντοπισμού κεντρικού διακομιστή", "autodiscovery_invalid_hs": "Η διεύθυνση URL του κεντρικού διακομιστή δε φαίνεται να αντιστοιχεί σε έγκυρο διακομιστή Matrix", "autodiscovery_invalid_hs_base_url": "Μη έγκυρο base_url για m.homeserver", @@ -160,6 +164,7 @@ "autodiscovery_invalid_is_base_url": "Μη έγκυρο base_url για m.identity_server", "autodiscovery_invalid_is_response": "Μη έγκυρη απόκριση εντοπισμού διακομιστή ταυτότητας", "autodiscovery_invalid_json": "Μη έγκυρο JSON", + "autodiscovery_no_well_known": "Δεν βρέθηκε αρχείο .well-known JSON", "autodiscovery_unexpected_error_hs": "Μη αναμενόμενο σφάλμα κατά την επίλυση της διαμόρφωσης του κεντρικού διακομιστή", "autodiscovery_unexpected_error_is": "Μη αναμενόμενο σφάλμα κατά την επίλυση της διαμόρφωσης διακομιστή ταυτότητας", "captcha_description": "Αυτός ο κεντρικός διακομιστής θα ήθελε να βεβαιωθεί ότι δεν είστε ρομπότ.", @@ -168,8 +173,14 @@ "change_password_confirm_label": "Επιβεβαίωση κωδικού πρόσβασης", "change_password_current_label": "Τωρινός κωδικός πρόσβασης", "change_password_empty": "Οι κωδικοί πρόσβασης δεν γίνετε να είναι κενοί", + "change_password_error": "Σφάλμα κατά την αλλαγή κωδικού πρόσβασης: %(error)s", "change_password_mismatch": "Οι νέοι κωδικοί πρόσβασης είναι διαφορετικοί", "change_password_new_label": "Νέος κωδικός πρόσβασης", + "check_email_explainer": "Ακολουθήστε τις οδηγίες που στάλθηκαν στο %(email)s", + "check_email_resend_prompt": "Δεν το λάβατε;", + "check_email_resend_tooltip": "Επανεστάλη email με τον συνδέσμο επαλήθευσης!", + "check_email_wrong_email_button": "Εισαγάγετε ξανά τη διεύθυνση ηλεκτρονικού ταχυδρομείου", + "check_email_wrong_email_prompt": "Λάθος διεύθυνση ηλεκτρονικού ταχυδρομείου;", "continue_with_idp": "Συνεχίστε με %(provider)s", "continue_with_sso": "Συνέχεια με %(ssoButtons)s", "country_dropdown": "Αναπτυσσόμενο μενού Χώρας", @@ -181,6 +192,8 @@ "email_field_label_required": "Εισάγετε διεύθυνση email", "email_help_text": "Προσθέστε ένα email για να μπορείτε να κάνετε επαναφορά του κωδικού πρόσβασης σας.", "email_phone_discovery_text": "Χρησιμοποιήστε email ή τηλέφωνο για να είστε προαιρετικά ανιχνεύσιμος από υπάρχουσες επαφές.", + "enter_email_explainer": "Το %(homeserver)s θα σας στείλει έναν σύνδεσμο επαλήθευσης για να επαναφέρετε τον κωδικό πρόσβασής σας.", + "enter_email_heading": "Εισάγετε το email σας για να επαναφέρετε τον κωδικό πρόσβασης", "failed_connect_identity_server": "Δεν είναι δυνατή η πρόσβαση στον διακομιστή ταυτότητας", "failed_connect_identity_server_other": "Μπορείτε να συνδεθείτε, αλλά ορισμένες λειτουργίες δε θα είναι διαθέσιμες μέχρι να συνδεθεί ξανά ο διακομιστής ταυτότητας. Εάν εξακολουθείτε να βλέπετε αυτήν την προειδοποίηση, ελέγξτε τις ρυθμίσεις σας ή επικοινωνήστε με έναν διαχειριστή του διακομιστή σας.", "failed_connect_identity_server_register": "Μπορείτε να εγγραφείτε, αλλά ορισμένες λειτουργίες δεν θα είναι διαθέσιμες μέχρι να συνδεθεί ξανά ο διακομιστής ταυτότητας. Εάν εξακολουθείτε να βλέπετε αυτήν την ειδοποίηση, ελέγξτε τις ρυθμίσεις σας ή επικοινωνήστε με έναν διαχειριστή διακομιστή.", @@ -192,6 +205,7 @@ "forgot_password_email_invalid": "Η διεύθυνση email δε φαίνεται να είναι έγκυρη.", "forgot_password_email_required": "Πρέπει να εισηχθεί η διεύθυνση ηλ. αλληλογραφίας που είναι συνδεδεμένη με τον λογαριασμό σας.", "forgot_password_prompt": "Ξεχάσετε τον κωδικό σας;", + "forgot_password_send_email": "Αποστολή email", "identifier_label": "Συνδεθείτε με", "incorrect_credentials": "Λανθασμένο όνομα χρήστη και/ή κωδικός.", "incorrect_credentials_detail": "Σημειώστε ότι συνδέεστε στον διακομιστή %(hs)s, όχι στο matrix.org.", @@ -202,6 +216,7 @@ "megolm_export": "Μη αυτόματη εξαγωγή κλειδιών", "setup_key_backup_title": "Θα χάσετε την πρόσβαση στα κρυπτογραφημένα μηνύματά σας", "setup_secure_backup_description_1": "Τα κρυπτογραφημένα μηνύματα προστατεύονται με κρυπτογράφηση από άκρο σε άκρο. Μόνο εσείς και οι παραλήπτες έχετε τα κλειδιά για να διαβάσετε αυτά τα μηνύματα.", + "setup_secure_backup_description_2": "Όταν αποσυνδεθείτε, αυτά τα κλειδιά θα διαγραφούν από αυτήν τη συσκευή, πράγμα που σημαίνει ότι δεν θα μπορείτε να διαβάσετε κρυπτογραφημένα μηνύματα, εκτός εάν έχετε τα κλειδιά για αυτά στις άλλες συσκευές σας ή έχετε δημιουργήσει αντίγραφα ασφαλείας τους στον διακομιστή.", "skip_key_backup": "Δε θέλω τα κρυπτογραφημένα μηνύματά μου", "use_key_backup": "Ξεκινήστε να χρησιμοποιείτε το αντίγραφο ασφαλείας κλειδιού" }, @@ -216,11 +231,20 @@ "error_title": "Δεν μπορέσαμε να σας συνδέσουμε", "missing_or_invalid_stored_state": "Ζητήσαμε από το πρόγραμμα περιήγησης να θυμάται τον διακομιστή που χρησιμοποιείτε για να συνδέεστε, αλλά το πρόγραμμα περιήγησης δεν το έχει αποθηκεύσει. Πηγαίνετε στην σελίδα σύνδεσεις για να προσπαθήσετε ξανά." }, + "password_field_keep_going_prompt": "Συνεχίστε...", "password_field_label": "Εισάγετε τον κωδικό πρόσβασης", "password_field_strong_label": "Πολύ καλά, ισχυρός κωδικός πρόσβασης!", "password_field_weak_label": "Έγκυρος κωδικός πρόσβασης, αλλά δεν είναι ασφαλής", "phone_label": "Τηλέφωνο", "phone_optional_label": "Τηλέφωνο (προαιρετικό)", + "qr_code_login": { + "completing_setup": "Ολοκλήρωση της ρύθμισης της νέας συσκευής σας", + "error_unexpected": "Παρουσιάστηκε μη αναμενόμενο σφάλμα. Το αίτημα σύνδεσης της άλλης συσκευής σας ακυρώθηκε.", + "scan_code_instruction": "Σαρώστε τον κωδικό QR με άλλη συσκευή", + "scan_qr_code": "Συνδεθείτε με κωδικό QR", + "select_qr_code": "Επιλέξτε \"%(scanQRCode)s\"", + "waiting_for_device": "Αναμονή για σύνδεση της συσκευής" + }, "register_action": "Δημιουργία Λογαριασμού", "registration": { "continue_without_email_description": "Μια προειδοποίηση, αν δεν προσθέσετε ένα email και ξεχάσετε τον κωδικό πρόσβασης, ενδέχεται να χάσετε οριστικά την πρόσβαση στον λογαριασμό σας.", @@ -234,14 +258,25 @@ "registration_username_unable_check": "Δεν είναι δυνατός ο έλεγχος εάν το όνομα χρήστη είναι διαθέσιμο. Δοκιμάστε ξανά αργότερα.", "registration_username_validation": "Χρησιμοποιήστε μόνο πεζά γράμματα, αριθμούς, παύλες και κάτω παύλες", "reset_password": { + "confirm_new_password": "Επιβεβαίωση νέου κωδικού πρόσβασης", + "devices_logout_success": "Έχετε αποσυνδεθεί από όλες τις συσκευές και δεν θα λαμβάνετε πλέον ειδοποιήσεις push. Για να ενεργοποιήσετε ξανά τις ειδοποιήσεις, συνδεθείτε ξανά σε κάθε συσκευή.", + "other_devices_logout_warning_1": "Η αποσύνδεση των συσκευών σας θα διαγράψει τα κλειδιά κρυπτογράφησης μηνυμάτων που είναι αποθηκευμένα σε αυτές, καθιστώντας το κρυπτογραφημένο ιστορικό συνομιλιών μη αναγνώσιμο.", + "other_devices_logout_warning_2": "Αν θέλετε να διατηρήσετε πρόσβαση στο ιστορικό των συνομιλιών σας σε κρυπτογραφημένες αίθουσες, ρυθμίστε τη δημιουργία αντιγράφων ασφαλείας κλειδιών ή εξάγετε τα κλειδιά των μηνυμάτων σας από μία από τις άλλες συσκευές σας πριν προχωρήσετε.", "password_not_entered": "Ο νέος κωδικός πρόσβασης πρέπει να εισαχθεί.", "passwords_mismatch": "Οι νέοι κωδικοί πρόσβασης πρέπει να ταιριάζουν.", + "rate_limit_error": "Πάρα πολλές προσπάθειες σε σύντομο χρονικό διάστημα. Περιμένετε λίγο πριν προσπαθήσετε ξανά.", + "rate_limit_error_with_time": "Πάρα πολλές προσπάθειες σε σύντομο χρονικό διάστημα. Δοκιμάστε ξανά μετά από %(timeout)s.", "reset_successful": "Ο κωδικός πρόσβασής σας επαναφέρθηκε.", - "return_to_login": "Επιστροφή στην οθόνη σύνδεσης" + "return_to_login": "Επιστροφή στην οθόνη σύνδεσης", + "sign_out_other_devices": "Αποσύνδεση από όλες τις συσκευές" }, + "reset_password_action": "Επαναφορά κωδικού πρόσβασης", + "reset_password_button": "Ξέχασες τον κωδικό πρόσβασης;", "reset_password_email_field_description": "Χρησιμοποιήστε μια διεύθυνση email για να ανακτήσετε τον λογαριασμό σας", "reset_password_email_field_required_invalid": "Εισαγάγετε τη διεύθυνση email (απαιτείται σε αυτόν τον κεντρικό διακομιστή)", + "reset_password_email_not_associated": "Η διεύθυνση ηλεκτρονικού ταχυδρομείου σας δεν φαίνεται να σχετίζεται με κάποιο αναγνωριστικό Matrix σε αυτόν τον αρχικό διακομιστή.", "reset_password_email_not_found_title": "Δεν βρέθηκε η διεύθυνση ηλ. αλληλογραφίας", + "reset_password_title": "Επαναφέρετε τον κωδικό πρόσβασής σας", "server_picker_custom": "Άλλος κεντρικός διακομιστής", "server_picker_description": "Μπορείτε να χρησιμοποιήσετε τις προσαρμοσμένες επιλογές διακομιστή για να συνδεθείτε σε άλλους διακομιστές Matrix, καθορίζοντας μια διαφορετική διεύθυνση URL του κεντρικού διακομιστή. Αυτό σας επιτρέπει να χρησιμοποιείτε το %(brand)s με έναν υπάρχοντα λογαριασμό Matrix σε διαφορετικό τοπικό διακομιστή.", "server_picker_description_matrix.org": "Συμμετέχετε δωρεάν στον μεγαλύτερο δημόσιο διακομιστή", @@ -264,11 +299,14 @@ "verification_pending_title": "Εκκρεμεί επιβεβαίωση" }, "set_email_prompt": "Θέλετε να ορίσετε μια διεύθυνση ηλεκτρονικής αλληλογραφίας;", + "sign_in_description": "Χρησιμοποιήστε τον λογαριασμό σας για να συνεχίσετε.", + "sign_in_instead": "Συνδεθείτε αντ' αυτού", "sign_in_instead_prompt": "Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ", "sign_in_or_register": "Συνδεθείτε ή Δημιουργήστε Λογαριασμό", "sign_in_or_register_description": "Χρησιμοποιήστε τον λογαριασμό σας ή δημιουργήστε νέο για να συνεχίσετε.", "sign_in_prompt": "Έχετε λογαριασμό; Συνδεθείτε", "sign_in_with_sso": "Συνδεθείτε με απλή σύνδεση", + "signing_in": "Σύνδεση...", "soft_logout": { "clear_data_button": "Εκκαθάριση όλων των δεδομένων", "clear_data_description": "Η εκκαθάριση όλων των δεδομένων από αυτήν τη συνεδρία είναι μόνιμη. Τα κρυπτογραφημένα μηνύματα θα χαθούν εκτός εάν έχουν δημιουργηθεί αντίγραφα ασφαλείας των κλειδιών τους.", @@ -279,19 +317,27 @@ "soft_logout_intro_sso": "Συνδεθείτε και αποκτήστε ξανά πρόσβαση στον λογαριασμό σας.", "soft_logout_intro_unsupported_auth": "Δεν μπορείτε να συνδεθείτε στον λογαριασμό σας. Επικοινωνήστε με τον διαχειριστή του κεντρικού διακομιστή σας για περισσότερες πληροφορίες.", "soft_logout_subheading": "Εκκαθάριση προσωπικών δεδομένων", + "soft_logout_warning": "Προειδοποίηση: τα προσωπικά σας δεδομένα (συμπεριλαμβανομένων των κλειδιών κρυπτογράφησης) εξακολουθούν να είναι αποθηκευμένα σε αυτήν την συνεδρία. Διαγράψτε τα εάν ολοκληρώσατε τη χρήση αυτής της συνεδρίας ή θέλετε να συνδεθείτε σε άλλον λογαριασμό.", + "sso": "Ενιαία Σύνδεση", "sso_complete_in_browser_dialog_title": "Μεταβείτε στο πρόγραμμα περιήγησής σας για να ολοκληρώσετε τη σύνδεση", "sso_failed_missing_storage": "Ζητήσαμε από το πρόγραμμα περιήγησης να θυμάται τον διακομιστή που χρησιμοποιείτε για να συνδέεστε, αλλά το πρόγραμμα περιήγησης δεν το έχει αποθηκεύσει. Πηγαίνετε στην σελίδα σύνδεσεις για να προσπαθήσετε ξανά.", "sso_or_username_password": "%(ssoButtons)s Ή %(usernamePassword)s", "sync_footer_subtitle": "Εάν έχετε συμμετάσχει σε πολλές αίθουσες, αυτό μπορεί να διαρκέσει λίγο", + "syncing": "Συγχρονισμός...", "uia": { "code": "Κωδικός", + "email": "Για να δημιουργήσετε τον λογαριασμό σας, ανοίξτε τον σύνδεσμο στο email που μόλις στείλαμε στο %(emailAddress)s.", "email_auth_header": "Ελέγξτε το email σας για να συνεχίσετε", + "email_resend_prompt": "Δεν το λάβατε; Στείλτε το ξανά", + "email_resent": "Επαναστάλθηκε!", "fallback_button": "Έναρξη πιστοποίησης", "msisdn": "Ένα μήνυμα κειμένου έχει σταλεί στη διεύθυνση %(msisdn)s", "msisdn_token_incorrect": "Εσφαλμένο διακριτικό", "msisdn_token_prompt": "Παρακαλούμε εισάγετε τον κωδικό που περιέχει:", "password_prompt": "Ταυτοποιηθείτε εισάγοντας παρακάτω τον κωδικό πρόσβασης του λογαριασμού σας.", "recaptcha_missing_params": "Λείπει το δημόσιο κλειδί captcha από τη διαμόρφωση του κεντρικού διακομιστή. Αναφέρετε αυτό στον διαχειριστή του.", + "registration_token_label": "Διακριτικό εγγραφής", + "registration_token_prompt": "Εισάγετε ένα διακριτικό εγγραφής που παρέχεται από τον διαχειριστή του αρχικού διακομιστή.", "sso_body": "Επιβεβαιώστε την προσθήκη αυτής της διεύθυνσης ηλ. ταχυδρομείου με την χρήση Single Sign On για να επικυρώσετε την ταυτότητα σας.", "sso_failed": "Κάτι πήγε στραβά στην επιβεβαίωση της ταυτότητάς σας. Ακυρώστε και δοκιμάστε ξανά.", "sso_postauth_body": "Κλικ στο κουμπί παρακάτω για να επιβεβαιώσετε την ταυτότητά σας.", @@ -301,10 +347,13 @@ "terms": "Παρακαλώ διαβάστε και αποδεχτείτε όλες τις πολιτικές αυτού του κεντρικού διακομιστή:", "terms_invalid": "Παρακαλώ διαβάστε και αποδεχτείτε όλες τις πολιτικές του κεντρικού διακομιστή" }, + "unsupported_auth": "Αυτός ο αρχικός διακομιστής δεν προσφέρει καμία ροή σύνδεσης που υποστηρίζεται από αυτήν την εφαρμογή.", "unsupported_auth_email": "Αυτός ο κεντρικός διακομιστής δεν υποστηρίζει σύνδεση με χρήση διεύθυνσης email.", "unsupported_auth_msisdn": "Αυτός ο διακομιστής δεν υποστηρίζει πιστοποίηση με αριθμό τηλεφώνου.", "username_field_required_invalid": "Εισάγετε όνομα χρήστη", - "username_in_use": "Κάποιος έχει ήδη αυτό το όνομα χρήστη, δοκιμάστε ένα άλλο." + "username_in_use": "Κάποιος έχει ήδη αυτό το όνομα χρήστη, δοκιμάστε ένα άλλο.", + "verify_email_explainer": "Πρέπει να γνωρίζουμε ότι είστε εσείς πριν επαναφέρουμε τον κωδικό πρόσβασής σας. Κάντε κλικ στον σύνδεσμο στο email που μόλις στείλαμε στη διεύθυνση %(email)s", + "verify_email_heading": "Επαληθεύστε το email σας για να συνεχίσετε" }, "bug_reporting": { "additional_context": "Εάν υπάρχουν πρόσθετες πληροφορίες που θα βοηθούσαν στην ανάλυση του ζητήματος, όπως τι κάνατε εκείνη τη στιγμή, αναγνωριστικά αιθουσών, αναγνωριστικά χρηστών κ.λπ., συμπεριλάβετέ τα εδώ.", @@ -332,6 +381,7 @@ "uploading_logs": "Μεταφόρτωση αρχείων καταγραφής", "waiting_for_server": "Αναμονή απάντησης από τον διακομιστή" }, + "cannot_invite_without_identity_server": "Δεν είναι δυνατή η πρόσκληση χρήστη μέσω email χωρίς διακομιστή ταυτότητας. Μπορείτε να συνδεθείτε σε έναν από τις \"Ρυθμίσεις\".", "cannot_reach_homeserver": "Δεν είναι δυνατή η πρόσβαση στον κεντρικό διακομιστή", "cannot_reach_homeserver_detail": "Βεβαιωθείτε ότι έχετε σταθερή σύνδεση στο διαδίκτυο ή επικοινωνήστε με τον διαχειριστή του διακομιστή", "cant_load_page": "Δεν ήταν δυνατή η φόρτωση της σελίδας", @@ -362,6 +412,7 @@ "are_you_sure": "Είστε σίγουροι;", "attachment": "Επισύναψη", "authentication": "Πιστοποίηση", + "avatar": "Εικόνα Προφίλ", "beta": "Beta", "camera": "Κάμερα", "cameras": "Κάμερες", @@ -444,6 +495,7 @@ "room": "Αίθουσα", "room_name": "Όνομα αίθουσας", "rooms": "Αίθουσες", + "saving": "Γίνεται αποθήκευση...", "secure_backup": "Ασφαλές αντίγραφο ασφαλείας", "select_all": "Επιλογή όλων", "server": "Διακομιστής", @@ -463,6 +515,7 @@ "thread": "Νήμα", "threads": "Νήμα εκτέλεσης", "timeline": "Χρονολόγιο", + "unavailable": "μη διαθέσιμο", "unencrypted": "Μη κρυπτογραφημένο", "unmute": "Άρση σίγασης", "unnamed_room": "Ανώνυμη αίθουσα", @@ -532,6 +585,7 @@ "create_room": { "action_create_room": "Δημιουργία δωματίου", "action_create_video_room": "Δημιουργία δωματίου βίντεο", + "encrypted_video_room_warning": "Δεν μπορείτε να το απενεργοποιήσετε αργότερα. Η αίθουσα θα κρυπτογραφηθεί, αλλά η ενσωματωμένη κλήση όχι.", "encrypted_warning": "Δεν μπορείτε να το απενεργοποιήσετε αργότερα. Οι γέφυρες και τα περισσότερα ρομπότ δεν μπορούν να λειτουργήσουν ακόμα.", "encryption_forced": "Ο διακομιστής σας απαιτεί την ενεργοποίηση της κρυπτογράφησης σε ιδιωτικά δωμάτια.", "encryption_label": "Ενεργοποίηση κρυπτογράφησης από άκρο-σε-άκρο", @@ -540,6 +594,7 @@ "join_rule_change_notice": "Μπορείτε να το αλλάξετε ανά πάσα στιγμή από τις ρυθμίσεις δωματίου.", "join_rule_invite": "Ιδιωτικό δωμάτιο (μόνο με πρόσκληση)", "join_rule_invite_label": "Μόνο τα άτομα που έχουν προσκληθεί θα μπορούν να βρουν και να εγγραφούν σε αυτό τον δωμάτιο.", + "join_rule_knock_label": "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει, αλλά οι διαχειριστές ή οι συντονιστές πρέπει να χορηγήσουν πρόσβαση. Μπορείτε να το αλλάξετε αργότερα.", "join_rule_public_label": "Οποιοσδήποτε θα μπορεί να βρει και να εγγραφεί σε αυτό το δωμάτιο.", "join_rule_public_parent_space_label": "Οποιοσδήποτε θα μπορεί να βρει και να εγγραφεί σε αυτόν τον χώρο, όχι μόνο μέλη του .", "join_rule_restricted": "Ορατό στα μέλη του χώρου", @@ -711,6 +766,7 @@ "cancel_search_label": "Ακύρωση αναζήτησης" }, "empty_room": "Άδειο δωμάτιο", + "empty_room_was_name": "Άδεια αίθουσα (ήταν %(oldName)s)", "encryption": { "access_secret_storage_dialog": { "key_validation_text": { @@ -881,6 +937,7 @@ "unknown_error_code": "άγνωστος κωδικός σφάλματος", "update_power_level": "Δεν ήταν δυνατή η αλλαγή του επιπέδου δύναμης" }, + "error_database_closed_title": "Το %(brand)s σταμάτησε να λειτουργεί", "error_dialog": { "copy_room_link_failed": { "description": "Αδυναμία αντιγραφής στο πρόχειρο του συνδέσμου δωματίου.", @@ -889,6 +946,7 @@ "error_loading_user_profile": "Αδυναμία φόρτωσης του προφίλ χρήστη", "forget_room_failed": "Δεν ήταν δυνατή η διαγραφή του δωματίου (%(errCode)s)" }, + "error_user_not_logged_in": "Ο χρήστης δεν είναι συνδεδεμένος", "event_preview": { "m.call.answer": { "dm": "Κλήση σε εξέλιξη", @@ -1042,7 +1100,11 @@ "impossible_dialog_title": "Δεν επιτρέπονται πρόσθετα" }, "invite": { + "ask_anyway_description": "Δεν είναι δυνατή η εύρεση προφίλ για τα αναγνωριστικά Matrix που αναφέρονται παρακάτω - θα θέλατε να ξεκινήσετε μία συνομιλία ούτως ή άλλως;", + "ask_anyway_label": "Έναρξη συνομιλίας ούτως ή άλλως", + "ask_anyway_never_warn_label": "Έναρξη συνομιλίας ούτως ή άλλως και μην με προειδοποιήσετε ξανά", "email_caption": "Πρόσκληση μέσω email", + "email_limit_one": "Οι προσκλήσεις μέσω email μπορούν να αποστέλλονται μόνο μία κάθε φορά", "email_use_default_is": "Χρησιμοποιήστε έναν διακομιστή ταυτότητας για πρόσκληση μέσω email. Χρησιμοποιήστε τον προεπιλεγμένο (%(defaultIdentityServerName)s) ή διαμορφώστε στις Ρυθμίσεις.", "email_use_is": "Χρησιμοποιήστε έναν διακομιστή ταυτότητας για πρόσκληση μέσω email. Διαχείριση στις Ρυθμίσεις.", "error_already_invited_room": "Ο χρήστης έχει ήδη προσκληθεί στο δωμάτιο", @@ -1087,7 +1149,13 @@ "unable_find_profiles_description_default": "Δεν είναι δυνατή η εύρεση προφίλ για τα αναγνωριστικά Matrix που αναφέρονται παρακάτω - θα θέλατε να τα προσκαλέσετε ούτως ή άλλως;", "unable_find_profiles_invite_label_default": "Πρόσκληση ούτως ή άλλως", "unable_find_profiles_invite_never_warn_label_default": "Προσκαλέστε ούτως ή άλλως και μην με προειδοποιήσετε ποτέ ξανά", - "unable_find_profiles_title": "Οι παρακάτω χρήστες ενδέχεται να μην υπάρχουν" + "unable_find_profiles_title": "Οι παρακάτω χρήστες ενδέχεται να μην υπάρχουν", + "unban_first_title": "Δεν είναι δυνατή η πρόσκληση χρήστη μέχρι να αρθεί ο αποκλεισμός του" + }, + "inviting_user1_and_user2": "Πρόσκληση %(user1)s και %(user2)s", + "inviting_user_and_n_others": { + "one": "Πρόσκληση %(user)s και ενός άλλου", + "other": "Πρόσκληση %(user)s και %(count)s άλλων" }, "items_and_n_others": { "one": " και ένα ακόμα", @@ -1880,7 +1948,9 @@ "error_power_level_invalid": "Το επίπεδο δύναμης πρέπει να είναι ένας θετικός ακέραιος.", "error_room_not_visible": "Η αίθουσα %(roomId)s δεν είναι ορατή", "error_room_unknown": "Αυτό το δωμάτιο δεν αναγνωρίζεται.", - "error_send_request": "Δεν ήταν δυνατή η αποστολή αιτήματος." + "error_send_request": "Δεν ήταν δυνατή η αποστολή αιτήματος.", + "failed_read_event": "Αποτυχία ανάγνωσης συμβάντων", + "failed_send_event": "Αποτυχία αποστολής συμβάντος" }, "server_offline": { "description": "Ο διακομιστής σας δεν ανταποκρίνεται σε ορισμένα από τα αιτήματά σας. Παρακάτω είναι μερικοί από τους πιο πιθανούς λόγους.", @@ -2026,9 +2096,13 @@ "cannot_create_backup": "Δεν είναι δυνατή η δημιουργία αντιγράφου ασφαλείας κλειδιού", "create_title": "Δημιουργία αντιγράφου ασφαλείας κλειδιού", "setup_secure_backup": { + "backup_setup_success_description": "Τώρα δημιουργούνται αντίγραφα ασφαλείας των κλειδιών σας από αυτήν τη συσκευή.", + "backup_setup_success_title": "Επιτυχής δημιουργία ασφαλούς αντιγράφου ασφαλείας", "cancel_warning": "Εάν ακυρώσετε τώρα, ενδέχεται να χάσετε κρυπτογραφημένα μηνύματα και δεδομένα εάν χάσετε την πρόσβαση στα στοιχεία σύνδεσής σας.", "confirm_security_phrase": "Επιβεβαιώστε τη Φράση Ασφαλείας σας", "description": "Προστατευτείτε από την απώλεια πρόσβασης σε κρυπτογραφημένα μηνύματα και δεδομένα, δημιουργώντας αντίγραφα ασφαλείας των κλειδιών κρυπτογράφησης στον διακομιστή σας.", + "download_or_copy": "%(downloadButton)s ή %(copyButton)s", + "enter_phrase_description": "Εισαγάγετε μια φράση ασφαλείας που γνωρίζετε μόνο εσείς, καθώς χρησιμοποιείται για την προστασία των δεδομένων σας. Για να είστε ασφαλείς, δεν πρέπει να χρησιμοποιήσετε ξανά τον κωδικό πρόσβασης του λογαριασμού σας.", "enter_phrase_title": "Εισαγάγετε τη Φράση Ασφαλείας", "enter_phrase_to_confirm": "Εισαγάγετε τη Φράση Ασφαλείας σας για δεύτερη φορά για να την επιβεβαιώσετε.", "generate_security_key_description": "Θα δημιουργήσουμε ένα κλειδί ανάκτησης για να το αποθηκεύσετε σε ασφαλές μέρος, όπως έναν διαχειριστή κωδικών πρόσβασης ή ένα χρηματοκιβώτιο.", @@ -2037,11 +2111,11 @@ "pass_phrase_match_success": "Ταιριάζει!", "phrase_strong_enough": "Τέλεια! Αυτή η Φράση Ασφαλείας φαίνεται αρκετά ισχυρή.", "secret_storage_query_failure": "Δεν είναι δυνατή η υποβολή ερωτήματος για την κατάσταση του μυστικού χώρου αποθήκευσης", - "security_key_safety_reminder": "Αποθηκεύστε το Κλειδί ασφαλείας σας σε ασφαλές μέρος, όπως έναν διαχείριστη κωδικών πρόσβασης ή ένα χρηματοκιβώτιο, καθώς χρησιμοποιείται για την προστασία των κρυπτογραφημένων δεδομένων σας.", + "security_key_safety_reminder": "Αποθηκεύστε το Κλειδί Ανάκτησης σε ασφαλές μέρος, όπως έναν διαχειριστή κωδικών πρόσβασης ή ένα χρηματοκιβώτιο, καθώς χρησιμοποιείται για την προστασία των κρυπτογραφημένων δεδομένων σας.", "set_phrase_again": "Επιστρέψτε για να το ρυθμίσετε ξανά.", "settings_reminder": "Μπορείτε επίσης να ρυθμίσετε το Ασφαλές αντίγραφο ασφαλείας και να διαχειριστείτε τα κλειδιά σας στις Ρυθμίσεις.", "title_confirm_phrase": "Επιβεβαίωση Φράσης Ασφαλείας", - "title_save_key": "Αποθηκεύστε το κλειδί ασφαλείας σας", + "title_save_key": "Αποθηκεύστε το Κλειδί Ανάκτησης", "title_set_phrase": "Ορίστε μια Φράση Ασφαλείας", "unable_to_setup": "Δεν είναι δυνατή η ρύθμιση του μυστικού χώρου αποθήκευσης", "use_different_passphrase": "Να χρησιμοποιηθεί διαφορετική φράση;", @@ -2052,13 +2126,15 @@ "confirm_passphrase": "Επιβεβαίωση συνθηματικού", "enter_passphrase": "Εισαγωγή συνθηματικού", "export_description_1": "Αυτή η διαδικασία σας επιτρέπει να εξαγάγετε τα κλειδιά για τα μηνύματα που έχετε λάβει σε κρυπτογραφημένα δωμάτια σε ένα τοπικό αρχείο. Στη συνέχεια, θα μπορέσετε να εισάγετε το αρχείο σε άλλο πρόγραμμα του Matrix, έτσι ώστε το πρόγραμμα να είναι σε θέση να αποκρυπτογραφήσει αυτά τα μηνύματα.", + "export_description_2": "Το εξαγόμενο αρχείο θα επιτρέψει σε οποιονδήποτε μπορεί να το διαβάσει να αποκρυπτογραφήσει τυχόν κρυπτογραφημένα μηνύματα που μπορείτε να δείτε, οπότε θα πρέπει να είστε προσεκτικοί για να το διατηρήσετε ασφαλές. Για να βοηθήσετε σε αυτό, θα πρέπει να εισαγάγετε μια μοναδική φράση πρόσβασης παρακάτω, η οποία θα χρησιμοποιηθεί μόνο για την κρυπτογράφηση των εξαγόμενων δεδομένων. Η εισαγωγή των δεδομένων θα είναι δυνατή μόνο χρησιμοποιώντας την ίδια φράση πρόσβασης.", "export_title": "Εξαγωγή κλειδιών δωματίου", "file_to_import": "Αρχείο για εισαγωγή", "import_description_1": "Αυτή η διαδικασία σας επιτρέπει να εισαγάγετε κλειδιά κρυπτογράφησης που έχετε προηγουμένως εξάγει από άλλο πρόγραμμα του Matrix. Στη συνέχεια, θα μπορέσετε να αποκρυπτογραφήσετε τυχόν μηνύματα που το άλλο πρόγραμμα θα μπορούσε να αποκρυπτογραφήσει.", "import_description_2": "Το αρχείο εξαγωγής θα είναι προστατευμένο με συνθηματικό. Θα χρειαστεί να πληκτρολογήσετε το συνθηματικό εδώ για να αποκρυπτογραφήσετε το αρχείο.", "import_title": "Εισαγωγή κλειδιών δωματίου", "phrase_cannot_be_empty": "Το συνθηματικό δεν πρέπει να είναι κενό", - "phrase_must_match": "Δεν ταιριάζουν τα συνθηματικά" + "phrase_must_match": "Δεν ταιριάζουν τα συνθηματικά", + "phrase_strong_enough": "Υπέροχα! Αυτή η φράση πρόσβασης φαίνεται αρκετά ισχυρή" }, "keyboard": { "title": "Πληκτρολόγιο" @@ -3010,6 +3086,8 @@ "truncated_list_n_more": { "other": "Και %(count)s ακόμα..." }, + "unsupported_server_description": "Αυτός ο διακομιστής χρησιμοποιεί μια παλαιότερη έκδοση του Matrix. Αναβαθμίστε σε Matrix %(version)s στο Matrix για να χρησιμοποιήσετε το %(brand)s χωρίς σφάλματα.", + "unsupported_server_title": "Ο διακομιστής σας δεν υποστηρίζεται", "update": { "changelog": "Αλλαγές", "check_action": "Έλεγχος για ενημέρωση", @@ -3122,6 +3200,7 @@ "call_held": "%(peerName)s έβαλε την κλήση σε αναμονή", "call_held_resume": "Έχετε βάλει την κλήση σε αναμονή Επαναφορά", "call_held_switch": "Έχετε βάλει την κλήση σε αναμονή Switch", + "call_toast_unknown_room": "Άγνωστη αίθουσα", "camera_disabled": "Η κάμερά σας είναι απενεργοποιημένη", "camera_enabled": "Η κάμερά σας είναι ακόμα ενεργοποιημένη", "cannot_call_yourself_description": "Δεν μπορείτε να καλέσετε τον εαυτό σας.", @@ -3134,19 +3213,30 @@ "dialpad": "Πληκτρολόγιο κλήσης", "disable_camera": "Απενεργοποίηση κάμερας", "disable_microphone": "Σίγαση μικροφώνου", + "disabled_no_one_here": "Δεν υπάρχει κανείς εδώ για να καλέσετε", + "disabled_no_perms_start_video_call": "Δεν έχετε δικαίωμα έναρξης βιντεοκλήσεων", + "disabled_no_perms_start_voice_call": "Δεν έχετε δικαίωμα έναρξης φωνητικών κλήσεων", + "disabled_ongoing_call": "Κλήση σε εξέλιξη", "enable_camera": "Ενεργοποίηση κάμερας", "enable_microphone": "Κατάργηση σίγασης μικροφώνου", "expand": "Επιστροφή στην κλήση", "hangup": "Κλείσιμο", "hide_sidebar_button": "Απόκρυψη πλαϊνής μπάρας", "input_devices": "Συσκευές εισόδου", + "join_button_tooltip_call_full": "Λυπούμαστε — αυτή η κλήση είναι πλήρης αυτήν τη στιγμή", "maximise": "Γέμισμα οθόνης", "misconfigured_server": "Η κλήση απέτυχε λόγω της λανθασμένης διάρθρωσης του διακομιστή", "misconfigured_server_description": "Παρακαλείστε να ρωτήσετε τον διαχειριστή του κεντρικού διακομιστή σας (%(homeserverDomain)s) να ρυθμίσουν έναν διακομιστή πρωτοκόλλου TURN ώστε οι κλήσεις να λειτουργούν απρόσκοπτα.", + "misconfigured_server_fallback": "Εναλλακτικά, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε τον δημόσιο διακομιστή στη διεύθυνση , αλλά αυτό δεν θα είναι τόσο αξιόπιστο και θα κοινοποιήσει τη διεύθυνση IP σας σε αυτόν τον διακομιστή. Μπορείτε επίσης να το διαχειριστείτε αυτό στις Ρυθμίσεις.", + "misconfigured_server_fallback_accept": "Δοκιμάστε να χρησιμοποιήσετε το %(server)s", "more_button": "Περισσότερα", "msisdn_lookup_failed": "Αδυναμία αναζήτησης αριθμού τηλεφώνου", "msisdn_lookup_failed_description": "Υπήρξε ένα σφάλμα κατά την αναζήτηση αριθμού τηλεφώνου", "msisdn_transfer_failed": "Αδυναμία μεταφοράς κλήσης", + "n_people_joined": { + "one": "%(count)s άτομο εντάχθηκε", + "other": "%(count)s άτομα εντάχθηκαν" + }, "no_audio_input_description": "Δε βρέθηκε μικρόφωνο στη συσκευή σας. Παρακαλώ ελέγξτε τις ρυθμίσεις σας και δοκιμάστε ξανά.", "no_audio_input_title": "Δε βρέθηκε μικρόφωνο", "no_media_perms_description": "Μπορεί να χρειαστεί να ορίσετε χειροκίνητα την πρόσβαση του %(brand)s στο μικρόφωνο/κάμερα", @@ -3276,10 +3366,12 @@ "error_loading": "Σφάλμα φόρτωσης Μικροεφαρμογής", "error_mixed_content": "Σφάλμα - Μικτό περιεχόμενο", "error_need_invite_permission": "Για να το κάνετε αυτό πρέπει να έχετε τη δυνατότητα να προσκαλέσετε χρήστες.", + "error_need_kick_permission": "Πρέπει να έχετε τη δυνατότητα να διώξετε χρήστες για να το κάνετε αυτό.", "error_need_to_be_logged_in": "Πρέπει να είστε συνδεδεμένος.", "error_unable_start_audio_stream_description": "Δεν είναι δυνατή η έναρξη ροής ήχου.", "error_unable_start_audio_stream_title": "Η έναρξη της ζωντανής ροής απέτυχε", - "modal_data_warning": "Τα δεδομένα σε αυτήν την οθόνη μοιράζονται με το %(widgetDomain)s", + "modal_data_warning": "Τα παρακάτω δεδομένα μοιράζονται με %(widgetDomain)s", + "modal_title_default": "Modal Widget", "no_name": "Άγνωστη εφαρμογή", "open_id_permissions_dialog": { "remember_selection": "Να το θυμάσαι αυτό", @@ -3287,15 +3379,20 @@ "title": "Επιτρέψτε σε αυτήν τη μικροεφαρμογή να επαληθεύσει την ταυτότητά σας" }, "popout": "Αναδυόμενη μικροεφαρμογή", - "set_room_layout": "Ορίστε τη διάταξη του δωματίου μου για όλους", + "set_room_layout": "Ορισμός διάταξης για όλους", + "shared_data_avatar": "URL της εικόνας προφίλ σας", + "shared_data_device_id": "Το αναγνωριστικό της συσκευής σας", + "shared_data_lang": "Η γλώσσα σας", "shared_data_mxid": "Το αναγνωριστικό (ID) χρήστη σας", "shared_data_name": "Το εμφανιζόμενο όνομά σας", "shared_data_room_id": "ID Δωματίου", "shared_data_theme": "Το θέμα εμφάνισης", + "shared_data_url": "%(brand)s URL", "shared_data_warning": "Η χρήση αυτής της μικροεφαρμογής ενδέχεται να μοιράζεται δεδομένα με %(widgetDomain)s.", "shared_data_warning_im": "Η χρήση αυτής της μικροεφαρμογής μπορεί να μοιραστεί δεδομένα με το %(widgetDomain)s και τον διαχειριστή πρόσθετων.", "shared_data_widget_id": "Ταυτότητα μικροεφαρμογής", "unencrypted_warning": "Οι μικροεοεφαρμογές δε χρησιμοποιούν κρυπτογράφηση μηνυμάτων.", + "unmaximise": "Απο-μεγιστοποίηση", "unpin_to_view_right_panel": "Ξεκαρφιτσώστε αυτήν τη μικροεφαρμογή για να την προβάλετε σε αυτόν τον πίνακα" }, "zxcvbn": { diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 24f5661733..2a7d84d761 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -2066,6 +2066,7 @@ "read_topic": "Teema lugemiseks klõpsi", "rejecting": "Hülgan kutset…", "rejoin_button": "Liitu uuesti", + "room_content": "Jututoa sisu", "room_is_low_priority": "See on vähetähtis jututuba", "search": { "all_rooms_button": "Otsi kõikidest jututubadest", diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index 331a1a597e..fb65e6a4b0 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -2059,6 +2059,7 @@ "read_topic": "Klik untuk membaca topik", "rejecting": "Menolak undangan…", "rejoin_button": "Bergabung Ulang", + "room_content": "Isi ruangan", "room_is_low_priority": "Ini adalah ruangan dengan prioritas rendah", "search": { "all_rooms_button": "Cari semua ruangan", diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index ce09d10a57..84c330b086 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -356,7 +356,7 @@ "set_email_prompt": "Czy chcesz ustawić adres e-mail?", "sign_in_description": "Użyj swojego konta, aby kontynuować.", "sign_in_instead": "Zamiast tego zaloguj się", - "sign_in_instead_prompt": "Masz już konto? Zaloguj się tutaj", + "sign_in_instead_prompt": "Masz już konto? Zaloguj się tutaj ", "sign_in_or_register": "Zaloguj się lub utwórz konto", "sign_in_or_register_description": "Użyj konta lub utwórz nowe, aby kontynuować.", "sign_in_prompt": "Posiadasz już konto? Zaloguj się", @@ -917,7 +917,7 @@ "encryption": { "access_secret_storage_dialog": { "key_validation_text": { - "wrong_security_key": "Błędny klucz przywracania" + "wrong_security_key": "Wprowadzony klucz przywracania nie jest poprawny." }, "restoring": "Przywracanie kluczy z kopii zapasowej", "security_key_title": "Klucz przywracania" @@ -1650,7 +1650,7 @@ }, "member_list_back_action_label": "Członkowie pokoju", "message_edit_dialog_title": "Edycje wiadomości", - "migrating_crypto": "Trzymaj się mocno. Aktualizujemy %(brand)s, aby szyfrowanie było szybsze i bardziej niezawodne.", + "migrating_crypto": "Spokojnie. Aktualizujemy %(brand)s, aby szyfrowanie było szybsze i bardziej niezawodne.", "mobile_guide": { "toast_accept": "Użyj aplikacji", "toast_description": "%(brand)s jest eksperymentalne na przeglądarce mobilnej. Dla lepszego doświadczenia i najnowszych funkcji użyj naszej darmowej natywnej aplikacji.", @@ -4112,7 +4112,7 @@ "error_need_to_be_logged_in": "Musisz być zalogowany.", "error_unable_start_audio_stream_description": "Nie można rozpocząć przesyłania strumienia audio.", "error_unable_start_audio_stream_title": "Nie udało się rozpocząć transmisji na żywo", - "modal_data_warning": "Poniższe dane są współdzielone z %(widgetDomain)s", + "modal_data_warning": "Poniższe dane są udostępniane z %(widgetDomain)s", "modal_title_default": "Widżet modalny", "no_name": "Nieznana aplikacja", "open_id_permissions_dialog": { diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 126a915ca1..b659545437 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -12,6 +12,18 @@ "one": "1 непрочитанное упоминание." }, "recent_rooms": "Недавние комнаты", + "room_messsage_not_sent": "Открыть комнату %(roomName)s с неотправленным сообщением.", + "room_n_unread_invite": "Открыть приглашение в комнату %(roomName)s.", + "room_n_unread_messages": { + "one": "Открыть комнату %(roomName)s с 1 непрочитанным сообщением.", + "few": "Открыть комнату %(roomName)s с %(count)s непрочитанными сообщениями.", + "many": "Открыть комнату %(roomName)s с %(count)s непрочитанными сообщениями." + }, + "room_n_unread_messages_mentions": { + "one": "Открыть комнату %(roomName)s с 1 непрочитанным упоминанием.", + "few": "Открыть комнату %(roomName)s с %(count)s непрочитанными упоминаниями.", + "many": "Открыть комнату %(roomName)s с %(count)s непрочитанными упоминаниями." + }, "room_name": "Комната %(name)s", "room_status_bar": "Строка состояния комнаты", "seek_bar_label": "Панель поиска аудио", @@ -742,6 +754,7 @@ }, "decline_invitation_dialog": { "confirm": "Вы действительно хотите отклонить приглашение присоединиться \"%(roomName)s\"?", + "ignore_user_help": "Вы не увидите сообщений или приглашений в комнату от этого пользователя.", "reason_description": "Опишите причину сообщения о проблеме.", "report_room_description": "Сообщите об этой комнате своему поставщику учетной записи.", "title": "Отклонить приглашение" @@ -967,6 +980,8 @@ "setup_secure_backup": { "explainer": "Перед выходом сохраните резервную копию ключей шифрования, чтобы не потерять их." }, + "turn_on_key_storage": "Включить хранилище ключей", + "turn_on_key_storage_description": "Безопасно храните свои криптографические идентификационные данные и ключи сообщений на сервере. Это позволит вам просматривать историю сообщений на любых новых устройствах.", "udd": { "interactive_verification_button": "Интерактивная сверка по смайлам", "other_ask_verify_text": "Попросите этого пользователя подтвердить сеанс или подтвердите его вручную ниже.", @@ -1008,7 +1023,12 @@ "failure_description": "Не удалось проверить '%(deviceId)s': %(error)s", "failure_title": "Сбой проверки", "fingerprint": "Отпечаток пальца (ключ сессии)", - "success_title": "Проверка прошла успешно" + "no_crypto": "Невозможно проверить устройство — шифрование не включено", + "no_device": "Не удалось проверить устройство — устройство %(deviceId)s '' не найдено", + "no_userid": "Невозможно проверить устройство — не удается найти идентификатор пользователя", + "success_description": "Теперь устройство (%(deviceId)s) имеет перекрестную подпись", + "success_title": "Проверка прошла успешно", + "text": "Предоставьте идентификатор и отпечаток пальца одного из ваших устройств, чтобы подтвердить это. ПРИМЕЧАНИЕ. Это позволяет другому устройству отправлять и получать сообщения так же, как и вы. ЕСЛИ КТО-ТО СКАЗАЛ ВАМ ЧТО-ТО ВСТАВИТЬ СЮДА, СКОРЕЕ ВСЕГО, ВАС ОБМАНУЛИ!" }, "no_key_or_device": "Похоже, у вас нет Ключа Восстановления, или других сеансов, с которыми вы могли бы свериться. В этом сеансе вы не сможете получить доступ к старым зашифрованным сообщениям. Чтобы подтвердить свою личность в этом сеансе, вам нужно будет сбросить свои ключи шифрования.", "no_support_qr_emoji": "Устройство, которое вы пытаетесь проверить, не поддерживает сканирование QR-кода или проверку смайликов, которые поддерживает %(brand)s. Попробуйте использовать другой клиент.", @@ -1663,6 +1683,7 @@ "class_global": "Глобально", "class_other": "Другие", "default": "По умолчанию", + "default_settings": "Соответствует настройкам по умолчанию", "email_pusher_app_display_name": "Уведомления по электронной почте", "enable_prompt_toast_description": "Включить уведомления на рабочем столе", "enable_prompt_toast_title": "Уведомления", @@ -1681,7 +1702,8 @@ "mentions_and_keywords_description": "Получать уведомления только по упоминаниям и ключевым словам, установленным в ваших настройках", "mentions_keywords": "Упоминания и ключевые слова", "message_didnt_send": "Сообщение не отправлено. Нажмите для получения информации.", - "mute_description": "Вы не будете получать никаких уведомлений" + "mute_description": "Вы не будете получать никаких уведомлений", + "mute_room": "Заглушить комнату" }, "notifier": { "m.key.verification.request": "%(name)s запрашивает проверку" @@ -1805,6 +1827,10 @@ "spam_or_propaganda": "Спам или пропаганда", "toxic_behaviour": "Токсичное поведение" }, + "report_room": { + "description": "Сообщите об этой комнате вашему провайдеру аккаунта. Если сообщения зашифрованы, ваш администратор не сможет их прочитать.", + "reason_label": "Опишите причину" + }, "restore_key_backup_dialog": { "count_of_decryption_failures": "Не удалось расшифровать сеансы (%(failedCount)s)!", "count_of_successfully_restored_keys": "Успешно восстановлены ключи (%(sessionCount)s)", @@ -1956,6 +1982,7 @@ }, "face_pile_tooltip_shortcut": "Включая %(commaSeparatedMembers)s", "face_pile_tooltip_shortcut_joined": "Включая вас, %(commaSeparatedMembers)s", + "failed_determine_user": "Не удается определить, какого пользователя следует игнорировать, так как событие участника изменилось.", "failed_reject_invite": "Не удалось отклонить приглашение", "forget_room": "Забыть эту комнату", "forget_space": "Забыть это пространство", @@ -2048,6 +2075,8 @@ "read_topic": "Нажмите, чтобы увидеть тему", "rejecting": "Отклонение приглашения…", "rejoin_button": "Пере-присоединение", + "room_content": "Содержимое комнаты", + "room_is_low_priority": "Это комната с низким приоритетом.", "search": { "all_rooms_button": "Поиск по всем комнатам", "placeholder": "Поиск сообщений...", @@ -2088,6 +2117,7 @@ }, "uploading_single_file": "Отправка %(filename)s" }, + "video_room": "Эта комната представляет собой видеозал", "waiting_for_join_subtitle": "Как только приглашенные пользователи присоединятся %(brand)s, вы сможете общаться в чате, а комната будет полностью зашифрована", "waiting_for_join_title": "Ожидание присоединения пользователей %(brand)s" }, @@ -2096,27 +2126,36 @@ "add_space_label": "Добавить пространство", "breadcrumbs_empty": "Нет недавно посещенных комнат", "breadcrumbs_label": "Недавно посещённые комнаты", + "collapse_filters": "Свернуть список фильтров", "empty": { "no_chats": "Пока нет доступных чатов", "no_chats_description": "Начните с отправки сообщений или создания комнаты", "no_chats_description_no_room_rights": "Начните переписку с отправки сообщения", "no_favourites": "У вас пока нет чатов в Избранное", "no_favourites_description": "Вы можете добавить в Избранное в настройках чата", + "no_invites": "У вас нет непрочитанных приглашений", + "no_lowpriority": "У вас нет комнат с низким приоритетом", + "no_mentions": "У вас нет непрочитанных упоминаний", "no_people": "У вас пока нет личных чатов", "no_people_description": "Вы можете убрать фильтры, чтобы увидеть другие ваши чаты", "no_rooms": "Вы еще не находитесь ни в одной комнате", "no_rooms_description": "Вы можете убрать фильтры, чтобы увидеть другие ваши чаты", "no_unread": "Поздравляю! У вас нет непрочитанных сообщений", + "show_activity": "Посмотреть всю активность", "show_chats": "Показать все чаты" }, + "expand_filters": "Развернуть список фильтров", "failed_add_tag": "Не удалось добавить тег %(tagName)s в комнату", "failed_remove_tag": "Не удалось удалить тег %(tagName)s из комнаты", "failed_set_dm_tag": "Не удалось установить метку личного сообщения", "filters": { "favourite": "Избранное", + "invites": "Приглашения", + "low_priority": "Низкий приоритет", + "mentions": "Упоминания", "people": "Люди", "rooms": "Комнаты", - "unread": "Непрочитанное" + "unread": "Непрочитанные" }, "home_menu_label": "Параметры раздела \"Главная\"", "join_public_room_label": "Присоединиться к публичной комнате", @@ -2149,9 +2188,14 @@ "one": "Показать ещё %(count)s" }, "show_previews": "Показывать последнее сообщение", + "sort": "Сортировать", "sort_by": "Сортировать", "sort_by_activity": "По активности", "sort_by_alphabet": "А-Я", + "sort_type": { + "activity": "Активность", + "atoz": "А-Я" + }, "sort_unread_first": "Комнаты с непрочитанными сообщениями в начале", "space_menu_label": "Меню %(spaceName)s", "sublist_options": "Настройки списка", @@ -2385,7 +2429,7 @@ "public_without_alias_warning": "Для связи с этой комнатой, пожалуйста, добавьте адрес.", "publish_room": "Сделать эту комнату видимой в каталоге общественных комнат.", "publish_space": "Сделайте это пространство видимым в каталоге общественных комнат.", - "strict_encryption": "Никогда не отправлять зашифрованные сообщения непроверенным сеансам в этой комнате и через этот сеанс", + "strict_encryption": "Отправляйте сообщения только проверенным пользователям.", "title": "Безопасность" }, "title": "Настройки комнаты — %(roomName)s", @@ -2721,6 +2765,13 @@ "labs_mjolnir": { "dialog_title": "Настройки: Игнорируемые пользователи" }, + "media_preview": { + "hide_avatars": "Скрыть аватары комнаты и приглашающего", + "hide_media": "Всегда скрывать", + "show_in_private": "В личных комнатах", + "show_media": "Всегда показывать" + }, + "not_supported": "На вашем сервере эта функция не реализована.", "notifications": { "default_setting_description": "Эта настройка будет применена по умолчанию ко всем вашим комнатам.", "default_setting_section": "Я хочу получать уведомления о (настройка по умолчанию)", @@ -2957,6 +3008,7 @@ "show_chat_effects": "Эффекты (анимация при получении, например, конфетти)", "show_displayname_changes": "Изменения отображаемого имени", "show_join_leave": "Сообщения о присоединении/покидании (приглашения/удаления/блокировки не затрагиваются)", + "show_message_previews": "Показать предварительный просмотр сообщений", "show_nsfw_content": "Показать NSFW-контент", "show_read_receipts": "Уведомления о прочтении другими пользователями", "show_redaction_placeholder": "Плашки вместо удалённых сообщений", diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 84deb17d98..ead0458034 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -386,6 +386,7 @@ "fallback_button": "Starta autentisering", "mas_cross_signing_reset_cta": "Gå till ditt konto", "mas_cross_signing_reset_description": "Återställ din identitet via din kontoleverantör och kom sedan tillbaka och klicka på ”Försök igen”.", + "mas_cross_signing_reset_title": "Gå till ditt konto för att återställa din identitet", "msisdn": "Ett SMS har skickats till %(msisdn)s", "msisdn_token_incorrect": "Felaktig token", "msisdn_token_prompt": "Vänligen ange koden det innehåller:", @@ -2610,6 +2611,7 @@ "discovery_needs_terms_title": "Låt andra hitta dig", "display_name": "Visningsnamn", "display_name_error": "Det gick inte att ställa in visningsnamn", + "email_adding_unsupported_by_hs": "Den här hemservern stöder inte att lägga till e-postadresser till ditt konto.", "email_address_in_use": "Den här e-postadressen används redan", "email_address_label": "E-postadress", "email_not_verified": "Din e-postadress har inte verifierats än", @@ -2634,7 +2636,9 @@ "error_share_msisdn_discovery": "Kunde inte dela telefonnummer", "identity_server_no_token": "Ingen identitetsåtkomsttoken hittades", "identity_server_not_set": "Identitetsserver inte inställd", + "invalid_phone_number": "Det angivna telefonnumret verkar inte vara giltigt.", "language_section": "Språk", + "msisdn_adding_unsupported_by_hs": "Den här hemservern stöder inte att lägga till telefonnummer till ditt konto.", "msisdn_in_use": "Detta telefonnummer används redan", "msisdn_label": "Telefonnummer", "msisdn_verification_field_label": "Verifieringskod", diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index 6be282da55..de0e6c6a06 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -788,6 +788,7 @@ "cross_signing_status": "Стан перехресного підписування:", "cross_signing_untrusted": "Ваш обліковий запис має ідентичність із перехресним підписом у таємному сховищі, але цей сеанс ще не довіряє їй.", "crypto_not_available": "Криптографічний модуль недоступний", + "device_id": "ID пристрою", "key_backup_active_version": "Активна версія резервної копії:", "key_backup_active_version_none": "Немає", "key_backup_inactive_warning": "Резервне копіювання ваших ключів із цього сеансу не виконується.", @@ -800,6 +801,7 @@ "secret_storage_ready": "готовий", "secret_storage_status": "Таємне сховище:", "self_signing_private_key_cached_status": "Самопідписаний приватний ключ:", + "session": "Сеанс", "title": "Наскрізне шифрування", "user_signing_private_key_cached_status": "Приватний ключ підпису користувача:" }, @@ -825,6 +827,7 @@ "low_bandwidth_mode": "Режим низької пропускної спроможності", "low_bandwidth_mode_description": "Потрібен сумісний домашній сервер.", "main_timeline": "Основна стрічка", + "manual_device_verification": "Ручна верифікація пристрою", "no_receipt_found": "Підтвердження не знайдено", "notification_state": "Стан сповіщень %(notificationState)s", "notifications_debug": "Сповіщення зневадження", @@ -1010,6 +1013,13 @@ "incoming_sas_dialog_waiting": "Очікування підтвердження партнером…", "incoming_sas_user_dialog_text_1": "Звірте цього користувача щоб позначити його довіреним. Довіряння користувачам додає спокою якщо ви користуєтесь наскрізно зашифрованими повідомленнями.", "incoming_sas_user_dialog_text_2": "Звірка цього користувача позначить його сеанс довіреним вам, а ваш йому.", + "manual": { + "already_verified": "Цей пристрій вже верифіковано", + "device_id": "ID пристрою", + "failure_description": "Не вдалося верифікувати '%(deviceId)s': %(error)s", + "failure_title": "Не вдалося верифікувати", + "success_title": "Успішно верифіковано" + }, "no_key_or_device": "Схоже, у вас немає ключа відновлення або будь-яких інших пристроїв, за допомогою яких ви можете виконати верифікацію. Цей пристрій не зможе отримати доступ до старих зашифрованих повідомлень. Щоб підтвердити свою ідентичність на цьому пристрої, вам потрібно буде скинути ключі верифікації.", "no_support_qr_emoji": "Пристрій, який ви намагаєтесь звірити, не підтримує сканування QR-коду або звірення за допомогою емоджі, що є підтримувані %(brand)s. Спробуйте використати інший клієнт.", "other_party_cancelled": "Друга сторона скасувала звірення.", @@ -2052,6 +2062,8 @@ "read_topic": "Натисніть, щоб побачити тему", "rejecting": "Відхилення запрошення…", "rejoin_button": "Перепід'єднатись", + "room_content": "Вміст кімнати", + "room_is_low_priority": "Це кімната з низьким пріоритетом", "search": { "all_rooms_button": "Вибрати всі кімнати", "placeholder": "Пошук повідомлень…", @@ -2101,6 +2113,7 @@ "add_space_label": "Додати простір", "breadcrumbs_empty": "Немає недавно відвіданих кімнат", "breadcrumbs_label": "Недавно відвідані кімнати", + "collapse_filters": "Згорнути список фільтрів", "empty": { "no_chats": "Ще немає бесід", "no_chats_description": "Почніть користування, надіславши комусь повідомлення або створивши кімнату", @@ -2108,6 +2121,7 @@ "no_favourites": "У вас ще немає обраних бесід", "no_favourites_description": "Ви можете додати бесіду до обраних у її налаштуваннях", "no_invites": "У вас немає непрочитаних запрошень", + "no_lowpriority": "У вас немає неважливих кімнат", "no_mentions": "У вас немає непрочитаних згадок", "no_people": "У вас ще немає особистих бесід", "no_people_description": "Ви можете очистити фільтри, щоб побачити інші ваші бесіди", @@ -2117,6 +2131,7 @@ "show_activity": "Переглянути всю діяльність", "show_chats": "Показати всі бесіди" }, + "expand_filters": "Розгорнути список фільтрів", "failed_add_tag": "Не вдалось додати до кімнати мітку %(tagName)s", "failed_remove_tag": "Не вдалося прибрати з кімнати мітку %(tagName)s", "failed_set_dm_tag": "Не вдалося встановити мітку особистого повідомлення", @@ -2691,6 +2706,9 @@ "inline_url_previews_room": "Увімкнути попередній перегляд гіперпосилань за умовчанням для учасників цієї кімнати", "inline_url_previews_room_account": "Увімкнути попередній перегляд гіперпосилань в цій кімнаті (стосується тільки вас)", "insert_trailing_colon_mentions": "Додавати двокрапку після згадки користувача на початку повідомлення", + "invite_controls": { + "default_label": "Дозволити користувачам запрошувати вас до кімнат" + }, "jump_to_bottom_on_send": "Переходити вниз стрічки під час надсилання повідомлення", "key_backup": { "backup_in_progress": "Створюється резервна копія ваших ключів (перше копіювання може тривати кілька хвилин).", @@ -2757,6 +2775,7 @@ "show_in_private": "У приватних кімнатах", "show_media": "Завжди показувати" }, + "not_supported": "Ваш сервер не впровадив цю функцію.", "notifications": { "default_setting_description": "Цей параметр буде застосовано усталеним до всіх ваших кімнат.", "default_setting_section": "Я хочу отримувати сповіщення про (типове налаштування)", @@ -3094,6 +3113,7 @@ "jumptodate": "Перейти до вказаної дати в стрічці", "jumptodate_invalid_input": "Не вдалося розпізнати вказану дату (%(inputDate)s). Спробуйте формат рррр-мм-дд.", "lenny": "Додає ( ͡° ͜ʖ ͡°) на початку текстового повідомлення", + "manual_device_verification_confirm_title": "Увага: ручна верифікація пристрою", "me": "Показ дій", "msg": "Надсилає повідомлення вказаному користувачеві", "myavatar": "Змінює зображення профілю в усіх кімнатах", @@ -3134,7 +3154,7 @@ "upgraderoom": "Поліпшує кімнату до нової версії", "upgraderoom_permission_error": "Вам бракує дозволу на використання цієї команди.", "usage": "Використання", - "verify": "Звіряє користувача, сеанс та супровід відкритого ключа", + "verify": "Вручну верифікуйте один із власних пристроїв", "view": "Перегляд кімнати з вказаною адресою", "whois": "Показує відомості про користувача" }, From af984c0e8051c07b073f6e7b66ae9c6bd323dab6 Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Wed, 18 Jun 2025 12:20:17 -0400 Subject: [PATCH 029/142] Prompt users to set up recovery (#30075) * Show indicator in settings dialog when user doesn't have recovery set up * Update settings headers to use red dot for recommended settings * update recovery setup toast and remember if the user dismisses it * update playwright snapshots * use typed event emitters * reverse logic for the account data flag * fix comment and type --- .../account-linux.png | Bin 63691 -> 63883 bytes .../account-smallscreen-linux.png | Bin 36546 -> 36631 bytes .../appearance-tab-linux.png | Bin 62253 -> 62416 bytes .../window-12px-linux.png | Bin 68944 -> 67910 bytes .../set-up-recovery-linux.png | Bin 16547 -> 15451 bytes ...ab-should-be-rendered-properly-1-linux.png | Bin 278966 -> 279063 bytes res/css/views/dialogs/_SettingsDialog.pcss | 24 +++++ res/css/views/settings/_SettingsHeader.pcss | 9 ++ src/@types/matrix-js-sdk.d.ts | 3 + src/DeviceListener.ts | 40 ++++++- src/components/structures/TabbedView.tsx | 4 +- .../views/dialogs/UserSettingsDialog.tsx | 23 ++++ .../views/settings/SettingsHeader.tsx | 10 +- .../settings/encryption/ChangeRecoveryKey.tsx | 5 + src/hooks/useEventEmitter.ts | 99 +++++++++++++++++- src/i18n/strings/en_EN.json | 1 - src/toasts/SetupEncryptionToast.ts | 7 +- test/test-utils/client.ts | 6 +- test/unit-tests/DeviceListener-test.ts | 9 ++ .../views/dialogs/UserSettingsDialog-test.tsx | 28 ++++- .../SettingsHeader-test.tsx.snap | 9 +- .../encryption/ChangeRecoveryKey-test.tsx | 2 + .../__snapshots__/RecoveryPanel-test.tsx.snap | 11 +- .../RecoveryPanelOutOfSync-test.tsx.snap | 2 +- .../EncryptionUserSettingsTab-test.tsx.snap | 4 +- .../toasts/SetupEncryptionToast-test.tsx | 6 +- 26 files changed, 269 insertions(+), 33 deletions(-) diff --git a/playwright/snapshots/settings/account-user-settings-tab.spec.ts/account-linux.png b/playwright/snapshots/settings/account-user-settings-tab.spec.ts/account-linux.png index 3b4031063c96c6f763a1d2eb2659e601f61f0f0f..677473ddeddcd40583eddc2e2e2185e4b061bbef 100644 GIT binary patch literal 63883 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 literal 63691 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 SiBHErC-YcNI_uG!cmD$mPuV>H diff --git a/playwright/snapshots/settings/account-user-settings-tab.spec.ts/account-smallscreen-linux.png b/playwright/snapshots/settings/account-user-settings-tab.spec.ts/account-smallscreen-linux.png index e0e46682a3e01276367c104ad23bd9941f9c422d..da4d594e23728d2fe2abfe66964e238b35e979eb 100644 GIT binary patch literal 36631 zcmdpdg;!M3_b*}~g5nU;ASKczU5Z1;NH;@>NK5AcijGolI%>(sNXzX;`X7ccNuY4h)9m-a>y3bJ z({5Ahchsgqvk&wb8W|cGbRO8l8yn5hWV+-=^CwpLW8T@Me6sUk`}=h?b~B%+DHh&0 z^Cj{p^A~=4m(pqP=TG?D14Q|O0y-k^FXA%nJM8md)lDkvSTt*8E;JYXVD&IG^!IBp zSb~wC!T>w8`%eOde^2F?CPZpoU~0

Z_9l3kh8^uLCL+)QJzs{$MzgTDUfeTi2*j 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 Xe6SH-;O8L*00000NkvXXu0mjfO7`g) literal 36546 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 diff --git a/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/appearance-tab-linux.png b/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/appearance-tab-linux.png index 20518942b030131016dd6b01ab54f746e6161a3c..67e047eb5059dfd6ed778522eb7fa5a762b61d73 100644 GIT binary patch literal 62416 zcmeEu^;cAH7^hu`gaXn^H`3CILw7ew4Gq%LN;lHo-Q5k+-QAr-4?X+hcX$7RJ$v?- z<#2S)y?5?gPkx@ygRhi?Ao44mR}UUMKo%B)$UJ!Pgyg}4N55V?0#|x-c;dl-53OVb z`5qJw;B7y6@Zo_lbkKH{!P$XL;xzQ5oeYaz?wW}(uDQvJU zsI4r2==abM{S}o@sGG-!NxMCcojq+n&ujF;%Ie3fWkKIJAN!rbj;C(?fD z$tPX@VPaDU`7E>T`PspE|G+@4dwKaOigVq+*Gk#>`T05Bx|v;bSvNZDsvB{jp}iEo zAZ7gX=M3@N&4Z6fTbN>NbQ5wUpY%*Nj=x7lWH)j!fkiJrJbVnrRr9}>XuiY5B=~G= z3tJu~WMXXeKvH;mi^~^DVdCQ@9U^t%`Yl&iPcN!JsZ#eqE+F)N!yh~l(9pPBAkKml za6}{}NuCZ4<kmZU*%SZwoiEN9XlD*f(bz{X z&0{VO?YHD&3Xv+accScZk~qKaajJ4RZn~vE{P!#dqp8`&MWKI%o+Hs!JR6TB;x6D; zKID%Ni`8+pYN0+3Yj{zd!sGjAn+KCEbk-dw2iOB}t_H(ljPvi&O$;*zPneZxv|sx2 zGm!^#mfA7J_1{e-{CoLQlLQ~1_76njHjI}C$yu1@DxSuJ57WP08?iW2MUxk_?_{R- zCpeSDU7=pN^rz6D1?l&cKG4( z$3cxW&ewxVl=kd3#!%)u@tALr>B=`ZAOOc_qW5zF5G{Z|6O0I zGZ;#4X>Oe7MM=XMs}fYNdj9Xa3o3!8l$=^9B8P&$=@U6jR$?Km{-*UtlAphwl&f*6 zj?2yWJq>?gil`>dUPK^jv4uk1EUrKRtc6xQXTr4$dcS!d9YI=Hl?TkuE9Pakyfy2KS zUr>f0UnITq&kJLQJbAR7)v8Spthwv0Vr$SpF(FfQcJ|-!gABrHwv(9eFry||%?*rm z%52J+jqMoz-5j%e^gDS%*!?J{IGR4YKi>kMR=hIS@3_gH^}qY7PZ4y6pNy~+$K=AN zjdI2BZddlM1M_#$r2ux zvn{^|JNfbNPPU|ohF-(QxtEKOm*bucuD-pSB%u%Z4pxXV}h zy{8M+zLtk&Lr6h|sr4UGUkqs4+T$Fj3Ws$>sJ9ngZmhh({rB3Y4`0_sg#vNe$GW6o z>v>&G^q-F}op_QE@TZ-MXwm{+4myHwa`tjn@`XLw|L0ed=Wbf58h1`EZ;+zYHTVVC z*ceemKXH%^^p#&;47ZVxP|Y*O_d~mTS+k{a|M#5O?UQl~n_nk5V4(3spqc&n9k2Dv znivj*zcxax{xSsoC-#3IY5kMHC9J>NCApt_H%|uDEnP6s^t5%qYwI3T5$)WN>hmON zwv(FJ%CqHPgvM(8TgQVlO^oSZgPTb_uIyZlGk>RktXxRH?F?pQ9CO6LcD}kg^eeNH7>joQ@Y z7qTSDjjoY)Hepo_mEBIxry9HcM3o}7wc*mw`{C2aj~~g%BHKbfF*28zlo0Tk{3wI= z|Ghoki^pR+sq8yyd3^2lntkxiczC#5;)SqPjmC$j5o$e8gySs;dC4M4d3~7Qv zxST42s&PKREx9Z*ujM4FM+m~j#l`<#(HvRW)QLctpkl;Cits#} zdAxs%6C`0rFRkduEk&-b!2Qym-CK-?i@Rw*>d$`XJiC$g^NVC2-QDf`I~7s%nv|53 z6-Lt|Em|gm{%_V7y3Te93J(;&@o6xd<(rImTOQ0Qqnr3v?$i1T$;uKBEh@^L3?w+h z2`>Z$_yq+!v)PQHP^giyF_Z3Lb1AoMON*o=!rAOF`C)^@dGAY*rjLvpzgsJ!nLDxR9{0uSCi8-fHKYsJx`mW3!Pp!w~7=)X=G^ zYVcbJueXEE@o4`ohRt$4)GXGA-8s7weAn1mTkGf~|G7|ab2-A^8-$r^WISQ^+3t?W zDn2F#`|Zh0`}l3}zG`FRvYV&q++2~b#{F6I3)WTFCULqR?Jc@eQc-+@S@cc4_D;U4Q{~Z;5W9LN=kC_$+0oW*RRV*Vac76 zZd}~v>YrT&q@_zt`uFzs8gHNT3w9b985tNGdwMp!MsnQVTXDGCGqkc|l4jA@pVXsP zIJtD9Q_SV}$1Eu+2`0GYby#cCz8raavgwn1`TU7Q91kZweQoH>d455{RtMs?f2YVDscFuq>bD_yJfQw z3l&z^(Zj^Ou4Dd@8chc&nYpvo-IcfCSGL$e10aTEO`X{hPwmMt?> zqGQQO$n3A@;O8}nu0hw?3GvX-BrH25Bu93wk+EPxCZDdpeEyEkfTg7@peDDE9|aSz z`_x>36F;;H30)Hsw*2YzFt~H|=qcZCsSoea(c;>*OO)|mz7!6E(AvH#3NJnYL9>d| zOt$e(j`0q=ShVF;-}LDzTz-s@1ktuISD!2c7XZtbmf zgqIsm4)cB(0&ankV}|#`kCVv7nB${2VKK*UZjVx=40L7#DT4z*PU0ynY#syR8TAUA zz>c7}YMWU?*~|gmSK};a4rkaOj7HX}B~mTx=;pz>+V7MrUwLKH_RTVSMk?5f_0Lwp z7)in4NLchIhxHYR=H&r($4{Pl6Z!hN+%D)Owaeh!i#M;6xE%`%b0+7?Bffk<7TKu!W6`%l zJQa)76(`4x$1}fKSXfMJ3hq{7ayy(kUY%mgzQ@I#OjG0qLxQRJ7CN6%#T#DMp5cP= zJo!?-e5hWwC=;&>0wcH{@OH@od4akJK7Ni892ltcia0G*AlOC<%%|35oz3;@z0W}C z0X_HNTc$0V#ZkFREt&-X5(@-zJFO{g`F{d|O=V`)pmXNHR>>PK0!cZ#t6E;uE0fH% zv)w66%~R}6dNu7HEIJK^%KFmcl){`U$HAmjBQ|q;-yVL=7EWb5sK^Gr5>4*Cs!yfs z)v%gO*CtR-*Y2Z8_Xh+7C|hm7=Bp6P-*_`UI#(H5pv}ozeNjuf1{t|r9j%jZ~|Tzbj{KoF6WK^W8e&CM3E#-5v!d2^}3>G?GTw#hHlPajLhw zo0PO6FepfiY#I2~`HR_F%iu`E58og;Ifm;v(;5EiHRv{HP^68){e=eAX}%PxsV^#5 zyPW0BY{qj+H73GHva&=X;^Mcb+i#ip_FCM%AcKuGP+IE6WQzY{lZ%I^|iHUJT5nD!b7X%E%cg=+L_D& z@7ZnlV+)62351X^St^6>NX8yaq_sKhSjX$9g?MkcU|Lt=4o%oqML4H6M; zMElH?8_L^8GNDb+D8Uv^^ru5pzC9;ocivd9~H1hNXzeG@lhy znV(TCy0oPwBN{1L11%L*Xn1%$i{rv1%hN{>(VQ<1ho`25j0$GF`L1pYNV^H zYp{zW|6`*6cDMMWrnLFXuyD&#s~${+siIafqQSmCqSX9+noK+XQ;o*RxTsD%wc5RE zWB39JA&;K~3y34NN4P#;7_ux-G`J$PK=8x^C-f0fqEX0;+z=lhlNs%?3vhaS;%|J4 zc)QX>hWaAfet9sFyC`46#l=ND=?z%%;i7bu)~dY_#VG%Gvk5+pyQHGZ*jOA@R>V0K zm)j*74(i2JSC^EsaLi>c&duKU2lORFr9sodT? zO5}DWcz1frKP9?>JfK=UH9uY=AUW98RqeW1<@d_P<)Qf^S(IuHE26gwQCeDN37=av4S(%-f zcr_@hbFgli7_9pXer_*2E~ni-HoMVWm-K3(I{e})e~WiFBZG?wJ+R}Y&YvNy2=$EY?5QT##YNWqlhf**pX-lg-{aksXL25~*Hs@~IypNx z0Mk?CI#X^&`tFtb{9Ld4Iw9)CSpl$Bt-2|to)0m`U%znTgFJh71xZgUXkQo6gF+jf z!Q#h{sy&_piTUj!~$OjsgvL1{ZYO51BW2k?$R%;3hun2=Z{GS z8OzhR+gM*F?(CItc7Y$L*S$#)2*9f|hVx`X%D?e_ZOJOVj_~R6e}&W}dd;a~{higP ztE=m?%Sw1Q7aJQ4_=H+ps zA>(pXx0dxWAAvMt-PVNNb=mSfYFIOX{A)`eKeH0jCH=TCU(R71nU9Pe65iFQV& zgM5Hy)LI{iL9&`+2mgTZ8)U;+^y(sPZTP0b%_+!Q@||+k|v|G+O$rI zPpkPr8XhF`fz9d&!tU>DmJk=mXEX^n)xQQoM}I<9w&}G*uVOxQr`&XOCO3=}?d)Ja zY?|!m^5oBg^E0r!Tg%^?M)e2Y;4m_B-#Ra?lBX7ofm|h~V1ki}DT-F}Z1c_?EkqhZ zGUIiV2*1VWv_sS&zH9L7_~l9}DA*pSzwA2##sP(peS;A7=gL}6NLnW;8CgVLd{Pn& zMtFFn({UK0Q+eCCy1<=8EEtSJ$Pl}Y4q|l~S$Pc89lKSp%`w9=H#e$;LDVavfa$p( zL(LB{6y7rz^Ln=lOGr>oe*O6F6}ebE4lZtI{i*YXK}TQBy#NGnbadz$Q&CY3B$h4R zxepRotgI}E#dFazG0Cc`8gKpiDz@zQ)QTN%pu1^cZ@P|`eDkEMBs|jEB~V$bc)*&?f1cmM5;{*TRp1{Pzs!%HU?7WquwzO9g%8I_MI^qGV4#5>KG zzyTje7}KfM-)!D}GqJt&<-R|)4>D0!ta5U(@prpZdo@S^-|(g2;rYnJlVb8zM<;Ey zlNUxzM@njQv(=I_s_*UD5D*yn_DttfM<9N~kCsiA5D;%!nl{M>=MD~)Pn zu1UWWWD3h6E$0##yfUQ_sTFS^QpoP@bOdqJv_RedKK)i7Y z65qVd%+6zzm6G!D@p)G;PL0z(mYZ?ea_fjit6T{ie0+V!_1(ybh@Kql-HjZ@yWHH| zJ%kmTtZC2MOAU>xZ<-!~?^!CpUE5whecIQY?uoRq4`euwu#`FKx)Y|l*{Aw*yL6S9 z*OgYhUvYVvoxP?&C3edNAK$&|L}=y2c+zGDxzcf77e5v9Te{ z)?LXMy-|$gYwPO>4to=jH7_i{8ya9taXH>zUhA8iR-fa)JwK0_5B&!c_2jIMXXh6b z5b#txuB>f?wdsWkfRN_dDU7p4OKnYz zL{84Q(kk^5r<}^l^9)f%BBC^KUg&QZ8SA*!xLh}yTZrvo_D%M02Um|84_vb;4e8*= z?PVbLtFF^TdFdPy6Juy*R%yDMnW=flLPrDy<+Q8iw}#!pqAMx}20j|LvYJ|IQ4t&T zw98PI-0E|ZE86~S#r}9%C$Mj`m8PRrlCW2VDk>^FE@vF0&eHs|UazsOdv`0nJNpab zT*E>x>v2rLcA3#B#;eagdYlBd#io2~sKJrV`$z`_Z9VFA#G}neJ)THdbiBtW!9hU` zY;0vEm6q>$E9V?EA3r-~Vr2z_`SOhm&Iw1Q@M_2H)tTX9p=pzgb8K#ob4^4**lPO; z799iAs+HBrOocJ0eW-h3p_xtVGc;tpDa~)PZPV?vBqU?JAEbnZ4NtSt@)T(`ODs)o z=!%9woca1SGAKT{yC?BOAjcO@s;avo#9k=aT*W3VVH+J)Tt(`&d#7E4ysWIOjEpm> zKxp=7rtEgF`Xj9FF~qx7rS*=}HamdqO=hS{Znz>62^4p0*&&dGe9k84IH%iOBqp4K zS0Io$zo7aJ_ceDR1 zv)JS}n(V;CW@?OsPs7GQqOw^W*T07m@5E65E2NY(Ke4#K^Z*sf<6r6H|9|*D*$oMGwg(Ry zX(?IK3ghnIlVr#uU${$l!>j~CnZnuoOAj72eR!SrFP3>w@@4A3OaG@Imd0!z=eDjM z$&4<%m6m0Ze$B6biP4NBz9}-XGq&27a z3A29si?ODv+vY~@M%lc7RgL6FX9jLREiAfIR`u<<7G~B@V$y+kA06RM2lYU7X{=cZ zB87>{X zVN&h*Q%@Hfh|QB76HA4b(S-PUI(BK7vkgff&fm_@S(T5a$YYboWi2jBn+@b#K)F8M zQyCTHdh;eEG<46t#Yz6$~6FkLLI6tkJZ%g2qBtG<+U=I>w!|6mHdM&cy~q*Yv#A{_*8Z?2b2> zu|piA+1Q^t9+cI$3%SgOTv~mf@J$0pHxme+^OC3TJEG*}Fi+Q;ZNu+={W}(y@+-yw zsv}boEoo^h;>Q5Fu@u?q4Crg*t{aGBuxQEeZm6@nJ7ic@H^M;^E}j;6R=Z8ev$3`@ zzJ*5LO5`Uh(kC7`E*Hyen191eBK86GQq{wbV)6DjE6J~(b#9ZU<6F51uMIIo1^U6W}Iw!FoTQC>6= z(2@=Td&Zi;ak>S)zFX~VBOiSA#Epl$*1BRB0@3k8iD!0!nDX-9OT;gS^u|+@wY4?$ zkdog7C#A*3K0b2tv7hK;+}$KS`$TmfH~3^v<`}{-aC#IGXp)IuAV+(%uYwlBU#E~* z<*Xq9sbXaMNR;ILkd!pzL|=lHb&Qzkv3f%D(k4VsPR90qRIeDLiS+c5;H`!><8%s!^jf zrM1}rl!(9Sq4oZF-0wR!|jRXub7M67O#(r+Wt!xqXFXLYZ`qKZC=JE)(vigp3JE zr(D5ZZgmjBaWv;Ll=j?bZkR2m1!HF%FTYo}v&o5MIpMl}t>?0gNA< z^^A)0Cq?_8_H5x%Wn~8j$yv7?bUb9|fg!&M&`2A^g+&oV;{$#^)iN>}8TIjVT+r~z zy7E&Poc*7w+%W%lLXnuJ^@JDRo`Mx7!(2^EvV0@6=~b{$SsCB#VsbW^jhYkETVf_z9city%v_$vhrhoL7I0MVj`!1T8Ey?X4Z!!H z)U^H1?@>?bSQ_$7$qfw;{@gXh7da4c+*R>kPcW1m-32FAnwmoO=S!lTHc)-=Us@b1mo-PkiDX$$iF562M-(H$=9^|I_{1NW(sJ&PNToxOlb)BZ{%GfL{5!hj!tn#uSQwioxJW1+Z zP7d+WJ!YW%Tr#Dq1^ZT2=K(_wTwtdsF~N?G9gY`7evQxad@ zyquA3e?G03G%Ih>L^m%o6H3-$=S;x;>cvcxj?P)yyL*ZGa{E`Cb+eG1ueCM!&PGGT zFKwY*8D2O6^f4Tlg(x*3KR?{g5Pon?+9bMubRoJS&cr%awA=B|DSwgQQJnhD!61=j zw{~<Is$Ek72^tdj1itVLv_sGZ`Sc!Hx+JA#7!a!sS+>H8J^$87gKTFNhvNQ0*xjA*fKFb@s5_{Kl;m=<}LDnOo&5S zok^Sj9QV?sNAbUtc%c3J|J8>@O@}K-a`LFu)YSj{>KJLH6a}CiJ!r1lpQ^cDN=d^= zEG;&GZLD12C*6Yrkg-N}PF&nP6*UbtwUO?bgWGEqX9qZk{Ysae$-O?`s121pe6YU1 zaI$&8?Rxe6$=KB!BO@b7dS>R8`t1FF@M8Z9ql`9AH9ObW)_Wqmdb{N{8s7Ygd?)td)H84t7{LrJ|tN(lumvxp@zAS4jCj9A7Xv;X4%}m-Q)FSDQD= ztre`Wh%h`d(dB&aQh$(-Pt${vntFT7fL`TuQyTyCjeLH=xUq8P;fmhKqS}?Mn=^47 z7NgVScG->U?COgij4WI>E@GlI;B#IhpJDYS^_JgLQe0#JQ>H1XT~zTiXPuu0kHZ>b zE2POk@A}e8zgmq_n!PA|^OJ>$)X=8+B`72{EiZ3d4T@@N7R91CpugkN+X;w|SKC<6 zl1y4?6hA*fs{U~&rq4OM!xl|_RwECJU;qMoff5W#x9jT}nVCFJTUCauS2?m|@(8c{ zO)L67@T{4B1!U-ChOcosE;2jEzql^eSV7UGzbvilbV`O7VBeeqtOLpeuLqc=zF3k7 z#EAz1E8Fxn0Qh^iu!UH~G}WP0v+et?1!y!7L9o&udK4&D-CtI@sfGto@#elWmc z7O(Gv<6neNxN!kvEwX?!ociS{e0*%|v-1@V8a6KO{%oCpKlJVJj(qRiw{N+*%oBL5 z%m(&iK#^6<8PmVQWgZ73f(%lwbsH-fd_$C$>h6}L(1dJnZx7M^o@}l)oaiGa9*eL! zR&sxad|yf_Zv6cl{PI}gp<%CYt?@zL;&mY7eE#JFu!@+k3Zj_w(QI~@vZlS6$nXP) ztjvs>T6OhLt`Y@2RA4)^bwKp{&gshffWIFI=eg?!*F>isZUlLb3hv-Y5Uns)dt@+I-L1UhpYmY1*l5#MI5tVU9jop!9*9`otOb`or;=k({_(tgim%r%pe=S9+2xW;d6?H#!1d*~KO} zABhH{wpYj5bgsq#f()?SCI^hW9r+7TQ!<{oooH~ZV#!l@kAov;v7Fl83rHmZ0GGhy zq}eg-?&{Kg19ZvRSs2tp#N+NW(KE>HD_r)P8i@5uGvVUx0Px819GeDEZ43A;MRc=ZL3N-faumQ+Vq?{-n~B$$v_KcJ&$kx4~V zR5Xd*hKO{1es^jLXQyx;7N4oP7}uo;c{ zuvc5nj*g{Y+L@4piH#LpVX#i+i;(A&laOIWh5KlTh+0*!j8o^`unf-f0B^TB5Z#>r zP(?|uT=y(;mZz~SGXODJaM$^ZXTE85{y{Ea+2xAwDgfN?!2UX4qaq#@5!d1M&OX^% z-|UHr+hP}FDc&jAQhj7N8qa${{LP&%Vc*AK#p4KoFrd6FA|~blr>ijegZdKirHtVk zM6qmkkqHUn)3O`1{UoHM_v_?Ep~PhcR>9iZTBX8B*_QI&I$rpW6%|Xz6dz`P>qO8g zR{uB;$0QRNZ}Roy78ckDWU;1`yzzOPI!oKjO{BD$>zaDVlP=SOe zY5r*G=KjdQ&PFd;Askj{o3NM9sUYogu~yTSJ?VXJ@-emk#x1VOnJ7(%sjSSVf`zlv zTxYxl9}R>|^QAfnpO3dZP+cz%&y!2H%7VU*p!a};2W&%G-Da;(c0eDErx$X+c%UE( zq0%(3@53H!9w!5#Eq`!A{+RS}Jf&e9fddpX zK#4&WcenH{(@dplT6XdfK)j46&2Ji=1woC=Y`(TwiAJ$1Pc*WCBo%OF;JdTei_Z5n zNGUd#Adtt&w4UO=$KFDdKHdF{LJvz_S=m`^$<^Vk+SS;tJg7XFl2BC5%c$}F8%2M_ zUSnT}f;TxnjK`kN8{Bzv=32kG)O^W3a7 zd1d=)@&jInE7N06x!svdU||(KR0hyUfQ0# zH)waFFn741*1Du_WovKWN>g?=SrVo}E{R9!s1Vzmz^Ok0_!u`gk5sB|o5bPJ!B`Eg zT;&GnEr5f4C>R(FL8YWLD>|dR((IBJ6!b|>+y8ct_9Ry98T`JdNgtl%YHEG^@J`O6 zGAGurB!vKNeSK4ryJOY3VUM%7r)v(RsJn^uXq3$1Fhldnv^-k0ORm=x>qnX5cxgjY zz)%MuE8L#nC(9sMhHh?HX4F(FU;?F6jf=CbD3dYI6o5oT_(LEK5)N@AMT%8lZynI3 z>sU98+4fIscd1|DX7(ckHXc8uK(#Wu$)s(U?WMX2CxdFba=EeT%v`Z}9;T^k3?(&N z?!Nv@1Un6;@nT}a?e%$%_VXhnl`1nE;3J#}c^pp2c!-%+cVB_ZHv=mxm*wf-lg*DZ zGNH684gCqtD*|@mc+K9_aO98SONWg7*5EbzQ z?8}nATvMyp1rRh;J!LkfL6NpzWDvr1ry0i)yCX0~TS5^)&fV?x7u z<2-ENpNXH@0a6tlFlUC_k6`5>ry);0H&tb%uaS|V6$^Oeo`{9znrNGPu9xi_o~{c5 zbU=v~>#N>9*%~Cy3V3Z@QNi3N77)iGe=D7YI%Y?$NTXV#JIT z{2X=*O-XfYjqGodzfIQQc0ApgPAe^I`Ff|P>ENJNke}(3p1xLHlGYiBf7>4ml;g1M zqR0aoO)o>hb^?DtpVRDWb?~`Mu%mSu#tRQ{U|F97s8j>D*NbClNhKd#-jv>xiyUk1b*TD&(!qA%~=?QW>&Cd2BC1z1g#p|gYq?#K0RY4Sa0}8?` zMmL{WTx?Wny>%iWxT>)+KNrp^FXXZdat>B^lj5Q@3s2UJ6}ioybJ?FS>ty~;l(_N^ z##UC2#GmoI1YtG!L5;dXXMN@GN5`q@?;A*-I{!R~$&&^%FQUc}PL~w5)?~4};4b*P zFSoRBdS}sf=I?Nih##ErX~*A2X`}S)thDhgK}9I-3{+fRkv_(8_BthPH?S|?1T>2< zWd)2*j+3QgAnB`HHaeWAGHHJJ6A^;VX8EJ@ydaN)-uQg%NT0rj5jVBBx3@oLI3@?+zRum2LRF|2%?f^8BWjDz&A5VgXw7WKF! z&qgknEA1NDvdkd!*`7T?mjCccqfCI{MC0I|ZV!{v@syZ+^lz_(X^TUiIdFhjM$Zb( zznyVxG{-;kzf7)TEGqFoQ2V02I8XXN#5=j;e=@JX(EQ)~@Y!bmm+K49zpH?T*!bnc zyB8i#zmp49pPa=$iR*`!O_@Y`csvp0b8FAteRh9p%?O>Bo~^Z}zojT>=$0dne?Iz( zU-iVr2;GF$o46%nr5Kg-{%m)=YhU96B)K}hyxK!i5&4%Ux}slOL?~qK{%*FF&0AJf zrZ02VGI)jI@6hkp3n&3`FIV{6g>XJ-w37mgXlSk3eU8=aIum>_jruAlx!7m0bItq$ zjf7;X6ghpk>3%v=xpUkq`0 z)Lg=Z1QmzUb$9h~*iBbtS1Z*>r}?gWk&}^LUpy0w`DC;(a+W$vFjXTg#3wk3OUMJI zqGH{fZ}87_kR>`kay?Ju`2`aY2_>c{AC=OO5d5}3`6d-i*JfSN1Npa<&qFz>O%aiw zBfJQxt05s{n)X|9WSiI=*2vKOoqaXS#@xIDcKaJ4!o^?y5(lz)0(wxr!I+KY%*;~Q zP`6?T1Gsc+e?c!j@_|URiM*g+6=0rghzmmi+hc?&v-A1LJfz$BZ2}E$NOV!8yyZst6|FdG~*qh z*l{0HH@zwGM*jVU0(I>BVlzlqvm}zvPY?SB2eB{~&Osh=e0&TFoJq`vp|uWWGb~<% zn|82;RRDp2VrV>rj>^8-BVPKAqLBW(O97dePu#Mn{`OokQ|X!{BbJ6&L3r(SOAz-S z*Gc`WTR&Y?Bf$kX04QO@2_2fy=;kw#ugneY+uDkb zuCdwx#7H!0rZcGb8+>NwPt{JBJ+LNo{SqZmgx?=da}>udbGh}ZgCEeURR8FWEC>ox z1c~_A4tI;BSSayF&^Iz!kXYM zkx^4yt#0(I(ZLT>+#?fc0D~7Qmh_RdeZJNPDY%ot}Lm?o5T~WX@l+2CRTHIvgp|PT$jZx$X!W%E1{#eRv@b4CHZ84A29lb-Kv-EP zs1*zPdV1#S>@)*aj)&k{W)g*gfq|8kl_@F9`>Go2&_eU;TRUUbUEWG_MOj((CKva# zw6LwQ;nhwI42&wX`I-5JyRG50rUFDDrDpYylB6WWp;lX^+4NkxZ%=4Ouah$&dPrE> zXh&e&I}8j~^M$b*(M_GsAaej8TeF!bT|Y|saeWRtH*9ihp}$cu}?92~C7 z4M!K75K?If1Fiz)Hlm(xcZ2QWeH5j&fMBZnyTv*fku6kDm}ptBFa7 zAR{5sU2JUNc0B)(dN5zt^xAQIWo4$OY(Dv;yK05u{M=NukB>vW(bY)WeKDw|!*jSUM6^F(hibm^~OTiX4j3JMC&VT*#01_!u|yzKb+C^3<~ zepG8~E3GOUo7r5n4~L4<)GWN(W_RPS@7ugf%G+b3^8d;aH@Lh8&yRA2g@nqDC+R+a zo`Ns84cOX3(o+hLE{?+D_e`K;Qc!3|Ts0g1jNSL0>nk2HA)#W>x#=mv4KI*n{A=1)MpFTZ5 z2Q7g9n6%n&_`ZF!=hE05Q14}>q}(=T;Uxu5R z>c3zgFlqbvJpnDqd`hXWuaTk->EY-{*-FU`giPQcA0Z0VS5KUXW~$7KQdf9o1*_HQ z(D2zUPY;)gH=xi;+e%v1N&p+ZerYeQ)t0MShDTTBraa*EP*eR|!yI|rspW%JeKj~H znD!Dm={Y;@_@2|y*oa#3cNZ0vne31>07fDsBLg>gNyVkz6K*J*Ddry#FjuA@)!66) z`S~|nI&E}h1d~=dy)Z@N7W&iPURXrr&gS@U3{zHg5}@9?04DlDLR~6HBAYqma{$u@ z6L61APHz6-@h+Lwu!Fqi0#+U^B&aZ`u#gT-SX5NiDJ1bua|FP@@$VBps zCryt>^Y4Rwm-i)b6CoivI2yo2fbp6vtbrfQ&rVObFEk2n4$QNfO;x+hdkrMioox+| zwzpSkF7iwksps8?qmqMhd?|loI%omY+r(54FopkwgtUays8?RtnC!)}7}t!9s8*T~ zaM}iBAOA`DhQnr9Z#{i{adE+J1qE6d;Zv=a!=!%)Fo(`{|0pavwYAO7s-H(h&%KWz z<(rpm^fDRiqh?o zti|M2@;j=k8x>^~!mF4nqolYv_!*@+>>4!K0Ju?}?N{e&fl5OmX!?1BIZ>f{ynAJX zlD2_?C;+tCmFAYVit2v|GHr?Z4ms+JlUJ{d9ps&y>a#Zc0T$U8j15U2Q&JX}x9M7H z!HLCLF(4@$6!4tAVYoKQS1Ngp#BqzWriXhIFv{w5lVnq7rZ_!aetMcCtB;8lm7SaW z4if{k(lL6rc?B!T%HwkzL7)l~F-?OuJGwRIg9EQ%pNs}Q-e99Ds;vU$ZlytO;Y;9+&&!qZcw&vn!oq`kd#m;dii=?FJDlBGj780hycfWY zsB^k5o?i!bWm9Ax0uv3YDM5;KpJampiJaT|BDn48i<9;2PUp56pjk{M={t4#?#PGG1+=m)^ujj}spqiigHKluVr1 z=^GkaTnr_Fs)`;GXbeT(T9hpB`t8YoeNS2sdxmy-#bY#*ZqZB6*&h`ij>lzf-Q1i4 zy3oYpc&=}~U0FRr;}wA<#UWHjk)9{BhOA=BRahGn5i zOIsYJv~@mvjhCCIKiATF1vt8W_=TGAPoJ)`5PxdU0foABU%A3zekFq%qyx<5r(g-~ zua(P7OPwx;iUbHnU0hmjJVmuvS9&lzI@ z<>e69y{Y!i6LN8DAqhXupIh19o1i<->=TRK-rT;$>c&PtF6iQx36)jIS1|@nuHB_N zHVXrUvsIPGvzdFJs513C#`_yGlllNI3cAm%>}X=MedUlXRY&rxuS?FI*`tJy$Pn#&p0&5CDJ zQ{fHS0f_Zjtkh&=ERRB0W5=mGgK@t>=4)+1HR-+^mFfBIX^a(sdO>3nu9cq;omw@Q zVQSkXT&>CWY%hihFseV%OD3>i-`ESWv zH~oRg(dW;TYGb0lskDD?_Z?~1sBw=310kTQ}X^ zCDJV|EwX9p?(UNAkPhkY?(Sxvwf*1sz3({Vez>2`7-tVY=-9Q^Z?E54&ok$I=EKc1 zoBJ#66rOBALQbxvt*x!9NJc^f|_Tov=5*HDXNT9d4OC~^wb`=$qcqRS({4z1XIN`P1(PO6LiV6zP zi8$HGSuL*o6?t2I3RUk+1290T7f=^SC36@~)?MT)7t`Ko7v|-yCyT?{ulMT?Hu@74 z)#UJBzq*}Y)YsQHH8FYm^eG1+h@>zo{1cnBm7aW{rgo@CKpVD`8*Xu>)j3^t3!V>c zU*HFl)1KQ&rYxVF6MtJBy!Uw_tJ~>nv$(kAf!qL~6Zm{`;{#-FP_?YLu_|LZQE+c} zUta@aCIYVgc;Bv^O!20bi3EDL-QmmtHuI~Qzb)rCZ=-?<8EzW}9_Z1(hVRbHs$7;P zr|(n+M1#eE|K^RHPejBk5J)D)L~!e_&o-wlsxoCYuzgon-T(#oXEwH)4F*JzjFOTg z`z}ps=?ke^Ahtz1jJ3VOZd=$f=ZWuovDx=+=~?qD17CmoIxheIp|Ri!Vn(x!hQz*u zro!!7c^7{K(^u~@mfl7G=1pu7FJ96+0FVs&@m_SH2r9s?+FhPL`U8V^POo*ojY{Hh zPA$#Lt3!5dYPiAZPh>h_(!&Q|IapJ>=g}jfgW@S=`Nf95?LlGy<=-z1UPq&q_Eru% z@Q*Y#b?KKWDa|``M2K6+R-lTE0EPvD#O0vM!^kuiencR1J_zUrZz=hJP^*6WWNTRZ zId#Zr^jCC82RTM`uesUs(RXewF4je#V(dVn^dZzhA>F~Pmgk&_^E@^W5fR!Ve=XnC zV)}^JrmaNjKWzIFy4d>#JcER^`BH=x$q6Zo9vS-?A2M-p=c{}Cw-3<3&;>)xkWP`p zUVc48-`x*d?p0oBj*7tA*#{^aQX}ENcTuAG@Z?zEDJ&_s;9YjcyO}u;@C7ciMw81ZDNiVA3q@R$ z%xA@g)x;hKi^B!DiG%yr6%;12cn4TnM)|YA?PDx@PMS$gm;DMWwTAkp{j3j7eUP;K z4DrH2PgJ8)D?aXRwNG8~wVZB%EWZR~g(l%{EekE;1xQBJ*V|+HbzI&ckw>q`|E4bb zdA@yUJiRGAFf%snr;DOuUu({5{J`;<6cU1^;<@UTQ?GoQxa68|b`$ry_T#uOm%p0t zW_$GAyWWkL8`A9-(4ayHF)q5gPbm7e8l9LX+lTg79pM4W53i?G8Df(;QAd^q{(Uu1 zP;;PJL`0O=?6ZT+;+wm)DJT?9OIcF6xx+N-d~)vUQFU;4QT8DtRmyE9F>^A21ZruNW(c1 z?-}#i)PA8U8iYpbpYnNd1y!T;1@To(=L-6f{e~g_tJ;vkK@Z}(^S1#`ga>ya&|>;5mxOH1+I9yCZe#if{-FE-R0lX$Sig3k%DX(Ig~7G4Ys z+@LE}mB_M6);b_&WMS1~h>hi_A=*)u0*V+_h9lAKy}>8QJU3115Za^e)|{Av1a4zW z(N?YNRuo4uaZzFp$0b<_Zpdn}xwAsVE4a$pUD%qbZ8>w6#G&T>4NBh9MN>g!RM>32 z#afal#qcmwPO2a9nh9~n#15B#`ZPd6F=AGeh-kMUhm?YB&#|lFaCg=PH^A87>*zqo z@F#7<_U%CZH5^z7M?iEP`?Mr6UmWL9*kdL%2up?KLr?yZq=pa01*2o*bF9NtSF5Kz$T624AfE6veLTM-^mt5O`KF6y~-mLv~^pL+<0l^*#BLN zB9d=!d3LtvdwRPY9acSr(z|;^nrJC^R0hm24C|9IJ^xhWe!H2I3QNk`&^NY#qQ>%>0&;^!7;;)+e_Df>&N%3DapeWfo`i^cZ3R^wY7w zX>-gJDxxBAns|eGW>;Y-owzwVK+a7?ekrBWX+eaT^QR}Mvt1~uU|k*BpcrT5=H}`W z*{~CGsK!F(_a~6~gA%x#T&8}m3wuKM1N{AO>unpWV_ri*ihDgg)|^3M9JNl~x_}gSu@pmQddc z{e?(V*2iA3qlqBrnmQR|qNm5DTo=TBU4NAnWkFpUIc!o@{q@Bbxawc^EvV?|W=hom z?aqS_eny+wzM=Ab!#PL-;UJ@?IM}~KorVukf~|h4=4#zFFh{}@>#MG@{g%mM8D8w@ zq@eTKI-Yfn2K6&}x9-WI)*L)wCiM}Q>CoQD-r_-gYkwa#DePNKVBu+0Xsje^NeN^6 zd})jXcKW<*@CpI`q=H{w>B}>ynwUS{qcyq>|&NfnmcIgtwrC~5hHSIm2F;0!;(kkKICDAz<>UX@v#o_~CU?krW?`%>yK z->0ELto)>nnM1^|cGMu4`c-Ih|IcGbpTFTcUa1aa1fXcKE5N^O?$Q zP|&}{bFIXiyWeFMb4o##@q(5;&igIdNvZ`csH-9o8GvgQ5rI<1z z7|q1t@81{5wxVd&MQaiJ8#UVH^ECI z?$PS1hmFdoM#u~9Pb}{xs9ZJo1Z}d3_-wW=W5q|~0&^EGWm_@U4LY)fydkL|6AX4R zGuuI)XyDfP4s+n4Up1b#u~XDnr#?AqY(;~3Hq2^AN6euM#*nMeq2NE}$KtUQ2=M z4zHhk+wjd;x$zR!sv~BEMD*FzbsoNg&L)2a7br0ln87 z37uM%{CvGsyNAqy+nUA$jQv`*QmC=)_M~CxNKb=1sVR$fo-)B;Msmw(qXGLEAZS?( z7#?j)ZyYjR{ARj?|4Kh|`gb;Fz0ap$Gf*>;wmbpuMezHXPgS5T1}G1#M?_3~=n?g& z=hAU700X_uxkix^6|4wLU=E-h)E;?8?jgmBlv3lwn!PUBkXE4Q@B~cgaE!7rC-fDb zVB?UM_KFP%+TNR-zhVTT$`6awchpz41y8kytMCxPlSdrS*c`$o%%$PgT83B;2toXb zQ4nF5%tW)nQ>Nci0GCN2@cRw(dUINJmavbJLGiit!65SQDGf6YaFY-2Z9<{wgro#} zKlG4Oo_w*Xme45>0dLwg0I_U*>)!qcr=PEkW${@feuedasbOw!bG;qFPvVrh3CE7hTW3~cZwr|0;=K9A3ke$p1_NQf&o z?pzla>uWE3JGf8nlngAqgJPwPaIa5d-jp=?lIHLH1Ovs=)4UVDdgh6k*Jka4DL1jB zE$xu|-dtQ5o4MKhOj6!!2f7;u17@=h5ansV1=rxGu>z8IMF>ymz3F~=zUbKwTPLoT ztGw0*N3nKvJ7Q1Neh4mxc5ar?ykGkSv8Kqr%1J=eJS}z3vHA*)KqnGnSFe9-pZ@St zY>w;o+>(Un%UZtc`9GWe0f-H+kr_nOjY7s3WwdwpHzPMSr!#vIgMa&d|2_E$@g!%0 z(|+hN6-9XOzn|uaB8U1Iouc7O-1~62QRDVa(bw#dV8qj;^yJqf+D`;bQIJ; z2t2j&@Di%miKEc8U#^2LW@lw?ui=ptD70aZ2$y*hk;n+>v~k{Y+7~VA4+)!^8YZlou^NrcU@pdT8RNH#7_9@IH8Nn zw@hJ;=^cWlDM{}6*8^JW(d_btL30vZ-`0%9lxm9NBBC3{S0S!{pR4i48~5hIaGc*K z{#CF%AntyJ%ZYt^>mnkgXC3NaA5&H{jT!#&j3tBbq#ay}Q-PmhX5ZLnHE)8(M#r6; ztMM0QsSW#nCJ^s#9IK<#w0h)Sy)lTO<3`<%3%qxCh+dYJ*>$7uAS${XnJZ+T8w*N9LEEXa83^yfCH(j&8Tlovd)@ zEs2^s-8~@7!{#GxYn>DOu$6K?jEby25Ec#Y zbR;BRF_|!QV`ECFh>4STezyMsT?@4IJisXI$eShJfA8cgj zZO0|M-%x*8b#o3696o-ELnfFE(b_Y4{EodEoo6@pHFee$bMkN7_wcM6#>Z;$Xm$+32N;JC0sMJ>t zjGNLXvGFi+(vt1fR98=ap<}}n=GqoG@{?{&CpKJL6%`ekREb4Dw$^2cRVY23pa0H1 z-%kBNT5bgFW*M0o*Z2fM7bh=XwxDz#zNIAdJN}tBzN4XnLs$!M+Oskjiv7#EIOBwE zOy(!`^mpNYCtj5Dgr&x6xmns{h+bz+MrC>JHwu0^3HH4fQvASr$KI)L+(lQis+39{ zYn1%aTJ9l-)>G$)?r!$j*g7isROH;$exk1CrUe41HH2}Zs8%Iroxj1!*{m!MmVk~< zN1EdZ1~C`7fHCpfm-C$M#o__l(J!H+3XvNU$(NM*tu?b9+j02Dx$q95pZhS!QwN2J zXcCx4E$(aLtI3&GyO3ygDU16)b%#7t6QA#ObeiltqgT|xTtlAxQcP473u?c|bzRvw zKQ|^Tq(%jyTs!o$k;tNVrxZEiRWEkDx~4IFGBe+B`ttym$h~2ilAWHH7IDjLz7Q%; z)#KmD>j?t9$8%`nB4StOR}LV|dAm*X@%?rGoe$W5(tR*#KRV%H5mHf;@J!A$w6Z;I z%xl4|_kc(kysivj_ zP~GA)$OptOpsA>T=AW6o#6bYo*T$XYXk#t`dkSCEx5;^o7C8w&GE@XCH^;|xAT|ABYAyv5DCXXt?q|-IzRA$T zn_DAEItRSGte^F}{SCrQjAe?75f)yvc-Yu?j$1BP3=B};urwEaMHZjlzMlRY8A~96 zfMIc&K3m~!_}C{|@Krb@shyoeK{oU1VwhV*J<|(f_+h5g;C80x|3J!_%-Oc`!eltYzkaeEoqu*+ zGpT03sIbJ^o%+mF-MfF`8+<^w1QxPHTkE6b=v(?|Ga4|DKbo)o@3oW^l=@Wb6P#$? zw;b;ttnMxK@a5&*9>{YYKLurq7T;G_4!hu2Y2~%GN2f=EOKbqZZ0+{Y1@_8LE`M#c^nNY(|lQ|J9R^D-iN!! zuf`f*tu3^46l^s_j4r=eI^36jM*`46SrLdV8?#ceZ(fCd!LQx4|LOxa#zTFq2tCi% zrTtmw^7=G6b$Lx`WiFOIM=R0X+BmTQVI5{x)~qbU)pb1k#Z&x8 z)D)!IAE>G5z0}?Ivq4p~gpONZ*Csp2)DO<5&f{DFlc225#Bz59Fh`SbB(xE@KbZbY z3veX5)T=yCTvT|fq^g=2o5*DJgFx|qXPU+ety_dOg##sE-aSt8u*lZ|bB)iDMfxb% zp;xy!qfJW`c+B6An7@&5qDFXuFYb_j=tk>|en=#>MmUjWH#cX~1uvVA8gBQ1t{7YtIAkvn~DK-|tUxS!nts zaBx)YBfp^M|%Yn$o?NvoWa!r<5t zK8M-6M5*kNZXc(3?myA(U*~Er4m%3Do};wZB=52FCHL1c9C~4e>Pf;4NB57i9S;_K zQ;Ce28EqDfUZ5Fl2q2ufwQ=zeM))jjy@AE~S-gX4Y0S&&EJ9Ym4q{xHt=km?PU0Zk97J`beVqp z7&{^qUD8fb620OwBO83eZ$`ETIDKAuL4B3S{0ZJvU%nN4!p)LwH|19Hr3@d^>(fLV zQ7OT;To}g1B4ay#EMj=&P#GasR0s=81;xM>1&`#7kqFUD;M0_i?OHlnV!{BPn-iM( zCrM@}5N60UEYMRkd&*W&1ibO*a}t8R_n*2^)+9AGKQHBD675C!Tt7Hv*SvP7;o-hn z4I|KZj5IHx%ZBjiXG_1`wL@fHWFYf;|E(JZsXjm7z4+)m>5{?p*qMX2VN{izq^Pz< zo3%s!3-Y($#Xwfl9F5s6RQHc{;2k(%(ZVh!t$Pm_mAxNXzNHYnlGc6!WtLQAmQXCe z&NDhylpT&tM}rK2eXkflEYSX6>brOW_?jO-n%}P3zu4XfqXv(~UfBPy#Pxr^2usFh zgC>E)R4br`#dHFbkh?zqy-6|vkw5dhxCmWWOzOC__bhxY+{@3);~Lxm7IfEfGqzg4 z^w#ngfJS(1X&oe$Mn+qmofNiTMO@~QecY;6Z;CeGfWVLdWSK~sKc%uQr+@Q8AV)x^ zaoe)GN+ohG`$*G*L6kgg$ z9m{*LJ1QVz&02rpjqzqA+hVqS?QG|zNx@3?8uiW8%+*!Uwu+A&aHAL=P9)0u@pW+P zIpVu{2toe7nOm)~|A$|=^H<_z=cG&dLUnj{KfpPFf(Ixcfb#P=f3EsPO5sdh^`+fO zhs;s4h)S=j(*)fRn5%QFPxpf(9(7L{AYBl?3W~s&{YtSI~eKe zk|^G%eh22{P4Fed==&sZA%pb04&Wj65<1IWKakk;+J#GiUmU*N-aFcbLIjrZCrlr( zMx65IoX;(8oPDCBH~5_GtLtjaC#$b6{p6jTYVUUUZi}^6l%{zmR zTwmR>)6pe6#m7V>MBSV1zSf3z-FgKa`0&IqUd8XZTaJ&8#&DV|Nl2Lac)r5JgPV`} zQ!5wqxe?asZX^jV(9+WnQou$>M}NiB=hoI5oE_x5-C7wtI=07HVFQj=?Z7;xO1Zf& z|F#O4ns#?f_a||b7!F`i9smCQWF$*!zR^4YaO`cO^73+W@oaB_bVxzqHH36=eeCdw zLvG9Ap)Zg`F1V|6SnlsuSHra3wMTmPTrCxv?i$DY#|n;IIp+015bSG%n8ZuyVQ z7D{e_*DIe()9QW0j8aq-a5~Qe4)<@JoNucckQ*AF9y50SI?7y6MMGN(eueaDpkotp zH}d*kC)Ek2`uQjR(BQ_xxfn?h0%XoRZ|7g*4M&;%D7d#22pE4-T&_MDh`u&?!InG6o@ zp~?nB+UUC5jkmzPF=y=E(UD&$<^lDGE^KIhJvXT98%W@3a+`}A=NcLxpDr`yN|bub zZS*dno%7q_x1FksIbw3@xax0zxVP=C*k{u_rT-@Jq(^=i6B7d_qe7R@DPRR^HM0Yj zqs|-N44bwn$nF_nduP2ReuDHz-_r2r?m|2+I)T$QD$XJzHd0Ybi`TqkcU}0+bClpt z0$#JOZI&I2xu@qR1bgmlwFwCy&-`jQ@B>+a6uxYO_M>KLOzYC6cFlR~g*Ymt#Oesp z6AD?Mwk!UiU?`Z}-|hX(#ikivlm&Y4ZHY8S(TXwbRAHgQjp!&PmJZ`U+4@ z5cwSxj54@(BmnP66Jrw)!O)(Mm_X18e{5rlI(%TOw?1by-z-^T3(!i9E}U8>F<9@z(vSPyO`PkHW;vOhHk0szlfH1WGB|9bDzIV60x# z@OJB$5XnFKq)pevZ-&%_CI^q zn#N!}TMeah;1`eAy&(l)>%_sSYz zFX=ikd?Y7QE2|@I<-1a+zS?jK>FDU_Ckq&{EQa?bD-^luxa$V4H*rO9({S)PL6zq| zoNw61>309LI$yk%5pT_LMXzP=i_bBtCDC1@+1FQH~;1!3XI zX4Ca7;H|*#@?gGUA_@Z>W`T!qSZ&5<7iS zz+AVscKvK844m$t~}g=ZK(eF-#7Be#P3Tzbd-dO}t3a zxvc`HJPS)1aEfQzGOcjxQ)7+qshb@=&Pk8$#W zG7xy0Ys{et2zMT0&OLp~TK1cTnK7OVJ`)q80^V0${T&$G9)&ekS{#6CTg=4Gwcco8 zTz;|dQ}Kb2%Pp)nE2%bX{?aczAVB*B(|o#Ka-q3vx@qq>B1jN7t;f@{?! zy1bS@z^k>NfoAy$w@bdr;@v9P$7XN81>6jsy(c+UO5Y*U0@`r%r>{6=wkgWL7V zUqCui!JAxfgbU}Y)6XU6I{1`iEP-+{s6kk6go*qz@SB63k!3mLqJ>TiO{K&vwJ6BI zdB*-PkR$+J8Luz#+)?Tu9elX;h-~Tum764LER$*aJknl^bDjS zVv+-|7uRP!B>qFROhXrmw=YU_F0TSULPZ4i$I5;cRGpn!?(8J%>nSQIy?`b)bvdaj z-1=ps)?(wnAu`mr;4~N=l=4TYmXMItUV@CF(eyzTc5=r4!jZCs%W!7CM{hLEJDAy= z-Iu>zsanLefb#s!%vMstc<^a}89xx~W%A`H{F(-^hJZqpA%lg0g31)G3#L+Q)L_Gu zVy3~erlcUHPv15xe$0sD{$<`D3COd*Y`f~T@*|kI<-*Ia&R9J@Q?GG+ylp~tw_7lq za3j0+|0$fv!pO|v!K}ecN{k=)%FrkA>v~EBe{%;5dQQk48XkYJwr|aK>H(_SFatJt z-9zoTn7LO3D}hs7mku)5$~Zv#0rjEuFxu?b>+QX*bpcc`iHY%18AaLmFqbByps+L` z67gxb0jaEZ<964gcSwkgmfKP)_C`eHE8M<#q3n^|V}QE?5_M+O zI8So*m=3_0-*;-}8{mfk?|hCj*FXKfX>kp34T_PGF0LqG-D#p%6A>iW8}HEpkPeb@ zE~%+8jNKH<4{W)tPo7onbAA9~jjrB8Abk7lm2bwHEpN$mN)LsWcaRfn`i}ocJT(>< z_Z@m^GfNES{|dK(%1v{6=2LNf+Oet-d896PZ)M{h>O020+=ic-U!*Yn*CyV(b(aQ)-64iFeIU~blFB> z#@ad7owSfz<~av)eHa$C%}AuXS?$HU;j$)q6DJ{XQGqgu#M=oQT0nDCq)|rsf%I?x zG*nX(f!Tpkynp|Zs;-*&wVa$%R#6@l)!57|f$NR{n1q>#q6K%xv)P2{(D6WhJ(Bt> z=bmtFq3{Q{y)yX5uE8l@U5AW-f$~Z?G_rm-ySm}(J#;Ahx)KhSGzP(HY;2-4(`Hd_ z2?VlgFsLc};ssc@1XcUC-|-bS=hW>KBSlw)h}fOh2an3A-8BRx(|i8*EFFF4D^gpi zx3&_cgtSc!(Q=USK(=xl0`*5%zKe>Yi8Eol5j|tl-S*1K@ztTbt8SwRl$3lEI|aic z$ajyfDf=Iai;uYB?O##mG5Y#x02f{3=mo=~tqRQpEL9dGId{{Rqx}e~L%-P<&*T+*I{|8|Mh)sj zrR6S&IB00eO?36M(lb?MRBX9U|M;Y3sy&cVY59f1TJ;}^-!u#Bk$}p>i!0R-wAnsj z#Z3-lX8x_a9JWn>pQNuRw^noY*rFe!0Uc07MB=PKSp)7RR7fK)KiK;KRIRFdIyNjL zuc*}1(>*e-0FctmsBZvJ+}Sdb-GYTT*mX7d0GS66Hp1cB52YOM--|1&hhrU|o4bll z+dOvUs11>!bJc{3jIOW)wgVROU&4+&UsP(^Bg#M_)}lKvT2g?l-yVSPVlK z1M>4sQ;$AzBjz~K^Qq$O49$cIUytJOq1GBJWtgQs4F#EL|Wwm5;i?SFUI@mxOfGVpH0#tS!w=xl&)~Pv!t3k=_epkOTwqH16LxGd-hEsBd=H z?rSr4g}#Vj2OC=Ia!k(LEl2*i@XjvGZQPv!2Qe?Wx8GAyG3x)ctRpVQ&<4E8hi=hm zh0zZ^V)hOn!7rkn80L?!@3^%el(vz2^u2yR$U`Pxrtr$txh}5Y=1kZGBCI@9yYpqK zH?40+>DZz7@g^<0+5S!`l^_S@-)ykgUvh5~uow5{N3Lb6N<6rW(+WZBp-DgY^OqE{ zFfq9{(g*GA0CYJJV%$c->v~qZsw%V&4vJ9YAMd^}yur^qCR-b`Bw)9N;LFGSd1dgW z)e_u+{bQqTx;E87OPZVO*Js|gn~Q-!+5ViaT$0+3l&lT?)RviLlvh{d-%JKA9!8iEa=9`v zaux+fY9{Vd1QLw3zxX%bPn~FDrAOO#qI$Lo85wPW(~|@O!8fsNp8FVYxl^hqW~!Q&O|0Ge8DOX4TOqLW%Qirl%&V(PNda(dVQ}#L9{DGKW+o|Ke=Ib6 z1PubBw&+3?0z!ON%MQ|$#tsld@Ld7b5#m$aQNh)DGq`2T8c#wcMgaq?@a~;6k0P-( z-7UD&{-fi432hpD%;R%o5D16*#Eu1*UhNJ3U`uQ%$GEI^kpeE_;?F$ z?-)rZGb?Fm>~8lhF4pPvNl#=~-M4VazrtCqyZq11;bNiP+tu-D;C}h*R}f))?!#U{ zGcrjVcr+VkHPsaA@Q5kN$*)g_ufX%P81}$<4~U>gQ&YHffD9UtqjHvHZSBE{jWLPg z(t$qA;M}K)rK2GeHSc%kp(kbFXrJ$}-WF)u27L_31cBC5aKUQ<9;YnR#h2(6djxh5 zz7_L-ztE*iW0an!P&&}`g1^W}<%|p-X(>^l`u%a}8{O%CB_uCDvJ=KAZi5YY!o0TO zzc4XYaO_E0xarD|B((R&JE&{OLCFY!vnXOK2E=0>@$2K#oER*yZ-#}P-#UE)0luQ3 zK29{qs0gn5a!LQmuonYPD@X}kj;%|Jq|U*gDXUo%{807;F_;%n*qfFE^U29kz1eK# z0G@AvuZ*k8q>i>|<`oyGc3;L`YI965 zX?AZUWT6FgsX9-eVMB@ANo5=nlQ6K~|NS`$FfFJM5WJ=~5^)**+XPOHv;|93Gd@@v znjf*#TFvb9Upr01LO_67QDG^Bab_Vq($~K96W-T1bK&e*t+%nx=N{V52PjOZ;{^B; z_67*KfqZ+P&!uhY+r7$JLyj*h1lIobuEwz{JAULpicLmFIi>Y1W(YnIluC+>PmHaz zvZ5@Ylk}l{`u9sVngM|jeXImjM6xe_-K!kag}Jz>hz#~S=5OT%AFz~i+bH^+%iHxw{|G6vXC|Z5zhoZ(uvSvc~{?D^6aRQcLvTOL1b-Jj;&LY_H`MPkmm$& z@V}$y0qL9zP_?we+@kbC$9Xu4yvk(%w9D#m4-f}$*GCtj>`yuiXi3>G$Gphy*EZe= zd|;GM!1fT}Jx`t=ZtnjZ=)K_0pyvs1*>c#h_JoD3ydp7cm%JQw8JucBBHQ`|^ZUgX zcBG;rr~tqL9V#cblV|Q9S^Y@rAMelI9LqN}?gl{BEfi0AU^gLQwe2;lkFM^H2qiANA`|^)rhPI0fRN|B$U{?KsCZG`MVxQ}`O=sm$x{$5KKw{bsEuy`}G=eUQz`+5^ z&vadE5GS?L)m!cK`)qSftCNf%Ey~L(&6heN2edn}jUcY?Chf!18oiFyl7>?|AnoB( zlNVC!0rd@Kj~)-|{(8%nRmYEb+2vbsRty?3D^uL;2R%&59v)(fh>R5V4Iqbs@}k|T zGCBZoJ$AgBDl=d%9v^Jx{k|!pGU=I3nd?-`35uxIs=w^l?WEIc9`m`LyEt7l0gpdC z!|b7SVf-@&QrPJD`2Ktus9$zo!@(gDzGOa%%emIUY-x&R?wguAnvD%t=sv>ERw}x7 zogVE5rg%XC0Sk?~4q_%$fkFg}TT3j>;cDuP#>b~OI+(X~iG23UtF1nvPoEwKG-}eD zWMGc9_QiWB7ti_n1%^jO9iQXVTke}Zetb1fmm2vD9REKCq;u+!k$y-iDJt@~wX6bs zJTCUk&fb2y<|Y|5RJRorc?$WnAplH26 z)>zlP!ePN>|mvMPhwZmIQ#eMcPfGk#)7~rbao!0s^3UsVo_r#Um`} z?X8fZUj3!P@oB~?#R8}@vue5AVS9+{a--?!$N{(IyRU~rHD)KP2TnHLP`h1Kl$M5J zSu-t;*FO$O%F6gfytcBnWDg1=8CJ*vouWjWdiMWJ34kX^i|Nk;|MIGBD9L=&S?UE9 zVL?P3BB-&T_Ofo{)3%Jh{@Rqy257KGr_CuG3HXYu#Xls^HU`pB&_5(4?K@xWmRFR? z$^tbQw;Le<^g%;2Sw&5vm)6Rvs#`5J@}NB(I=Wf02Y(JZGk)KI!|6FuU6Do&tMmCU zU_2l^6nyg170ZZ7s1*mlHGL2tLduJ1?Nil7b9st@f_|J)#^CZZ(67J)4Bbb|(b zv47#j*6x>GNB;i)xOR+8WvCE-l)D=ab!Fww(KdDl%2=$hn26cI=Agj9k-=fmNsW!I z%CQteLQ|NM^V@Ks@fRLlPj8R>$S@k@?CdO-t`rqwaiA zt3ZoVSGK8?`U?gYAfthW=(KuE#NJAtSR*5Qu7jdJP4~maP_2gND46)5;@tXp)tG9* zDAN$?o0a7akYsQVI67W=czgzFrdwlr&XqzyqdGYm*&3G$#*k`re+~B%i zYVA`0{KrqUo0qp0unVXV@QiiM>Q^@u-H{pS6|YoS8<(|EdV=TMMWG%a0>8z`O%rk zl{#Yh*UH-3*Uv9~WUG$=19&lCjJbo=`xA@N{uiBMPFflib*c(J2ySoysPmu(8}%v{ zsNAo>{N&f^Giv!Hg>&+lju;u+8O>cxvUykWw>P_|3`&0GpeSLx}LE{z+ixik-vr1H7XT z=OBmyKrIYQ_C=_luJH7XimihT(p-Ahd0*zvAE)U!a@XgtR`vPRn#v2_gU?j5xQ}_^ z83Hm=M7_hH-io>Fopk=a9-|j1x4?!z{0Rk!b5=zYeQe7d5&kDO)PP?Q?%{>*bEa|x z3cC66AtxIpMOBJNpS^<};o>@XbKg{7ruN)S6##IEc4#*H?||--&)?5d_WmM?-v*bi zIIrkRrnOGzg?KbP^n6#avwsE(U_5|@;C)oDI1ZMqvRH7oOiXkRZX}Qc7Ex($-PB8* zNFb|=M`gY43o&TMB&L!rcTbUDr~xEA6E#=ruz z0i{|H0YTMJr~INU0RE9t8zp)svOq{VSxed}hm#G@SqH#aA0$!FA-@wefS<282C@O>T3C=rytr>> zsk^iU)Xd#{*TAYCArzqFc#uL=gQV533$F)D$m&-2OOWR^E0-AIiu74p7;3hWEw z$jH#ph}-01anNj%m@mj&%X+KS9j|i|LrzZa*1Zmxf*FDVhKJ09LyW;=J}?jatgON* zD)j6F`5%ByE55`|mcRq8>>0C_7En-pvUr?jwN!KS3ym#xw~Q<$B_(P>{bGBmS1o58 zA|TIRk_|4iKF%N|H7odw;#gA>BVp1-_P?oh8{%6<#QX#N{CJ&{wnhimg$6Zo1E$2a zFXq@|TUw$FvW7~~+Q~9O$qWpOH9q{7SyNeEUP{Rus}xuwm!JNcQ=fPV1<3lR!MQey zT%hFwMXBI^>#Oq*lKk~6sIR9x91D+)VVlP`4<>EZl${dy%T|By2ma_#mm6iC~28lC6ojo{Y`iWBu+Jq%1N zFJI`qfZFf!yu5xVC#`H+Uo36D7q6R5SNU4~9gLJua>ij*0TgT&4}1Z6`e%oh`{~kb zfDd7nnl21w=MHEj?q<6(2`Q;v1D!2eHziHn$kr+N)kw25iZ5Mt0U4Pb-5(u+|s-s33`bl{=2eWisDOkmxJulujUgoBS!#hCSi#2}a->u9D!AngJ0+ zy*fZ{)yvn8zGn|4fSP;)66^pS&|Y(@_D<2tDu8oqAPG==Z#i9TL2xPAS3u#yw6--8 z0jOJ`XF6kGeamOX*o5ZO%JKcMs~RmlP?DzOS7P->va1-rV;?9f*g@OSh^Vdl&5N?0VfUr)G!yho<%pL*3omf|A)Y zQ#0K+q&8P6nIx{&fZa&Y2dn7eS|Rhxo;k=OgcWpja8k*AYwhX*aY?d)HF1pLwGSz zg8@YmxfEzFZSW3W$8&dn1mEF>la_|NPeB;J}t(`pY54rd3sZTf@AJu$S~ zy@@*)&P+*}3;KAfHGai`=xzQEMSg;5Nd{o9OM#z}W^EKaJOGKXg)!60wV>`WD-JOWQk4)r}z3Qb>Lhxw|}>`4${ z9Zc5DjE(6J6z%O>6scFeG)o6*iX2O=K(mYm=v z@22s{Xyx0(5r56Pi~a-#yEXshm)POTg=&&xQ?=$daTPo5Z31lf6c-;S?t}aZR&DFw+f`#07DZfDmh$rQcT1gXAg)X0#gQxpA>^j_VbCT#CmgX{GsYXxlOLcV7B!+6`0JnT0rK%cRyig6YU~(x!Huw1i zkbkUnNIP8}lR*GMV7Ge-*F7j|P3xIP`jM=I5|dI_S0`Wl;@N|Cl@e@I^jQ`qO-)U^ zJwb*C$XLja$TA*%-g<@hLf}z`SE^1UUlG^afSl%^DUD5?hRHRC{X7>u4&!r<8*Pcn zadGQ4_7&;rcl$gy(=%L~6twCkph1&P(oKS{FeXsM6sxU(4)qX%TxVsxH*f9&CMp97 z#&yX0XlOQEX=`iQi?u4!PS<*I^2fhkeCv6Y4$L{)q=U_D9UKPYn?5XArN!s>dfYWd zHc)BTS?C%lRc3kD*4NJ#F3z0BK_C~vxDhx6@QtKPt2UZ-0}oCts1GI)yUS*?p$USF z2qvFk&ckb`TfvqmG^6>T#|X{Is>GmnSJw={`kE@EHec02k+t|ugkRA(BamRzSYL00 zN3z$tyrQeCpX7y~3JDpVHUwr{KKk3_uY^R8zcpoUEV6rU=8#b_71fv`PDwNPp*pT7 zpY5JLYh^30m;Zrh4P6@s+Lrr;^3MCafY@#-2Y4qSvt2c zKi^dup4-oe8T0D_5-T#0#2EOOgn}TSgd{yQ^z+V*(o-*Jrd;v$^+4jvc8vuKw5z8l zt@2#+(_$f!mOAh*xwBPf!!su`Clh=O0~EgM6vvgLr|>O3Qx=!b!Yw$k?f2%LPim8a z_z$|dRaOq`^h1SEMLMnJHRWzaP)EC9K|!vNd3K@QWMu>PWtC_0M0;!n@Iw}dl`I-D zF@KQ0|G}7=nwqejObCw$73pG4U#)vaMn_N0)!nrYYEU40hNcac@Xv0%TChRKJ-v=>Z4LKGez>F4?i@~&ArRc14tIx^A{275%OeZ<7X zQnPr%2JPzZmX(qDBqZbwIz01hqC-f@$xZZ(4vz{6CMjVu(w4=&X24)nYPQjNV9d_m zM!eVa$qOYVTqv^J+~G;n{k`kXnm8}YwG%3YN0Uh1IlEW+*8YCmj_F-aRn^4J!N|2! zEh+?obtyYs6NyU?u)FW?DhNBnLOdHZm6Xl{jr-fPV{*IeG< z+u+iNiiD7lYHRUuai_wG()Dz8>oH$>>1m@a zZ;8Ue!^2Cb?R=IwQkRg^1J*tbm;0d8$kfDyiLvqbPfm@x*Plg1x`xlT<&+{~V?nq3 z_dt?MjavUyDA6^!F3#=)eT@#W%Fh?}fj)L}n_tr>i>RxqVc=)-ecu`chZx&ZEClCn zsJzS~AHA+Zz25j0mr}$9%=VD8Dp(IDUERA!B?}P|k$sxmA2@jMA87l#3_sIptq(D4 zt74Ip>&T?I>c~c7WSGT1j?YY-caK!$G=c`G;-Ie$Kk-4>9P9X)3szcmlor6l=clGP z)?ej&wh_BzJ85~gM1CzynP|Dd!oXT?j|^F{!-3)@KIESoe4IsQK_vX}!X4SZDo>6G z4FV1AEC23%bfe%b;6wb)4a~zcME~yt15JE<;BtWCh3slsmWpyNF8@WDpl{z^xC)X* zph3*{%^zQ3%+1cCL9U^P^W^itH4)uo@$k%*9{J<%B(#x1rd6Q}8(Ufg=;)dX3e&JT&Vg-;UqY%q5*Z^v z=z;2#DoX6kcSu=BRFvu-qyDilv32FktZL%)r4z7P{uvHb%kfD`QzIi0v8mqfxZT{w zkDqwqNK5{x`QHoPlZ1$@ZEPd}TWW2YFT$OBS3cb-8XBjtNbcJ1TWf2b&7kNkIvNWo zZaJ7v`$V>brN78J@2)`9wGoBL+S(bM^gCl6EKn5Yn9ZKfoEVqg}~iX`+xiP zjhvC1lZ$J^-OSA6!FC^q)JNTrhlJCK`VFfjFmzHpA|eQ>)^5Jtas|AGcAHeO{)Z1z zTu0K%`jTxwtNJ(V2H~1-UvEp}UA#PowoQJk|5<)O4-D#&%TwqG328RbG%Sr*LR`8t zHdt?C8uBN4Ja{LR9WK52;2^niiwyF$<5@)@sDH?+-9E+b9KUcd4<{w(DcQ9MDay_Z ze=Pt3sEe%ZL%SYYWSRjrO&@Y2D~i9KcB^%H#o8B6jEL`kg9RKh(z2^4j z77aqk;Y5Iczei{C-Zxu6zrlzj|uv0 z2qG@C@M53H^@wf1l=k+E>-dTzl$*W_T!|v75#L5 z=e(L+lx^}sPtHvj0TXjfo<~B84O^4=U{COJHuujP3?_~i#%mS7Q#)5zGuxXw&R0VN z)2}bAZ9Y0hCkKxw<(nEBQkuH*?2Kt0gCzhE%j|45+DR)O>fYbJNqtaw%X4_0aH<5_ z9DQaf->DcvgH*@E}><~VE^~roYA;-J~fRjb#(Y|Mp{N6neBT+uhqK z+gRTOd)m>RE1ayTC?csH!#Y1ZCKBn{-VmR(bSUsxxw)xlDzgT`(e$#&M`Jw5_XoYl zqXk6x&aTg@YHC3F4IX;9mk{}Jau^uDtnRXx&!3UXyX|+hqWCSM<~SZ%9iH;e&s$p3 zXVz+fJqU!?0Rdveso8WF%ACfEIiaD7ZEGFl<96oV`CG$?piik{k$PyhzL;3=G%tlY zyr|rm|5oKk2?;$tsWU>?Ez9qDz0tBhm(HKkvK17Y>s)!zf=J)KbzW|;omW4YN3OGG zIdWbJilPd2FB8?r08W2J#l^&g8rN6X#82DJ9N2C^)$61o{>=4=bwJ& zzZZLJ0t8Z3_UF&<8o&L73HhGoL(PDyq~V@f<~`K9M5M%^vFy6$0JbNfW25O$G(gl2cOP%t2e8nJM=;W}6#JpGZiIo|K~Y zrI+EolEgya0Ozs;^+jwz1aU+H7X{teR$oZykhHT(9@o&=N1;_l9z+i`i8!bECfxG1 zI6&H5Lm*$z&ylCBUY1r=6lvDIB9&J-zn}`s1_r1+jnx=OK5D;eRFsujS;w!hoVJFn zn`|b+zJ1dWR^g)IxgD6XJv)c710fK8Lc$6v8Sv6>ZztK@z|~$V74?Rs?;p+9+fD(| zdx@=0A_3?bk8`2zKc$G`a3RbkhPR8_JvXf>;<-459<5bUQ`*3@X#14A{1?AMRZ@8ACpCjuK}t;3(LGyJjn zdG*>_&N2#2VBQHx!1a~;@m2n*Kfrbu5FjKuG!i(j^N4jVri1kgG;u5}EUsy%=$M!q z6)w;Yu_a4Y3TC`h#VQlv%v}VM`9u1;X2mr%EvF8eq>>V6lvVWBFz@b54riKdugg2h zn^@AQsHwg9US{TinvMoX&qp3nHfHAN$Vgu66IS5+$)0z3$~QVWi2&EQQKvJOk%j}R zbNHntGdO(h>6n@G&)xT;--_tXJ&8mfMU&iSdALKuL*^!iHu#<|}Co9&OFJ%Uyv8cq!N zp)ER3BR<+2+IKN2Q9(oxjRp<1S+AN-6tp}+skDylTNURRxtvGha%f5At9C#*7MSe@ ziuF9KmsRHGUaf^XIy$=knSM(~S@a|8V0Bm8DqJL!f=?_}S2y6?rM)X{Zf>sZWWsEU zhB|Mo03R=bUZozx_5Q{_yEGSTvIqQ%j%*$*D!KZ?W`I~veQo^`5?oupY~DC>QuW7P z>hEGbmX|l!1qo?dUQMpofh8H`^*+&emG~7kuJ^O^^Iv1qIGqVxUvf5WhW{Llw=g^O zX|gmnMvDqhS!>o_*2uU#wyldG#V3gPVr$P?P19|e=daR_+}u3C z0+^2WU3SLLg{i5_glRAf?r>|xc>K>bG(Mni*fFQSj{>EMVH=j~;k018n+fCn`L14r;K_&UnztRxZP?(Y7< z?tY@%EBF_of?7sLa+FY4=|^8|C)rq!ZBUz%#&X6vSdW8`u%IZ51_lcIIIM+r(T)ISlwT;7vY40nFW7$0!b?~g_d6pzsnM7h#bZ$U@H!zxTK zuD00Q3yy|gND&`g^Wm@>tEug z)$=8gx-I#!o4SfP2nx!YxPKVKr8)g#`>wy=*o^wGy(5$t{L?{yU)t)eHbD0H^lGjB zPgMuSNdK?H5EN7};$MS}rvuiW|La8b|N2lkOyEnWt(>oxblK_Whh?ZxQ|(q({+j02 zPI!8GGRv;rlEEA&L@Dh%E$>e0p;Iw+x_E#B$hXaOm z1v4(A_S@J7S$^!|f#nb+W4gMgY`MQ@3_{b(W{l}CteQQhggUZpZMvD}M#d+#>P+b% zJ;RUn-{b8L;7Y0t7hn|ZQ>=q5;Sv&5X6yYxm75@(#bWuw_)mU&D(%L1ahCOHxv`{3IRf^ zKez=2K~s%-zRv0Gqx2WR*gUf#yg2oE)S#e?OdovHvViwOF4UC=Txn@1{TyZgpeG*> zMN745M*FjGAojVw)@;)(QRA^=mbw0kKw9a!WJyn7TtfI{49Iw)t^dO7@Fhb6n{_8c z`TSi{n-xD^W;VeL@U5X!%`Y%2%=pRYxY#x@KwH?Dle5)0EUZ-Hj3B-{W>oK#cDl2> zOI+>?a9v*kI$6bu&Sn ziw{(ROb~oxLte;}X3^7K9$ zU~9`V`O#iVN?*PbOb~!;Fu3=CE8WVOINmD)+>SSrY7{2enwpw0i4dWp2yg>VoP6Vu zIF>?tmN9!r^d|Oq*-{M*O4uz_AGcP%Il`w{B-d zuRHA3y;%>=#UBA`O3M1nngxp@(0UTwS}nw}3%9K=$6gBeS`iP7Cr-Jz^xY=?r9pOAieV<+86xHX$&H?UEWMWd;#Nj=>}GRQ18|ezow7ne^t|fSw6(T| zh1N`Cv*m{LT=sRcHJM%y z;E!cy5Z_l{Iu@c^T3WjEEdbCF=BB>A?nztF%9+qOmRoLvNPi3MVDCuo^HC_H`?-=7 z+eQEif){+3RK|efNL^yW_`;MZ!}{w;-8f6RW$Zh)-HY^Y)UI7s5amovu*n67sB0wS z>nK?K#Bm$sF^>Yrk z6q}7mREY6xWnSgO!ybpFzA|v>qj3z^*Vm*j>g!oXSp?>(#l&vZcpG^Smuf=KFrFrFZDJNVA%~T3`1g*K zIbLVyT6BoqA6icVo14udG&Td@02E}e04&YuhOLpNrb!m7VKtuHE)_~%QqyA`BAo#D zvUJ$hc9B_vfRBa7769euoPXq)w6L^H4}Uwo_YL+UAt}jFUmwI?Ffh<*+-vRvXAWAP zBoN~@m`~)Hp7&pdhJHO9Q{cf=4s>(~WsYq7pH02!Yxa^P^DF};e>K2ceKec+1)@P# zwpP=-Zf2k1w8f<*e>85-16r!B$FxRieM4f)?`Lu_>faL*oV7hg=f}MYSi*Rp2B-a8 zs!RXd?Be45$>MwmT0biqq>*=?JJB?tHxB?w2-p2f?0#n_3c}_P8*3AM@Au(xF#yS5 zU)vxaYxT#8I(oCOGZ5H$inU=NGW9$}1hJMVF(PJaVu6m5tWiImkYj3@#10+utmXso z*e#n14t^NKbqSLpWk;RJ58ZNmZG0ay=OMdtL-8~=ErN~Hh zc{zAyq5;7(n!_$EB!Z0_S6e^S^;4G5{RWsT3=B=ekOFGy%fzm|N#4%QjmvbK!3}Ln zd_1SMbs1?(L{7F*ZeAXl56JV^Rx$LS^8DusLJ&BG=3;;`eSnLJjYgqT#W&djC8w2@ zcA)?GQ@$=Y_JbP<2?@aN_UGqk(>6Az+}zwwPPN(DS!j?;$bnu(3wJ~P=p#M}-bYnc z0#YF|^c}kSIznAjW`iq71vNF>Wnb_K(2c!{m5my!?}+eM?tf6mKBgd??;@(6q2cJ{ z2!V;*)BN&@5AGF_kf4El_dO}e`kE4gO*($kY;V`wRdH4*;og!DJAzA(x{JpY}_6wyC*j#CEYQZU&F%uz=v-Vz>|*p zp)E6x*6vo`;Pfrb8|J*s%u@pu=Py0qes0EsWZs?s-O=C-j&;ztkDA41erVj$Xw57) z2ivnM^&M*mP2phk2Y@Xu21a3tRjmiPS4xV-dEW*c5JJ@mIMV`g#>`4pj2G2BLi1o- zTSj{NPdJBFbN%i0_3s)VRaAPX4pr^#2erB%UTyBY00-#D74I(@|X!R7lI{I`&B)WB@=XD~8|Hm|g}?DzAC$2XIoXYY``XS{}l^S!@9vL}eas9*)Cl68xl6)84OT z2fws;^TomYG28cK%Bn|y6yj*)BO{_{X)rN2EMHy5y0LLx%J;Y^APq?G6t;!bfC%e> z%;%V98+=O~bW(#Ue{wz(ht#9%=%jy#z5JBSjfsXfJ~jrtoRWc_#~^PYJ=+jc?OY!!a_Tm?XGMIrLb3g zL%qG$+slV72lJ=aYycG0M*wnAyP_?iH8Zre9n*3&H`37&goB1r=W*VZ{Mh6EI5|0( zGzrYzMMRLBT?YmvYo3>Y#x6j(+A`nhMoRh%+?2R`*UyuZ=!kuB%{)>+5c&8uKCYaNK*BXwbs?`!_wc}iqZQ^ zW~vA;@o0q&!!`5;^0eWW-pl76Gh~i*_A%&Hjkm332M4KqnuKCmq=x2kN{sa+XDY8cT$6HIt7%x(8} zo&RtJkTUB2;v}Gq@^WuX?!UD;-L215wKhn2CKlur5vRqUu<`*HAHO(%HDR&E(E&I@ zB%rPh3YF*^qH~f{prdXz(lOP~%~4Q%aEa%8PVRea-PY%FXbWbeFw9ucn4$rFTp(#~o#Vw(Hlg*d#5dgA=xA9*Z+$M2iz_ zLcHQVeQ&4#RILQX1qFEO>X>e?Yj^gyYsg-&2oCk*3^oznls0CJ+HUAdOFKN{*92&I z^f=Ou(rNU#Bw2)tl7zdA8O~3Uu+_*1Zrk+COxwV8`lbh5HjbLtKGgc3jg+QxG9qKK zNU*xb&S=30MCI7nNx6=O+!YLbg-_KN<)?Uq16}WbnvTsHz@_t~qXPgItj>rFMn+pW z>P;Sd8wG*BwkiHIzx7Fx;ipwzPO=(aotO$o8yn*LHjtg`Y-1Q=^e1L3&7GI}`rDhn6rYA8HVa(P^3hPW z$SA0IOHzU^ho0}=na6KPZ-1Z-?)teo8n>}2hXf3h0?JYggR|nlqd`96=C!=@)VSWH zgXC6J(9kmpE2`Su?}CC^ccKtblhg)z-hPOV_f`~oq8~rNczwq2Tk`Cc&`Xj1iZ2+HUzvbB(sU?@o zu3P`@WP-FqI%Jw@7^+Ci;LcV&N&JSfCq^KLeHFul`zkrH0| zkv162AfNE;1mJ@h5K&fAGW@uivODXTlA>X?sE8Rb0GAG)V30x3g*>9t*KzS6w}@(E zU8wOa(e#+_znb|*P%9SwqIzfz2MaGDgpilR@+f(m8jRMfWLH#-eY>`fQ!3;fyf2Bl z(bLYxyGFBG(z=Ga>h)KWy(da#QGC$Ib&f_&xo4?R{emRP@(SJ>Y_2mT@7=Mofy$V( zHMiyCC?osxkUb?jMcGIrgY2uN#`d8uRRsk)29~p{;YeTG=^5pOc)U(wVK^Th_&+Q+18S3gb++9Vxw{=;V#zBdAn1mz{ZD{GQomfMgqhR1t!75%`*js#b!h(R- zhqgU1V1?a5>=4E9vy@&u?e5K+U^|@GFx2+V!{@SL{;W3XsSG)N{SL>Kl>QxP<(isp zl!UjVL!pDtWL`)+-7}2q`cgzRJZ7zpR#^e*X-HPRs1fEz$2NN=W?6>%kM^4xmC>9K zY8IZ7q7ZJ|e2}vB&2v)Ft*zJfUrcWP`9lN*EkNU9F;^?D`gz{q=h}!Izh^3^k(tTt z?`f>G__mG?)`_9Wq@ZspA?GSC?65pZSw6~u^W7&k&=N`yZ*X-<{b_J~dZHb6CG$Ca zV|5)a?7NPk?&t)uE@@SIs-m6xs&4^@5$6n$yzG;{k(3N};%&!UB*Ug~c3__b4u+r| z_%8tyBq~_f>%G3p;8zH~$%zpf3JUFBM(^R!0|qLR_bnF?1#BPkQ$t0pcM7OJja9MA zm+G$t@jWf$P*4Kj%kJ8^6X?`fr+#(aohRk{%UTbQmJ9j%g2zHvE7bSpHQ1~`<9i~f z+vdX%ZBy6VK8jOt;mc&7562K|Xe=~yd>v!90hO|o#mb<48({1v>9sn#`c4?R`N_B! zC;Ory_>-9e=5$imPIU~ou%n{zUpSM&;0UWUp6+6R*t~i&Pfal{HhLqm(`8|p)d#sT z5DHn+4~=aVS69n+?>;axGU9EUHd$GW$t(RlL}}C>qLl?U)6E=B4A-Zp$ELY&$M%5Z zZtZ}bo9xL+x##bKlc{>u-BS%ClnT+m<6MSis!Oe~J~*iw*mp~l^XHc{>U3eSK%R(^ z*!1kI?NU+}lHC5by`V`bJGSij{`?<=Hn?p)QKZvL?>!u{+n1|wzq-r4btP3r z&86RX*tg1Jf)}?}nh*c;;90QJV`1w92qZM+;#!i3m$;;m`V#vafv9!BTN8Y)wy)1C zj5ww3X!X`^_t5{I8eUZ|TL=Q__^gP#n#OGc0_5vmA#HRC-ar2rN}H8ZN4`*0rHSgN1SvC#>Ql&-t+|{J#KbnjYf^4$FCrcg^p2(nVCf!Z9_}CHeg%z|2Z~SOU;Gv6LuqG#s+v}g*Q8v?BjE{U2TGiO z%Yn5EpSlh;KZ9lvkHOLxafvN&loXWR0c-rz4;&eQ>XIYmTr1;MqOScsL8n?SftFUi z8%bPDxdK7oA$nV+kU$y#4(DoEOXs+;h#f&t}8UWdPKkdv@u z*t+tLfBXRYy@ga=bGxhG&-nQlN7yn7j6i42{4$g$llS;>Z4Tf=eD$@DLjf-R{?-BD zT2gjT)%dM7FP{v#(xOwMZpSjR>s`9una%>W`@q0JTc4|o%h0X5oqbZyk1T%opFx*g zX#hDE+ybl!C?f-el#=}9mqhkGfCGZmg+y!hpy~Gvy)8JUGh`{n5-@RQs8I2GTYL5C=U9#S@JQCGE*E zl@TAfNJ3p@O_=fa_i0+pRz3{3!yY4D0dPeJz7-@2(y83QI?U$c3?9*TEVDb5gzIMN zhb{12DqGl70#tjZD2j@j8X$?f%({mJ?fd#Por{+`ItJ|4hXvRRwc-H1HDPU=vaq=L zz(|Hr5E~n-sd!=fltlbqyoYTk;k8TK+jPH(uCJfnq?@a-wRz;e$jRHmVorF4<+PwT z(#9a-GY?OlaOZ*-gg4SxB*2RlCsYyc#k zon4WkqzK4K0A&CV*XYaEHaJ*Rl0yi7@;%7~ET|$o%Jc$^k5~Hn`MHA9lq3_ojlDI% zYgn0?jop{T(`9nycNMfA>ulBera&gEqM|ZB*^CI+Sk-PuLmZZqcCfpdQIuJfmFtBD z>EQ>KTLLB8zbO_cCV&Le-Y)qk_iLX4NhxY9W=PL$Uu0Mq$D8%${(Y6{ZCDl-%!?bq zz?z$zTNcyv^3H?$tJAH9{@y+`xR=D1mb}DP`o>;pHlp(dtsB zbI<=e*?4YN858c?BhN(wTp8}GSFcFE0$q?0S%6R*%3FPLfUIv>Nr;HxKze>HqVT+l z_z0}s9;Pe--L6Lg9A(aUT6=p1EzAfP@1JO_<_}Nn)EXIj0CrIkD*>{9`v_uEk{Y!> z!o|(9xBKSiPk=aban*SX{>mA0T0(7Fm;zASZ0)bHo^36G(F)sAR9;?>)$y_xY17;S z73Fv{6O*fJtxunZUtvK3mCm1KuOnD=t~zHR55Z;709_@Utp{=a+w1Cv9_DWEn!;sB zNz=Q!M9fjJAwABMNbvB-9UWQo^LH%|+|KLU)=M9e3mt^1N(n0#qpL(L&y3n#SsB;;k48LNsP0#1_jy{0;x<67ng2b2hb(c zYaJJrSS@dCfPT>I?96UhnEn0jpfR(BzW(==lg1n+OqY3ZT?6Oe>Ief!O%L_|PX!=`KPhqD9*C!F zfBbkaVrY2v4Gsn6;^@fV`5KyJ*fG!ptHNQSYiBG4XTZ_Q%tAua1&HoDI?r{gV}M@$ zf~W-uO)QjKV)-x19Txl&6KC5!?}pm@F$oF7(3pQueSia1jn&oFetv!d65k67@=&PS zMwr-{?QCp#UG|+MB!WPRG0`H7y*TiEY@RTvX1R~{B7C^LAelcqoh&Z4 z1e+{a;(<7v%!ij3hmtC%P^Cr(un&typOC5AWO>|AN;LLe!Ix%@7z24s9775R>+i=^ zmARVxM(eRjt^-8RrN_Spz)&7&obg6Tt?M<1JxdKW#n*{c(l9`d$z3lZ_Y*JW_V!Gu z`zZ|d8u5yF3MqK!lkJhE8t1<`+TJwY_)(^!r!qUgTxw1_ds7G4-HE=9Cms*HMBs^c zVOu%gs|aph2aQIgD#*y^(=xE|qlc871O@`kr=zQ@M7>P%gN6klX2Azqsege+Kh4jI zEXJ3A!vPe>z&T+BNf9Uqu(4udW0dNLN{!OPTf~E(z8&ft*dbeM(nDrbBQ#`WQCF~-xnTkso~R830{o!9?=WA7bN^DDhhnLN7KJF3TdM@ z(p!L1eK@(rR8MDB+l=WSPyieZL#b4LOwIq6iK{9-J;2vD<299ql?8q4Fppvg$Tb0i z@j@a#9Af7PruF0S_5jj#MfhGE1t6Cx(J<{jt1XEcnBNz|!7g+rv}*p*X|i$&T& z%h29n2^|!2Ed={CSD~Q%*i~@83j}^bsK=zFBCncnPkBPDqhr*TUHNJY8s-*fK{AJ& zKiu7K@uPt4?&6Y!e@4VYpwX(k+sfi>wjhI=fs*WumTyl(<6C9)Rk`rNG%-H_v5tDC z+cHM|x+qQF9_Km4mXAilrB~qIflfUZw2~RRB#1|+Ly3l-SG6@wRdqnsSU3o>7I&+c z3@Y1{v~Ox3k9t+c_Lmf=*0Hh5%F2v$-|=uMS5?V2UA)TZE_I7&@Pb-;Xr}^$)fvlu zx6~N&T@0k2`6VSSsL4IJtIa3)kG+rAZ~`r22RRAFmoKG7YGt_%4O@LxKm13I^TiPW&NenR zg-eW2h=b0uJ#6s!BR9TV&;EQ%m;&1>9~4i3B8b!$>N<2gR2qRDcdiTT^59CJhP~iw z_T7l6EjgC*vKpY}#OHFRXUQ3gH>II_JJjEv5}7Dy#Yn*x^-+Iv;&V3&iBMO$40RB0 zt!Z9?5N}}1I&N!UTe-;}W{d!8Qp%@4Ky&SQA6Hga6Y;NTTxE2Oe_UGZE37QM1K^xr z*Q1q_3(r|PxD|yv7r=NxU|HIJu%WCTJ4)q#Ca9hEZ~P7w^(!l0WMWpt!gQX zKELa)lH7F)$oG(#&gu6?Jqg11_xHe&1J<8+d0l&ILXl)sAu&-+vG6j3+ptM$kMu1n^5%W~PA7K!^AWXJf}G06xt~vPu}v#4J}6wZ8k;P-x2N)Krblu^YWK z%Kq;GWt)t5#s6sm1UT0Pt#@d+@OvjGt5-*v5#>IBwy8}tLSkh(swJ~+pqNXxm#xa+~N&t@5#_#lRe}>AlMp#Ol6cU3?NKH*o_W^FlI8SE-z}gZx z^&=$>`-*i*w6ntX;!9vdPbRv+Rp+4H9p?iQ<1FZHu{xA^D)Ol%_=6;t-&!-uZ2PBhuyiDT{LI`ZJRIuLh@Os|Li6NA!P+DtIT#DFZEv6;WwG$X z-PQ9wuUVXXReo8*zxHzY(@N#cHR zZZ~jBp$mqayh%vZXltRg$D6_-_9u{1$em+v7>vtfwUg`R{UO58CBvU_24ddG)r>T8 z_Gm2qI!>-Oa^3iZc$lI$CT2OHNr`n}x~7Yvw5(V{eIOY-bdaxPv5T6Vj54s-zAkAk z9Qe#))5xG%QN>Eih(Sg|QCd;PJ);&<*}sIZ2y4cqWi@@{fHX1A)=XU_6B&cHx}~G5 z?^B|?eET7Dq`ux&RdsGvt~^?w;>x*>lA8?V&SjFZ`Y%XXhb?|q|5SC;6_@RmFm?6! zF8)~*^OhYSez^5LNjDlg1{ONTE8$y!gra7y!o*54{l1qh_eN7~vh!XVoU;y#O2EVS z^?jMVUnCiFE}($#-;Td);w##fNU+Dk^k9ZDj`d=}(H=SO?)lZV(|*xl^21EN{RNVL z|AQb^6GOvLaz5j0f6^#1HI71F&kgQaq5uR$dM#e76W)Ed=VjCJ9~_tz^Opcd-NL~! zp1l1Y3Qv^tRcOzEkpAZC)(Y4?GD#DmczHmI+nmvRk{ojQ;eSFp+dDD_3g@jkMo^4m zkpgZucDRWbNqAva&*`et5e<<3xv@nV6HIW>(KAudk&7zJXkQ?81O1>E19eHh zY;;6Cz<%TL0?RS5txVqtttgR#t4*LyfDI*(y#EzLSOtF5)2ali6*Z%xpkaH%%sw0a z&<8kOXk-0z47({0`7;r=U#Niz0cBMo+#{e-FurUC|6i&7*46yrzNr|3wWnw@D{%>sc_^Suxh;U$1`-i!*Ffr9PNTzLSPk?p( zGHfkGYB19{zqr}D)1^ddBW4Ya($v@-q51N?oQCsSVs>UfYZu#-gUT{2EIB}aNCEfr zd*btLuRFVg@sENH+YOOlLAsb9ngUS%Xb})3p+Q2~aS97*{|y9T+W!+QDs=Mqma#1_WBk&;T_>bOql}u3ykXgyDL|;QinWT7P0}Ow*xJbsfU9%4 zfBF#0#XgOhneDxy5Q=+X#Z8i!oF0EgjDFjgo0SgkgxAvGjF^}p4iBhIO3JD=R@X&H z_?T>J)!X0he(53P+({@ceE~u(n0i&^wGt2#xkbw;tM_@e_x6i@s;I$P2EC?8Xz_|y z?*0Nqlt(T17jvK)B(S8_R8W)%gm-U7K}4ir-aH)%vOKxCXbs}G;K~jl8OeInfe|IAHkS+PO28SE!GCf9^e4C3 zJ4kM6?pbhHNnl1YSZPQ|hR4PW;|w-jW(h!!02sINiwhuIz~43H6B7#ymB7NpK2cr< zAs|{(_&`q&H4PmT<43Tmos@s>9cB(Cn&04EASShY6g+F+b^@9RTg(p_0eCq0ATpz3 zpb23Eh%M*Budd!-`9NVfbPtEDK!HthEx3Xl9d*ge(IO-Md0@~v@oTc3sf&Y(aCT}n zcZkUC=~dlDC`z14sK^aBhlI7N<5-?vNx+w;5d(j|> zIi)_j7+UDGwYI*uuv+rGdV}b@udPQ%$N*G#-@%dEVt&h=?gk;$wAFR*@F=of)sd4MVO100 zr)J#{1Q<{S7{YQ(Uk3=?)oy?T!N(5h$I3o{gdsD>Eiq|{{1pUFC7vJv4xY@1b};zv z#lb+lX%Mh-VV$r!NsWt*@#NnGhW)i2SX(A2v4$dWr1sdtWGtum{$XH5r3mael%OgR zE*)RaVhux1y#Jk$aPv_JuxM{zoP9-_1=1F7VS!cI=dsp*rpv2aN=WvALzK2;TNF@Z z8)SiiP(Aq-I4L+%QMDkStQ=7D1d37MNT*cfJZEl=fEizH?h$a~cjKK0yq2N1_WP%} z$>MtBav<65g~p()hc>uQtyxd{X>DWPdG*tI!+Ney68!_c479+UF>y;ARlxw7*peRT zU;q(J0X=gP$N{*i$s$Gw9Q@HK0pWHszoW47$M-_YGP0VAQYtHJhFS{pI9NE{eA2|q z%4$l(!`;Bn&dRB?r{{b7%67{cSjgDeYTWpjYuFA!bv6(_ZBu{~2MVWxd@~glYB*99 z2lgAaH)LfM6{kTQI?FKXSj=?=6^O1OMy&!;g84CJ;5LypSfS5tA17>3S>zu zX@Veh~<72K2%E%Q?2R0$1tJwT8n}$z*swiWW zm5n4(rY58PJvMf$rI$TYs^k9{x6H5PKCY@Z2O9SEclBjty*AVTVZq+H46+3Ds`q<` zO5srsrDb@^J?(>BlMzn|Iwn$eGc**^>S?p^=o@NIoE=UL0`#-Lmfo; zlPIyQwhRmxF+m-s1W63yJ%1~#7PpDt)0NH(Ct$KEU~PyVU!lvQr~llcUmO-W}#7PFXzw2?9o#DlUnBI475M5wyy5#>N+4h8eIk2EMhUM=~v}od^wU4 zkH6TG`m~Yj0oDsKNFwd0K?tk78qL^vaB>U74PgGk2D60X93S-v3^TFJK*uDgE6bxUW)1aCl}Kn1!7B~ihys_Yu*FTC-{+L zBqW3r<^y_`(h2l2A`3UGmzZ!@W1^QqK?ttJXSFte6z$B(fcaTq#yoFLLfSB_-!K@r zmDSSVa`?dku_5J8AiH=9+C2My938cP7gCp>Ht^FEl7w_*zCyb3(0^zmqJxSe;WYx- zNHf8c*Htj6l63^7A@Nsln9xakSi!KNj_^z0zk*_92GK+Ju%>xtHN#~*$3F;(_UEL1 zazYCWd7t(&nJ(=d0-(71J)sCv&a}UrI^db&!2vl#8eFyyyF#M>!7*iGapvO_9A}r8 zW2iGT%CHAIOH)f)N=uxA>Hi)gq79@6fWK`y;IUcRm2&B2M!no1J~;c3MlpghFI)fN6F1Z3B^o!M}t!pNP>Wctf?-k5*l4 zs0Ts^#n{-(qBmrhLa@(UUmBZQ8W?3u+F?Dh89# z1}Oghb!}hd=D3)aW>a+F zGJF97gWp%jbv8^xcFvjdWG<)=6#ZJaK@fPw9+USk4_6ulAxL@_@iT>7-y58 zdT87`PkMLL@chm#X^KuyTl@Fa2(QB|6-~~Mx@$f{LZCZgS22N?)8hl|Z`SL%#YOo3 zkF7PnX>mb*G7sRa5cGIe;aam|E>|f8P;p66x4_Kvb39*;goMRXy;s_o!(!`AWyNMdIE#Y9 z4mM37WGUhEU)Rsh>gWU>)?L)Epqh!FY0|$!!HrAKdqV?IgtmbWu-8#?Q$uy(0SB9d z0~42}i^i*%z(y>6&|TvwMhX}L2Sw=teb2PnTQMe(1^_6|NV~!2z7M2eCB2W#|b98=HLyKx+?D7Xw1!yqLN=dV2aGhDO<~ z+<^9tM~kAE!2=2%>k+p&xkV*Q7=L<|Z9lYnYnrT_oGHC#8gItfXB=!bjcy7n`c`ZJ zPEey6JwMFG%{JILo66e(9h*s?ft2n66lPyLIfJ{34#~rx!F7KTDA9jr&)UrhI+>%q zLZN#5j`Jz&0u%X`6+a5uCp<8tG4kvFSmjf!z0li8Or`ytd8yzvH+&?@w58bbx`E$sM2)0PkfK3IVh7gTgLnaedSa% z5E4h1Na%L>3w%8gQ=F9AN<&Fo^b>08TjEt!HJixvm|8wz{#hSZR6v=Qpg8 zn_F2~=-^)L>B*P-?xUwcf^BGM*|@Sy)r_yJjZ7CpBIG*Y*vX!oa$vj$F5`&czw4); z*-5B*kGO=k35)|Z6*kP%LUdng33UjvYbwn(&#RACiGzgz&*(SOL>Zvk{D_<;&9}-bGg% zo8cs%Z+(mf5@_p)uQFru33!b!R&vfNp5jWjFkU-3sPb64kYTR5zy0EV6talc0KtE5vU9Ag6aX7SJr%SyBy&w2E ztfFb>?{7zf3zOSjJ>0u7Pt$NM7po6Xk26KW@aE4pZB7xSQ(8VN%a1CG_E(jhZby7r zlm!JcMYj*2|I@5>rk@lZ3q;-H_TZbul%<9Gnx&=T{MpaHcM{9zxfI%#{M0KR`_#_Q zGnI?&*;WkTL3FqByga=?7BD|QZXw4AfT=&b_P9sDk=U5dJ5AmtaPGbh6CxWq6qN>i z{y@rxp@oUZAk}hbf4SrMC$awA;=GBG$-wWSQ6}2IF57Wj-I7wGsKylkUN>WeX!DmZ z7q(8J$M{KdmSp45Y{nRRx*w(8-J9N1pItQlal9oa&5H8q&Wq|gcDifjAw3DbBmrgJ zpnEGa$?9xQ+}LmLdw5c3=;0+<0W$8;K}8}i^X2|gX8os#8tS($b>ButV#6?|( zs5XBj;yNhan3-J!eMq_q*zf{0+4{6V&`h?f1&6r5z1fW>~h;|zgL)mIUN3#nNv}oHkbl5@IO6GRO$e1|DE&&_nfjgk+@t% zm7hq#8I=mXyX(SPOXkn6>T1@<9Ea=Yzt%di)XXGcUDZko_<=KG7K{{ji<5Qd+@XqP zvkujLbCWBQ$Nj_lhQMWutpGVqL$jv7g$}#!Hk5?zSl71_(0IAV=^%;O+V0os>i2DB zNYCT~?D@GJhn4D_y46$pBUG!}+rF5PuUo=Z_V(BltXGBzxESgiS}8ZlS4i!7nqFE%5W5mYB7?i(Dmpjt2s7e7p;Z$ zSyk~N6qnPbW0~~DEjq-oUMil$b@#UA15`P1{M+Bdechmi1yy@Px&it(-0KcMBf3G62EOxcj1l1$(fxeKq#R{3n| z;w+q@?cm&@pARzOI))uX^e`^17H?Q{v96iLaewFw?_a23 z*jG7zNN4BVySo^W0m)#dHFbQ8r82We?+-rV9ouSgjf9{VQDe8L0%M|D>j6;;%=K@pIU7LbyXlu$yD zPKOduKw3(r6&QLLm6A>wDQS@IWYQ5fHcDw!CH%>r^eVx6322u4)P>DFEn@!eJ z3DO%erP!_>!|c#imuqV$%OYk=z;3$~?R-D~@fk52Fb`^;hsQgimM@-gUz;J<)*fV* z`&A3i_>5ILAWG-0u^;grnof@AHgY)x{y&Wp(4zudY+%I~BEY>w2WWruZe$nrW#1=1 z9%oyhT&1OJi!GXC^Vlq^Z_5cxSKyU__fGv7ZTNE7+0I!Y0h_b39)(ohLG)|tz^rZT zhD?+LDTnL5VodSdMHr)&iJ|nMNV~PE}>uqp6j+B)uDgCs1u8#;4!Yex$_H4o71%jO6>eRua1N*7e9ZB zi(_wmCssZZYz5rh!h8D<`)cg@*#6`IPMVuqdhz7PhOnbS(!9Po>iAl*De!!mREY>* zNU`UZMj!ZzXZ2Z6Oqf8DUcIWxmRwy^4T>EMA+OqWn#ojJGaRcWPeNK#t{8K06t#ch ziF@QR!-Jas;XRQp+$e(?PbUJQUMolE_U9sd(lrQQ7Zoit601&iMe|v?8x=Zn=&P(EJNSw3%wJAzh2jMG1;ChBwT=;YJeS1m-+Z&uOXzJ zz{ry$>n1132y;F*9fx!80&Ep*ugy}w3X6*&EO(EGZ0;niRN9_9;DYxCE82yWtYBJB z?;8dZeiZDfnX^br?L)wgd-_RBfOKRhTw_}qNWrOg3YQ4}yw1Mr;1Co`FRZx|n&S0> zls6ibb92&Ya?K&&P)rbDM z_32u#(NEV8Zs;J>PT*3wVnD7>LU5%w5R{ubV|J$ADt0h8?R%t3-xm}6+nrIzko-&< z=NVVB$VU0VwLKdo?s!1|id$h5N$G`=HqYc$^)MJY%^6uUBC=Yq*SC%)ep$kIK?){K z8?!*F5a`3Q!8?q#LZz*#OCBU>@yWfg(i<9geyA3c{%WLg4RmMdT{6($e^G!ZV_3#0 z^7|g*aq79RBB#N#o6ryG9L36?`nFZM@PY2h7sb#?1tk9YIl+* zq@;pkF)%Z8A~N&Z7qVxu?ymHpTi6M_ZDCEm(^>7MU-w{v7M$Ux4l&SPzUO!_?V>Zl zsU9`8*qBok&N)GV=mxb$KWOV2J0g#Kxr}?T z+4I@FI|(gD0F*`PgRPnzJOjh^==I-35WbZg2X$CC9cUCuwW3;LY+?%H;x1Wt^4IZ6ZZH^VKKC#nj6KDCgU@S7JiF4*eC7j`C(GsXH(crWKPXW z#mGu!tfyD$ut0LG;@LNv4071^atsX8va#6T%{Z_n<2EKB^ot7%k5jjU4@+b@?m6^U z(J2#BBsw5I7vIL*6&8+(ifHqapWkXfb6ro>M3indF7RNq3pF$$+J2`G{$PWvH^&eY ze~of@0r56a)-*FbSiK`LF(CyGMX!y|ay~yMrnVI#0QM*WQBizqe4Lbdp~6c!klcKm zpFaeH4Cpw?A1wWS8xAtB;C@9lQL|^8J0Bh6yRYxzDr;-AGzZd-{6;9`(P;EYbD{kT zIO+p8%#dz+>L+JH!y1rBk0vYKDUd8IEcfB<*tY2N?R|YO>2^SGr3ryV!P8#mn7_s#WQ>`Zn%eYcL~tGu#v3*4?t_)&F1 zG@C33ANLuma-=?xZEqFhJk*jLRSfjNf22r@atZDnm*Uabbc}6~{?v-fUDe9C7qB=Q z2Hc>7i#J%q=M}J*YrQmTsw&+_L^BB`H(B>TP-3S$^s01CHAlMou#m-(KJ=`LPO6Mh zTgBFBW51KZnDNM+CRicr@{>-cu>u9}n6X(#E+1e&>ki5;52_MV;|Gu+Rv*?^g} zLdm4uVQUmp$o5D}d?qLJK8NT1!C>GmL|cyoC(A#v-~)VL)vyPRCBWQ%L--JS>1 zBcJ3q`8ef0#F%hgGAIP-U`m}eDXRLuH?UmRka*amjm^R zb14|Ku%G#9Dn`z4Q6<1-JaWa=5Gvq(F2l*`zE+-kaXNSVENL8#&X9p61&GPF{a(7; z2I8Q&m399=)5&|ILA&sb4OG@y0uSToDKCilXcKhpbh-rUXf)KE%*c1tXuSD}gPPLY z52rJjn0uJe9RsvN(c|MnW-T744V9upR;_aAP;w>^)F3CP$-n`@TVW|Fpxp**1}`X& zUmZkVOFxd@Q||PaPmy4J)Nk|A3;CuWu03*aJMG+ksimz=%np)->4Xo)%u0dRJe)%d z`8$`ZDj*?fdD4d3TJDMok%=^GJ%C3TIz7_TNl^C~1@2R0`2-gtA77?^Q%tN*M63?1 zksMxrPR<0(O#MY>!$5BD2wBu!wdh+sLQ=keADDynpCJSkD2G85?RxPpzBzwUqO+45E8U?UndEzwTb7KpAO?=ZzzRE3Ql@Bc(m_~W{@NPa+mIM! z3F*2yla?mH&)*5XOo9jPJEDQ$fw+s~Am+@&6lzx1P=RoVgW-KFMng6iiwqw}nj*MKU$Du$Z-X^T@huzJ6Trp>=9$mY;Qh}pUM|fS zR!(e0v?elp5p0ExBzzKA5q2D}D~)bYG1ZK~P{tIzteyZx153i*boBHzO4ioaD{ibY z>ckLj?Hn)lXa*s<57BjX#hP&W3!}hVf-8z1dz`*s$0Cj0zmM(gk}OBiMFsxdm>(@O zZwCB#xCMdqH0Jg7zl7w>s5ba)K3S$T^jHv9YkPs2!3rO;$%f}h9&9{B9r6_x+QWPw zUaZBfa2IjSDmXH&jn?b|OEzD|DBdOXM*MEU%G^^!!{KHi__` zvOnwAPXEA1JhIbWp%iq8 zhysV8kPz{Jq(i|AOHn4B>o($M5!oxxipbBCG*}91Y9gbLN{0-eKJ|Z=!}c~hh?4r^ zLDqK8CSBOPX}7-p)=p~WzbTO*z?3Fy$Bac@PNp#?xV!DDaD-n<*#pLNrrF>*PIt?_ zJpZeJs(BhwzDGg))aZ$6i?>x9-)XO0cO{pnyPBxE_AyWY0Fw=w;Qv& zBwqW3j8#lT;?6xO?uCi!>9n-8Vk1|eOLf|^V5EIlySJAj9s!+U&-9N?m!l^k5mPh^ zFXHc?9G)JZ{05H6VY7{7LIu*T+k5Qnwi8v{vn7`IpTCU==#Ds`kZ2q#$ z@Fq)_mzKhmBM1oe94v3B5Cdu@g#QNegdOOFKPs)#m~(5Siqn&HJ>Fa1*gML-UTow; zKzN8sKOV~YRUg7n9hP+0G8us=FP{1{C?9}0CPmHk#!>2ln|r1}{f8X0Aro%rkP zSIz6URc*Dd2|SSY%qbs!BqW-alC-f#zZG5U+ZhFWp6EJKn;KYD#4l@SSv3uO`=?LI zV!Dm80Z634$Lj(jc0YC0)l(^{*)Be@>SrV-wk#k@A z0n2Cge)x!&7I@k}FaZ%w>CFc+-dnMh_Z$}^|Ndn@F1um%hYAp31;yfDH3M2lfXF#X zr~o|#wwx&$uYl$^Be{bGHxY?qxQFV?VT^lfZf^XldLKV(r%#F=?S_#Na!N|Nj;-$R z-OdJN4B+)!akyp|(Q0upKAHzRF`65XkB@hBbj))J+G+QwsqKzrRV6-hE?!E1=(Unx zZiZ}qF%#13G7`8!AfN|~=1f|Ep!zG_45)oeN$robh_QglGsy-3KL(V3=tJwA&f_|* z0e$Ukor~ATy0yKt*T!iudms^HJo&!gc#XYFP%QXYeNEl{dzH*m4%7XJy!FXicgwom zH_gDezmG!m1PPk94*weM>-jzmI|4WgcydMxkalEab3xyMZ#6V^a&RFBybf%J{JD(A ztj@{rcSv8~CcZ*@c5vYN zc`CrJ@)@u#q&?PvsKLa~UMYTluzu`1Bpqj^H8Ep(@-Wet!}InM>CO3hd6MYjL%aT% znRMpjq6ffB%asQ&2Ozz9e6S+x`Ga@iGV!05EuQ@Ch(mF&p>+ za$t!(06i3>c&x8hz-KpH$IFj0af`E+&q{36Z^ST3su_Wdr`(dicc1*Z=q*VeIrB%p zgo}=Jb(yHDsu~zTe=DGw(88K_Z>$#=U+_e;y@9UJ=4&$n$aDKl;JmrcdCCImHsn49 zqz2Dcdg%ZmE9f#!*01XNpkc}7g4q^*?JkLTXk;n;2Ka8XIn4>UsQiF*3V;p11<7=% zuVphQz=)_HoeBJ$prAK8(KbkgX$6HBP-vXjB|%-L)@!?~c(=B;x6LcvwC5Omfpv)x z`kbRqc?lDXT?5#DY*NzaR`(^0A5OW!tSq^(5D8lfI6KzKSj^ALV&6o8^AwW*i|>C; zyR0F^!~6dc4fsFCCz4u#NFR=qb{t_awslP@?nAtn;1)#J>fS^Vzmq|dArm>FGG>UE z)dOz^?>LKHB{keG6(HvV-X+sIpSKbzIz-^k}#nW1sQ!RZd%+XxTG6Y)74Af z#MML5#KlYhV**e2Mjjn=+W6aP=&NGm{sr{-_5#a?(=5&R90~}6&QRN{3fGB)_GMaS zLLKlvtkjJOmd^WQuf87QR(zAG`To5!=#Zd~zj%S=%2y`ol+xm&wRx6c8Sr~0MFfFr z$iLqc?C;#b|4n`~qW7Yv4XutK2!1bgJ)EqU@GUi^)z|}FE^rC_5zpfvf+_GW$7l9j zUgfVRplDrG@|MD7KOCT+e^1H(E(#>*0~iPIk`#oP_7*y~i0~$~qsB*3PNnA?4&e}f zZ#-_$Ki*DfNl8h(7a1PP4Jh^?_x)8>^sr3R`m_dFG6muuTXbnA8a`JDDU}ffcv3|r zCDu0q3hBiFPH(X(_1abjnEA>8H2}>;7i?-%=_}36^%&gjUU9y|PNwvTF0|TtkZtG2e=bJi)VOS@)Yur1ZD82@NKVK;nq~7+ ziB+vn>R%QLo~}vOpP|s`boQWZVSABI3gX~z_Pd7ji*!BzvQvRMqXBI2f*)__NrJJ| zci0mj?0RokIqm$lyYfzC&4dtxG{mYL8kkD| z@K0JHDMbzfP){auai8uhsMACL^Bt(Xk2#Jz@i2uj>w?BdJW>M-riN42(cRn#DUzOuW$oH;|_Y_R9z}LLLp0C z6TQ1&x+y>Baz`x!dDObT)9k$X95RnK&{7iZSu2;yEpwIW|G6nS?L3oT3aoK9`OCfk zFvh{bM@DWOrY9)Vnwg)(1KKz*-q{Iv4fr+wa(O-*8?S~I13CaZ(UQ0c@B0nm*~F?t zkPmMMXWh3x8Q`oyjA&{1Xva?qG`58)T6?Wu{K28&&`co=I84qnu%4om3Ui`pl0$## z!p!?0(8*n?L;8YB7%g)8B_`_KPQdDV zf8c%ByS~4CXR(&!%(>5f?tRYLXJ6O8_5{kyiesP=qoJUnU`R^96j4wfQlp^!`|-)Y z;FG?5p(OCnKaPsxZ&6AHNjFhYUZ6m8U5lA1pp=f5w1@MnC`gLt2L7 zV;5KODy}bSb}4SCsro1ApCBBxSMZ3>UtXk*yx>0cwResY{`d3tlZGM0iYa2jaYzu+ z|0DRyZm&L|)BJ*3WkG%vQ={Z z`EyiMRn*uC_{++|L#E|oU4IUemV)0teKh`anTw4Y2U0E+3$N{~X`{q3=Te~HD^m+& zIdhq?Ha2owyrKH%uAeva%F4>uKZG}8h8~zANb=41Tb`lAPK=8_sBlyq)~CSXG>WRK zx{X$Y-y}2ZwKpk_H0~}#Nn?4%#KdQ})1M-m%fZ1R(Q!%2(%bdTx9l~>v-mNEB{O(a z(p-eQ65&Adx7@7zOFo9jrnVw}Z#JXKtr6lWJ0-oNgp_aeg@^c(XL3MC90gtL^2>i> zZL;0BzJ5=cVTk%IDdl^d_OPKc47M|rZIFuTx;Z6uP=X%u_`Z>HPk#s7K}oPPf8Wp} z<4AuAQmFc}_nPo1U1-CSLqkf&a@Zd0f87ZX7tk-(d)Vy2Kb;I=KRy;FfJl}bM+;9H zK_KNYaDh;jDQ@CGNjBz#y9<8EiAqUXd|2Gu+@wem@)hZL#owY}Gx)gBPla)Rn=mVz zw|Ye3zUOnI=$NC%GYXP}bB$?UVkX%KREI5MxTk-v)JV9MOPV0}tv;ePA-_-8jDC!& zHBUuXx3V9Rm;c`CvHALcp2W*f3?sT!TY$EG#fJs^Ze;Ol%EjtjmK}eDs%M4&yOVo< zA@?%+7p!XvPRPn=hEIXTD~L#K^wxOc?%w@u{*Ythr|V98w?3C7U;s&k!KgLM?P&k! z7T40J(NU^QNg~w1?pY+y3knK4{4aZZ4lEiC@B2R(Wn^OFsM$$Mx&0&qd*I_|-_gh*&=N*>wS z*V8)0kM{82Pj3zo?%lBvg)aZg%mA!{og!N|I{Y=O`;lCKb~r{atQ#kM@^GD{{)@O6 z4>uGq5H?)8+&_>IO2!M5Dj1<@pSFt0XtD~q{8)Bx%meh^UsvkRkJg6sLANj?n+d16 zymYHGwG>Z9#iD6adjYZkEP(Ure=jg7S63m$fAY|jg|GD+oP!(6#SQf$f;gXLRK9tU zw~PmEEO^W)l$}F&KdLwLYVV-fPaftD>IT8TLAluz*jzfklv91fIBloOluK?_ez%av z*Q`7jkdShJ0g7{~@+vOdptfC5p!a-#(Pl?ERo4BBHjKj9!~zHR>T>7Zx)e!NfxXL{ zsrzfrA4y89UFzl+?d-%140OlFLs)2Nxb;uU)(A{AczL6fJ6G*2W>A|#?#>95Ka){< z@+TOcnn9ZK6>=1dY~Lx4Xh(G&q5CbETK44{52XJ32ZXUMqHqiPh9VMFXB$ zjbsI8m8K*|8rtapvZ9!3b^ZP0Hlihi8V{eaw!$hlHa54Yi1cJi&cC~Gm;7#4-Xy=k zMmt6ix;3T>I^xjN*)M%tEl{B#FVE(1a{dTC_BC()!$*R@1_y5sUQ)d{7!FNt+~s%X z_xd}(l`zksiD=y)LlJd?-JubxDjEkKedP$y|PcYZw zOvlO!?%UVj-{ie5YwddP7q-wCpjxtLdN(whvM~s2$;`9%u4S6Oo0|u5)+*y-nPQj} zoE}*vp_mYSeEgdh>+V4vPnwy3po!jR{gSDTy0=*S@$vCeCz=r}TP|PWIdZ8|u#!DB zi$?xC1Ihmd@|{J$*Q}u?kXTmiLt*)Lk zW0LPLeku79;@`~Lr>k+f@TCN3^Devi*s`8n`Oum6rMnxbNEOlEr4Zh3{+*r>rM6_7sO zMn*;ruKQ~{J6p@kLau}T4&!`NPF}~f7fTOpH8iFTyJa5=p-D+ead2`w+ieK=%sqE^ zcefw-8XOCrWq0PHJMGg0*=y(CNrcE$aO~s9m(U5at}v3!>}-va)pdPV7Jfcq?<204 z?2;PwpHfox#uy?=8=P3wm?+hf=t0ZR{_Wc`0$wzIKNqPk#>yv$Hb@-XxcoE6hTRuTJ)ijmO2jE{(<4v-?y- zN!fS8thEMH8viW0Qwazt>gkml_YpXn4E!D&qo2&~$upy)TmSPXS7DevgqWKP%0bL$ zB;V@e-K!!kBi-mWJUk@)f`da!%s)3bcQV&?=vO4I*RdNVSd%}(=sNE_K}^(9aFBFi zO3i>lxslrlIP$*ZS#Vl$SxtSP?&9v)^GQi_=jRWHNO)Lv1ZG>3qw8k2xVMK= z8h==snwWHTG&$HiBMoQQSV@vvKa?k4sT|sXsaAHX3NE~wb|f6UzESh0p;_Y$B^GSS zt2@7Rmg6Dpu5cZR)=x>_nyux5obJx|O;3*x-1Nrk`yK9RY+Nov*Z%%Zh>r(j7W5!J z*|7hfyFPHdE<0JO*J?Gev$M0{jS3U*HZwQh+As_F+WZ9Fb7^PUW3Qh99o^BM+thS2 zyHD-u!+*)cW{Wf`r>3R?ux==XPV`!=eqFm)c8*^^_%~NJF*-K3d&M5($rpji{rI5$v|7# zl*_BX`K_*dQ&5Y)2S<9RZ8Vc5?susIV z!NJmQ0ydnSm0vojZBsoLgb?JH7q;^i3YwRree-Q?y5CY?ueJv~qvYVRjX8Wt_4-`W z?f@70@ds4^)&~|LFyq(Sbt9xDTmh`uM;Bf#Z|HG?zEFZVQiF*gu`@g(Vok!kU1}*B zXFR2??QP*%4YB4W_*?0c6LP+M?{V4qYAftHcTE0V?*5N<@lc)Cy?VPt4r?8%9JUt+ z;qvq+SWlc>>d%gL_{Vc&vq z0%4MpwsATnvx9sdU76kQrz%dvekqx-eFZla^f<+J-5fEdv#Qzzsymki%U%tR{*ccft=PyIR$ZA}4;`U{zahiR|N^PfLe=a#UYnUxi((sLqw zZikcCplcdwHLp|DhhRAz=&2^^i&EpvpEP9WTfb;&o*08ZhkBi)w~LFW20VTExq`dd zdym~&ER?)^{kU^=dG;oM)P$X;RJSvxao9A8-#45=uguJR`lz?fADFac-Z!XlzHXC- zg>dn+YuRQ`RDWWtgf=JbT6CcKv4i(ilQD@>h4D7Uasm+%5vS?UY^Cd>AF9v$r>R4x zpJiJA5sgdyQ&6m1sSB)n`?+&D!u^;KOdhLVd4smhnox^nt?p{eR8$lmZEBO-VFZJI zoByYDbKuOU6aM{_2EGO6rn|kw!y;hO?V9W0R1n{3=*9rgj0q)+pC1_+X>|4WnJufI z%bqXQHugzd<9t=NWWJzJw$^*WDoLW{)5hL|Ii;lsk*% zkB>gfZ6bb;v4^X-Q{HuU>ZNd){r>2{iIKo%Zm>8U3b$E2WYMxQwA8Ul#)T#dI&FNQ zY;c?mfD8FtyWKS8g3&E^qQ_CBsv~SL(a_MqX3oeojFWtgiJ8oET~jlcy=t@yr|0G_ z)~4fku3%NmNFO%3ZQ|8wbYak<#|bntHfpg-um9@a?*GbI8aQo;f`!FacNj%HUB}*{ z?;99rPAroBbbGRUy<{?BoH1^mQLPj*yc0j#cf&L`KE_vND+j|OKfgz+${A;RKgV)p zwi#_?d3ozUg^>&T-1+~5U_#b-28?$9Fx^Uz&Z79yK>Dp?0L{9kaA1deLX$!Q1|HX-=C9_9nX$+e6UPX@5GC|Ck_ug-$l*_KFE&edFCI8avq4 zB}T!)(J~|9;&SHtjAZpz6KO1|>H@7y&nQwX$tftXsE_E{+L|n>vze+}ZP|YiF7bCA zVeTBh%kQG$YS!vHB#RM3%o;n$lph`*o}Ou{{ZoMl!P@R`@Gg_)y<+dLK?W`Lr8+du zKmkt9V0cAEMcgp{q3MO9jV^hm{b9rkh{6|IkuQYC%F=`K%}4+Ip&LI>JK3AR0Ay03#_Ep&XvZ#XZ;^Kn4nGZbi4_|Q* zn47*#@5lc1)t&QQr>~85brlzn?d7hq+e1e>V(jytsVRwf8ei*GFno3<>+DxFcWUC! zu?{XCt?s{ebaZSjvi*?eySJ0SvtuRP`VoYCj~)rSlb?OQ_~^LK>fq{JG(679!Lc`g zT%7SaRqqFgsaF@26Ok8ttpLZ7QYxz2$k(v3mVTby06oys!Tka%Djd|!?8bGx32+*` zIxPr-x$WNgDk~x9PH#9OD8&BsvM(1>y z%d&k!f}x@er{|~3-LkNPYQ1|$Lq)Yx6Wcx1_=gHS_Z#Md0bUY*mpyVJgZ=}EVTtbX z`BC0E>vndw7bT8x2=3YPYS^wxHZk<_WNYE~?=s*^D+1oWO;vMIy}3NSI@`UOy{t|l zS0iOjHAVCDOC58f5i%v@`Sj+)hqTlrJj80NDzg?GMybYwa4@|GKli%L?vq_uK*Y_P47?A_6GxQv@1?hQ_sV+vT%B2O*O2*RP&7ME>gK?j z-o6$2*W2wZtL?fzt8c3 z=c_r!!kB27PrQ_CsOjhsa~Hv|vHVOy$gf|&oVTXJ;j-TBsV`|(cRzoXX3=h9!hQm$ zXJrk8N42_5^&@_^7YI}N@#@IRmgqJk6Q3V1iHe!6rk9`rqEm;A4|jOjkgk`k!F93L znm>`(k&vUYKk5Xm$rw+>8*}r`UKPtQQo%t1(|cRt7YvlKdyGk#Jaz$2IqfCY4j*5U zR;&Hs+}9XuJ|?Y}pnSvWf^6r2GuT+AsjEr+f$7j&k28QPkv~zfu4R*jI6wS8I5}|z zo;WyGadK?zLyRT>+}aIRtEpF*Fqjx5+>Pj{aRE`YKXtm^^1vNmP)XVQ=;$btHq^AH zc7Muw<3It#uE5`5Qt;BUv*&BCUSE6pB0pkLaQI_VRG%VtUH30Zg&eFl%EJ4&;6l>);?&{|{QY1eZ@+6ae5R zlfZ79oNL$$VSDoc#6}fswEEm=RIV>JA~z+A>*^+PX=Mib`^Scd$py?%lwSMZl41rp zE|-orB6j+IU7Y+?m+GBm7&U2V(6M)LF#OCh0jt4FxFD~8=d#Z-f<4q;@xY{oN1Wo3lr<@U?=&${A< zsR;X#C$iKG48VudQoMHi0w+z@hUaBvb@W%|XB+oHtu=++kE-(W;Jh;hDt#6E_Lq;P zW0;iQV=D2mShCBqDywSb zkYK-ygH+J@<4b2RFJneHC+oj9i-S_);*D)+fZ3RD;F~*XSl#j&@9NUjZZVi%4oURg zAIolxk2jZ% z`u!x)*M{b6k$==$jflwi!xn4%0rFm^=??I@ozc`}ZEtsUaM0qawc8k(o?Ty1(>hnI zG%@kro36Gy9Er@m74ls&00^xkiw8uwFfO;>A6NTg*v9ej@sWJ?PRm*Oz~eME@3RNz z2l)H1uCF`3PV&1##OOqj-pyZc{%Wnl^pv`Ao$opT36p{XeY7FK^oZ?QPe9%nr*c@# z)s+_>)2P)lx;A?o=yf)GA{WN0^5e}%bp<`AW@lrpU4T#IALy_~I|^+bRFz-mQhu-1n^D@{#JE~?gz zF1s8yJ7$j_eRas~`}K=YSIGDFIvW^#c$l4lV66r^vCep^PrqHr+oRgtdOBCG6hs-Ri4l$tO?G?N?@Ua*Y;1J5Ct`p%866!hl%0B!aeH%R zVPVeKSoihI7eHCQVq^>>Ww#pdHSSX@${*as-J@-6S$pi~!?Fl`|sXUZLG0bfGtameAd{KZ~V zGa)cglE=nv9^w6iNr30#_?g39>yJp{FCo6h+c6>2)4W26y;d(GT^q620qxWEH;A(-=xJ(?jFFwD-ZZvkQ32u_UMo2&Ya_Lzi*6Wh;J!RfIa@-8X;+B4+X_bN6|ve+VzeP7aF!HQk>N}H!lOkrZwU| zae?9^;`Z&H&PSpCSN}fu^Z)tHXQf%PJhapyIT=rJSjhPJYtsCgz5ix-?2XPd63TG; zKZm0~(o9R2mqG3mQm)QqDC#|nXw>vGk|Q zot-qOVaZF!7nU&th7lm^CME5g8grW>2}|DLE7E|L0{-wIu=3wee@Iv$kkeP78}Dq7 zu+O5@2TyPDDHcC&9;rj0HTpG2CW?EtkqGKA2YTV$ z_nOClN47i?^66TYa;>nGgVAJXUxg-Jeh;6Xn^UI8YxxFWaQ!>hH6F}MnlF1srd>M! z%f|E$2`<$GM^0Qip0FQjxyJ2XiBZa>jR?KY&SU9|H4_=slg+OFXOJfk zUH2}&`hTU%&4Q|`?ONH+|Ll#3&$^|(D2}b&FAO4ic<{ekfI7ENZ_KhvXN!ZAKc!$o z$oTA`99!c*=M&>&_UAk|cJ}H`rUl5DLqzEYX`3a9I1PT2rJ^1_wN)nJCKa}TmxQk6 zJIaQAPK6BD2nK+>qP1q@Ur*nk_s=Swud1hN+fJr=#EO1NAB42ii&);UDUW#-jp0; zqZrS8#9+Y3BFG;T6KxEnatFd^s?9h5uB8vdlHq#`2u22mWPWc0CBp}l9PA^D6~{lU zQv)*n&q^Cez-3C^Vahi0sqk~JpUk$4SVS5j<0|9C+?13$*31HP_knz?e*+G5$_fgR zl=RlDmlK!v>x*`2_MigTRQ<2>Bp|Z4%q-c&>$O=RhmWqeYW0+rNy&)}t@2n|>BM2X z#Y}>>7Xp}=`fXxX+Mk<}NF%x65^{)9GT)QJNiU(ritPHjk)+MYuAX1L9O97?O7J`p@9eEw-#xDSQ2m;Dd+}MbJ0I zzJ4S+xlcJS?HVb^(AZTE?`@K=!)(@iet)Cxd`5lI%)o}GByGhbEqlqrwE<|U4)GaB z#DGa+Vmw^@LEKaFpdhq<>B0hr^G!#_9UYX{TUXKcdcR`{oFt`` zM`T3IZA)b{H{`HxZbZ>X)`t8zYI3&fWFH}T@6oThwxp&$R8H>}Yq~EYu+YOS7K+S$ zes+J!;*qpnpv}#~Q4sklZq1CLLnhM(~81`rEYGVvS1Av7LrSJUQmsxGgW+1_PwJ+Df5DK0hU+JlzLa&g6-~^k<@O zIXx#t9mr_rmXz>$k8E^p6~M-TuY$uSZRXsGh%$%Oi;Ine!$mJ4;Ymq56^}SWlUx4m z*$2a`xQOKvxe}f}BeR}um6Sa7J?R)e^*~3jOqu7?acVdkm#s0gF|o05=w4rH|Cr`I z%cCqTbwBhm8733^Jw8fmrt2QP^*ZfPu@zb!{#i3F1vPU(PjFOJC@$p8H?PNDL!*ZX znNs-2J9^S;_|flH8;VN4mcAcR$7|=o@FBvDO*0~*txXF{w1;gxzibT+^ysK*`g#s> zPY3ZsE<|UR?Eb@#dbn->35_Hk{-1i|<-57LpOmB> z6cl99c*iiwC#qA1=ha-Hpy<_lcb7as4O4dO=`9FJ3|?_(a^c zas(#y4A7AK&B-Jpj*>z~6hQ0Q$Z_k>+{Z%2h+{7KZ3S5u>-bat-ZpSjaZ zo&U14XncSo&zXD6my?z!UjtJRNk7`E{@A_Zq3bI5UTS1~IDfYVw0vXzb_z7FGB?aG zD$<@-u-*5JW#Jd}C0A9}wz9E-n!Q236n!iyDakIr&Z@q%<}*Gqarrke6BRIRO-m~B z^1su)ugVR@t8Go+!L)oAeg1CP=Nx_V6UQVK;BeabBaGO&K6-1uxe15>&r2?Vt>S`$ zDoRQQ+a4Xy0QM+Uv$|47MjAJ@(P_FDP(gaoku(uM!l6{QS-`}{vhsuE8WDsjJ1y;l zkrA8k0%?vK81+Hq-Kd?JG%Mz&r&XG+4$_hB0k=^yE@1B#mXXBP@T=&gbAz&-Q zGrI!<#Mv4_MjW7Iz^z-)mD%+E4IH<{2DjhB>z_tBe+S@sCw0h6Kh%YTI-HGte$%t} zlxR=9oKB_=E4ckq1;))rI@U|n)Xfe~%$490FR-t@*GM778qJiv459f@+r6T{S#@Xu z+`W}F}7q>k6*XlW5^9?HfU3-F8 zZS7RANe6rJ`%)gFo(nhe*vvhroB?^msHob-t3nV`ex!IvMS>z6zs5Wp!}#q89{W#%1SVg@ie z;F_p1z`|d9S=br8Hk8a6nP20+a@pwGq%=CBJzvtF%5#<2@(P$U&)AvK3eW4>ZDpdl z1JIpnkr5HZW3{;;t_s^Ce50eLsEBjE!47eD-e{x75SuK)Bv0W1)GhE zct7&tIT6V_v3KihYpO_xWWE{HM}ki=eMTx>eFX(|w$FAOTy_;TM(7K{LhAa)`|jPl zfkZ8k;7uGF-ke>qS&}Z zwStQaW~EMRi{i8>28qul4f1>VOBSX?F*y9#{nG7JCKXCUeR7e^zrd>J51^?J$Z~I0 zw>t067@zj8ii!EFB-PmsSDb%&Xl%T?B90X(t_hgT_z=M9>7_&@C+m#fsR!SXDb%)! z$=a|$$QF^^uC^D4k>4Xt$p&O(ie_s8ZyMsAT&6#}V0>)4v1#GmU6@x0U5-7fPqj@) zp-ykBRVWuW{Z>?jY~)5BEGc!F1-Y+HFWuJ2(!RcX7p!L8vbw_Wcr@iZzwLXnJ$}kx z^H|6sU)|2OOaUva$kH(0(x2zU_F68LouLj5_ zg?#gHwnLau_V%&X+4s?L@Ig8GwdBMLbrMx4b~SN_6QjlkW)T=9W9tAeNT}Dnc~NDh zFXS zg|17>##mt_Fs?LTVV2s*i0v)F|7>oChYtft%flllnXfyY3EZuq#~C9%eOYz2P#to} zA48?0veNJK=RgSsh4LLM?DDays`_IBphF}hv*y=Itia`DV%8d0Q{0*_Tpzcb^j)lJ zE^qLNWl2_NiYc6p?vz%;9xl%exIEdr*l)ShK<1GNi%-!rFz9z-0R3Me{iRA$K&&fJ zBAjZK*-XytCQQySH(Je9PmB)R*yz7Hy`UAMeb>sar zzCFCcVm^Y`WA^G3_*@kAH_{ZrPhmhOl@nt z`PlV_Whs{1XD$wGxxvAb5*sz(z~FuSRkpP*1HHuDwMm92{Kt1Wy{a zrD0O1c#Zs1uG?1PFd?jer7o`Xam5(Mm8dC|aNDC>Zy?W4ssK`)uCEs$N=dGcRut@v zAuvhaE#^+h!&NX|HGn9TMl58VYz`a0N!^2uHAHtNgzz`*od>o1Yba#`3K?6WZ*5?W zSqHi0{1(`%AIDs^SSx{>+hRN;-Wc5xKl<_FrB0hKW^m_Bqo?@dLUVz-NK?W@i4F}T zqIe=b)i`0>n!v!}C93XJLG&eu>_l$MiH!QM)y`Ldw^g3{bLF~U*kS;j z$ecD=a*|G|r<;F(xQVebx2hTiufuuLkZl`)b01R`fMbqmHz?mJDh7WX9F=WUhHY(` zU|UGS0FLc!mc38O3KRp9pCtcu#f^?BUAEn;##9~V_A}h z)fA@~B09AO7bEz6u|CxaexjzR0aD`aXZy32zKbcP1QTkCGfkVd1*~I0nMXd~sN%x) zx~FxgB)2=d*CI$#S~`qK(4l`LT(9^km}%i)q|_9)l7h`0b^@_=m+)=VJ|a(xkUw2M zOIgnTs19OW$eu|Gd_!SA)C)o${XJ^Oy|25y&vUTqkYFGI$o%&-wKsiJ==2wkG)~Rl z8#<3Ksxo^J6UW3w;hdjulBEU!yhJ`$yDW@<&zOzbBLmA0_q@Ai2Kco!;|7vAV&ZLY z%FEd3c;t!|L@6zbaxVE^N{UO1%F4#Xw;jG>(bbbnghxay5)cru5Ag$5fmNe&b^18= z{`M>_8R4JEA&(vl?k+ZxK=5Ou1biXs(^=);o|Ojqn3%42b<&;e%mhyB)VfcOerNkn z>wGSGL)YeSL4{v9!R(jfzsGwX`>6#JB8cuCo~p-ICg)1&uwjJz{Mu=8SV^$adOPB0R<&O5rA@ig<+cYLiX}Q zSd}G`J?DF;L3J71_RQue<3;IWlP6OD#j&c!n%U`WDxZEbWX~bRAFSq9R_TUo4~@nr_ZGA!m8ctn%&vZ=QFMT zdZ5q+9I!e+3x@fVsdL++x!~~b74oV2P4kUl!(5gqelEve^*(|%;R3(AmH-hr8ymIv zcigc%_J@JS=o(BlqI4vHftdu(g*7o4xbE;48|#z*P*p*8$+!PORjmFxA$P(6@Z$FW zPYaInzoPK}AKv`T-^IKZrKW6o^8)+Hm$yJvhx6oX^*mMHDB#GTiJc~uKokC2QISd2 z+Vx&$bW0&kjWce81t?#*#glLxabO%b229>;|4CJxxZ+Gs7o=0+*`-WvKM~p1v z_*grm_(%${1awD>{k{Lzxf&OW&G}};O&c?;@7?nKXYZ;xMVj)SOFp13tox#;tgSfP zeE0de+|@7@2_*y{kKpOUxN8jI&rx_{HFU)_0QDZ+rM+>%Sycdrn z6@TjUb3soB6i0qGtuRW+ZNszb zys|u40@bNyD^@LVRv3i@Dy=?}lKFZcfd}I4|!!qHi2j!6Xoeh+~lbSh1h9 zn#nIM1l|Z#4)i9OugE1kzV}7yBZo(iO=S&afA#e9dH$--t5eSw@q23MPfJU4b^iE0 zxv;@rg!8fqVt`Sg_@j#h?>&P zBxVK}ZuP487mRd?FQ|EG6VXuz#y+>5w<8OtVx6=JM4M0r%bw_xtrcyjmWG zz-gn)?nQQo^z`?pfF0G)u(jYvrz_U=o}6cSNYpnl@-gJ%QqabHxTw+_6)7&KIJ&_8 zRoi@XQ${vqF-gRbIa0nm%5!-6~R1RV!*0haEXo05=iX)ANRvpMSlN;KZq_X>Va2{oGosI!~`v7jQy{={yYi zB64rlnB)8USD*M?CNZd~SyPvXG1@Z`Nc(q3FEJEyEBiohG+~sdVy~*_8NhL=*BkbP z1SkV@a`6ab1w5|lUva$RqxFZs{}v)6BQslT+r4_*;Tj~rea?+kDdGp_1R~7@qHPt` zr9ww&NBavVg2J{{XU%G}oXp}wu9MCbQ96IDy}sxelU`{lX}N1}`-v!f(oj60(CFQp zZCTRuNowe7gCSMCID(_IC(1;u5#ZSVGx_qc>?K~%mp0-elDLSYv%mRDDdZ_Yb+p{3 zrCSTXi!}9GTX5-Q$9|g~StkP$ABf~U5qmeEAEARnf=la=A49vnnM=%y~T@fYo1g2oABpp4}N4%9%2Y z;W+&Vt~>m%2A0aEcYdvidDUWRpvDnz(bDE_T5y-#=X0(p)hQJ){K;BGMD*EH^@>f^ znru9nb!w8}s-?Qz7GpgdadEtr>p9uk5Cz;2T2w4@HV&>Pr_H1NR$IezbubT`6UCM? z{FOHIm;A2#EZSusj@Ot&Lt_U961_)FKc~iViA%}GsLeL#mH$3alfiH{@(HXpA2$Z| zWW)B7%>A#P-xXzkw0&_H9%A7iUsTkOkqA9>YZ67ps@nf8L`P?OS+%LnV%rxp0A$1) z!-k_dvW-4BGjZ&h&Q4AQ{d#5gD<+JEH9+V(zAvd@f2d=-j|q_b#_trkfbAT1K!|iK zi|us9DF8vStU5lol>K94MYgF6eyCWK8F6atevdIV%DptKwC8TF5Gp`A>AEFgyafaf zVQ>JcWs~`CUenX_@=mw4d2Rf83GmPdq3Yn^?GO?kDk>@`Mk$YT{%egFJ6vbJ$g!$R6;}D`iBZZ zNBaF@^Pq0T{Q}e>0gm;f9;(&|Vcy!8kY-QB>grmtPGgQYP#`(2^~YadUmvdzVG?uM zO_imu4<-)`4Dh?|2|%W2W{TA7DH$0Zhfb2g+Fl#mNy(Z;#_*?7T3d)KIn2wH*DfoB|@!trt(*YGrOVIbJR8iv+F7H)H5~KmH;Cb zlo0))z{bbtc0cM6YWBQ3pPOyD8O0e6z@k{V?Z$lf=xYdxjm(Q2>CEOJT&Mj_-C zCtz$LD?2zsBfZ8N7n_nIOJ*$0fOMK2qzHYdWkz5 z7>T~Xu4~j|XJdQLW%fb|hl~se0iE#dDg@&&}~zofls! z@isR#y(X0fR1<8hP;Cgz+rx(sXQrov7{8Hln#@g=!;EZg2_fY67ZEFPNPE1f^=y?+ zlN-cwW4_T9*i1T>IV8-N3<_S*{xgk@cz$7AxK9A&$15_~wKjxCv15d7by9iv}?F5A5#jCh*wqZEQRTC0uQxDy=5G0=kbXlODbOM9L0^UY-73aIEXx|K=hTV3f6bG2E7 zOddAb`%U-s^?9Bjq<{MKPrxz5xA~(6=9E86&ZEI_r&FiXlM}cED9PHY1d7Cjganw= zaZYS<@vd>VwBuTTO=TrB{kghEcY&T#Kk#RO@XaCl1}ZLe>|5W$9(z3AA6ew)Ht#*@ z{_*1l4^OSVVN>@ph5FmOjM1Nf@avw(!72mq66xN@{aBI!42S9Y0R(v71YSq~($b;A zDRpR~ahmP-l-s@9MJU*lOLkckrFwKJG74lsB=*lgpL80WHb2aZXq$cbaDZ4e1&CxvAbe|@89K3>2gz=JuyhR>^gduZ1(oh37J#a^u1hU z&t!%Y|M~Q3eJIs(VJ>3}isWY-ApXxH=RN*W%Fe7m4a&Ph$sA7$Jcm*Q0bff>+Tgr1 zW!!#=u{}|;KUFSWYcmfPA}Dxs-rX7}roo^*I%#@|6BuVcX8?q2(20rLfBpd$djBgT zJ6N}~3&>ji>8L8*k8_4I#RD0!hz0WWGySDwSc1dCQUyIHCW^K0aA1nijT*vco<*mw z>ch{s!osa!D~6Kr#DLRYa~xE4f&a2OBn_s%kFPwK10_;bFeAQ5&5!WDpq}!U|0#jPVb`YN8qP=r}^p#tXQAlWE^jOS7 zQ*#ZJcq!WCWt8MV&HlWRVV03}iqJ64Y%{)%bB4yS>ID(<-4Nrg8vAyclL+0)HBMEP z?3ihKTt+c)1_euxjVYrCqs?oR#<#r`6)z~v4S+sy=taUic!ZWT^M9N101TqJQ9K3rK}|thE>C+UENEPe_DTsx8T-V@rbqJw#xD zCfw$+3VnuUjOp&Spj~-Z+x-a(lw`J~uM+297J}r$N8$?zZbu=ncoUPLU~|3Wxlv-SKekl*kTMjCiVI*Hd;{f@i(HEFHacW6EL!f{XUYHETuEkl18aW&PH`ylG=S># zLCL=dDkDjJhb8O#CElKeqNvCyP(r2k{G2{dZ&7GDmQ-D%T2eOXio+Z`ymY@^EQA<} zY#Q+bML8hDcX>)N*Pk&yW?s3_j5Jk{5K8q0YG6=cVq-C300y@{s0ZrLLHZ1o%Fep( z1i|5BW6(G@^H-p5n2oU*4vmNZ;z&%;X z)f%$0WLbOpK}@TVDW>YyGu882;JOoQA0qKEj8SJ+=lc_P_X`IaFCpPquRK644p98N zI5%dbrTrdH@0;W01f|Wb0)o^h^~Qy&%Lu34>Bjw?dUR<5*0Ir1jHm7`#@kT)0l$Dy zQhpzY;Wqb56B#V5uxrCBS)kprZ>s}|J&@RSb6co$KIT($yb9GJpR~1_snP{M7eK>n ze9_Adgp*`5wS|M-7lyMjpgyu!NUZZ)e_ccU{AJ)=R`Ml45 zv*?ME9IWw^1?zwpN7^Q3j_tS z(_ZW^JLMyPy!7+`R_8MQ6%L9q7}{6rU+Y9fN8ha7RrkL+y-CZJGID!DBHw4^*1A?E z_VrGX12U4VdNp6*Rz>_kxH~iB?0)nY9Mr3(!lp(hP_qN``OC?}Lr{!utn>-!?B7qp zJ#YAclUe?2Zaf6oFv{?azH#X(tFyj?gEDE>ib}`pn+G6k*~sT~!IKJVRNlS720O1H zKVKDD)D<$Wqr-wl&S5ZBHth9JYWHeGJs;Gj=+@Q)KogX4#0t57Y~-pp(=~-Bf{3tl zyyl;4rpBES&uCpdhLK=phR^VzM@-K>S%>q?iDfbra6OC45etk@GUzE^j3@+A%DjPj zK=fVp7qKE;+x>z*z6jPuVqGwU^mn~!s`!-UP=9<_QOeWb?>b;wT9TW6R5Ua+w6tqe zJ3l#qtQrRgr{0})0fPi6xUJ4wkx-KQ5M~PRb7W~EapIGg$ep>IwDUvLk)b5+eMyV0 zxM3d`7wE!*uI0q_>4J^59!6OED)!rs&d!@U*_*zC$5hNTkwj=-2APC%|b9VMPc~=;q9%Xs_eS~Lpme8fx&c18|R#V&S5YHI_`b1eXn(|m~&p&yk-vt zc#~*o-yLDNzSwEMipWUpqs7u`X)EEn z#{hT*dUV-=qgx8Q-oKtIH;Vch_4rXhL$x!=od=fF*RN2_fb{fq*}1lU9mf2J;Hh{U z?ztEClN+A#Wi>gS^$R|K**_-=p=LOD(0bRlvBrKl_@xnxBE2K{)^Op@$LFyN8BYnK z5qb3((_ZeqOJZb#^lgplTCv?muYmn#XKd+$h?pp&_6;fAsHuh-v8^5zqP*9kywKG$&?XK7Y5T3B1Ov3T} zvX*9||AjNc$y%+}6a$h`T6(0iNs5J4{od6IJoh5&)-laD_{5AWM*`(w&{8vjH*GIA zp01-4UQ&8Kx!E48y>C+C*#W$8vrgDOFn^*5*;ixb+kL9C`?(B>E$@9-Yb*$zejM<1B+NAaMaRYkRI6!!TkF1y!{jg=?yIA^=v9DM< z^QOJ-J!jza&Wp2=;~nlVtA9ilY*w@UCI8r zSdbU}^TombJ=+0Ba^IwPmA};0$?Sg7a!<@1pQ?s%Wqm%lcwzgGIm#&t8&O|Q^?79Q z?mok+^f?!0PwTttf3K(AUw_seX#4b-MUJJcu0EV`WF`2G!6R;}M^pO@U=S9Ape;C@ zDEtyOCZf~jB9POgE9bKNMS$`Siy~EbMO)-_tZ9(b!QloU4ejVh%VX}D8Amg%`wyTDs+>mC zt2#Piyw$3~v8Oux8S%BD+$ZE3McfQsk?PT9US9l@p;9)Y!Z1&9{AQg-&zUYeRrOuZ z?b&Ejx3Ed|IO%Uel{SfwIj#|v2_q>2)s-wXzSdl`!W{!-ydFp0A=pMwW>$42d31rv^ej1E*cS6Yk>itetFt>Xg-QfHyq|0+r(Ay#a8RU?foVz3$muzpI_T%? z|IBuw6d`e%{x>653}$fe=cnaUi9Q_zZ!}ooEpjxeBU|O!9xceyih@LJ7Um{71t|Dy ze%KU>aXs`uT21C3&}EJj^KgULceQqUw|zETTX!)3%uPs$XV8|>VN%_^k9GX=&@$j6 zqXR2VzuZnoLRymObewp55Av4EW%HsopcKtF9A34nAg^$v--ZbKSu{MZl=5P+`V`?X z8oGciQ&*R=U5Q@FK6Ng_PqnI5?Ihaaq1_NEJQF!iAceF8uB1nnZkl z<;FupgzJ8Qy^AQV$@zD-=ev8lU{32_#L~OECEyISJCmK}m_~_kMxWm`M9w>NLJ=t$ z2mJPB1r5z!zF{^C0$@n0cV`zyN7*Jv#`@Zlv2hj;cnzA3J-sB+zPFtieT*f3_{ykNPfJb5173)b_I_vA2~EE?weKoH!z^sW+Q6VP<=_*!Ty;%rRMK^5 z*;FE7WXINy3G2&K(3Eo>Z}m%ynSEhhM7q5LTgT<)_&AK)_V_0K;?>=F(1a!6ONN}D ztsgme3~181p2cJ1kP+Hl&p+fREsTro;61Mn{T7N*OFCa#4R&1+pneD@w9g=FnEM5{ z58LqQ=xFH|Zj#W%g5a>2nab2buqGI^Sc)&l7YE(a(kKKOlj#|##ZZ4lN5ibCUSHbO z`Nfr%rBOgcG!*XzwH9)|RoPqy*}a?=y^34W;CtKQ1ZY z)}8+#mV_HnAu9N{KZ~caNr?L4PO~F@aq*iU!ei!O*VcwAp?QG{%F67J*75Gy94jky zR()w!To;$A&_;**zM_!+1T zHbWmlSN)nSFp##+Fip=05ARu1k54$%Xb&cmYQ)CD(JPG=s&2MDemY6wI3EOsqQ=Zj zb{og3af4f>6}QFlBTdXFX|Cj=Knvn6*K_B_}#>K!Wc;Ka@(q=Ieq7-_xVorn@BXalILrK=d4%V_>lo zp)lW2$jZ!S+;c%eQSd|fNfI2V#_r&`hS`bHfE@*SyIOog4cBy6my}&?2&B3NVEMK> zFGK`_*AA!{7~0pZ$=a#u=;_$tf~{b>0KQ98cnPP2RVCYKb2DYWnQ68x$&4$8>R-ZX zddt#MJ!cM;LEsM^-PO!T$IZEa4+PW)Pl*8%#(Pd;Y5Yl5NyTCshG_Jlqsu2Enw)VW zzq^fTJC*y`1`O4{M4Xc20r;h=0+`=#WBJ!MbJ4}+v{Lt{VsAnO+4nvfnts+Z#wNlC z*)_&9S5*Smb0c$c;?5Iap(z=Hii*lrrEJ6-oWa;ElOuZ$l2d1?gVbaL{nL6SF*BDv zUq%_U_Zj3^%P~m>%?$OpyvA48)BBPHmNs*PoDRgFLtgUDVIB0e#kx;feSM7;meWRq_8CBu z)?(1`Xlpub$ZXNtY=`KDLFRNx7FI*Ry8-h<=Z3W93E)h02R^k>t3+E2QXN>2ikf)c zEg8tftLtD0x^j_o_4vJ{Xk|nqTM+G_&Img77ffQ5K~4Sy#gi;;d6lwybg(Wiwxd)= zB?5yetSTlZE)p@klfTuuKD}2WOx1YZDFtK5Z;m!ujR8(rPUw-)@__2^rYf2=)@gdnPWn7xivOCslsPstGG zAL}ro#o*~mC}3-OTeiP2Ea3)LT^h}w_9jV+nC^+^@0^4ujT!Ha!qnXF;vEJ`ppiLQ ziErbhzEru>5B`(CR`*|$x;@&z)R=$GPw-ikL8=lM2FlHjY}-slz1r5&l&G9^UZ9y- z_dGT<<3(#`)GOCBWft49J>GY!nkp6bJ-`t3Ci7`uS@L&95kjQp$S5kqcG`=J4Rkb| z5c6NeWkU*Yq1b67vqn=Gw>IA2Ughruf>Ff&taU4XiS7f2>7o7H0Xtb3A77-s$yri- z1gFKUsFbAp=s~h$x~$2^V8CdA37``1eeKCXftmiQPh%*on=8`F(}8odAiEQedBV7F z>kAmb!(ZS4qt!h#p2(#GU)#f(AydCT1$m~TCKQdNV}$Tf-yhqHw z7*dn-vGv#bJjE3Ew-4Xn9x{AjpmVV|o*iblRIQP#tCl2xuXp191-uy;PonGoFP9iz z0}E8LFcK~2=#!r_X!@W(O$1MLA1>zG86C7#74x6TkF`}I!rC3ijr(#hNpPwblr=g` z=5siYV@qy}A_A+EJh^_Z2zL8mI$o84#&uZ1D=S716K_6mM2ew@c+$B^dCn*vCtRD? zukVdhhU7Zp4$L3SF@H9CF+K?1v$qr4tf|r(UbMj)o~-Nva+TthNMuZ8bY%49uEPU& zi0v|Zo{rOW#pBGn8V(xRy9xD1yMTK-Tk?DF=60|(J_${vbyhnaN+vSRW2JtQllR)= zXB`Ucb(fG_z47D#IfwSohD+TUp8z@SXjRS{jr@AGe8!jhQmATnuN}wk#IIxOJF?+0 zvL7R@Dq#L&@uRhMJg%vk*q4N#*H-<+`GEOzNZtb{z{iiedf*zkd-0Ww&76Lln5Yq7(!VZ%6)hg9`a+ zNIf=I$!zmow5^zZ%&pSqW^AW=jo^;ghyucpm7Tx$$;d$0batKx93WvSu-K$)sL=cU zFua9oCns-9RV~dKAAc&}PS;&GE8ZYU!J7o5rJd>LMRmU6u<0^f&w9M$!$*SV!S-Ww zM=L1MZ$W<3HyDVbxq+jq38L)`5BKPpa#2QhQ5&d)$Z*d^aKv!8>mx!CK^Qb%HB_1p zuGA&!#`!%HARUONSWe;_j=tkz9ukEHLFb%X@HjeJBHkK(bDt7h0sYV{W&kWG5mk+o zIoUDxN?&Z!LL>*s!D(-$Qc+Q<-uo{ts4R+Iii3)6d_%Q);|(rh8d#I2g+<) zEyOGzc`=fODUEXk-%{1&ey`qhBfxWEHdS06!ND*bR5qxWKvJCKuEH zrZSh1mVOQ$24Ws0d+O#9(LW5ChxYXujF+Y2EN z^Jke_g`+Cu!5#;wY|~!F1XkZCT?9nsw5A7S<+Rk6Q_#b58-z^ES0#Ix7C5ZE=1vAj zR1|$hvsI?j*vaqBifI|}9vJZqxYgo(S82>R_ni^R7%tpX03qG#K(lF!Zk#nDs>PpZ6h>o9NJ_+LCJ z%&73wR}@$Bj{E4eXlTIjwUSfCkCgPwM1;1l9QEs9x+ngWSJ4Lk;n+aur$l&hI5s|) zKT?8LGKxT{a(-hrFubG@`8Ldqf7rQQ06y;YLnUG})U{CR;uHwRh7LpN@ zcMOI>aBbh3p}Mp#OH6$mUi)KlW@-N+$&0l$&{)x9Q4#)QTc@LQ`@X&&xXp>9gKQyi zl$I}9-zPTC0tb+`Nlr@YD|VUwz*6a7tC&Q-^YBi5Kxhe~DTD23#V18#e$sM^qg)8S4;8TevwC;aX0dkKk6;dDRo_E{LB z>36^BXvuFs(c-^^n?D<5JaMaaxCr^mD5udZCho6%H>)eGCHWQG_I#X`N^QuM0}=Kx zY`QGQzf8nktgG0KtWG_*P!L~7xo6!fZRi_z2z7H>iY9-j>2lnys=||L(_q_?nVP{N zv)^OPJ(ll}w=`6=;D}+|^7*H%{=^PzUEpMNhk%8I4INcdR$3#%6N9RdLk2Sn|ECt#z3*rT^jJ4fhSY>FK5Y*AbOh zh$=3~Teq&A;${?JQ~%$*KRK7;#h!HCw1|YmJ3b_>(kUK~NAEa>!|o1yQ7&#qtrV!%$RU!{nudK#?88 zdmX!ub_o~n%;_;%;q{_=#KsRUXeX0V(nI=LQMJELdjS0S?vsb87b87gzTsOu+tdy1S5V@p`PoLImT8fMUCFvB;2*k2RyES`=2`r?rT+MuKt$#*gfnN|(tYpwF5rh&61na^g5> z`<^Vr@ZFS_yOe5j5hto_Np8&ps0Em|3L8zDe}xo@%6pv z?Rwyg4MY+#*vGKuj;1CjMNkP>nVWK~4%YYdmebz4aMhZ?@e3=hZN;DjNTi>eUj zLa|55em5F~vdW@c2!o)NNQGnV7h)Z)0sf-T&TUr~@Ueg!YCZh?$LFyLHv8pR3LKe- zMoI5U?i1)>&%WYtaFOhv&js|*(*aKn$XyK&rvS!y-kE~Q(d*#$_V$Y4ULZz}$u}w& z`#Y7v%ak-)wbE7p%$w2f`mUYj-?P$h>NZQ^5LOfh6^T~}l=9&4(FtK#N_{%Wh zb5m3mm$huA;b(Ba?CzP%j2@z+&o8&NZG2Lvum>-ie~}XVwd6q`^T*Q%iUq=sBCvW| z|2r2Z& zaeOgVyX){j4(!(Tc~TYo^(A+&+XO7VOKvzw8_&!%$HA2fY#>!C>q}T zr8J9nFr(qMG@JX@RXsNTHC<;4pHt?!Y!c9>>yA9liM^1A&EE`Mk#0^U0$W9P24OK- z*8zG`(6Fp6!WP*@!qV9oJyi6!zernaOw`Yv9a94EM_K8#x^(xn8r8M#cTf_A9M$;G zF^6troMSzo7%r#o58&|+{hmja2+d8+Ru6cwV);LAJP>bJQUaniyfyL*^WdrJ^YiK{ zz~+$k{$=5~G}W4<>!(gqNPKvupNTi}(5W5`o%JU}9Kj15$Lo2Y7|}L`2ppI|vJc;5 zcd3DOKv~7_O}5=VZA;H)cuh~YX>1nylIPp|?2)Zi;dI&m)oDGMe|Z7@CQ+7k$7;J# z6WM@ZY#qd8BZ`9=MSc6b+>Q<${N9Y{A&4zoQ0u!<86iVpCJo zYAemN{XV?=z@%ql)pExptrr|9fAY}YZ$?~{M$ zy*-hgf0Ar|0%3!wH(mW^P%NlVdj%ds$UiQ`@p)>Akc*W7PMVGZ6j@Fo23WA3zj zzIAfLHeIKJx;f5c6l0Pr=BgRTfg+)IF;25sJ*ws;@HiaK?%lLk^Ahl~^ZuQJW0gAE ztu73mZA0$ai-&T#V5`44hL~5NH$Q%db?D+*d=&3Y#f^6v7Id8QVndLj+v_+GJ54t& z%`z=*N=~#fB`_kCL>84B3^~m7-o3kb1s4$juJQJ6B42ZSzP9XTu)t4y_pUFQ)$1yl`z?`bp*FAaVTom4jt7V#H+r~xh+kBH)ODXaUU*Zm3!pb% zruE;#;#YBMPTC=#F9R27Jge^VZ~1}SKG zo)9p1KXcu5{xZc+J#_wF1Y#rY@R^540@^Yj` zWn=&`W1|?_)R*==4}oQx8UUaa@8rOqwS7Tr=hN6DkC0xm%P@Y=8gw5*c^!W0uTG=-o=#|39Elvq}(o*8ideu($edjWH zH0vFO;bF{hFCf#YQS{H%RtMGcGEV-)jU?)n*Ww4U_7MlK!e1Qx9#^~9zZ@ z;Q!2;r z?Baq6vMxtXv|(~7JXK~B9C^owhu4bKa?ky-xj7if`+iX-s{0zkid zv(p+Xu^2-C9C7d=nz&d&k1v%kByV22nhQ&IS7t%V{7maPZ+`2^@NfS!8 zhuE>oA1~6TWnj<-ct5_Q)k3n?+s8JJj-x~4Fz2n~Wl?lAh-#50EBoF=af+m=sk(^B z>aANf=msi;Y~K>($%4H9($cL9i>VfW44~P#40`W&rjR6vTyVqbPlCUurmiyEP@#^L zL?zti?;M-k0R$94;54>~gAuT9(KJT+P>eO$tX96%_Og z4S8mrUP3;%9cSL%Q7*Vyy!3f*#B?bB6eZQD<-i67Thp7@dCSl5*-skt?k#mdxRe@&Z`g$L>7g9ckK?ktgG6k49#nXqx!pI!1dTZN)@NKyg z0kP}u@RkB9q3QlLFOM#o?e*>TjKyrl8m`>usbTWQh5!cbif}JCCwFLCWi(YZ8!AMG zdZc}tjzQp;maedfh%Z1T!do*|0jI}KdS;#UaSfN3J+=p!@MBVdlrYMoR@l%8qUdd? z=eJ1S9G}KHe;^7G7^t3Wv>t4tnB7OjY#N;9Usqc@H3$(n2)#tc$m<${oyQ35JSe~K zbxc1kz+I#__jr{ijZMudd;vEg;cFT+s1cN;5DPtQblvlZBXjaqi$jQcuNqZXg3rk- zZAKOVK>`mi`t0m%lwgmKOip6cOW*>Auwxo4-=hJ1@fIYb7XqKsYxxV9Vam!%RTeX| z4f0Y7$185IgA(w}7nYHkNlQgV3uBZfH`LUn*dB=LIQ%6sKhe6 zjd4V1YF^&<*4A@-RCdJV>T8RAT^d&oSmJK zAyMf&*J$*4vRZ$w^6tFqkcoPHXy}V8DdE`%0DLMdXGXh%4ceJ+d3AMhb@gx~Uir!+ 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%0DkdYSx_CS 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峟TDKD0}R*Q*+%q|m8!=-r^J;fMwzsV-f%Dm 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 diff --git a/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-recovery-linux.png b/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-recovery-linux.png index e26d001a9025118f68440d1d1508966b4891c106..39e74833b683465fad1edce019ee6a207c38b37a 100644 GIT binary patch literal 15451 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 ekQHmi)9}W?8TZPo%`<#Y&(CU;htE3m6{& literal 16547 zcmchT<(=B=kNk||-un-_Xa0~99;O-hUxVw7W_o`mKd#9$Dftj<y(4!#mKJwWk@bjXg z*$ccNI4X$?L8U`)b|C02Bq{Pi#Vze%(NzOWa~k@KCA3Z5%!#n0qmV+K^>YTtQ>)QZ zYf)8Q$8&a4$N2#D2@ZB{(32ea(ubX98rd9whF*BL8ONjN8Y_2vt=(J90}J(zhv~ii z$uZA^}F-w91DWs#3hh*45kAD^DSabM#>K=|B-f(}NwuCTk{uC6RBtSqE`$4AOUeR)jA zDIm~tMD!XAbVhbf&CI*h#PF8-{a#*tTtYxVzzx!46Juk&CZ`SfA}nm8hzUL2djZ3u0AU#GdrQU;Fc3+2Nb>b#+E?mD^R`PT{jNGd&9f6JujuvtylT zoTX+KKM{Y&<}ZakidR+jO}{nW{iSJv-(c81YqeOD-PDvN9{%}ro8|PK70aBEbhm!# zoe&a|IDUAS_FG;mSNPFQm!`bZ^h7H6{C#^T9cp+utQeJmv!CYYPs`ov+FDk|N~2jR z?k70>h_R)m43OE;cAa;(d&V89tTkdRbAoh2Nm!`7KDJB!7H$4_(){mAYHB{~+xE(i zMafkMtgKZ*!KM$*zqK8uEby5Z+uEYN<giR;_@^9!cE0 zQQ?5>?CgFP6`5|WCnTzm>^NZt$Hl~4kMEw_F1Ju1W8)@*=i?`VOU>TnFj!Jj-CFJ9 z;bBIY6eea2c*ZCzG3fAh_x3)A&=>i9mQTAIU5|nu(a;ot=MV#&xPga`E;5PVGjG_j zH6bD4_wPS=ta%v5`1tswWZ4M%OADIV$hj>oKBF->$;q0qh0V>)zP`Sopr2%c=*60M zSdLgO2TKHmSSS!CCg$AS#}xeCS?>BJfnndpig3lQ`5SI1s(0P})THW&2GRTp0S-Ns zlxxg&yS*8eWu-&Io%m}eH5j9}Oj@ize8!f4{G%o!gh?0j@ZuDWzE2S=R{J}z$JPuD zq#$g~^Ll+FJ(b~iC#&@M-}1qCy2#U0rtlbD9Qo-HK>{2mDYfIi0i49uFNb-sXQwAe zwHXx_ak-`@F?V-#kqI`lTSsjlR=EVdB_%sj$D@60Kc?XBrRt_tU_*r|1n5uQuhv`s zkj8FVMDp<1qY2{HF8L$YkU1}nHt3A6`MY05&J5`OdH<@ zO@$xwO7KmOPY-AI^f{UgpZRR!5EImYy88(Iy*PGu_I?J%$Hya~5xK(;)1#w*oa%Jr zng{!)bMaUu=^GnwwA>*f=w}T+#=yXU+zz*fgJ4_r#EK71^^VY=f!R~ASZQf#o<7U* zaj&rm@fy6Ylprpj)%7CvvgFjL*i`tBo)`?h<(0WqG&$j6q>|2!cHN%_hC08* zOq=e%IxJ7}qN2Et{0%1#JIw8rQ=X1o`WyJ`&tDxM8yL5{R{l8VZO7q|904?DDxohaMPCSd%<<_9J0v0|YHGX%{mzx%lIae63Rzp1 z#QGAZa`iG$adMI{n-7>_QRO#6Ob$7_SB|D!TwKtf-}lXggoN}ZB?}7+&>x4R50;j6 zR8(7&{kTTP#*qHiNv_V(5+R=x8!as*8JV)UxaUPNUWA;hkWl;F{JguH8}xg6niyhZ zpKx~iML>{B#OH+Mr{`)lU+GSUaZy2r^!3qKx}ripV*aHXXRK`QK=gx5R!_>c;n^ya zH~bf-uCBFZWrFqz0t^B_DhrXJ{jI@++I&i$43j2ZTNay)i=XyrRO+ukzR6_6h4L)7 zL*LAwkn>hIt&~8Vk^NuJ-;iTMGZ7OB#0;29ap@m5FC6BX2_-e5mutA?t-c$@i=_YF zYMUD&Ky;||7f;=+YRjMa(dTiX5NVhE;J_%Fx8nKmQNb*KBkpGBSTM38;T1NI73-do zww=AVwJE&uSKmot^A`D&0EG9Brt_1RBaY(#+q;qbO| zsoKbN>oxv%H>?Xoyjetz@{OQN(lHMS2?q4y#aVE%Op+Dv&YvIIA}JH2qZzEG3EAU> zU9Y8kX;gVjc8-ZL#sXMy-B@G;BufStv$*&2T_D z?LU{8YTzD@2U$^SWZv#2{rbfQF)`4Ki*}wd06#f1^7sBJ!>3OqYB*EVoRDACh}~vz zmO&OQw4s3qVqzOnS0hqXQMp|h_U#HYZ}CAmT52YX?RDH5dgRy80RNPe+q$jeD=dt7 zn)zlugKBqcDE;7cA(AV#ghS~(8SV(C)0gO!>bY8wqK(_nQl->i@Zwct05$4)r!NO$P>V*L1}q8 zlOpBs<$TxIrSQW_+k?k@$FS;kKfmAG+ZwCczrAkU5sw(3kc_Hkcj<Xg?EzjQBROcJoeM+$OXd2D!7&2$(piK!FLr%@)x!G*? zic9vQp0WIKXhxdvLqdQfi)enO(_%A7c%aE%M#Y_>d;1r^sGXG^wXi@|#44ZcPAH@@ zc*mRLo9ZV((3Vw*#Y3=>jfXRIAO#&A$NP3;gRCE)1?&~HR8$72C3BT@4(m;fjK<8^ z7#JAHgb|@E%ego&UyC#`jZBm24kWXN zijY?S`t|sUKY&9l@dnsC9ezS&f1!n;!8cW@sp3LHO5);FH&aT~*f;Ku&|6YcS}t;I zXh5d>=TB;1r9{GXuEx+QZ@#lx?E}SWlM*h>Tan9|1jNs}H(m0a(F7!%+T=zDhYf1G zZxW^RNi&Y{d7anHEHQ)E;p1gvH`b?(~KQY#eNuAQujuPRFxP&GMv6dZ<<;l#rauw3qgC^)*S*c}5y@%;Q8u0w2Lw$tB7 z7n!Lqojv;6Qm@7+zHl_=zyhRE`Hyy0YSe5@Kv@p?9k*JEFy%^WBMZ z`Miw_RQKehMdZ)QU+-I6OSO>e=fhE29c~6l+aYqFoVJ z7kyJE7^-PSWjHPjJ1biEej)ib=jD383$jCatF(_y7DFt;?-5a(>nvQ_x)+TG)hf&w$ zZ~p$o?gD(yC*N{&x$S#3KT272Usy9R)FRE8tfCCUaDV<~{_`(%!Nxq^k01`I>c4Bg zL4*AAyT3AL%Rc3O1EzOdaKDA&{6SvLC8B)fFR!b1kn*FXco6@fvI{C0Fff*tr{CUR z&68uAKeX_FB?KRkOejB~PhI+w(bK29F&lgvOP}YYryoS(B?ZI%%qKp^|4-OtboX9- z;2)JA2@J*q!4bX?6Ehk3hVU~=6Yyg8?EfX&lKIcUFTec%ad1x{I&q8J-9)s$PhYOnzgMhEL<$S{h1M0=dBiT3AbOf+lu^ot}f08f-Vg$Es9#o)^E?t8GZLB zu2SY25Y#$#?ai+$l(#xzB1SpntxYwBg@$Go7N7a69td8@?@b@ZB6#@1igVu98lKJ(rcTcdXLNOTo*!+bc2aCC3#Jf{ z5Avc9>D05&D3-%Se}pN-B}Nl%U)~gK2tIez3x0;uDHX{gNXR&@v7|YLLIH zb!KeBP@QZ1E#?tY@MEZ8C)q}K3BJ&T88dESu@@xzr6WsTug->bC?@vwF8?zxoPVL& z%c@J$Y1|B1&3lOXu`P~p}h zWekHez1+ZijnhSyJ2g4k-zRZw=LpxZ_!57$M3$eDS`g-4QJ>rZj(Bd*jNsE^-H0wJ zEy?%S%VYS!UdqG7QY*DG=25W7oad#=2Sv$))Y@UMuipaDmE#gi+;pz~M#H_~RBbDY z#v5fh6cmr2Tm~bDO7|T#3f3Q8aFJ3XNc`O{u+{9eB&0uIB0R5YX{DUe)<2ae)0mhB9f8juy}#}+-rP(mUhq1kTrcD=>e|g1A-66ryoR~IF48Ct4iQ|a3X<-5ZU#&_Hn9Bm{>R@a`XwR zO)j46-r#=pC5+5F=`_u05Dz$_VJ_A7ug3^l;@EvYa7pz!=0Rc@v&cZZX;)fr|cGzwhMWSZEWv%H7SO@aQaDK zqPyfnq&rN^f7;JTy|THI5QB~6N90)+kh1%pBeP$)jA|IMTQdv+;z@7u9*$1b(OIw|EUiTX`!O}p|8@q*wgE;cRW{P64R zr#jZC9I4gA(T}0){WllcZ;GO?BC{XZI5^yI{1+TgV`AdmRtaCe#^;{$Vk7%=*L`2$ zrjuJ%G-)W@-!FxAG+PIoz{+Q&q3Mwf3O%2F#qpKfF*F{70L1q$Hf_$`o-wNiMe6U~a89uuh$h5V5h!+bGhQa^MYTk1 zcCq&lh!Oll{1?HH-@3AO&7sCkjcQNA zOpVGa`9Vp}7N!c_g~-b2He0P6BR19v61AKnhmJbi{qJ@ zhc(%+tZST(T3a9F4= z1S>9~nbUQpsN=p>NwxvjYv$TtH5n~-&AHXiqfK~@CNkz0S^s{ostQd?jnx`i8m$0+ zW^hj(1ZLp2cNf*es*817^sln&wXyrcQK+U%wPF8u{eiW2$E-A(msiuCI{j>gyS1rl zerzbOp^bvunFLO*uxAZp5-UFgGduPE9h&=bin5R5@vmO2grQ8?+!|OHRh5OOidFk9 z_qdCVj-Ilz>;8m08rm3fV-28^oUPxv*jN&%9cNc;Ok57X*}p1EV0?*%QExX`@aqxjP%kNox*zRZqWM-tBz@ChBKWTRB)#t&}#L?^GU zujaj_s`9uJ8XpydFA%Z1$X(nGzvE$$)Ri-tJb7}>lcHD=90sQp&Qv^~p@!@_!HLx} zs^e#OH&6h-DCJrhq@$*^&|mUIs=In|{;Qu(my?4X@x7uX9u<|Ty*=LO?!Z0}hHSpW z^;VgQS$AP=i%>aydN4oYkb?4}v9`*Wn7Mz5J}Nqa&)yE6^IXk}gDy2XXL#t-IF6N= z$?9ofN%&*|nI~W?z{N^Q(OE1{U{r-j^#OlbJfOLRgOQlzF+FK`+JM9JakqG`-Gu3A zTrbdfx!#%|O1nD!J?SgYG)x*TQ5+!4@s)(YF;8B%9+u%9p}*|eToG*K$NP}Kx_``> zE+;P`H#|hI0UtM5MU1G9zcRQ9)upxa-xQ#OSuA;`3CVdv4USF>;}8#|x}znYuB1_n0PC#R%qm4BL4xe2?v!v! z0mTSn%c+@(H<(2H&SRHEdm%x=`3hW|C0cF0l20K+;k)KQd9g0?nK=!xqfbu$TItrt zB;}U;sJZ!*IY1CmpM7z-AhVZud~yQ$H5EJAxjDIaTB_nuWUVJS(_LM$?2n0!KTFoslk^zb-*J2nz7noNgn^eja(+n2$*G>H zgO8WmGu+*1zK9I;709fx=#bm##9KNWiyS6WYpvbc)`kFeiFxqC3FRe+nb?^hLl_u8 zXt25w{Q^=#;x}Hmez&`rFGW(jdCCer`Wli82J!n~^y~;%;;|j4)t(sz`P3O4S=kq{ zn#CT0}S=@%1x3SvuKbIlgJuSRJ)}Yq&c6yJmNg!doA(6N?`oG(eCgC zY5R3R*Ox5J)#lz2Qx$$%8hT%F<`cc?9Se4LcBIFFMFkPt&2TiMQ$R9K{@R%uZG23^ zZ|xZv9iO6p$1vD8$T>0YlN`^gBpO_|5)|$Oci|wM&(8Ul^z+~`9rW_gmSL5qW;nSq zPMM~&9I;M?2Tf{p^5rE7R9E~Us`$iGbt*(=kd#OHPmOJbm)VW6gt z(o)EI%g8%rbp}Awc8@^ho4>)D@|hFclP8z`da5(?o3NC}ft^Q0$gi$#P$==HLNjpxk-sgqQjy5U#yLjDIoH}!GAbgfqBI;Nn$m_w zlIEha){6<}n_>0%7PMj0AMwe&Z-s+O^>x)hC>DfNl2%+H_{GK+7Z%6qsTf!qs%n26 z;**vzOZpY}*szU=P;~QcH$_g9wOMgVNq;ZnW50``2>5Zo)Uo%BGq4Dp4P%rLsbJVU z8WOn|<06f7bG#l-qLF{=>gy>ZYK_KoMF!T)15Owbu#E9=DX6@Zsi5($ApEn07Nm#8tz`MT0s@YHdw>7Us9Ejx0C# zrd>_7=vdfRW>))(eyS=1C&(d5jcCw>cp;xV(fg*uihnk0Z)XPx$je}EUaIA}zBCz1 zQ@np#X+%0CZ-3kV%pWu{qEtdToevZt zO^(D9CEo-D2ey8O=Yr+Q`B^S7?kwyiWLlXr!tlku)!djN)AZ!j%YA1;BR>t)RI8^Q z2vfK2&C>*_5>G2neFNaZnvx$PF8R($S$W^FMA#o@$Ysk{5=p0x>qo`Ld)(A~o>})+ zkwo%~%wxSDQBcOf#R?9Q{Z+#<+&8#f=|cgHn6p6|&0Zv@Lu@Y>7PJ8l9S55m4vGO5 zotzrsL5#i!U58csHq#n)^m+XPtahlhH0hfW#S`vLP69{QXurqM;^Hsey{uS|#}A)q zK<4u5lbva4PVJ`2Zl);%n8=Z_*XA}n7HPRV$)TJYjG|eiX2esIdZ!-#-MU9fc+%tM zY^dz<1+m4+rXj(|=uHkB8ixcjm5wOD-%d_WMJ2{2Td~S%2@l>?$hQvejEZMY5b%$f zJ0T$4JJaE^%9EoFU0%99%v4wZ+E*2F_~@pxaOyXLT9k;tvqw$Slg?AgS^J%dgQT;6 zewmYLKT=1luD(vg+6G)|(;iFrJ6A%nMA30hYy7z`5rw;Zxkbhd_=5J`X`h_uyQ!KVAAdGJ* zFxM?eUiLjn%6i9R+IVPH+Q4>qY1ga($zPOUXAd)Q;y)|9{L4nPmA^x5xr1`AtsJTA zs-LJu>Zl^p=sob$o)4d+>*%zUbtZih(ntP&a@ASZyNZgBx3ILOG64`75*i#OLGB|U zfM+f#Ah5K*;3X!CH(Q@P>kfVA6C$bo9>v^TS(sOl+*h~U*FHhcePFEA7Ybk*M))3c z)j(VO-|o>s@sCy3aJzgj;Hse+)=Nj-$N0`iRkO1WAy5`t(AEY(AEsGtyM&e#sS=0d zsqz{x^|yukYh&jM{Ad4N3-Dc>GFH#Xh$^>*iId$VBR*FBw_AF0Z1-R%1?kvn4GoTQ zZu{!kA$s!3V&fqQ;#7@AS4UdQbIukUZ4A_eg_Vt+Wiy%Aab8U~mpnN4H)xJqIkQcA zdab&jHxyQvgu5*+Eh&D~ZSz_m%qR>|`gH8e?BwG7BtVQqSxX~6G3Jtbv-TX7z51xk zxwpS}f|JeSXTeJX9bs92DQk>ZyR#&jCBxodH7z^>zI~gyR+Y|^!!Ii+?W+s-M>UrW z-ZZf=p1iTiA2ow1PHZVgC0d)CgHi(h{j2o!beL8{cJ`_4q85c{{S(Lh%)7nsSxr_J z9#5lbKhDoNu}w~wXnWmHtRzfL?KeH*NY#=ON^_s4So-m;Z05mRY%+U5ViE)J@50@O zh@PrbWEC;$%EGGUK_tk72cPhOux(|OWh@2+mVnK%S35JZI07X1SdO~Hn`w>I`1But zw$HnjU3zI}oiy3AU@8H=3!oe;W*k#_4ArUnN+ZoOoomSfkP|ZO4MyGtbDO+MTa;6M z2I}8sH})|%D&A-SG=v!#O7kdb4UbdM)ki#UPL>Rbd*8d<509K~GO{E$Ij!tBeOZk= zdjV;1xr!M`HQX3x0vRe)x*v?_{pUDNEIYb)oqL>0&|?#qFflG&D=I0?=WeQbb<6=u zVm0gw4SU0A`v7?N#MuBH=TXY*9XcPbaK5R5oQ6$VC+)1<VN`77tt7>#J|9+qsGZkEtWzp2<&F2|ReHMC%U3vC zxYz<9D7KGC%*-sikkzr&(h@d|J=b7G_IEhQb5xV_F>zU{)*1rHw?;n*={Mz?OH1#u zizoIKrU0XrMsuZ(YjJ#jJal}Fo~NW0G}z6Tn3%YA65fcXSr2wwBHjr_&EniSK=!s;VopMz_^% zcyO`fCz?xK>kd3_T0D=&bNHFyIHyhsKKB4>Ih}2b1k%C|9GCSeNlCReRS7fW#H`Ix zpGQ8AjM%HanoF@*HONx8<;iaz=o_N1bB2Fv4K4riBhTPxnfHC6p~IXsZS{ux`|bGD zAz0vI)ZcBa2knpu=`1C!_N-OfB1;jGZwP-9PCFbEZH-N~CYwvBZYQ0l}>+z(d_;iK5|fRCzh9cwu&&s_LI{i)$Mw z5EQ(5g(t2pzP7QUsH%pH7RqvY>0|iC42z8{W8>_vjn+0kf!>9Q zOO)Z|3vR1Qycgny)Xk-ZF24J*VC6B1PD#m9RR{HQ;WHvEQRxq?JUNlkI^xPYTFM8X zyOnk5QAOQnO9*@%9PH6w1h4=3Gcu~8RjJQm|H&jR*L=FswUkJ{q0zi@EGA)-5>_H} zQaPr@dFynO(P;agI#{HViCwqB4lUc^!v_Q%`t!3et4(F%weFPB9Vf660wXi*9UYTX zUejOOHA=O2} z0i8_?W3y*`LAUl!wj*m*M)rlL7q{uqSuY6&vwx%%&bpDwoNUVNic~M`_!Th1d0#=6 zahtI-8jef#cVxs>ZqL^Bga0)q+EV59ew|sot)aRV8vuym2&@3l5XqW`#uE zHE%RseA-sPzHwj~3*9$u8W{LA5Fdj*Jvml)=oTqMSyV)Gv~Q`)O+aZ)R|}bMQKZV1^&XFb!IAgZDk^0|@0Mh7xhu_1hGa>@I*GPr$1X|MD`#V^{s-)i#rKPQh=0~FD=1C5WqWQAgio%itFKqrCT>#m0ok~&*2-+`MK6~vpHxM&t4i2kWZbbz|?K5*R+aBlCZc`hC= z?V#wH^6l_j-S=F#mU0+1m)QO+E`0thqMU`eV{)%?PW+gfimch-c;Qd^HkAMZ^p=dG-g_M1 zojbX#CF=nx;7}O{n-R-?J8JVFjQqc?sj^q3J>i|4uDwYRlMM;B^ zt$E)HRXUvRElu@HNHQex>VS~4RT>mhrQgUWCBL2>t|7}~<5YG%6s+*LY6rmd7{*JE&KN6)zVdA7}sNG8`30VPg%9Me}O1r8U&L|0kQHgg_B*eD@ zaXrbHvtT(uyLm@@d8Y2DmOjkjCh{&judvDBm~S(H$s_)&$k?b-EgLJzqrJS*N5Z5^ zU|QDDG?kg`o?m%LKa6gzK5k>KyKIb&-d{i+)^H3w%QGL7ZHP&?31d1X6c;TUAq&}%@&1y1LImBwLnH~X>6{+Y$=SJHII#5@!#*Wv$?stq_{nZA_+5dI zWv6=u9N|9^xt1isgpwi`r`mQm$Uv0B7!Y2yO+$f@!jgltD*_;#haQ-gYFjLi%s9=i zFjVAb2%w)`pmK~%eta0m)Ugil9=`o5l&w+SyjWS3EQofHJTl~Jjwu+t-+qYUO4KD{-IuCLn{FK zlZLYaU6e#bhrL+c(cE0cB?Ij2Vj;n250-y{3#7ulE#8TZOy|*4)}o@IA^LA!>}Ht* zcu%|2p|4B*0b;O!0;kU-9ly-s(b;fs;jY&N&rnb!LuAuf4Uz4C)6l=4#aZn%~#D(BD z@F7B4!hL>3LrW_$R__^fkWPrGsqsIGM391lN?}&9#5y|kXPvx=mTm(#{wy^~^Nvrs;=VmOJBbq;1(Ne%-qE1<`LTX5?J%$f<{@9F7`bfop9M1MMuU8c zGAc=Kqmz@9ve|&Mt$uSv2RRJi{ke}HFK9`)>G^060cQ@Flny_0e!3*~6hHi_%z?pZ zUPdQZQeTC656JWg+>?N0I1mV?8yQfP*D}s8c2&jFp>lwSOT?Bf2J@gU!<+bxyMHHa zQKKqvcGs-XcbCyTl4S%Gu`#k##wzJ0`SwuI_DT77<}MPCtv9+ZUio(x_Ju&dJ3A*Q zM2z3*o~{(qdY(A2oTG*V6%XVf!4teuu?Q`XdI_;9YrRP)F4d~nP!;W6sj)mV<^?&U ziDp%$I4vgE>)BQ`+P?n0JX0?v0=yh@m?H`@p0A0?*14vPlJCx?l`MfgRm3CkWqh=5CmL0rn*AJvi0hBv=vm8;5ADt zHG2m)hoAr+vfDdERK)mXNY?Dmnh(f{zi8Km1_wFcHB2xuYc1yIL_+z`y1rd}42)0z zRNz^D;n*YFf@Q3A* zz&<#dxag|M-E)O9Hy07wnv4BVDCKQ1+E_Q;dd0=vc=hy~LrgE2s*9?9A`bynv{0M8 z8uI++rgb|iCh{2BdDf~^v5GqKmV|jZ3;qdP)QQHIjBE=5zv*lo5G1$FHZ!F$W;vg zkE$+5q2~N^{jZ40^fHUe*V)PG zReao&KvCdqZ{Q|eJ`F&Aj!N+3C)14mKhE>878;QRz=rU! zj+Tz5_+!m`C87PIrySVME-p{LiHLNO1N|sQf*c5vIH6m?Ai^GQrcse>d<0JohER7x?7z*nlp>x(o z{pXRB1DmOMg=J0ov#{`mivpOHYcWvSXl2s4;MnYOAZBhp>-yrkw_`{Ma;nc#xl?ae z8`@)%Zwm77upEty&On1eXsC3Hr^Gg|qN1XJms#uirTtgJXP{8;;Ve3dmzNivh-cSf z*f~l_XnC?SH&p(Opb%v&67Nee*CXNvrDbIg=I7Vz>v3%;&%JFE5;g%vdHL!U(f<2? zq%|!G1sOT9L_<~a*g`>A=<9nqxv7m(tR?IKP_B5`S|;u6?0m4$j8t_JS&+3l8J$hl z(9rPo-{9AycZo^pZ}?*3zL}Q$YXA7O0=gXV_Nl=Ni^Bz&0|Wfm7Ik|zGAzwBF7?Gf zzZ4Q=!vqzYpsU5qGBHz+X{POaTmFyISJ>OUGm3A&jYNhbLVWzqOmt*IayCn``NL0n zk-=H)?IAxmwsa$b@;9fM^Ui)m=1-D>dZlfVqd-FKTMC;a`F;Jn?PiaI*6 zDG35IpMD3NTOKX6nDdy($XIEA@cD5-PB8813To?jT-(x$&$7PkA7QRVlCsk`7dCj5 zXTN{;gBV-TT=oLRei=5Np1C0jP6I2`0>&+P2& zRpW3nc-+6#3#C4v!ZG$AawWu5mI^&((aU4erK0GX8BWD|g&CEeyy-PPx-js|RVBC6 z{kS5!^=K*inDnY98?i{@*{e;HS{q$ysjyzRWQY0DHqd9pYzev>&~?(QSjV$Sg&A}& z)uojYA-Ok#N{VW3+kbq-n70}u!1?+U7)+|N?tJ$PsOc6OP1XG}UCr$?KDT5npXP&) zL0Kxs6A5x93kNTE^UpC^tERRQ1Mm2rgGK-PwW=oXLOD^h(PVOgyUM^|jl=dTx8?#B zlBr2|+8ihd#l4>#8{0q3JEzwB_;L4YoB4(Z@zK|JF|4|4`m7`OCM-kf#8Z%;*1rDTVNZZ?QF7An5 zy<%V>vElbgOWsK;7&kd@c`gSmqIdNP=oA12x5cFH+nYZM3s+b7MY2bQg@ozoiZ+Lm zH}3x~?Q@@wkLkVBZ2DVbc29CtY+Ld&sk_Rd0~IIMFK}L4*X6 zko*9h6DqWm9cvh=I2ej0npL}^*V3kmH-jp>pn4Zn)Uuk&ouWT`>{p;{)!Er;u(m2K zB`sJWoHRM%bD|3-YrE)A@!c88mHYZ0;(p zr87f=f`fHh?PF!rTkmUlSy?S-D?9rW=`~xddRK&Rnwv7xZf~3n4adWFT*$y$xHwj7dLud;5jbt^l)lT7Zv%V-y70fCWC1eMx*Uy z-EwEtU4w(wX1#eZ7&(;0Yx=54VyZ+(_J_idUftR7jxWMnW*YaUv{?s-O7k7Ysp9+R zP>t0*5e^O_1PX&a?{D3~vhez@jD_Mdo}W3<4-94*8f*=w5BB!%?CmWtjkcMHil`hP zKbKCt6KN{-RIc@$F2gGBKDBeKb#)p@VaI~__=vnM0-1`a%PwO&|B*wEp%Zzpr};ra zK>%BIwmj+S=_5GHFyL~n?x&kSQoC=TNP8r1y^W0|60p;MSn4Y*%$IN0RGpukbUtY4 zsNO@{-L(KFTdGrK0n9%nBm{K(v2hTIrlIP#c+q4xr4{c})%?nzo8$b~_aXT3Ta(q4 znl5r%r?{XXxu*~MO^GRt=neY2eB@-jE(W${S&5;S*w`xS>P3a6l$9*d%Fm~37OA{27U`TIX-rE zb!F8PJd{;ZYJacSnwLk(PS4ND$;in$+;M6z;s(-R6vV{DNT7^j!LAO6IP+4|`j%Sa zDYAc+I070A(pmd08Sy?TNi^g)wa3ZE%_YGv&0_EB`wI@&sfne`;Pvfwi&M0*(Y4a{ z5~SP3!GZYPwgn8keibNFor1^7NrNY!#RF_G1O%8tf3R_JJbYUPGF{nK>Qq3<8 z8vtnE*H1?&n<18~6zthXotAcRaA0k1?eFgoy=C*_vPV@_P_SE^o5V{_hE+EE%BQ@a z$o~2L{Vn&P4RZ9s>u=w_Sy@v(ef${V_e5_Eq@bFJ~olWZ8#@b?+!5; zR~}^fpYk^oftI=0)YSaaQj<@ghzJQgG;ohKPC$>5pWpYL@dLGYdQz0JnOe-hGu*2o zY(2OogviNZ^67k|OQZI84PWb%cN(0F5Z*E|x!t+u5XAj_kg+(LpFG9>q z+=q7jf8>Km&OTV4=!-4)lA0P(g+piMx4NHcX$yIqCZIbB4byylQ}6Z`vB&5{o-T2E zVoJbsGrQnNX;J>(#YzGNhtJY&|8aI8rCeJ1Za&WBBzv%Auc9KeT;lp%kg3%c|8BsyYj8IEmOGx725Me!qz*--LhyhRZ&sVi$h+! z+ZhbdawGOR;v&L#=+<+61mVMn&wqn@=+teEw$>}rV`Rz8benZ+3?^Gm?{yoDFv7)9 zB7>UTcBDWvF!cEGW9!+PwZCn5FdhBq=+SxK#ooFtJ}&aJ^Sx=%qxRtg2|Mv&l}R)6w|95nY1QO3HqP%IkGDQ>-)!LE<8MoQT|Ytl2T@O`pm%yT>*CS_A!HLz zdB2rWQc$SsDxTA+)xDB8AOqS1$>`1*DAwpz&f8kwM0H^@`&&>H{sQfU;6H4!yAuI2 zVsYOZBK%7D93S)IXqk701Q0^>gF9BvJeeAuCbKquq_0nB0l6*dj{L8K0>upYxQmL4 zEbrSXU|0ns;8uD@#uwv-e!Osb3uaK5j9GB3vb5CZV&Tc1Kr-gtLv~Ki1k=N!QXOoul{s?efqh+ey55m<6p~&8TIy+r&N1;J3P&nQLDi%YW2hN z{HiF5_R%8Fe{<&#!^*P*LLKes#N4_X8fS~bLd(Gob3Gk_Xkmnw%rl=s$Imr-KTM|1 z^`R}kXj)pjzr|2uJ5^al<cCjp}W{x1NyAYlc;;ADmWF`&?C7uG}g de+nord@tHEKTg#Ndx8NWNl`hGQX%~>{|k2^WoZBa diff --git a/playwright/snapshots/settings/preferences-user-settings-tab.spec.ts/Preferences-user-settings-tab-should-be-rendered-properly-1-linux.png b/playwright/snapshots/settings/preferences-user-settings-tab.spec.ts/Preferences-user-settings-tab-should-be-rendered-properly-1-linux.png index c484a47fc94fd0bc657b099cc45399ed4f09393b..dca96a1f4f71b333b269ef1e1699ec553526c9d9 100644 GIT binary patch delta 220411 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ℑP6J99loZDlc%DXH6%5AUoB+I45 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 z

(@e0*0se2lz<%CR=*A~Z>V!_w^$+N3-3Vs40~IxQ=*l-ipDnM@tDikEHvlM(-1 z(aJhrgXdO46>w{@(wbXN*hgPHsSH(RT8r}U*8bdE{>F8nA`__ ze0Exkniaobj;kAU7?aQNef+h6r} zJcC1r!p-WY8sL1P*dnCKpc<&FS*EzaIf1ayz6uHV3NRv%ZmLvpsi4!@>+y*^pb*q} zw`D!uT%#MJz&q`5St+W%mJsY$9V+mYG0=cpqRo0VM>U1L9>HEFEGmrL4Ekx2V>$YY z8oYz`kq&lgr~-_UIIS1vqnlT;lqhdQ`uq1uvlgTS$W?#N<&ny+2p_|g_%{f^61Ga& zxeTz%PD_SvGsE{okt?GeHJU%ju|q4%VFMldd`^kVLfnLH9i(N~im_+&2Vu!L^#osD ziXZ>9M`~w?`ld*PJ%|2#>((C^V)dV5wrWj&NJcVgD7^UFp~c_y$KZ-OXX%7S76Ah- z5dkn_@a%`@6gt~3g998g7U4*^jPjLoi%QQWO*Z-7cu*)h;sIDm=iLT+8;ELePK zV{g5=w{A7?wLw^S3Y*uwO#EkfR(A$Odw-E;s`X1dDl~}F_k7##Z4xgVep#;nnouQ? zYqY#+WXuJEWsqL#YuU?gb1<1;a^|hdoV)RgyWY@>uh=FeXY;5n>-$>z*pUQ&_j=T* zQGF~GR1PgHEo&Wd8PqUYPl z+ijl8MZ$B5kEe8RzAmnx*ny=6wTe=T1ec%I>~@PdxQ*e4p>&GIPWLwe>n8DMNoa$azzfmrsfuus;CB)FJO+QqX?KmQ=&n(4ui%=jb zES`m}(4nrzL~^=kE$?yUFC*4|!%7!8d@>Hzfe_r^Q=h&xMn~h0crgI=d~IZI4c z=C>(yBAX*23vJd1TSTz)_JjfFUg0t;@C>B52Q3oo7DkIgT=_86?D!4*#gw9f@3J|W zMnW};9wMHlJuhqU@cLvXs}cuoT=Q={YEbF0Mi!sP!8=A3Uqr;`iKXywyB+Iaj(;y0 zrAu>oO&kYDj_t<#RORnzLwhkf%Atp~*1BE4VV>o#!nF(j@G znTYdtMyHW36@~0&ct!<{U{3u-in7Z^0=0O(3jxhO zFSQLDo!x%NOKj*=jj$^XvUBt(7ce^#9`dclj{Zz}C>PJp!br< zCr;u>JKnxI4X}7tx3bt5rk}mO#_=rtYSr7vpj)kz#iwvHH>@b*1z4&R@T^MfPKn-8 zzgq~rx6$k9pyhdu-RWuBJNHX)$<vR}7ZfD((krY_t+KCLNb>U_$dFrHQl9@bTu3&w03?v-l-J=gcMBW%{={ zSI4U@5yM~akE8cFA?*su2iBb-8DbX&etfrYR`=YPGVnG?$gU`@#B?xR^n4is<#}@Q zV{4i#8Kw*@6Rx{~*GP#1c4+7WZq;0`Y3(RVpZ4gl7OcN z|88fE#n2=g7GIPeH#}c@97Of*S9@^GR^sp2rnTUE<}-dvo%H{zd%hnQ`H1K$`~HGo z6|DxOl_a`iF6!m^BPWXmX*JK|KANi9yOnIds#>bom^G8i65q(=wDPyCtW2m zzd`7zQBKhG-E+c`|7Yf(8|0MtuFipG(c?I| z++=a~98QZFo>Mz1bMfQR(`MzH7U&Rh!${Ab#l<_yEZolD|D8JOK7>*E!MTA%>`4p| zmcHMnR}Q4^V;7{8ucMEYg9!rsr~l7W_&B`gzMdVaoG*d=Xyn&?zSVH7Pm?OTB(x-S zS%EwF@_@Lt?QL7#xrO)>e(CcaYPbJI+FO8C)wNxthyjWS2nf>MDbl4hQqtYs-LVuA zkd$t=bT^x3BS_bl+H`j#-TVum_x=9wJO6vmbE}%y*~FesnhlkHt)YDqDD8*$c=NIGi^x;0@|K z_BHexqL<2Or_F$$RO{1+kN&1Fz5Bs)Fn<>Vwv9<5S;aQT_O^YP&ySN6?)Fl6EW>hX zqlz#m!3z>QHLEtHe{!raF$Y5+((AAgur0w?Xx97m?AV9nutHF9erK*qzxCC2q9jz` zMP|udpN`Y;9)cLo4pxe#r=+Qjk*vdu&mPtS=Ct9aQO)*8i*p{wh zyfJ?JIi=KIEtZ04PcmLkKuI_ppgrk0j$IjTKio;3)h?P^;!2ueEHlTKFXF}@6_vjq z>a|rIbEOkqeqv&@@)2Bhkn2R*kTDKXY^UlQ-Hu!|B#XFucD?mmE_Mn}SWk3&XbDQ{ z($9xR&W5QhMRw)u*)8=Qvo%6`5btuC>M{-ioFq%vtKbHHg5E>raA&~7&n}g^W$9he zTOKiCR(o~Z|HgAHWBSqyMf$2cO0?;uqpe?@Hx<5Wm2@(94Ro_R^^5ee6r5@wKHcl< z^qShz&h9Q=Jz|~IQ74QqW0qZ@s&%-4{%Uz)+xSfRD#i9?RiDtLYGj@X>jk(r# zE?v5ESJ8gDT>t0tvfE;OvO>2AlFh6(a-y}l{b{Gev}geGOfh*>O~uD+U(3%Lz+IQ zTOf`aORn_j#?e%Z5S(7YGE$u1N6bi3f6rwB2(Bmv`7yoIhYzH8FoQ!m9r{h3pKLo7 zZPl!YW$)$zBweSOPW(w~EyIUh$wp}=x>ZAK^{&Ks_XAKDc5ynbEr5yhSuKf>oXkT^tgM^6 zN(`sQuZSsIZLDUEFq%akvsk-o-$JP13s@kTucmLR`WJaOeIQS0I(;?tS?D<`uICg1 zQDrIH=awc?-Mx4dBaM^QdS9O5%`F$*lLh;F{T)wV=O&5MkV>tT-9s30VjIVC2@Pj8)xU_`3`tRbtyV-%fryPEh8Dl|e6Rb6w15L28*ebO zzEu4s_)K=N)&-KmS>Xn7OMju82k~k&vk<|#A6iBI`90}1PlC>Kj73Gnc;H`;u+X^p zvRQ&o@+F6W+dW3^Qr7)@4)SP~)1zOpaYd2@blXgWfZ@T1K-`Zt?Zsqz^+6W zl3^U7&5c9F+6}JoruG^{5Yv4I3Z5DpbVq0TC@+A`5ssy>%?Zbr7pQw#tJqpL^20Z| zTRF`LU*8rtb>?s?bKg)hY<33Do=mbAZ;L|H{NIYjnr1yu-KlhcUeoEV`yzqJFnGrs zukSw2c~LsChZ#IlnefP}XYx12<_9;s*>VB?4wF&G{tj_}SIeFzgED(dtBsFvg%OND z7@|Pd)z|mFO;)11^KwND;ar_R#w((=$>jM%iT}Kh6e?SY8dJ;-<5WeD5LQp@p4@1^ zDF9o$7LRL1PjinvQFEFAqI^|g?Q1uM)lUGU4qrUVbKZ}P+od7 z*T6}a3dfl)S51sk=;UlXDl=Y|soQw*d^>5!?CH=h6|(;-Nd6~YH|*`gDHb`B^Dxk zDNb;cb#T?JNU^os%LGF1yQ{BgcoIBrOYPrU1_n`|H7FMt&H3dSZ(;aPUga`?pT3_F zS76yZbmB0UNsq~KjDm>?6XFp=Yggckj>*t=l|##LzoFQ4yEv_hT3PtFVJTu2hiarR zo;HjZRJ5CSJOt;*ZQ4oHLavsCsx-E-4UvKbMHuP zx~HqB=vtHv{Q4~>o!+)Z+t!&F>vjy(ZkW_|=TPY%1>=WXrtL;HqPaSGp8yRr)SlE} z`Nu&-r*8_jq@R01NUcB%CxlFu3Wf%Jpv+xq9c9oyG@H|&3cZ-hrj*>ssq<5%xLWmd-dlX1-nLd-V1z( zs8HZ)xSNR?JS0K_*Psa&I!vu;xoBy*9a9z?yijL&`d_6n@O1rbM!tQ?m>=}Id$ zr?>viw;s&Wjn|x?kxJey$L;L8xK@v;PWBx55Z!0zBOQCPF{vbit4GjW!Lh>}71|}l zg;bQSZ_1C_zvBtxurr>Gw_Lw3kJeB2E3a5xoaBg_l6(NP`lfEV?P^t6H1dx&Rc5yH z94^y?E>nZ+D@U9D6kGe2^F!-R1?D>Yt>(MK9ecP}qmT>ayk#(k)GeJVbMm@Bh{9|z zB9T`&%Vd9BeZ6JwZYm?l91c3G*2rk=uG%{R{9%Wa5#nZ6P07m0AQmdArFCY7dDPTeY--MwSIl@ifP^F>^y3%CHqEs z>5E}TtwFuxKNSMW7C=aSxv@L~_KiW}k9`oI3y!1EDtO9!$^$#Rf`)AY2j#yV_HL6f z0tSYJe7cB3!191lcS#R<>m|Xh6|nb zD2wX#zyz ze(o%YjdR>5-lMQVs$3q3r|-vn+f{)PFk7~e`WdO~J(vW6^ys^98R-YW>H*f|yv_8{ zVG-~v&y6D5+v~P!4;REs&k)~lNBzNllpOvGY}38CKD(m=o8~o*)Xru9zXYYkC9}Qzmns}kwPZeAUzWLkU0z%3ewKa%0`o8*8wEIbPA1pg3sl5h4rAA~+_PT%@;w~wQ6_o3T`$uStP5e} zS*!zPs;mZGbmlf3`CTCcXV*xJ01qBvwFK4mKeNYE65)&BYhdg0Jdb2s1Z~W ze|-eYUErW~kwe8w8=z5fn z3lHejZ77+WpINfgCM|;tPEb#cza|OkuWs-anl2UkCBsbtyBRA3$-fV=$IKX3G*vKqMI8KLI+CSX*I*3c52H5ANW>iTU?#pSIovdZeAah~nPnK_^Y={>IF;epa2PFl29GHw|SA-~{6Ngaq`g z7kfrNHWmM*5jTsoEzwFV!QDnnz$L~W!h-yV@!z zalIVIx7!!92w&FN?XQKZ+XRB`)Y$~xmQ`psmXqG2Q#6M?1yc($omMXN67uET&#!;H z`dkIk1pA2%Q$7O=0bU`xA=U; zsG#;eeKSsfMMhia49^c&xlOCusk36R!OLiLR}!Jdt?$i$E}lcHj8;#%#N0u+rM;PA z-_qRi@I6*cX9H3T&HoKd2mYUN`u{JOuC80tpk*$-s$Vd@kAqGV-=K?PgKX_H_=B9_ z`gq%!8&RXw26XnGNE&!vXOBOr<630e#GjS+aGpL$0@$5x*1Ish)x6ce%vk}FxSx4iEX$e4=U<|dV{(+h|_g=NUK&_MC=_!0Rz@EdRD8(k{l zs(O3`IB^J_xDEUcp!?@Z6=MW#(O>+Lu@n_)4-5qgYe-J091IH=CG>y0}6%FOJ>*^ImB`3Nsh9wvXaP5~5m{t(g*5fN{&S0t*cvOk2LswOUB=c&B zu`a@Jc2&8v^^Rg?lIWxwJ&YZlHmI>Viq+)ytc6K&6O=sLR~&2Jj%ixgzS^5B)@^94 zY4;!&&H;PrlVXxkI3ReNkrLb{BAL`8Dd->tNyj1`8dP&=bHw2Pe;pSfoBbbg!L(U| zxO%7zkxm7uedL+4_8dl6Wrz>Q?aVY7db)-5yFVZ8LSBqy^9dbg*^N!r0)d9T}W;~ziyqSwVC z6u9b7pBNf$^eDmF0JFz`JMpJjr-Kzm&o)*P8>q{yO|4}ia;hF(MHTr4f)9?=Yb?4K zw@O0cbsPnB|9(AE=6-%Nl6SL#RpNhgZo<0)^Zv`>fY|vWKrJQ4NX-a=Vg5 z$GWPK8B2>rqHm{Ev*jD3?29-Z$znNwSpm>e+G-`?RR2hkjFS+00Q#bTc*u!6f|VoX zxz*Jt60-}xPQiFzM-yp>^k&buJ3Hm=o~^n8oz=`NBH~~4{eG5bSoOg2E~Q2fEu2Uu zm38-{>8uvs3z5@jdP%C5^t1S=d6!5y-D?~y#dGho8QJxcrlmVlI8GYX;$Br&&k%`- zSi3@t?(&cr<|_HJ94A4Aq_nO7B6U=&-mE0NC*RjH?Y(ioZfW0)(nk?^?tyG=V+P<9 z%5Sx*6%*J%jGNRK@rYGRJr#SPj^K3Su@Q&H+dienSb1j68 z2~H?5C&-hVZ>7yOQayN>J$EoV<;Im|r5#0{7@U~jUozIm+ZAZe1n$mF6s}R9#h_e7 z@r(<{R+Cgx?s1O-{y<-in?u2>X#rNR>#O?-fh`(Oz%%=TRsYH-<4i$8PLu8Ma{)ct z9)w-4;0=uL&h-cqK?5YofsI8*b9{Ol;fl`oHj z4;Sx!&cPd$aLcQdyQ^(|L27rj2uJaK!!LFS}y)a2JP`!mGHsiW^$fC_2E%_#tct^`0ku_v8Hk zYsj*~yA4JQUU$|(BtW{L^V~Au<2-aCi@)W>P{r~DAUobSzd=-)C>bZfxTXb$v{@Gl zk|Vd44^F2f(f{GL9f$>HuElFz5<_>X@(kq^2 zbH#J*^`k1!R=fT^UpyGN%XO7oQ5b1(og-L^%)SHz!KP!iE}G!gkm`8BmrH9_BuM7_ z<*l}muZOZCG&DGzk>yG*ESa2wB5)OoMGz>pclsf_zNhsjgxDR-kl3b%N`%k4fro!` zL;@#w+cd3w(;jcXl?T#+Ui$&33a)QPY4)@M8cLuL1I z3Q}!vb_EOBN9jF5>%-Ji5(t}m<| ze#!e5tbaaJDr!q?&$+8f+V%3O9PTPg*+e2~d?PfCvGTT}WVuA00S|5zEF}cXs~M09 z`R8&UL>)*O$>ZZZzbO{e$l7ZrnJZyqIX;E2r9cVLNn7gZ^hw3Uq8DD8P(Y^Dyv3-L zw#U_kAqn^$PppCS^NyU3r^>-Fn~Iuel<-kmm%Xj$qK^oRhjL0vyGLJQJuS@=sm;81 zmm_@|248%&iSk=-4e1WH=U}Fs8S8D7Rte1(h2|+%l*h~>4MnsLXWz(n(r0?Avjj0J zH2KI_;@0QQ{i=O~Ax0=H=w?}U^edOqCYmIR3>)ze?kN*|O4L1LivZ0OpXkxqvlF>t z%Y>ujI1Cy6591YUrlES5gw*Qy!xt%syzc5joEC9EW>2;@@H;t+*lYYMu!Y=J?C;(E z#D5>zC~QE94kpb0_S0#auwd~fLPya`O~3VZ64w072S_|_oh8lpPh89aH~B8t{CzzaB>eY)}6x!SbnWhM>`=GjJfJ z{_b<)73oIK+^K>*6mZ%qOOFW>x}N?zr$+(0{hYtv_6(p6HM zBaiu>v7@%%ZJ)Ql$}b(~(k}JiA8W66xxZOBVIEmY__giuK0{!F;r;!XK<-Z4c8c4z zhI`K(i}Xfg>0S4KPH?-1ehv1gk&nLH6~%WBg2TC1T6w zrfEko?SorAZFsr@&v(*1g(8c68j4K2@!K}48=Le{pmfstLiFzhg2^^_l%DWC8<`sL zB!E;g(Yt=Mv6}?-9uAKJKToeY=I5uYH8-j^LCx(J|@2Gq)Nk5EYI)rV8dEQ+$vOj?k!@T*P6*%JRXU_aaapI-TC&#~fwn zZ7Cx;4>gQ&~<{U8Q+lI zif$jrRZ?jd`gLFUsq`!Dn!m2?Hcwq6w>VKEqOr+3V^aj+Gi#$q2uW5}8sDR)sHkU? zPf;2g;!dfxTop)HDB3*6!nzPRNpjBOC~50xKG~}|`Exn*MK{woZ84);cKc7n*7Mz& zotyO58^6B?YfR0_fgR(gH&;3}+<$K2=a$XBJ6R~4&O6+rXHe&AJyb4|4R&sOEfsO3{Cto;9qar9sUV4YDb!r|mzHpK9E$U*L z*uhay&)crM|M=bCNrLM5=1he{4dS}ZvFF6-kWv5w(nlx4qi4&HA>;KeRQ8KaQhsiL ziwMG5l}r6jWOnb@Gz8i%>AWbwO>1fDnlkP_pn3@?IXV_j1Qdss^*bnZ(Z02ZYxA%s zqpd@aqT|(TXZM&D!Ql*M^-Af}@n;D6RJZyXEEKc=xfbHfMBoRlfX7)rdI~mpY~q$Q zuvuSdsP!sRa~gl7H(Yfaz@>)917!@hr!TQQwGnH@6GJ^Yuk5`u1Zb0Ya*~Ry_~kwN7SePGgGKe-JHdhf(+YlAU#PwsSIeFo zr|lkxyOG_{`-QfYL{^L{t$d7+(y3lE5XRfjL8~Z2`4yps zKZeO)ej7-sJStMyj<<*IO*dPw7N0VUui7p_)izVC;6K5Y$U>ARuvHl=WwhECAra$x zicKA_n;eXnAt{9k@U0m=l{q?4>U+1K_&+_{}yJp2Xs_vnt`@>8YaXk3p%A~m}BaT?IJl`zp&5; z(pxz`OTsE{Tm|d>Nxh1!uFI}w+p=)%@u~StSW2&r`^tQX<76pSHw!y)*42>dC2>ptlPbV4L2-8>p3OXMx$b}7Gc@P;-a<5 zY|65{o|f!HSUD>K)59tYF5h7IowF*-27Zbc*PR~dSc;jB@u_+rr&qYvEhPUmxbttH z*43q^-JE>a!!xzmHG56r>f;HnWdYFeB$87M7f#zwGQVgwHwfma)=4Iw{zJ zLL#W#dTeaW71*^=w5mcP=h1hjuc~#@NiC(+Wv{)>1NlOB3OQ}LP2=%DpFJV z&t1m&1O7d3Fw<_(3BF_U9) zBW#E{M!`X2S}MVcp!@Q95vK*ptzrJZnWo#=Pxm(JiXPBL9Zx+;8(O+dL1?)!_64_V zTO{cAd29Yy@ntmdw41g^%qU3Ipt_T8;HN1;$@@MRzKBSx6s=dfU1BHHC;1bJE2HPZ zxAP%`mxYJJCtoMg@R+9du9Zmk)E3EeL*5*$*louKdh*GNwT<-HSl{|zpj92JC5-b^ z(VTnVTHUu6+8rjJ^5j#Ldl7dKG$0R!bn-rOr_QfS1Xh~R8?Ab=^K)uktGk-Y*=d;T zlc#hgiIJ^;A1Xf4bA!6oX-$jIWv{nz6IuOV^ktS^w)!_#k>>{~)64nYSO@i|D}&r+ zh5O%=P)F<$v8pCkW$QYVQ6u==L_Av_oAqz??B*L;+}{s7rLbLQ`QG0dGOlxiO)4@W zkSFA9x6-y-8v1R3wlCVpRRk86%zY5n<)}l1kJuHOBCpV5&Z96okybopPbnGu)d^BH zYJ_;?#MU+f3{Dj^evh!;Y9z$>qn%#H=LWtwxqf@o0TJv0WoFLu)?Mr=Vr0jusI;K& za-DoFfjtL|YN&f-N?KkS?Ld{{6L~jalK+YQ;&B5J3vU}HZy_X{y_hRGj-?=|{j~FP z?L`kQQ5A2GPK~j*w4z$&&<`|n&vON0b-7h+ej>Z2lZVr1;|th=dYagA-&K`HjuEXd z(?;h!Y&LR1`1@&Edi3}=Y5pF_kA3NiZ1$GGZ~dCE$>Tlcc8!lE*KB=AB$p5TjZiP4XK=4vOYJ+YFC*woO316UwMOF}eNqJ-s1?&`aXzT#EzzDr&NWq zaFI)U_vj}6BT%aWjlYJf%|+kWr-8l!3JJtQ#*jIc^WK)Kcq5UWLY^-?Ia6!gwOK`W zw9R~=KWd2+7e#A|i21~{D8xo~`0%S1E*ATifu>XA<1$I2#a!2N7Jhx!u~LR9(<*+V z(}$~%c^PZCz=}V_ZEtiVrjpm>heqZ;LJgg>8qI$MWT@8zK83kAppSB@Zf5l;=!%f4 zz}P+A^L?k4bxPN=Ta!}N{A|{mhy$GfNG#p1$u7HawBe>66xn;d+P@QppQNJCJ1Y_JRnTwofPQ8wQCH4U{F1EJ?3M zz_5REy5&#V|0atP&=-&Ed8>4^1JQhxS5c>+?nXTHB}y`ShjI zDeBn{h~O7a4ga$RHM$inKaWPRrRQ|}H8>HFj?o*?_)`@`s#+fS?i2Buqv)v{Uy3zj z;f_f+ktJb&u*Yr@B!pvqoTsT0zHL>?!fa2_L(dJ)ArAZ>{%uY5q&X+O9lz~HxH8ku zwICid)1LFlfC%ZIq~f{AOThX{$s2T%GOkmTK_ig|9Z6XmbQ{%}rhvT{oMpvy>=AY7 zW>jx4+bS~)nfc$4PSasWd8vWPR@A&&EB7RbF!aA0SdG>*eUH!JOGS(%4fa|y{Xxql zK6G|#zp#U~gfGiaR!~Yveb3*IC&Bvmo*F%au-Tt)Dt{;;{P>&UzG56^Flbvf@T)j% zoZCn7V$rF4-1j)4-5HsU(p<2Kdv`OXTI|!m;uVYiP)L*eY0Q^>Qtx$T_&0b*0-g)< zXI3`LVl?nfV7z!d_d4U(mGm!^{p;PZ^_6v9{nK-tB)1RWt=2}rOXdYJUoS?20ay&O z#simxx)@|m%=MKFj61iC+Js=0m_3~gAmJtkne{<%0&^_5Pjf{M%p z-LOq2-ZbV*ViZOaQTz3J<_tfL>;|>fQL2ajwOGAVr!bh$vSeGv+NZ!dxOf3de;u4J z6oAIW`)tDm_X&Q)3HtUL4m}rM=Vs-W!1&1+I%utI-}pMMEBYJ+d`g+&VBRCQl1i;L zU>NPk1@90Z_wl|1a_HLrt=|&ei>(W%hv{c7;}_1)Zl-hO?CIU@-lIZri}F8E^P+^3hXmDUOpog+u5E)1SUD0J^n-`cX+N23?jYSrSt zerv1?S`2>TR}c&5?nuA6WV@Ak()&-6D{y}@nsC<#etqk9#X=N>jDfq>-jOn%s!|Q#D`IUtRk?#SUtw4+H(__(x$TrU&}f$OvfeDl#dxe{ z7tg%vv5iV4lpZ8PttES-8UU1Ocrf${VgE4v#DPM>5sX1{us{%z{zD^It_ z`?}3%L!3i)Z{jD3I9A_%^Y{Tbqo0VCE`txh5_H~4o)Z@`DC<$THP`^4NmJ2lRU?h> z{EyCd*w;-twmDS4#y9xQr{Z${`H|&l4zm*cWz$>6C-e$W_yW_ILO?Y|%>Fk{Y;77b zohG!H4Rx{F{p?$B-6~>6=o!uRdOcRPZ~C0ST?9$3|GMs8d;Bgl6KXf zQndk1Dr_5u{a~B7Y4>$a;czaaNBd*@C9$q`8)4F+?`K`RD zluEK9J!9P5Qsy)*{nAI8$elaosB#key!pLxp<4j0(6_?kkH1PyH=vriUgO8`GTwPE zlawuQg|T(IXN`F@0Tdp;eF@a7!K_R^M9J8VD=CqTv z`)d>;d97z_tIiz)&Gb&?LXZj#TMZ!VSJmgb3%u_+(WK(uS{Fk~432p8^)0yZ#6k-A z{hO!U>#^(XQa*OZX~^(tcXG67R~l_(bs>+p+!tCd$u@w-L9|47ea!X6zD)CKzo)mj zWs&|TZR@RMi^%D1Coz5JNxg9oWHPMHvhs;1?{(b{CNicdE`6?8`dq3qF)zNVcQe@A zfSGJ)pVzlio)|qv!t^K3S&LvF{y6D(ZUDXgyzqIrGU9h}l1vzXp*yEXd-0)Y+O8_W z&@2MGUf={!>Q`-UM)a7+SG$l{GsPd39`0V{S|87&p+`g`^!E3k*l2CVWKppS9^Hux zD40j@*qxDP4#AA*#jdQFPJ|S7-G2Mk)qLl(2k);*xgOU2SRgfb)8r>G(blgQsjbMor1;cV#@)s6&STqtnmi|c!LHC07r(2WkK+LOKE zWHlOHe-=X!6OwLz?g$sM4wo@tuE|2#mcvNh^*{)_`!;q5J-L1@yyI#4(~d@fQ{i>8 zM4W2#oIXjJ8Lzoyo_itG%=xSFeJAZzYgVm8i*^iUr^XKJg+Ne9&qr-lbpvFwwNfbJdGMvyRnK}_kc{*^tg!U=BP1#cLC&0# z2O{cYp2ayzwzL^7xrpN;mJ}Wk+ec@G0x`t(PPCaW&lyU4@X| zGgOMI>yO&?(T~`+G}v|sPMq7!lnzcKgX__C!zBtHAvw7+8P2V4puJAPx%iNYAYAHy z!>}bNnID3F{hgZvN1A*mJUC2TPXDgkt-)x&XUK_c1dJ}9ZACkmPs6``9R>&?J9@Sj zHjLxSNMyD5sTSUcNQZHo63T#q4%>&X@8-$!ik+b;w0U%r(ps{D&3;7``!U};Hhxe_ z`OOP8H>T&D)1GzF>hmq5jsT6`5eRv;rj-Hw$8HJ23@cIo zsmXr>LL#_B2me{ubVV@+aW}**Um#Ffz+%d@L~}@~y}aC2K_gz>y1$wmcsN7E6ZO2Ci7q84-l>QnYC_whSYp+KbZh z@nSgY8)YuRu7s$kQ5+GAjuDaRXiqvb+pM%wmm~P!S6I1S>XK)~S!p?-WMW?&%cV51 zYiZhLJV$E((_K#oaI4)t(gtiL3(-VG9=!WrEyBg&5<;;ch-KhUh>lhrk!Bh8W0FY= z|Cy7>94(~k&mx&ZWzONIq!hJFyub93Y%|WPh;d+2r{o}3H=I?G$P7dKprR*@PS;F~##OEj zM9p?yO{wsU>kYsoEHY4{IZ7tL=nyk?xxo6xd%h~oidGUin(o(2B-YYQ!lbOLtmOC{! zCxM*fsZNhNfM_H#Zg+3A%#8Qr^m%=1e{_nhYL6^R-lVbEkPdf<%)Jk)YN@(BfA7}y z$1lZyn*r)32I^dVuCPIa(X;WI!|&Hf3hwfy>|?u($L4B2>q3JntB9G0JqLRljgt0B1{XI<9a*ZITz9VB57*xv3m~5qar;hN5+0WW!YH&WLDP9pH^K! zm?;-_B@cKbS3G*pzD=iyq?MzlaNDIs_7aCz;Z>ZxdEZl(mr0hgD-^~=Q3cs$(nD0) zvAO5LtO7R+hW>C7~uh5FT5ZaJ>8ZfIHcbd zh&AK<$zMJa&wKcZ2W$C}zha6NzkK+UNWaLCuybClcfnmAB87C-Bs-)eu6r6?7lE0M zgZodTruibF+_5Q6+(nvB4Cb_SUg$mg&Zsn*zcSEb@`&D7y-~uEa=UC&V$VjUiX(p@ zbx=_UB$C6KD^6bA?uE&bKN2(!C7~8UWmY(3ExVBH!Bd)8NOCp?Jc6`0^cLM&>)_!J zetx-gm=6r&qz_v!4f=LPA)TFkh)m=3qb?hERy@wV<2ZSSs0pNNR;5g%^^W^}`GyjA zLf!W#=MKj6#>Q=Hug9vZ@{gY)y=0K-LQTg*1_D0(%Kj2Ch!{z|k_}K=o$=6*`hoZ^ zl3!*{N3`CSt~dQaol5$Z=%)TdXZm$|?28X3dw6?|8rNs@2P-kpjYP?FgJS9#wuB?z5MDEjLREX)y-8eU*=(@(yS|5 z5fD?{lfR;0TxQ9?dvYQ8LOaIz@|93Q_1@5zqQcw@m+zsGC=p{gDelBBl6Y>lyt;<; z>Q8StpJa14C-6 z3|U?g@gRhIv2n!P0$K)|s9V~(FvA=TBeURL4>~?Rl8$=BeV#fE@927%r$x8}lZmN{ z$zb66J(Qk2WqfO4Gc#UWTLUzdN>U7zu^9i7%TX2lvWSo8#+_h4uQ-k!`~_1;uMn75 z(pi7rZlrjJ)|{7_AnkRMDftakq;DjUbtt5)SkCYZaCdN6qYT&6>z+DDDD$a4F_#oN zKX`+bKi&(A{}YGP={){RDM>tQv}W!$Y^pHgh983Bua&2=Iw2qbs@L8L&Z(<8?TlJ@ zhKMIZ`SkX*;6_jxj)N>^0Zpg&O$D^Nauw7THZ0i5=v@25;X1iRG8m(}7CZT)q$tq? z1vOfuLv!_w*{b{{+fBs$4RvoNa+rmuEXPJ_Cq|(|FOT_h+KkE=4vDj?lVyH~H z34*{#CAXkr+ANcr4K6|&Ff%hriBRJdoMlDEw0<5wTVm#>)|Se`3WbnO1C2yAy70sD zK^1i?%oM?xGE)m%$!RTXt3HU&3nVG7yi1EJP5GbxFjZ9%yc(BKxwsQtelesUoF_rF z5OTdA)97ZmlRsjgfJ?GCw<%wZa>UK_cs=@_#CP>=@HD+9t&8lx6NyYy?j*zPOYCO~)!c9wGa7bz0sA#L}+C6#K8BufU@x^w(#?SF^eW2zIE>PMRi7A4%S}~f< zxpR529IM)Qy*P_@=ZKj6(@Z+EbPE3Ib%g#SB%{?rND2^J$QJ(%SG`QHd4&Ckf?~fV zy9;KC@c!U0`{&{i(x>F)N%X}_K}F$XsU4ne6u&}T128X->nSrzXdA)A(8M+_cR>4U zdEc&C*cLXw49NHZA9)veurAS&FpJchHFW;WcEO_B@Z%pc#l1)MtyzLK&~jcL>H#{k z?UcU+2TH#9%L=bINTZSmD8YX+FsLYCGAe7j{n@#@fXz)V2;ON`qBpJU$K0*MdWr>Y zS9=TP>Jy=?$nm{o0YciZ3%BC6yd`Tdw6DaG$i`n6HrOJ7NpWTHY(j!4wKmP}tG&NI z>%(XV&pf95n@(zl?e{Fbk0G#Z&lUE8Uy)WMo;Htvc5B;*HCVaj#-M)D8Fm)(uRo1AzuOGh3Ja z!PECWTS^-5)VomLxz;~FW68_)Tl@UBrvatF-cQ`>Tq|C{7`^n`yld3x((*23aU1*yxU*JXP6M5Xk&9`8CAF(FPHKs~QS7BsJ zlXyCuaKo6G&!@O2!^-T=U#3NyB~<-u7?AyaUjD4|eOgw1pY7rKdAu^8V|v&3#X91% zXFqEZ0@p2Tq`v?CAtcjUUSFOi$om1uf4U%=kwtr&maG$}_VYu&W`c93|GIB2w?g1g z6=e%Cm`rT=Y+9$@s3TsoC5l-$?|MtLw@kKp|2|RD8pV!JwpV71FnG0sQuCv>d+qXRe(@g-cA~<$$56h4i zU~iW?mJVl52$k@`wNAeAgNFwEe&b~SYj6|+P4JU+&vv+Cw!1#w#GY+AL4G&YtGaY| zwT}}BR1huj?fvbfzK)oiJ6Gx)P5vXYljW~C#djWkYHRPGAqh1dM*X??MIUCu`?H<+ zZ+~ifoDlE1&!o^7L+i{tLa=jn&vLM8VST=q?RNsuqjX%xQshTQ>-x*Axh$!Tq%?cA z)Fdv@SVAZvzL_!%3L7U)VZaOJWex%4a?F?A`CyMfv=gm`PpXpKa_lHSKhsc2Ve(xr zD6YQh_fbPhCM`wKeITkB^&x)(j%?GdvGcDoq)m{vCoQ7F(L0u-o&vYOFZX{(BK?F2 zd)#5{>qr?2xC_e8;IXbv8c)sb1ns0TOYXRKge@>kYc+^r|K<<+ktmx(p)3Im0u_T0 zW;jea$(mwDw_I^#18?tA9t(`pXJ^(sl^UbNKJ?BEMl8ieKG6fH@3FPo>?TrtvDoMc z2bI;d*G@f{LHa!*g?ifiH|dgWrFeRKpK@Sn4O&ak1F)$skH50O(x#r+vpSL@e@b9& zikterXXnv%;})FhAe~qbpfDMRPI>do_K$v$qS)UpU$N`Y9)A-e5IQTY3{XUPHxzwv z!r6Z9RyAbh{AgJjifLo0?NJFmHyEP{q~9V|KtiH2Vmaz$s)}jcb2}2tr)Dks@n3}C z+JnC&n_`5K;4i!0zcky+2(f$s3_cs0#M8aRhV@D=d@^%VMT@%5&}IzV%1pWJ@;*?5B2hMb!q%ubSfx zxq;P$lSga$s?rT|(VEFS&10^;W<9fs()Qgf`R?JgWNX!QwM5VV;Ca_ol z8EQ2oIXYqlBWFzdX<_M z;`384rfllxZ)*-H^?-Tab|qOW`aRnUm~vQi;Cgnr-hB2j+RJhapM-LcBd%owbX}== zLr$JI3(06#?jO7KOGl6i>y#+sa84H;;cmaSZMH{lcXY4fWlhoT`%U;Z*GkeOLRu7@ z#ZVmD^p&T7SnV2NpKTJ)-%dl635IlEV4rnF|Ms#L+O+;HXlUseWW=3K1Coot|6~^z zd63@CG{Uup1my|0F-R?;W}nL@bw>Epf2>?GMH8MlQy|HTN&1TrfSV>%BoPY>B8_JM z21CcuGm$S@+0gN;#s?|!A>PRYxDk$18bIBM*}zMbGtD!;PHd$A#6SYHG|2B}s^D77 zFEv7UH(I?$9-8x~pU@WAY$GghZ0OzOe2pezY#86`eWobG;1b;255BjbP`Vz}RQagikVl(7qAjOVMu+@jKfX z9TTD0at(TCI65+}{)jr$mowfAlF!0#A*`b4C*y;d>Trpl&I;| z(3df-Vc@5dpFniopZtN^>OCmA_~qH2^O5El?UNhYvu(rfnsF@oe&CU~5F2LfuH!A= zZ~YvyPTd+B$*_tE{X@?exG@#5SM+AIV$VP!}?Gqe{oVY0gHWH@+BbC%>JnDPSY z>0YdJzzky2ekAuH(h9JRKcupJC=vdq{y&g|IP3p`63e2-Eca?FI!T}OnjBnzEy9!>n3*Il_<&K3(?^X| zIjlxuRp0Z_P0;(b9$fKx1WCQzy3q?4ID2p1r;F_Z5ju{XYB0(ol@{m`pgK%eW8o58D5CpoA8t|N&NlN<%A zx-oGI;u9sITa$5uLI?3x_Uv1#sd9k$d^Y|Iz7%=N zY85mEH|a`!%y0ydmTxhUNc@8yETcqgNJ{3Tg}<<|*~}kRDx*ctqog>!61oW~4m2^rp|G#|8L5;{xPz3A9zMs;?rts=GtX{N?sl zcCp_Hqj`moSA?eObfrhx_`#h^rtklXLnP$GZn6YgbcdMLQP3nv^&qbnZd?GklK#jN z#vQbe!fMxu9+eXvK_IA-0_(@0kI6Za_#f2>VKAE!21{)TRs*PIQqz`=O;V&I;(vI4 z-jR7ox8CI)H)T6CW7Pmm8FyF;bE>LG#p-!BKM5m%#w}uki=88E=Bdlb#LaKW8MhZ7 zt^+}v*z!xQgxkpk$Y@``9M1x8KotLmzL7*d!u1$2F zyz=XbNf^9iGvWWw9PPiuXh!_Xn=zj%;bqafK2_BpM1s>W^q%b>FRf6=#>)9rDyV57 zG8OLZYzL1%2g%NfC+DbyNn%~N2)lBq_bwi$ll)DjiWJRi#7mSYun76TIdH)Jgec1_ z$33#3tU}wbew&;qz9*_C9JKLVv8N-*!-Ud$mvGbhh5+zwXCq!QjQ=w>YU1E#w;si( zf^T{su>K5%7ZUREd=W+cWc6ft7ENH3k%jY=y-tirB82q(gSEl^K2baL6V52L5ZKsf zG0pGu?q#(}&PI5D_&yC8Eky`^=W%Rr7WE&1t!e83&d10whdlD|va1kF4k~(}zTfdP z0Rca-$?mnUfP8B!op=w}686ADWwT56}qAAg6?+oo$;Av?|{yN%pKb{^N>xA1NyJ`%=5 z;g5?6tPBMj73^Z9jYV_rrVK6W3#to^>2NkWjz9N*9k>%$MNJrBoFA& z18>joab{0R)Xw5+C@fA-@U)hl_UHZ}sD64rkBg{%KJ0_V(}DqAsm;wWv_^Nh9J{Gd zR++@kPcLN1s!vq_I~RQ44q^*&7W&5p?xd{Ze^HscBl2G@&qr^7B71mh+Kl(-zJcIN zrmJ#*2>FBA%l@}GxHK?Ox#10QoE>`uY7e@VjlbF*nj!GR#xNGt&8GH1`{R&~nAn_@ zSH0g2>`-O5Q`>n1rD2?U0%3R+}7p@ejK;M#n z^;o3@#e?_)rk$$6tww7-9;*0Cjph#TzrObegm_==Tyr!1)CHF!8h}bxl$Tv3DX3JJPDqx30@?mE)*Ro(6*46)d z58k87B=yS0OatWyoe}a%G#5X>{egN_jeBprY(f@Zz~8ZXeE)w?mH(=fa`27-pn`!skmhkcu2w$nht)hOtDZ-No@TaGSRiX49%_IB}amyWkoemfG z0EugK^a`9<-xX>tQVZ#2I3aJZGF7q`hChC?i?;?f%Ss2OOsi&QBR+gp^Mql9^_)8JaIu|UEAp}@kqn4@p5S`S z-;U~40);kT_4K8bMSvd;5|)z|51*N`?rl9M+PJ{Yj}p*daT|EQtQIc3?4kLh@zATx z+nU-4O}G+nIEPFhS!vfl)>vRawwRY%N z{tq<=pWRzcZt^C(zcPIP8--L}V*_VX&a~;SmWOe?-NP^bz=@sNzVT<#m}2+H`)%c% zfHK2=#_838h&rTyygq?nJV-+kCPAz2jp{3~LI+-V{;yERZ#3<4pHqX)%Xalj+3Q96 zaHvhg?Zl3dWQZq{)O8bFndG*zdewZzfU&i4O~OGuS#$V5PVnoWABT3dW;A=8l}G@9 zcJujI-XwH|9lGNR*#e0f2BEpN)1`v^nm^fL=Vnh#QRXa$9s3+B`*W zlCE45+W#gpa|O@cBjJxuY-eLXC@k!^g3-YNE#X>+wDTe)injYv#d_@KTc^|Yg|@Jk zyYWwLZFX0bAW@|y^`CC*tMMfiht7BZggdUT_m@G-2|(QZe4?Xv&V8_xr5aVr#T2me zXxqFwId%bTk=Z+koM$w>m5`f#_>W`Ea1MT5+WWnz8`==?5O(UAa918?9wvw{EH0k6 z1h>35ZvV8s@qQQ�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 AM*si- delta 220032 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 ^Yown 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 HNaviR)g*OnFM4Jv8YMfdtFfhdOehe3g9*y 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 { + await this.client?.setAccountData(RECOVERY_ACCOUNT_DATA_KEY, { enabled: false }); + } + private async ensureDeviceIdsAtStartPopulated(): Promise { if (this.ourDeviceIdsAtStart === null) { this.ourDeviceIdsAtStart = await this.getDeviceIds(); @@ -220,7 +232,8 @@ export default class DeviceListener { ev.getType().startsWith("m.secret_storage.") || ev.getType().startsWith("m.cross_signing.") || ev.getType() === "m.megolm_backup.v1" || - ev.getType() === BACKUP_DISABLED_ACCOUNT_DATA_KEY + ev.getType() === BACKUP_DISABLED_ACCOUNT_DATA_KEY || + ev.getType() === RECOVERY_ACCOUNT_DATA_KEY ) { this.recheck(); } @@ -332,6 +345,9 @@ export default class DeviceListener { crossSigningStatus.privateKeysCachedLocally.userSigningKey; const defaultKeyId = await cli.secretStorage.getDefaultKeyId(); + const recoveryDisabled = await this.recheckRecoveryDisabled(cli); + + const recoveryIsOk = secretStorageReady || recoveryDisabled; const isCurrentDeviceTrusted = crossSigningReady && @@ -346,8 +362,7 @@ export default class DeviceListener { // said we are OK with that. const keyBackupIsOk = keyBackupUploadActive || backupDisabled; - const allSystemsReady = - crossSigningReady && keyBackupIsOk && secretStorageReady && allCrossSigningSecretsCached; + const allSystemsReady = crossSigningReady && keyBackupIsOk && recoveryIsOk && allCrossSigningSecretsCached; await this.reportCryptoSessionStateToAnalytics(cli); @@ -384,7 +399,10 @@ export default class DeviceListener { // The user just hasn't set up 4S yet: if they have key // backup, prompt them to turn on recovery too. (If not, they // have explicitly opted out, so don't hassle them.) - if (keyBackupUploadActive) { + if (recoveryDisabled) { + logSpan.info("Recovery disabled: no toast needed"); + hideSetupEncryptionToast(); + } else if (keyBackupUploadActive) { logSpan.info("No default 4S key: showing SET_UP_RECOVERY toast"); showSetupEncryptionToast(SetupKind.SET_UP_RECOVERY); } else { @@ -482,6 +500,20 @@ export default class DeviceListener { return !!backupDisabled?.disabled; } + /** + * Check whether the user has disabled recovery. If this is the first time, + * fetch it from the server (in case the initial sync has not finished). + * Otherwise, fetch it from the store as normal. + */ + private async recheckRecoveryDisabled(cli: MatrixClient): Promise { + const recoveryStatus = await cli.getAccountDataFromServer(RECOVERY_ACCOUNT_DATA_KEY); + // Recovery is disabled only if the `enabled` flag is set to `false`. + // If it is missing, or set to any other value, we consider it as + // not-disabled, and will prompt the user to create recovery (if + // missing). + return recoveryStatus?.enabled === false; + } + /** * Reports current recovery state to analytics. * Checks if the session is verified and if the recovery is correctly set up (i.e all secrets known locally and in 4S). diff --git a/src/components/structures/TabbedView.tsx b/src/components/structures/TabbedView.tsx index b01f160551..029226fc87 100644 --- a/src/components/structures/TabbedView.tsx +++ b/src/components/structures/TabbedView.tsx @@ -29,6 +29,7 @@ export class Tab { * @param {string|JSX.Element} icon An SVG element to use for the tab icon. Can also be a string for legacy icons, in which case it is the class for the tab icon. This should be a simple mask. * @param {JSX.Element} body The JSX for the tab container. * @param {string} screenName The screen name to report to Posthog. + * @param {string} labelClassName Additional class to add to the tab label. */ public constructor( public readonly id: T, @@ -36,6 +37,7 @@ export class Tab { public readonly icon: string | JSX.Element | null, public readonly body: JSX.Element, public readonly screenName?: ScreenName, + public readonly labelClassName?: string, ) {} } @@ -85,7 +87,7 @@ interface ITabLabelProps { } function TabLabel({ tab, isActive, showToolip, onClick }: ITabLabelProps): JSX.Element { - const classes = classNames("mx_TabbedView_tabLabel", { + const classes = classNames("mx_TabbedView_tabLabel", tab.labelClassName, { mx_TabbedView_tabLabel_active: isActive, }); diff --git a/src/components/views/dialogs/UserSettingsDialog.tsx b/src/components/views/dialogs/UserSettingsDialog.tsx index bb68051dfc..4d8b8ad3c0 100644 --- a/src/components/views/dialogs/UserSettingsDialog.tsx +++ b/src/components/views/dialogs/UserSettingsDialog.tsx @@ -7,6 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import { ClientEvent, type MatrixEvent } from "matrix-js-sdk/src/matrix"; import { Toast } from "@vector-im/compound-web"; import React, { type JSX, useState } from "react"; import UserProfileIcon from "@vector-im/compound-design-tokens/assets/web/icons/user-profile"; @@ -44,6 +45,7 @@ import { UserTab } from "./UserTab"; import { type NonEmptyArray } from "../../../@types/common"; import { SDKContext, type SdkContextClass } from "../../../contexts/SDKContext"; import { useSettingValue } from "../../../hooks/useSettings"; +import { NoChange, useEventEmitterAsyncState, type AsyncStateCallbackResult } from "../../../hooks/useEventEmitter"; import { ToastContext, useActiveToast } from "../../../contexts/ToastContext"; import { EncryptionUserSettingsTab, type State } from "../settings/tabs/user/EncryptionUserSettingsTab"; @@ -100,6 +102,26 @@ export default function UserSettingsDialog(props: IProps): JSX.Element { const [showMsc4108QrCode, setShowMsc4108QrCode] = useState(props.showMsc4108QrCode); const [initialEncryptionState, setInitialEncryptionState] = useState(props.initialEncryptionState); + // If the user doesn't have Recovery set up (no default Secret Storage key), + // we show an indicator on the Encryption tab. + const showSetupRecoveryIndicator = useEventEmitterAsyncState( + props.sdkContext.client, + ClientEvent.AccountData, + async (event?: MatrixEvent): AsyncStateCallbackResult => { + if (event === undefined || event.getType() === "m.secret_storage.default_key") { + const client = props.sdkContext.client; + if (!client) { + return false; + } + + return !(await client.secretStorage.getDefaultKeyId()); + } + return new NoChange(); + }, + [], + false, + ); + const getTabs = (): NonEmptyArray> => { const tabs: Tab[] = []; @@ -196,6 +218,7 @@ export default function UserSettingsDialog(props: IProps): JSX.Element { , , "UserSettingsEncryption", + showSetupRecoveryIndicator ? "mx_SettingsDialog_tabLabelsAlert" : undefined, ), ); diff --git a/src/components/views/settings/SettingsHeader.tsx b/src/components/views/settings/SettingsHeader.tsx index 10534958f4..1db7fc9027 100644 --- a/src/components/views/settings/SettingsHeader.tsx +++ b/src/components/views/settings/SettingsHeader.tsx @@ -6,10 +6,9 @@ */ import React, { type JSX } from "react"; +import classNames from "classnames"; import { Heading } from "@vector-im/compound-web"; -import { _t } from "../../../languageHandler"; - /** * The heading for a settings section. */ @@ -25,9 +24,12 @@ interface SettingsHeaderProps { } export function SettingsHeader({ hasRecommendedTag = false, label }: SettingsHeaderProps): JSX.Element { + const classes = classNames("mx_SettingsHeader", { + mx_SettingsHeader_recommended: hasRecommendedTag, + }); return ( - - {label} {hasRecommendedTag && {_t("common|recommended")}} + + {label} ); } diff --git a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx index 58efc80afb..b096708947 100644 --- a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx +++ b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx @@ -29,6 +29,7 @@ import { initialiseDehydrationIfEnabled } from "../../../../utils/device/dehydra import { withSecretStorageKeyCache } from "../../../../SecurityManager"; import { EncryptionCardButtons } from "./EncryptionCardButtons"; import { logErrorAndShowErrorDialog } from "../../../../utils/ErrorUtils.tsx"; +import { RECOVERY_ACCOUNT_DATA_KEY } from "../../../../DeviceListener"; /** * The possible states of the component. @@ -131,6 +132,10 @@ export function ChangeRecoveryKey({ }); await initialiseDehydrationIfEnabled(matrixClient, { createNewKey: true }); }); + + // Record the fact that the user explicitly enabled recovery. + await matrixClient.setAccountData(RECOVERY_ACCOUNT_DATA_KEY, { enabled: true }); + onFinish(); } catch (e) { logErrorAndShowErrorDialog("Failed to set up secret storage", e); diff --git a/src/hooks/useEventEmitter.ts b/src/hooks/useEventEmitter.ts index 67049195a0..12bb57a1ee 100644 --- a/src/hooks/useEventEmitter.ts +++ b/src/hooks/useEventEmitter.ts @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { useRef, useEffect, useState, useCallback } from "react"; +import { useRef, useEffect, useState, useCallback, type DependencyList } from "react"; import { type ListenerMap, type TypedEventEmitter } from "matrix-js-sdk/src/matrix"; import type { EventEmitter } from "events"; @@ -93,3 +93,100 @@ export function useEventEmitterState( useEventEmitter(emitter, eventName, handler); return value; } + +/** + * The return value of the callback function for `useEventEmitterAsyncState`. + */ +export type AsyncStateCallbackResult = Promise; + +/** + * Creates a state, which is computed asynchronously, and can be updated by events. + * + * Similar to `useEventEmitterState`, but the callback is `async`. + * + * If the event is emitted while the callback is running, it will wait until + * after the callback completes before calling the callback again. If the event + * is emitted multiple times while the callback is running, the callback will be + * called once for each time the event was emitted, in the order that the events + * were emitted. + * + * @param emitter The emitter sending the event + * @param eventName Event name to listen for + * @param fn The callback function, that should return the state value. + * It should have the signature of the event callback, except that all + * parameters are optional. If the params are not set, a default value + * for the state should be returned. If the state value should not + * change from its previous value, the function can return a `NoChange` + * object. + * @param deps The dependencies of the callback function. + * @param initialValue The initial value of the state, before the callback finishes its initial run. + * @returns State + */ +export function useEventEmitterAsyncState>( + emitter: TypedEventEmitter | undefined, + eventName: string | symbol, + fn: Mapper>, + deps: DependencyList, + initialValue: T, +): T; +export function useEventEmitterAsyncState>( + emitter: TypedEventEmitter | undefined, + eventName: string | symbol, + fn: Mapper>, + deps: DependencyList, + initialValue?: T, +): T | undefined; +export function useEventEmitterAsyncState>( + emitter: TypedEventEmitter | undefined, + eventName: string | symbol, + fn: Mapper>, + deps: DependencyList, + initialValue?: T, +): T | undefined { + const [value, setValue] = useState(initialValue); + + let running = false; + // If the handler is called while it's already running, we remember the + // arguments that it was called with, and call the handler again when the + // first call is done. + const rerunArgs: any[] = []; + + const handler = useCallback( + (...args: any[]) => { + if (running) { + // We're already running, so remember the arguments we were + // called with, so that we can call the handler again when we're + // done. + rerunArgs.push(args); + return; + } + running = true; // eslint-disable-line react-hooks/exhaustive-deps + // Note: We need to use .then notation instead of async/await, + // because async/await would cause this function to return a + // promise, which `useEffect` doesn't like. + fn(...args) + .then((v) => { + if (!(v instanceof NoChange)) { + setValue(v); + } + }) + .finally(() => { + running = false; + if (rerunArgs.length != 0) { + handler(...rerunArgs.shift()); + } + }); + }, + [fn, ...deps], // eslint-disable-line react-compiler/react-compiler + ); + + // re-run when the emitter changes + useEffect(handler, [emitter, handler, ...deps]); + useEventEmitter(emitter, eventName, handler); + return value; +} + +/** + * Indicates that the callback for `useEventEmitterAsyncState` is not changing the value of the state. + */ +export class NoChange {} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 56f22dc6d7..abcca3744e 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -968,7 +968,6 @@ }, "reset_all_button": "Forgotten or lost all recovery methods? Reset all", "set_up_recovery": "Set up recovery", - "set_up_recovery_later": "Not now", "set_up_recovery_toast_description": "Generate a recovery key that can be used to restore your encrypted message history in case you lose access to your devices.", "set_up_toast_description": "Safeguard against losing access to encrypted messages & data", "set_up_toast_title": "Set up Secure Backup", diff --git a/src/toasts/SetupEncryptionToast.ts b/src/toasts/SetupEncryptionToast.ts index 802da5b895..197cdfb9bf 100644 --- a/src/toasts/SetupEncryptionToast.ts +++ b/src/toasts/SetupEncryptionToast.ts @@ -88,7 +88,7 @@ const getPrimaryButtonIcon = (kind: Kind): ComponentType { switch (kind) { case Kind.SET_UP_RECOVERY: - return _t("encryption|set_up_recovery_later"); + return _t("action|dismiss"); case Kind.SET_UP_ENCRYPTION: case Kind.VERIFY_THIS_SESSION: return _t("encryption|verification|unverified_sessions_toast_reject"); @@ -201,6 +201,11 @@ export const showToast = (kind: Kind): void => { await deviceListener.recordKeyBackupDisabled(); deviceListener.dismissEncryptionSetup(); } + } else if (kind === Kind.SET_UP_RECOVERY) { + // Record that the user doesn't want to set up recovery + const deviceListener = DeviceListener.sharedInstance(); + await deviceListener.recordRecoveryDisabled(); + deviceListener.dismissEncryptionSetup(); } else { DeviceListener.sharedInstance().dismissEncryptionSetup(); } diff --git a/test/test-utils/client.ts b/test/test-utils/client.ts index cdda7b7dea..658536825b 100644 --- a/test/test-utils/client.ts +++ b/test/test-utils/client.ts @@ -153,7 +153,11 @@ export const mockClientMethodsCrypto = (): Partial< > => ({ isKeyBackupKeyStored: jest.fn(), getCrossSigningCacheCallbacks: jest.fn().mockReturnValue({ getCrossSigningKeyCache: jest.fn() }), - secretStorage: { hasKey: jest.fn(), isStored: jest.fn().mockResolvedValue(null) }, + secretStorage: { + hasKey: jest.fn(), + isStored: jest.fn().mockResolvedValue(null), + getDefaultKeyId: jest.fn().mockResolvedValue(null), + }, getCrypto: jest.fn().mockReturnValue({ getUserDeviceInfo: jest.fn(), getCrossSigningStatus: jest.fn().mockResolvedValue({ diff --git a/test/unit-tests/DeviceListener-test.ts b/test/unit-tests/DeviceListener-test.ts index 62221d0665..c7e1d75724 100644 --- a/test/unit-tests/DeviceListener-test.ts +++ b/test/unit-tests/DeviceListener-test.ts @@ -480,6 +480,15 @@ describe("DeviceListener", () => { }); }); + it("sets the recovery account data when we call recordRecoveryDisabled", async () => { + const instance = await createAndStart(); + await instance.recordRecoveryDisabled(); + + expect(mockClient.setAccountData).toHaveBeenCalledWith("io.element.recovery", { + enabled: false, + }); + }); + describe("when crypto is in use and set up", () => { beforeEach(() => { // Encryption is in use diff --git a/test/unit-tests/components/views/dialogs/UserSettingsDialog-test.tsx b/test/unit-tests/components/views/dialogs/UserSettingsDialog-test.tsx index 8ffe9e3de6..6582bd4d3a 100644 --- a/test/unit-tests/components/views/dialogs/UserSettingsDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/UserSettingsDialog-test.tsx @@ -7,9 +7,9 @@ Please see LICENSE files in the repository root for full details. */ import React, { type ReactElement } from "react"; -import { render, screen } from "jest-matrix-react"; +import { render, screen, waitFor } from "jest-matrix-react"; import { mocked, type MockedObject } from "jest-mock"; -import { type MatrixClient } from "matrix-js-sdk/src/matrix"; +import { ClientEvent, MatrixEvent, type MatrixClient } from "matrix-js-sdk/src/matrix"; import SettingsStore, { type CallbackFn } from "../../../../../src/settings/SettingsStore"; import SdkConfig from "../../../../../src/SdkConfig"; @@ -250,4 +250,28 @@ describe("", () => { // unwatches settings on unmount expect(mockSettingsStore.unwatchSetting).toHaveBeenCalledWith("mock-watcher-id-feature_mjolnir"); }); + + it("displays an indicator when user needs to set up recovery", async () => { + // Initially, the user doesn't have secret storage, so it should display + // an indicator. + mockClient.secretStorage.getDefaultKeyId.mockResolvedValue(null); + + const { container } = render(getComponent()); + + await waitFor(() => { + expect(container.querySelector(".mx_SettingsDialog_tabLabelsAlert")).toBeInTheDocument(); + }); + + // Test that the handler ignores unknown account data + mockClient.emit(ClientEvent.AccountData, new MatrixEvent({ type: "bar" })); + + // The user now has secret storage. Trigger an update and check that + // the indicator disappears. + mockClient.secretStorage.getDefaultKeyId.mockResolvedValue("foo"); + mockClient.emit(ClientEvent.AccountData, new MatrixEvent({ type: "m.secret_storage.default_key" })); + + await waitFor(() => { + expect(container.querySelector(".mx_SettingsDialog_tabLabelsAlert")).not.toBeInTheDocument(); + }); + }); }); diff --git a/test/unit-tests/components/views/settings/__snapshots__/SettingsHeader-test.tsx.snap b/test/unit-tests/components/views/settings/__snapshots__/SettingsHeader-test.tsx.snap index 676233259f..a70b227482 100644 --- a/test/unit-tests/components/views/settings/__snapshots__/SettingsHeader-test.tsx.snap +++ b/test/unit-tests/components/views/settings/__snapshots__/SettingsHeader-test.tsx.snap @@ -5,7 +5,7 @@ exports[` should render the component 1`] = `

- Settings Header + Settings Header

`; @@ -13,12 +13,9 @@ exports[` should render the component 1`] = ` exports[` should render the component with the recommended tag 1`] = `

- Settings Header - - Recommended - + Settings Header

`; diff --git a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx index 706efb2b90..3286e943b4 100644 --- a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx +++ b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx @@ -104,12 +104,14 @@ describe("", () => { expect(screen.getByText("The recovery key you entered is not correct.")).toBeInTheDocument(); expect(asFragment()).toMatchSnapshot(); + const setAccountDataSpy = jest.spyOn(matrixClient, "setAccountData"); await userEvent.clear(input); // If the user enters the correct recovery key, the finish button should be enabled await userEvent.type(input, "encoded private key"); await waitFor(() => expect(finishButton).not.toHaveAttribute("aria-disabled", "true")); await user.click(finishButton); + expect(setAccountDataSpy).toHaveBeenCalledWith("io.element.recovery", { enabled: true }); expect(onFinish).toHaveBeenCalledWith(); }); diff --git a/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanel-test.tsx.snap b/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanel-test.tsx.snap index fda6b29aa1..d283890689 100644 --- a/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanel-test.tsx.snap +++ b/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanel-test.tsx.snap @@ -12,7 +12,7 @@ exports[` should allow to change the recovery key when everythi

- Recovery + Recovery

Recover your cryptographic identity and message history with a recovery key if you’ve lost all your existing devices. @@ -51,12 +51,9 @@ exports[` should ask to set up a recovery key when there is no class="mx_SettingsSection_header" >

- Recovery - - Recommended - + Recovery

Recover your cryptographic identity and message history with a recovery key if you’ve lost all your existing devices. @@ -97,7 +94,7 @@ exports[` should be in loading state when checking the recovery

- Recovery + Recovery

Recover your cryptographic identity and message history with a recovery key if you’ve lost all your existing devices. diff --git a/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanelOutOfSync-test.tsx.snap b/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanelOutOfSync-test.tsx.snap index edf7de5af9..ca4914e198 100644 --- a/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanelOutOfSync-test.tsx.snap +++ b/test/unit-tests/components/views/settings/encryption/__snapshots__/RecoveryPanelOutOfSync-test.tsx.snap @@ -12,7 +12,7 @@ exports[` should render 1`] = `

- Recovery + Recovery

should display a verify button when the e

- Device not verified + Device not verified

should display the recovery out of sync p

- Recovery + Recovery

{ expect(await screen.findByRole("heading", { name: "Set up recovery" })).toBeInTheDocument(); }); - it("should dismiss the toast when 'not now' button clicked", async () => { + it("should dismiss the toast when 'Dismiss' button clicked, and remember it", async () => { + jest.spyOn(DeviceListener.sharedInstance(), "recordRecoveryDisabled"); jest.spyOn(DeviceListener.sharedInstance(), "dismissEncryptionSetup"); showToast(Kind.SET_UP_RECOVERY); const user = userEvent.setup(); - await user.click(await screen.findByRole("button", { name: "Not now" })); + await user.click(await screen.findByRole("button", { name: "Dismiss" })); + expect(DeviceListener.sharedInstance().recordRecoveryDisabled).toHaveBeenCalled(); expect(DeviceListener.sharedInstance().dismissEncryptionSetup).toHaveBeenCalled(); }); }); From 5ad0dceae0d27bb0d222b6d259d574eb4a23fa51 Mon Sep 17 00:00:00 2001 From: Philipp Fruck Date: Thu, 19 Jun 2025 11:58:18 +0200 Subject: [PATCH 030/142] docs: Remove scalar for riot.im (#30158) --- config.sample.json | 3 +-- docs/config.md | 3 +-- docs/kubernetes.md | 3 +-- element.io/app/config.json | 3 +-- element.io/develop/config.json | 3 +-- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/config.sample.json b/config.sample.json index 5ddc34b3fc..3bc875cb7e 100644 --- a/config.sample.json +++ b/config.sample.json @@ -20,8 +20,7 @@ "https://scalar.vector.im/_matrix/integrations/v1", "https://scalar.vector.im/api", "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" + "https://scalar-staging.vector.im/api" ], "default_widget_container_height": 280, "default_country_code": "GB", diff --git a/docs/config.md b/docs/config.md index f1ced14fd2..4f4724ad40 100644 --- a/docs/config.md +++ b/docs/config.md @@ -445,8 +445,7 @@ If you would like to use Scalar, the integration manager maintained by Element, "https://scalar.vector.im/_matrix/integrations/v1", "https://scalar.vector.im/api", "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" + "https://scalar-staging.vector.im/api" ] } ``` diff --git a/docs/kubernetes.md b/docs/kubernetes.md index cae8526e9c..23c3fde611 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -55,8 +55,7 @@ Then you can deploy it to your cluster with something like `kubectl apply -f my- "https://scalar.vector.im/_matrix/integrations/v1", "https://scalar.vector.im/api", "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" + "https://scalar-staging.vector.im/api" ], "bug_report_endpoint_url": "https://element.io/bugreports/submit", "defaultCountryCode": "GB", diff --git a/element.io/app/config.json b/element.io/app/config.json index 771df35091..4324ffc7fb 100644 --- a/element.io/app/config.json +++ b/element.io/app/config.json @@ -15,8 +15,7 @@ "https://scalar.vector.im/_matrix/integrations/v1", "https://scalar.vector.im/api", "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" + "https://scalar-staging.vector.im/api" ], "bug_report_endpoint_url": "https://element.io/bugreports/submit", "uisi_autorageshake_app": "element-auto-uisi", diff --git a/element.io/develop/config.json b/element.io/develop/config.json index aaee51afd0..ce4a8a0407 100644 --- a/element.io/develop/config.json +++ b/element.io/develop/config.json @@ -15,8 +15,7 @@ "https://scalar.vector.im/_matrix/integrations/v1", "https://scalar.vector.im/api", "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" + "https://scalar-staging.vector.im/api" ], "bug_report_endpoint_url": "https://element.io/bugreports/submit", "uisi_autorageshake_app": "element-auto-uisi", From a3b51edc5183f0f17be420a643feba560ad3a7cb Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 19 Jun 2025 13:38:36 +0100 Subject: [PATCH 031/142] Fix untranslatable string "People" in notifications beta (#30165) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/settings/notifications/NotificationSettings2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/notifications/NotificationSettings2.tsx b/src/components/views/settings/notifications/NotificationSettings2.tsx index 4e91bebf7b..405d789257 100644 --- a/src/components/views/settings/notifications/NotificationSettings2.tsx +++ b/src/components/views/settings/notifications/NotificationSettings2.tsx @@ -182,7 +182,7 @@ export default function NotificationSettings2(): JSX.Element { description={_t("settings|notifications|play_sound_for_description")} > { From f5f9d68f3c7af6a31a990b899711e3b5e785bc14 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Fri, 20 Jun 2025 08:25:36 +0200 Subject: [PATCH 032/142] [create-pull-request] automated change (#30173) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/cs.json | 1 - src/i18n/strings/cy.json | 1 - src/i18n/strings/de_DE.json | 1 - src/i18n/strings/et.json | 1 - src/i18n/strings/fi.json | 1 - src/i18n/strings/fr.json | 41 +++++++++++++++++++++++++++++++------ src/i18n/strings/hu.json | 1 - src/i18n/strings/id.json | 1 - src/i18n/strings/nb_NO.json | 1 - src/i18n/strings/pl.json | 1 - src/i18n/strings/pt.json | 1 - src/i18n/strings/pt_BR.json | 7 ++++++- src/i18n/strings/ru.json | 1 - src/i18n/strings/sk.json | 1 - src/i18n/strings/sv.json | 2 +- src/i18n/strings/tr.json | 1 - src/i18n/strings/uk.json | 1 - 17 files changed, 42 insertions(+), 22 deletions(-) diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index 6d44971dcb..e36b034b1e 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -970,7 +970,6 @@ }, "reset_all_button": "Zapomněli nebo ztratili jste všechny metody obnovy? Resetovat vše", "set_up_recovery": "Nastavení obnovení", - "set_up_recovery_later": "Teď ne", "set_up_recovery_toast_description": "Vygenerujte klíč pro obnovení, který lze použít k obnovení historie šifrovaných zpráv v případě, že ztratíte přístup k zařízením.", "set_up_toast_description": "Zabezpečení proti ztrátě přístupu k šifrovaným zprávám a datům", "set_up_toast_title": "Nastavení zabezpečené zálohy", diff --git a/src/i18n/strings/cy.json b/src/i18n/strings/cy.json index 2252975325..59aa9f1619 100644 --- a/src/i18n/strings/cy.json +++ b/src/i18n/strings/cy.json @@ -962,7 +962,6 @@ }, "reset_all_button": "Wedi anghofio neu golli pob dull adfer? Ailosod y cyfan", "set_up_recovery": "Gosod adfer", - "set_up_recovery_later": "Nid nawr", "set_up_recovery_toast_description": "Cynhyrchwch allwedd adfer y mae modd ei defnyddio i adfer hanes eich neges wedi'i hamgryptio rhag ofn i chi golli mynediad i'ch dyfeisiau.", "set_up_toast_description": "Diogelu rhag colli mynediad i negeseuon a data wedi'u hamgryptio", "set_up_toast_title": "Gosod Copi Wrth Gefn Diogel", diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 602b3f22f5..ff8070250b 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -964,7 +964,6 @@ }, "reset_all_button": "Hast du alle Wiederherstellungsmethoden vergessen? Setze sie hier zurück", "set_up_recovery": "Wiederherstellung einrichten", - "set_up_recovery_later": "Nicht jetzt", "set_up_recovery_toast_description": "Generieren Sie einen Wiederherstellungsschlüssel, damit Sie Ihren verschlüsselten Nachrichtenverlauf wiederherstellen können, falls Sie den Zugriff auf Ihre Geräte verlieren.", "set_up_toast_description": "Schütze dich vor dem Verlust verschlüsselter Nachrichten und Daten", "set_up_toast_title": "Schlüsselsicherung einrichten", diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 2a7d84d761..776050780b 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -968,7 +968,6 @@ }, "reset_all_button": "Unustasid või oled kaotanud kõik võimalused ligipääsu taastamiseks? Lähtesta kõik ühe korraga", "set_up_recovery": "Seadista krüptovõtmete taastamine", - "set_up_recovery_later": "Mitte praegu", "set_up_recovery_toast_description": "Kui peaksid kaotama ligipääsu oma seadmetele, siis siinloodava taastevõtmega saad taastada ligipääsu oma krüptitud sõnumitele.", "set_up_toast_description": "Hoia ära, et kaotad ligipääsu krüptitud sõnumitele ja andmetele", "set_up_toast_title": "Võta kasutusele turvaline varundus", diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 7e993adc31..0e40872dfc 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -829,7 +829,6 @@ }, "reset_all_button": "Unohtanut tai kadottanut kaikki palautustavat? Nollaa kaikki", "set_up_recovery": "Määritä palautus", - "set_up_recovery_later": "Ei nyt", "set_up_recovery_toast_description": "Luo palautusavain, jota voit käyttää salatun viestihistorian palauttamiseen, jos menetät pääsyn laitteisiisi.", "set_up_toast_description": "Suojaudu salattuihin viesteihin ja tietoihin pääsyn menettämiseltä", "set_up_toast_title": "Määritä turvallinen varmuuskopio", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index e7cab1d82a..d1f55d7f50 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -786,6 +786,7 @@ "cross_signing_status": "État de la signature croisée :", "cross_signing_untrusted": "Votre compte a une identité de signature croisée dans le coffre secret, mais cette session ne lui fait pas encore confiance.", "crypto_not_available": "Le module cryptographique n'est pas disponible", + "device_id": "Identifiant de l'appareil", "key_backup_active_version": "Version de sauvegarde active :", "key_backup_active_version_none": "Aucun", "key_backup_inactive_warning": "Vos clés ne sont pas sauvegardées sur cette session.", @@ -798,6 +799,8 @@ "secret_storage_ready": "prêt", "secret_storage_status": "Coffre secret :", "self_signing_private_key_cached_status": "Clé privée d’auto-signature :", + "session": "Session", + "session_fingerprint": "Empreinte numérique (clé de la session)", "title": "Chiffrement de bout en bout", "user_signing_private_key_cached_status": "Clé privée de signature de l’utilisateur :" }, @@ -823,6 +826,7 @@ "low_bandwidth_mode": "Mode faible bande passante", "low_bandwidth_mode_description": "Nécessite un serveur d’accueil compatible.", "main_timeline": "Historique principal", + "manual_device_verification": "Vérification manuelle de l'appareil", "no_receipt_found": "Aucun accusé disponible", "notification_state": "L’état des notifications est %(notificationState)s", "notifications_debug": "Débogage des notifications", @@ -915,7 +919,7 @@ "key_validation_text": { "wrong_security_key": "La clé de récupération que vous avez saisie est incorrecte." }, - "privacy_warning": "Assurez vous que personne d'autre ne regarde votre écran !", + "privacy_warning": "Assurez-vous que personne d'autre ne regarde votre écran !", "restoring": "Restauration des clés depuis la sauvegarde", "security_key_title": "Clé de récupération" }, @@ -964,7 +968,6 @@ }, "reset_all_button": "Vous avez perdu ou oublié tous vos moyens de récupération ? Tout réinitialiser", "set_up_recovery": "Configurer la récupération", - "set_up_recovery_later": "Pas maintenant", "set_up_recovery_toast_description": "Générez une clé de récupération qui peut être utilisée pour restaurer l'historique de vos messages chiffrés au cas où vous perdriez l'accès à vos appareils.", "set_up_toast_description": "Sécurité contre la perte d’accès aux messages et données chiffrées", "set_up_toast_title": "Configurer la sauvegarde sécurisée", @@ -1007,6 +1010,21 @@ "incoming_sas_dialog_waiting": "Attente de la confirmation du partenaire…", "incoming_sas_user_dialog_text_1": "Vérifier cet utilisateur pour le marquer comme fiable. Faire confiance aux utilisateurs vous permet d’être tranquille lorsque vous utilisez des messages chiffrés de bout en bout.", "incoming_sas_user_dialog_text_2": "Vérifier cet utilisateur marquera sa session comme fiable, et marquera aussi votre session comme fiable pour lui.", + "manual": { + "already_verified": "Cet appareil est déjà vérifié", + "already_verified_and_wrong_fingerprint": "L'empreinte numérique fournie ne correspond pas, mais l'appareil est déjà vérifié !", + "device_id": "Identifiant de l'appareil", + "failure_description": "Échec de la vérification de '%(deviceId)s' : %(error)s", + "failure_title": "Échec de la vérification", + "fingerprint": "Empreinte numérique (clé de la session)", + "no_crypto": "Impossible de vérifier l'appareil - le chiffrement n'est pas activé", + "no_device": "Impossible de vérifier l'appareil - l'appareil %(deviceId)s n'a pas été trouvé", + "no_userid": "Impossible de vérifier l'appareil - identifiant utilisateur introuvable", + "success_description": "L’appareil (%(deviceId)s) est maintenant signé de manière croisée", + "success_title": "Vérification réussie", + "text": "Fournissez l'identifiant et l'empreinte numétrique de l'un de vos appareils pour le vérifier. REMARQUE : cela permet à l'autre appareil d'envoyer et de recevoir des messages comme vous. SI QUELQU'UN VOUS A DIT DE COLLER QUELQUE CHOSE ICI, IL EST PROBABLE QUE VOUS SOYEZ VICTIME D'UNE ARNAQUE !", + "wrong_fingerprint": "Impossible de vérifier l'appareil %(deviceId)s - l'empreinte numérique %(fingerprint)s fournie ne correspond pas à celle de l'appareil %(fprint)s" + }, "no_key_or_device": "Il semblerait que vous ne disposiez pas de clé de récupération ou d’autres appareils pour réalisation la vérification. Cet appareil ne pourra pas accéder aux anciens messages chiffrés. Afin de vérifier votre identité sur cet appareil, vous devrez réinitialiser vos clés de vérifications.", "no_support_qr_emoji": "L’appareil que vous essayez de vérifier ne prend pas en charge les QR codes ou la vérification d’émojis, qui sont les méthodes prises en charge par %(brand)s. Essayez avec un autre client.", "other_party_cancelled": "L’autre personne a annulé la vérification.", @@ -1733,9 +1751,9 @@ }, "total_no_votes": "Aucun vote exprimé", "total_not_ended": "Les résultats seront visibles lorsque le sondage sera terminé", - "type_closed": "Sondage terminé", + "type_closed": "Sondage fermé", "type_heading": "Type de sondage", - "type_open": "Ouvrir le sondage", + "type_open": "Sondage ouvert", "unable_edit_description": "Désolé, vous ne pouvez pas modifier un sondage après que les votes aient été exprimés.", "unable_edit_title": "Impossible de modifier le sondage" }, @@ -2046,6 +2064,8 @@ "read_topic": "Cliquer pour lire le sujet", "rejecting": "Rejet de l’invitation…", "rejoin_button": "Revenir", + "room_content": "Contenu du salon", + "room_is_low_priority": "Ce salon est de priorité basse", "search": { "all_rooms_button": "Rechercher dans tous les salons", "placeholder": "Rechercher des messages…", @@ -2094,6 +2114,7 @@ "add_space_label": "Ajouter un espace", "breadcrumbs_empty": "Aucun salon visité récemment", "breadcrumbs_label": "Salons visités récemment", + "collapse_filters": "Réduire la liste des filtres", "empty": { "no_chats": "Pas encore de discussions", "no_chats_description": "Commencez par envoyer un message à quelqu'un ou en créant un salon", @@ -2101,6 +2122,7 @@ "no_favourites": "Vous n'avez pas encore de discussion favorite", "no_favourites_description": "Vous pouvez ajouter une discussion à vos favoris dans les paramètres de discussion", "no_invites": "Vous n'avez aucune invitation non lue", + "no_lowpriority": "Vous n'avez aucun salon avec une priorité basse", "no_mentions": "Vous n'avez aucune mention non lue", "no_people": "Vous n'avez encore de discussions", "no_people_description": "Veuillez désélectionner des filtres pour voir vos discussions", @@ -2110,13 +2132,14 @@ "show_activity": "Voir toutes les activités", "show_chats": "Afficher toutes les discussions" }, + "expand_filters": "Développer la liste des filtres", "failed_add_tag": "Échec de l’ajout de l’étiquette %(tagName)s au salon", "failed_remove_tag": "Échec de la suppression de l’étiquette %(tagName)s du salon", "failed_set_dm_tag": "Échec de l’ajout de l’étiquette de conversation privée", "filters": { "favourite": "Favoris", "invites": "Invitations", - "low_priority": "Faible priorité", + "low_priority": "Priorité basse", "mentions": "Mentions", "people": "Personnes", "rooms": "Salons", @@ -2684,6 +2707,9 @@ "inline_url_previews_room": "Activer l’aperçu des URL par défaut pour les participants de ce salon", "inline_url_previews_room_account": "Activer l’aperçu des URL pour ce salon (n’affecte que vous)", "insert_trailing_colon_mentions": "Insérer deux-points après les mentions de l'utilisateur au début d'un message", + "invite_controls": { + "default_label": "Autoriser les utilisateurs à vous inviter dans les salons" + }, "jump_to_bottom_on_send": "Sauter en bas du fil de discussion lorsque vous envoyez un message", "key_backup": { "backup_in_progress": "Vous clés sont en cours de sauvegarde (la première sauvegarde peut prendre quelques minutes).", @@ -2750,6 +2776,7 @@ "show_in_private": "Dans les salons privés", "show_media": "Toujours afficher" }, + "not_supported": "Votre serveur ne propose pas cette fonctionnalité", "notifications": { "default_setting_description": "Ce réglage sera appliqué par défaut à tous vos salons.", "default_setting_section": "Je veux être notifié pour (réglage par défaut)", @@ -3087,6 +3114,8 @@ "jumptodate": "Aller à la date correspondante dans la discussion", "jumptodate_invalid_input": "Nous n’avons pas pu comprendre la date saisie (%(inputDate)s). Veuillez essayer en utilisant le format AAAA-MM-JJ.", "lenny": "Ajoute ( ͡° ͜ʖ ͡°) en préfixe du message", + "manual_device_verification_confirm_description": "Cela permettra à un autre appareil d'envoyer et de recevoir des messages comme vous. SI QUELQU'UN VOUS A DIT DE COLLER QUELQUE CHOSE ICI, IL EST PROBABLE QUE VOUS SOYEZ VICTIME D'UNE ARNAQUE ! Êtes-vous sûr de vouloir vérifier cet autre appareil ?", + "manual_device_verification_confirm_title": "Attention : vérification manuelle de l'appareil", "me": "Affiche l’action", "msg": "Envoie un message à l’utilisateur fourni", "myavatar": "Modifier votre image de profil dans tous les salons", @@ -3127,7 +3156,7 @@ "upgraderoom": "Met à niveau un salon vers une nouvelle version", "upgraderoom_permission_error": "Vous n’avez pas les autorisations nécessaires pour utiliser cette commande.", "usage": "Utilisation", - "verify": "Vérifie un utilisateur, une session et une collection de clés publiques", + "verify": "Vérifiez manuellement l'un de vos appareils", "view": "Affiche le salon avec cette adresse", "whois": "Affiche des informations à propos de l’utilisateur" }, diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index c5d7cd6704..3eb9430628 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -960,7 +960,6 @@ }, "reset_all_button": "Elfelejtette vagy elveszett minden helyreállítási lehetőség? Minden alaphelyzetbe állítása", "set_up_recovery": "Helyreállítás beállítása", - "set_up_recovery_later": "Most nem", "set_up_recovery_toast_description": "Létrehozhat egy helyreállítási kulcsot, amellyel helyreállíthatja a titkosított üzenetelőzményeit, ha elveszíti a hozzáférést az eszközeihez.", "set_up_toast_description": "Biztosíték a titkosított üzenetekhez és adatokhoz való hozzáférés elvesztése ellen", "set_up_toast_title": "Biztonsági mentés beállítása", diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json index fb65e6a4b0..52b21adea3 100644 --- a/src/i18n/strings/id.json +++ b/src/i18n/strings/id.json @@ -965,7 +965,6 @@ }, "reset_all_button": "Lupa atau kehilangan semua metode pemulihan? Atur ulang semuanya", "set_up_recovery": "Siapkan pemulihan", - "set_up_recovery_later": "Tidak sekarang", "set_up_recovery_toast_description": "Buat kunci pemulihan yang dapat digunakan untuk memulihkan riwayat pesan terenkripsi jika Anda kehilangan akses ke perangkat Anda.", "set_up_toast_description": "Lindungi dari kehilangan akses ke pesan & data terenkripsi", "set_up_toast_title": "Siapkan Cadangan Aman", diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json index dd8b57a1b8..548c14e1aa 100644 --- a/src/i18n/strings/nb_NO.json +++ b/src/i18n/strings/nb_NO.json @@ -968,7 +968,6 @@ }, "reset_all_button": "Glemt eller mistet alle gjenopprettingsmetoder? Tilbakestill alt", "set_up_recovery": "Sett opp gjenoppretting", - "set_up_recovery_later": "Ikke nå", "set_up_recovery_toast_description": "Generer en gjenopprettingsnøkkel som kan brukes til å gjenopprette den krypterte meldingshistorikken i tilfelle du mister tilgangen til enhetene dine.", "set_up_toast_description": "Sikre deg mot å miste tilgang til krypterte meldinger og data", "set_up_toast_title": "Sett opp sikker sikkerhetskopiering", diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json index 84c330b086..d2a3f7a70d 100644 --- a/src/i18n/strings/pl.json +++ b/src/i18n/strings/pl.json @@ -967,7 +967,6 @@ }, "reset_all_button": "Zapomniałeś lub straciłeś wszystkie opcje odzyskiwania? Resetuj wszystko", "set_up_recovery": "Skonfiguruj przywracanie", - "set_up_recovery_later": "Nie teraz", "set_up_recovery_toast_description": "Wygeneruj klucz przywracania, którego można użyć do przywrócenia zaszyfrowanej historii wiadomości w przypadku utraty dostępu do swoich urządzeń.", "set_up_toast_description": "Zabezpiecz się przed utratą dostępu do szyfrowanych wiadomości i danych", "set_up_toast_title": "Skonfiguruj bezpieczną kopię zapasową", diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json index eefb0a8254..e5dc8acbdc 100644 --- a/src/i18n/strings/pt.json +++ b/src/i18n/strings/pt.json @@ -936,7 +936,6 @@ }, "reset_all_button": "Esqueceste-te ou perdeste todos os métodos de recuperação? Repor tudo", "set_up_recovery": "Configurar a recuperação", - "set_up_recovery_later": "Agora não", "set_up_recovery_toast_description": "Gera uma chave de recuperação que pode ser utilizada para restaurar o teu histórico de mensagens encriptadas, caso percas o acesso aos teus dispositivos.", "set_up_toast_description": "Protege-te contra a perda de acesso a mensagens e dados encriptados", "set_up_toast_title": "Configura uma cópia de segurança segura", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index ebe5b8c12f..facffcc21c 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -968,7 +968,6 @@ }, "reset_all_button": "Esqueceu ou perdeu todos os métodos de recuperação? Redefinir tudo", "set_up_recovery": "Configurar a recuperação", - "set_up_recovery_later": "Agora não", "set_up_recovery_toast_description": "Gere uma chave de recuperação que possa ser usada para restaurar seu histórico de mensagens criptografadas caso você perca o acesso aos seus dispositivos.", "set_up_toast_description": "Proteja-se contra a perda de acesso a mensagens e dados criptografados", "set_up_toast_title": "Configurar o backup online", @@ -2065,6 +2064,7 @@ "read_topic": "Clique para ler o tópico", "rejecting": "Rejeitando o convite...", "rejoin_button": "Entrar novamente", + "room_content": "Conteúdo da sala", "room_is_low_priority": "Esta é uma sala de baixa prioridade", "search": { "all_rooms_button": "Pesquisar todos as salas", @@ -2114,6 +2114,7 @@ "add_space_label": "Adicionar espaço", "breadcrumbs_empty": "Nenhuma sala foi visitada recentemente", "breadcrumbs_label": "Salas visitadas recentemente", + "collapse_filters": "Recolher lista de filtros", "empty": { "no_chats": "Ainda não há conversas.", "no_chats_description": "Comece enviando uma mensagem para alguém ou criando uma sala", @@ -2121,6 +2122,7 @@ "no_favourites": "Você ainda não tem o bate-papo favorito", "no_favourites_description": "Você pode adicionar um bate-papo aos seus favoritos nas configurações de bate-papo", "no_invites": "Você não tem nenhum convite não lido", + "no_lowpriority": "Você não tem nenhuma sala de baixa prioridade", "no_mentions": "Você não tem nenhuma menção não lida", "no_people": "Você ainda não tem conversas diretas com ninguém", "no_people_description": "Você pode desmarcar os filtros para ver suas outras conversas", @@ -2130,6 +2132,7 @@ "show_activity": "Ver todas as atividades", "show_chats": "Mostrar todas as conversas" }, + "expand_filters": "Expandir lista de filtros", "failed_add_tag": "Falha ao adicionar a tag %(tagName)s para a sala", "failed_remove_tag": "Falha ao remover a tag %(tagName)s da sala", "failed_set_dm_tag": "Falha ao definir a marca de mensagem direta", @@ -3111,6 +3114,8 @@ "jumptodate": "Ir para a data especificada na linha do tempo", "jumptodate_invalid_input": "Não foi possível entender a data fornecida (%(inputDate)s). Tente usando o formato AAAA-MM-DD.", "lenny": "Adiciona ( ͡° ͜ʖ ͡°) a uma mensagem de texto", + "manual_device_verification_confirm_description": "Isso permitirá que outro dispositivo envie e receba mensagens como você. SE ALGUÉM LHE DISSE PARA COLAR ALGO AQUI, É PROVÁVEL QUE VOCÊ ESTEJA SENDO ENGANADO! Tem certeza de que deseja verificar esse outro dispositivo?", + "manual_device_verification_confirm_title": "Cuidado: verificação manual do dispositivo", "me": "Visualizar atividades", "msg": "Envia uma mensagem para determinada pessoa", "myavatar": "Altera a foto do seu perfil em todas as salas", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index b659545437..b884089970 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -973,7 +973,6 @@ }, "reset_all_button": "Забыли или потеряли все варианты восстановления? Сбросить всё", "set_up_recovery": "Настроить восстановление", - "set_up_recovery_later": "Не сейчас", "set_up_recovery_toast_description": "Создайте ключ восстановления, который можно использовать для восстановления зашифрованной истории сообщений в случае потери доступа к своим устройствам.", "set_up_toast_description": "Защита от потери доступа к зашифрованным сообщениям и данным", "set_up_toast_title": "Настроить безопасное резервное копирование", diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 08fc2c7d5f..91f04cd49b 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -973,7 +973,6 @@ }, "reset_all_button": "Zabudli ste alebo ste stratili všetky metódy obnovy? Resetovať všetko", "set_up_recovery": "Nastaviť obnovenie", - "set_up_recovery_later": "Teraz nie", "set_up_recovery_toast_description": "Vytvorte kľúč na obnovenie, ktorý môžete použiť na obnovenie histórie šifrovaných správ v prípade straty prístupu k zariadeniam.", "set_up_toast_description": "Zabezpečte sa proti strate šifrovaných správ a údajov", "set_up_toast_title": "Nastaviť bezpečné zálohovanie", diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index ead0458034..b0a673a650 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -961,7 +961,6 @@ }, "reset_all_button": "Glömt eller förlorat alla återställningsalternativ? Återställ allt", "set_up_recovery": "Ställ in återställning", - "set_up_recovery_later": "Inte nu", "set_up_recovery_toast_description": "Generera en återställningsnyckel som kan användas för att återställa din krypterade meddelandehistorik om du förlorar åtkomst till dina enheter.", "set_up_toast_description": "Skydda mot att förlora åtkomst till krypterade meddelanden och data", "set_up_toast_title": "Ställ in säker säkerhetskopiering", @@ -3783,6 +3782,7 @@ "description": "För att skapa en delningslänk, gör det här rummet offentligt eller aktivera alternativet för användare att be om att få gå med. Detta gör att gäster kan gå med utan att bli inbjudna.", "dont_change_description": "Om du inte vill ändra åtkomst till det här rummet kan du skapa ett nytt rum för samtalslänken.", "no_change": "Jag vill inte ändra åtkomstnivån.", + "revert_access_description": "(Detta kan återställas till föregående värde i Rumsinställningarna: Säkerhet och sekretess / Åtkomst)", "title": "Tillåt gästanvändare att gå med i det här rummet" }, "upload_failed_generic": "Filen '%(fileName)s' kunde inte laddas upp.", diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 264880a2d4..c46b0d0c9c 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -934,7 +934,6 @@ }, "reset_all_button": "Tüm kurtarma yöntemlerini unuttunuz veya kaybettiniz mi? Tümünü sıfırla", "set_up_recovery": "Kurtarmayı ayarlayın", - "set_up_recovery_later": "Şimdi değil", "set_up_recovery_toast_description": "Cihazlarınıza erişiminizi kaybetmeniz durumunda şifrelenmiş mesaj geçmişinizi geri yüklemek için kullanılabilecek bir kurtarma anahtarı oluşturun.", "set_up_toast_description": "Şifrelenmiş mesajlara ve verilere erişimi kaybetmemek için koruma sağlayın", "set_up_toast_title": "Güvenli Yedekleme kur", diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json index de0e6c6a06..4d9e4ba0bf 100644 --- a/src/i18n/strings/uk.json +++ b/src/i18n/strings/uk.json @@ -970,7 +970,6 @@ }, "reset_all_button": "Забули чи втратили всі способи відновлення? Скинути все", "set_up_recovery": "Налаштування відновлення", - "set_up_recovery_later": "Не зараз", "set_up_recovery_toast_description": "Згенеруйте ключ відновлення, який можна використовувати для відновлення історії зашифрованих повідомлень у разі втрати доступу до своїх пристроїв.", "set_up_toast_description": "Захистіться від втрати доступу до зашифрованих повідомлень і даних", "set_up_toast_title": "Налаштувати захищене резервне копіювання", From 8705efec4035b8cebd03db6bf69f622f40b67a18 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 20 Jun 2025 13:27:40 +0100 Subject: [PATCH 033/142] Use stale-screenshot-reporter from playwright-common (#30175) * Use stale-screenshot-reporter from playwright-common Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/end-to-end-tests.yaml | 2 +- package.json | 3 +- playwright/stale-screenshot-reporter.ts | 71 ------------------------- yarn.lock | 53 +++++++++++++++--- 4 files changed, 48 insertions(+), 81 deletions(-) delete mode 100644 playwright/stale-screenshot-reporter.ts diff --git a/.github/workflows/end-to-end-tests.yaml b/.github/workflows/end-to-end-tests.yaml index b2d49d7703..5901d7a700 100644 --- a/.github/workflows/end-to-end-tests.yaml +++ b/.github/workflows/end-to-end-tests.yaml @@ -227,7 +227,7 @@ jobs: - name: Merge into HTML Report if: inputs.skip != true - run: yarn playwright merge-reports --reporter=html,./playwright/flaky-reporter.ts,./playwright/stale-screenshot-reporter.ts ./all-blob-reports + run: yarn playwright merge-reports --reporter=html,./playwright/flaky-reporter.ts,@element-hq/element-web-playwright-common/lib/stale-screenshot-reporter.js ./all-blob-reports env: # Only pass creds to the flaky-reporter on main branch runs GITHUB_TOKEN: ${{ github.ref_name == 'develop' && secrets.ELEMENT_BOT_TOKEN || '' }} diff --git a/package.json b/package.json index 36c501e13d..fe08074cae 100644 --- a/package.json +++ b/package.json @@ -181,7 +181,7 @@ "@babel/runtime": "^7.12.5", "@casualbot/jest-sonar-reporter": "2.2.7", "@element-hq/element-call-embedded": "0.12.2", - "@element-hq/element-web-playwright-common": "^1.1.5", + "@element-hq/element-web-playwright-common": "^1.4.2", "@peculiar/webcrypto": "^1.4.3", "@playwright/test": "^1.50.1", "@principalstudio/html-webpack-inject-preload": "^1.2.7", @@ -252,7 +252,6 @@ "fetch-mock": "9.11.0", "fetch-mock-jest": "^1.5.1", "file-loader": "^6.0.0", - "glob": "^11.0.0", "html-webpack-plugin": "^5.5.3", "husky": "^9.0.0", "jest": "^29.6.2", diff --git a/playwright/stale-screenshot-reporter.ts b/playwright/stale-screenshot-reporter.ts deleted file mode 100644 index 36aba56a07..0000000000 --- a/playwright/stale-screenshot-reporter.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2024 The Matrix.org Foundation C.I.C. - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial -Please see LICENSE files in the repository root for full details. -*/ - -/** - * Test reporter which compares the reported screenshots vs those on disk to find stale screenshots - * Only intended to run from within GitHub Actions - */ - -import path from "node:path"; -import { glob } from "glob"; - -import type { Reporter, TestCase } from "@playwright/test/reporter"; - -const snapshotRoot = path.join(__dirname, "snapshots"); - -class StaleScreenshotReporter implements Reporter { - private screenshots = new Set(); - private failing = false; - private success = true; - - public onTestEnd(test: TestCase): void { - if (!test.ok()) { - this.failing = true; - } - for (const annotation of test.annotations) { - if (annotation.type === "_screenshot") { - this.screenshots.add(annotation.description); - } - } - } - - private error(msg: string, file: string) { - if (process.env.GITHUB_ACTIONS) { - console.log(`::error file=${file}::${msg}`); - } - console.error(msg, file); - this.success = false; - } - - public async onExit(): Promise { - if (this.failing) return; - const screenshotFiles = new Set(await glob(`**/*.png`, { cwd: snapshotRoot })); - for (const screenshot of screenshotFiles) { - if (screenshot.split("-").at(-1) !== "linux.png") { - this.error( - "Found screenshot belonging to different platform, this should not be checked in", - screenshot, - ); - } - } - for (const screenshot of this.screenshots) { - screenshotFiles.delete(screenshot); - } - if (screenshotFiles.size > 0) { - for (const screenshot of screenshotFiles) { - this.error("Stale screenshot file", screenshot); - } - } - - if (!this.success) { - process.exit(1); - } - } -} - -export default StaleScreenshotReporter; diff --git a/yarn.lock b/yarn.lock index 807587985b..c8d095309b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1677,13 +1677,14 @@ resolved "https://registry.yarnpkg.com/@element-hq/element-web-module-api/-/element-web-module-api-1.0.0.tgz#df09108b0346a44ad2898c603d1a6cda5f50d80b" integrity sha512-FYId5tYgaKvpqAXRXqs0pY4+7/A09bEl1mCxFqlS9jlZOCjlMZVvZuv8spbY8ZN9HaMvuVmx9J00Fn2gCJd0TQ== -"@element-hq/element-web-playwright-common@^1.1.5": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@element-hq/element-web-playwright-common/-/element-web-playwright-common-1.3.0.tgz#5f57eb2ee25e9733c92185ef57431db808deb603" - integrity sha512-tq3lN77f0KnTYtPVkRrwvsWpq/JAC6JqDkC2f6dxuvX3a+OmyjGnuoZh83kB2WNObfrrx7gxmsZpS7ov2mrw4Q== +"@element-hq/element-web-playwright-common@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@element-hq/element-web-playwright-common/-/element-web-playwright-common-1.4.2.tgz#3c05673ddbdc042cb34fa1063e0b8651a74c3f0e" + integrity sha512-p/P0J1TWlfZgJjUCXYWOL6HqpEg63Rm6sKQjBm/9EJD1xWqJY+xMrZu97cuXSKL60NOGF6vpBhW/gdNQT/Nz1w== dependencies: "@axe-core/playwright" "^4.10.1" "@testcontainers/postgresql" "^11.0.0" + glob "^11.0.3" lodash-es "^4.17.21" mailpit-api "^1.2.0" strip-ansi "^7.1.0" @@ -1879,6 +1880,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== +"@isaacs/balanced-match@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" + integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== + +"@isaacs/brace-expansion@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3" + integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA== + dependencies: + "@isaacs/balanced-match" "^4.0.1" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -3846,7 +3859,7 @@ classnames "^2.5.1" vaul "^1.0.0" -"@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm": +"@vector-im/matrix-wysiwyg-wasm@link:../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" uid "" @@ -3855,7 +3868,7 @@ resolved "https://registry.yarnpkg.com/@vector-im/matrix-wysiwyg/-/matrix-wysiwyg-2.38.3.tgz#cc54d8b3e9472bcd8e622126ba364ee31952cd8a" integrity sha512-fqo8P55Vc/t0vxpFar9RDJN5gKEjJmzrLo+O4piDbFda6VrRoqrWAtiu0Au0g6B4hRDPKIuFupk8v9Ja7q8Hvg== dependencies: - "@vector-im/matrix-wysiwyg-wasm" "link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm" + "@vector-im/matrix-wysiwyg-wasm" "link:../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.3-cc54d8b3e9472bcd8e622126ba364ee31952cd8a-integrity/node_modules/bindings/wysiwyg-wasm" "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" @@ -6997,7 +7010,7 @@ foreachasync@^3.0.0: resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" integrity sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw== -foreground-child@^3.1.0: +foreground-child@^3.1.0, foreground-child@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== @@ -7242,6 +7255,18 @@ glob@^11.0.0: package-json-from-dist "^1.0.0" path-scurry "^2.0.0" +glob@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.3.tgz#9d8087e6d72ddb3c4707b1d2778f80ea3eaefcd6" + integrity sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA== + dependencies: + foreground-child "^3.3.1" + jackspeak "^4.1.1" + minimatch "^10.0.3" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^2.0.0" + glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -8222,6 +8247,13 @@ jackspeak@^4.0.1: dependencies: "@isaacs/cliui" "^8.0.2" +jackspeak@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.1.1.tgz#96876030f450502047fc7e8c7fcf8ce8124e43ae" + integrity sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + jake@^10.8.5: version "10.9.2" resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" @@ -9420,6 +9452,13 @@ minimatch@^10.0.0: dependencies: brace-expansion "^2.0.1" +minimatch@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.3.tgz#cf7a0314a16c4d9ab73a7730a0e8e3c3502d47aa" + integrity sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw== + dependencies: + "@isaacs/brace-expansion" "^5.0.0" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" From ac9c6f11fbc3ca49f44878e1ad173d60d963d6c3 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Mon, 23 Jun 2025 08:25:15 +0200 Subject: [PATCH 034/142] [create-pull-request] automated change (#30182) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- src/i18n/strings/el.json | 32 ++++++++++++++++++++++++-------- src/i18n/strings/sk.json | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 9 deletions(-) diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index 276a910b06..218eff3188 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -770,10 +770,10 @@ "encryption": { "access_secret_storage_dialog": { "key_validation_text": { - "wrong_security_key": "Λάθος Κλειδί Ασφαλείας" + "wrong_security_key": "Το κλειδί ανάκτησης που εισαγάγατε δεν είναι σωστό." }, "restoring": "Επαναφορά κλειδιών από αντίγραφο ασφαλείας", - "security_key_title": "Κλειδί Ασφαλείας" + "security_key_title": "Κλειδί Ανάκτησης" }, "bootstrap_title": "Ρύθμιση κλειδιών", "confirm_encryption_setup_body": "Κάντε κλικ στο κουμπί παρακάτω για να επιβεβαιώσετε τη ρύθμιση της κρυπτογράφησης.", @@ -786,6 +786,9 @@ "cross_signing_user_warning": "Αυτός ο χρήστης δεν έχει επαληθεύσει όλες τις συνεδρίες του.", "event_shield_reason_authenticity_not_guaranteed": "Η αυθεντικότητα αυτού του κρυπτογραφημένου μηνύματος δεν είναι εγγυημένη σε αυτήν τη συσκευή.", "event_shield_reason_mismatched_sender_key": "Κρυπτογραφήθηκε από μια μη επαληθευμένη συνεδρία", + "event_shield_reason_unknown_device": "Κρυπτογραφημένο από άγνωστη ή διαγραμμένη συσκευή.", + "event_shield_reason_unsigned_device": "Κρυπτογραφημένο από συσκευή που δεν έχει επαληθευτεί από τον κάτοχό της.", + "event_shield_reason_unverified_identity": "Κρυπτογραφημένο από μη επαληθευμένο χρήστη.", "export_unsupported": "Ο περιηγητής σας δεν υποστηρίζει τα απαιτούμενα πρόσθετα κρυπτογράφησης", "import_invalid_keyfile": "Μη έγκυρο αρχείο κλειδιού %(brand)s", "import_invalid_passphrase": "Αποτυχία ελέγχου πιστοποίησης: λανθασμένος κωδικός πρόσβασης;", @@ -816,6 +819,7 @@ "explainer": "Δημιουργήστε αντίγραφα ασφαλείας των κλειδιών σας πριν αποσυνδεθείτε για να μην τα χάσετε." }, "udd": { + "interactive_verification_button": "Διαδραστική επαλήθευση με emoji", "other_ask_verify_text": "Ζητήστε από αυτόν τον χρήστη να επιβεβαιώσει την συνεδρία του, ή επιβεβαιώστε την χειροκίνητα παρακάτω.", "other_new_session_text": "Ο %(name)s (%(userId)s) συνδέθηκε σε μία νέα συνεδρία χωρίς να την επιβεβαιώσει:", "own_ask_verify_text": "Επιβεβαιώστε την άλλη σας συνεδρία χρησιμοποιώντας μία από τις παρακάτω επιλογές.", @@ -838,14 +842,17 @@ "complete_action": "Κατανοώ", "complete_description": "Επαληθεύσατε με επιτυχία αυτόν τον χρήστη.", "complete_title": "Επαληθεύτηκε!", + "error_starting_description": "Δεν ήταν δυνατή η έναρξη συνομιλίας με τον άλλο χρήστη.", + "error_starting_title": "Σφάλμα κατά την έναρξη της επαλήθευσης", "explainer": "Τα ασφαλή μηνύματα με αυτόν τον χρήστη είναι κρυπτογραφημένα από άκρο σε άκρο και δεν μπορούν να διαβαστούν από τρίτους.", "in_person": "Για να είστε ασφαλείς, κάντε το αυτοπροσώπως ή χρησιμοποιήστε έναν αξιόπιστο τρόπο επικοινωνίας.", "incoming_sas_device_dialog_text_1": "Επαληθεύστε αυτήν τη συσκευή για να την επισημάνετε ως αξιόπιστη. Η εμπιστοσύνη αυτής της συσκευής προσφέρει σε εσάς και σε άλλους χρήστες επιπλέον ηρεμία όταν χρησιμοποιείτε μηνύματα με κρυπτογράφηση από άκρο σε άκρο.", "incoming_sas_device_dialog_text_2": "Η επαλήθευση αυτής της συσκευής θα την επισημάνει ως αξιόπιστη και οι χρήστες που έχουν επαληθευτεί μαζί σας θα εμπιστεύονται αυτήν τη συσκευή.", "incoming_sas_dialog_title": "Εισερχόμενο Αίτημα Επαλήθευσης", + "incoming_sas_dialog_waiting": "Αναμονή επιβεβαίωσης από τον συνεργάτη…", "incoming_sas_user_dialog_text_1": "Επαληθεύστε αυτόν τον χρήστη για να τον επισημάνετε ως αξιόπιστο. Η εμπιστοσύνη των χρηστών σάς προσφέρει επιπλέον ηρεμία όταν χρησιμοποιείτε μηνύματα με κρυπτογράφηση από άκρο σε άκρο.", "incoming_sas_user_dialog_text_2": "Η επαλήθευση αυτού του χρήστη θα επισημάνει τη συνεδρία του ως αξιόπιστη και θα επισημάνει επίσης τη συνεδρία σας ως αξιόπιστη σε αυτόν.", - "no_key_or_device": "Φαίνεται ότι δε διαθέτετε Κλειδί Ασφαλείας ή άλλες συσκευές με τις οποίες μπορείτε να επαληθεύσετε. Αυτή η συσκευή δε θα έχει πρόσβαση σε παλιά κρυπτογραφημένα μηνύματα. Για να επαληθεύσετε την ταυτότητά σας σε αυτήν τη συσκευή, θα πρέπει να επαναφέρετε τα κλειδιά επαλήθευσης.", + "no_key_or_device": "Φαίνεται ότι δεν έχετε Κλειδί Ανάκτησης ή άλλες συσκευές με τις οποίες μπορείτε να κάνετε επαλήθευση. Αυτή η συσκευή δεν θα έχει πρόσβαση σε παλιά κρυπτογραφημένα μηνύματα. Για να επαληθεύσετε την ταυτότητά σας σε αυτήν τη συσκευή, θα πρέπει να επαναφέρετε τα κλειδιά επαλήθευσης.", "no_support_qr_emoji": "Η συσκευή που προσπαθείτε να επαληθεύσετε δεν υποστηρίζει τη σάρωση κωδικού QR ή επαλήθευσης emoji, κάτι που υποστηρίζει το %(brand)s. Δοκιμάστε με διαφορετικό πρόγραμμα-πελάτη.", "other_party_cancelled": "Το άλλο μέρος ακύρωσε την επαλήθευση.", "prompt_encrypted": "Επαληθεύστε όλους τους χρήστες σε ένα δωμάτιο για να βεβαιωθείτε ότι είναι ασφαλές.", @@ -857,6 +864,8 @@ "qr_prompt": "Σαρώστε αυτόν τον μοναδικό κωδικό", "qr_reciprocate_same_shield_device": "Σχεδόν έτοιμοι! Εμφανίζεται η ίδια ασπίδα και στην άλλη συσκευή σας;", "qr_reciprocate_same_shield_user": "Σχεδόν έτοιμοι! Εμφανίζεται η ίδια ασπίδα και στον χρήστη %(displayName)s;", + "request_toast_accept": "Επαλήθευση Συνεδρίας", + "request_toast_decline_counter": "Παράβλεψη (%(counter)s)", "request_toast_detail": "%(deviceId)s από %(ip)s", "reset_proceed_prompt": "Προχωρήστε με την επαναφορά", "sas_caption_self": "Επαληθεύστε αυτήν τη συσκευή επιβεβαιώνοντας ότι ο ακόλουθος αριθμός εμφανίζεται στην οθόνη της.", @@ -876,10 +885,12 @@ "successful_user": "Επαληθεύσατε με επιτυχία τον χρήστη %(displayName)s!", "timed_out": "Η επαλήθευση έληξε.", "unsupported_method": "Δεν είναι δυνατή η εύρεση μιας υποστηριζόμενης μεθόδου επαλήθευσης.", + "unverified_session_toast_accept": "Ναι, ήμουν εγώ", "unverified_session_toast_title": "Νέα σύνδεση. Ήσουν εσύ;", "unverified_sessions_toast_description": "Ελέγξτε για να βεβαιωθείτε ότι ο λογαριασμός σας είναι ασφαλής", "unverified_sessions_toast_reject": "Αργότερα", - "verification_description": "Επαληθεύστε την ταυτότητά σας για να αποκτήσετε πρόσβαση σε κρυπτογραφημένα μηνύματα και να αποδείξετε την ταυτότητά σας σε άλλους.", + "unverified_sessions_toast_title": "Έχετε μη επαληθευμένες συνεδρίες", + "verification_description": "Επαληθεύστε την ταυτότητά σας για να αποκτήσετε πρόσβαση σε κρυπτογραφημένα μηνύματα και να αποδείξετε την ταυτότητά σας σε άλλους. Εάν χρησιμοποιείτε επίσης κινητή συσκευή, ανοίξτε την εφαρμογή εκεί πριν προχωρήσετε.", "verification_dialog_title_device": "Επαλήθευση άλλης συσκευής", "verification_dialog_title_user": "Αίτημα επαλήθευσης", "verification_skip_warning": "Χωρίς επαλήθευση, δε θα έχετε πρόσβαση σε όλα τα μηνύματά σας και ενδέχεται να φαίνεστε ως αναξιόπιστος στους άλλους.", @@ -890,8 +901,8 @@ "verify_emoji_prompt_qr": "Εάν δεν μπορείτε να σαρώσετε τον παραπάνω κώδικα, επαληθεύστε το συγκρίνοντας μοναδικά emoji.", "verify_later": "Θα επαληθεύσω αργότερα", "verify_using_device": "Επαλήθευση με άλλη συσκευή", - "verify_using_key": "Επαλήθευση με Κλειδί ασφαλείας", - "verify_using_key_or_phrase": "Επαλήθευση με Κλειδί Ασφαλείας ή Φράση Ασφαλείας", + "verify_using_key": "Επαλήθευση με Κλειδί Ανάκτησης", + "verify_using_key_or_phrase": "Επαλήθευση με Κλειδί ή Φράση Ανάκτησης", "waiting_for_user_accept": "Αναμονή αποδοχής από %(displayName)s…", "waiting_other_device": "Αναμονή για επαλήθευση στην άλλη συσκευή σας…", "waiting_other_device_details": "Αναμονή για επαλήθευση στην άλλη συσκευή σας, %(deviceName)s (%(deviceId)s)…", @@ -1918,7 +1929,7 @@ }, "join_rule_upgrade_upgrading_room": "Αναβάθμιση δωματίου", "public_without_alias_warning": "Για να δημιουργήσετε σύνδεσμο σε αυτό το δωμάτιο, παρακαλώ προσθέστε μια διεύθυνση.", - "strict_encryption": "Μη στέλνετε ποτέ κρυπτογραφημένα μηνύματα σε μη επαληθευμένες συνεδρίες σε αυτό το δωμάτιο από αυτή τη συνεδρία", + "strict_encryption": "Αποστολή μηνυμάτων μόνο σε επαληθευμένους χρήστες.", "title": "Ασφάλεια & Απόρρητο" }, "title": "Ρυθμίσεις Δωματίου - %(roomName)s", @@ -2417,6 +2428,7 @@ }, "slash_command": { "addwidget": "Προσθέτει ένα προσαρμοσμένο widget μέσω URL στο δωμάτιο", + "addwidget_iframe_missing_src": "Το iframe δεν έχει χαρακτηριστικό src", "addwidget_invalid_protocol": "Παρακαλώ εισάγετε ένα widget URL με https:// ή http://", "addwidget_missing_url": "Παρακαλώ εισάγετε ένα widget URL ή ενσωματώστε κώδικα", "addwidget_no_permissions": "Δεν μπορείτε να τροποποιήσετε μικροεφαρμογές σε αυτό το δωμάτιο.", @@ -2430,10 +2442,12 @@ "command_error": "Σφάλμα εντολής", "converttodm": "Μετατρέπει το δωμάτιο σε προσωπική συνομιλία", "converttoroom": "Μετατρέπει την προσωπική συνομιλία σε δωμάτιο", + "could_not_find_room": "Δεν ήταν δυνατή η εύρεση αίθουσας", "deop": "Deop χρήστη με το συγκεκριμένο αναγνωριστικό", "devtools": "Ανοίγει το παράθυρο Εργαλείων για Προγραμματιστές", "discardsession": "Επιβάλλει την τρέχουσα εξερχόμενη ομαδική συνεδρία σε κρυπτογραφημένο δωμάτιο για απόρριψη", "error_invalid_rendering_type": "Σφάλμα εντολής: Δεν είναι δυνατή η εύρεση του τύπου απόδοσης (%(renderingType)s)", + "error_invalid_room": "Η εντολή απέτυχε: Δεν ήταν δυνατή η εύρεση αίθουσας (%(roomId)s)", "error_invalid_runfn": "Σφάλμα εντολής: Δεν είναι δυνατή η χρήση της εντολής slash.", "help": "Εμφανίζει τη λίστα εντολών με τρόπους χρήσης και περιγραφές", "help_dialog_title": "Βοήθεια Εντολών", @@ -2446,6 +2460,7 @@ "invite_3pid_needs_is_error": "Χρησιμοποιήστε έναν διακομιστή ταυτοτήτων για να προσκαλέσετε μέσω email. Μπορείτε να κάνετε διαχείριση στις Ρυθμίσεις.", "invite_3pid_use_default_is_title": "Χρησιμοποιήστε ένα διακομιστή ταυτοτήτων", "invite_3pid_use_default_is_title_description": "Χρησιμοποιήστε έναν διακομιστή ταυτοτήτων για να προσκαλέσετε μέσω email. Πατήστε συνέχεια για να χρησιμοποιήσετε τον προεπιλεγμένο διακομιστή ταυτοτήτων (%(defaultIdentityServerName)s) ή μπείτε στην διαχείριση στις Ρυθμίσεις.", + "invite_failed": "Ο χρήστης (%(user)s) δεν προσκλήθηκε στο %(roomId)s, αλλά δεν δόθηκε σφάλμα από το βοηθητικό πρόγραμμα πρόσκλησης.", "join": "Σύνδεση στην αίθουσα με την δοθείσα διεύθυνση", "jumptodate": "Μεταβείτε στη δεδομένη ημερομηνία στο χρονολόγιο", "jumptodate_invalid_input": "Αδυναμία κατανόησης της δοθείσας ημερομηνίας (%(inputDate)s). Προσπαθήστε να χρησιμοποιήσετε την μορφή YYYY-MM-DD.", @@ -2490,7 +2505,8 @@ "upgraderoom": "Αναβαθμίζει το δωμάτιο σε μια καινούργια έκδοση", "upgraderoom_permission_error": "Δεν διαθέτετε τις απαιτούμενες άδειες για να χρησιμοποιήσετε αυτήν την εντολή.", "usage": "Χρήση", - "verify": "Επιβεβαιώνει έναν χρήστη, συνεδρία, και pubkey tuple", + "verify": "Επαληθεύστε χειροκίνητα μια από τις δικές σας συσκευές", + "view": "Προβάλει την αίθουσα με την δεδομένη διεύθυνση", "whois": "Εμφανίζει πληροφορίες για έναν χρήστη" }, "space": { diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 91f04cd49b..5e7f955d1c 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -793,6 +793,7 @@ "cross_signing_status": "Stav krížového podpisovania:", "cross_signing_untrusted": "Váš účet má identitu s krížovým podpisom v tajnom úložisku, ale táto relácia mu zatiaľ nedôveruje.", "crypto_not_available": "Kryptografický modul nie je k dispozícii", + "device_id": "ID zariadenia", "key_backup_active_version": "Aktívna verzia zálohy:", "key_backup_active_version_none": "Žiadna", "key_backup_inactive_warning": "Vaše kľúče nie sú zálohované z tejto relácie.", @@ -805,6 +806,8 @@ "secret_storage_ready": "pripravený", "secret_storage_status": "Tajné úložisko:", "self_signing_private_key_cached_status": "Súkromný kľúč s vlastným podpisom:", + "session": "Relácia", + "session_fingerprint": "Odtlačok prsta (kľúč relácie)", "title": "Šifrovanie typu end-to-end", "user_signing_private_key_cached_status": "Súkromný kľúč podpisovania používateľa:" }, @@ -830,6 +833,7 @@ "low_bandwidth_mode": "Režim nízkej šírky pásma", "low_bandwidth_mode_description": "Vyžaduje kompatibilný domovský server.", "main_timeline": "Hlavná časová os", + "manual_device_verification": "Manuálne overenie zariadenia", "no_receipt_found": "Nenašlo sa žiadne potvrdenie", "notification_state": "Stav oznámenia je %(notificationState)s", "notifications_debug": "Ladenie oznámení", @@ -1015,6 +1019,21 @@ "incoming_sas_dialog_waiting": "Čakanie na potvrdenie od partnera…", "incoming_sas_user_dialog_text_1": "Overte tohto používateľa a označte ho ako dôveryhodného. Dôveryhodní používatelia vám poskytujú dodatočný pokoj na duši pri používaní end-to-end šifrovaných správ.", "incoming_sas_user_dialog_text_2": "Overenie tohto používateľa označí jeho reláciu ako dôveryhodnú a zároveň označí vašu reláciu ako dôveryhodnú pre neho.", + "manual": { + "already_verified": "Toto zariadenie je už overené", + "already_verified_and_wrong_fingerprint": "Zadaný odtlačok prsta sa nezhoduje, ale zariadenie je už overené!", + "device_id": "ID zariadenia", + "failure_description": "Nepodarilo sa overiť '%(deviceId)s': %(error)s", + "failure_title": "Overenie zlyhalo", + "fingerprint": "Odtlačok prsta (kľúč relácie)", + "no_crypto": "Nie je možné overiť zariadenie - kryptografia nie je povolená", + "no_device": "Zariadenie sa nepodarilo overiť - zariadenie '%(deviceId)s' nebolo nájdené", + "no_userid": "Nie je možné overiť zariadenie - nepodarilo sa nájsť naše ID používateľa", + "success_description": "Zariadenie (%(deviceId)s ) je teraz krížovo podpísané", + "success_title": "Overenie úspešné", + "text": "Na overenie zadajte ID a odtlačok jedného z vašich vlastných zariadení. POZNÁMKA: toto umožňuje druhému zariadeniu odosielať a prijímať správy ako vy. AK VÁM NIEKTO POVEDAL, ABY STE SEM NIEČO VLOŽILI, JE PRAVDEPODOBNÉ, ŽE IDE O PODVOD!", + "wrong_fingerprint": "Nie je možné overiť zariadenie '%(deviceId)s' - dodaný odtlačok prsta '%(fingerprint)s' sa nezhoduje s odtlačkom prsta zariadenia, '%(fprint)s'" + }, "no_key_or_device": "Vyzerá to, že nemáte kľúč na obnovenie ani žiadne iné zariadenie, pomocou ktorého by ste to mohli overiť. Toto zariadenie nebude mať prístup k starým zašifrovaným správam. Ak chcete overiť svoju totožnosť na tomto zariadení, budete musieť obnoviť svoje overovacie kľúče.", "no_support_qr_emoji": "Zariadenie, ktoré sa snažíte overiť, nepodporuje overenie skenovaním QR kódu ani overenie pomocou emotikonov, ktoré podporuje aplikácia %(brand)s. Skúste použiť iného klienta.", "other_party_cancelled": "Proti strana zrušila overovanie.", @@ -1980,6 +1999,7 @@ }, "face_pile_tooltip_shortcut": "Vrátane %(commaSeparatedMembers)s", "face_pile_tooltip_shortcut_joined": "Vrátane vás, %(commaSeparatedMembers)s", + "failed_determine_user": "Nie je možné určiť, ktorého používateľa ignorovať, pretože sa zmenila udalosť člena.", "failed_reject_invite": "Nepodarilo sa odmietnuť pozvanie", "forget_room": "Zabudnúť túto miestnosť", "forget_space": "Zabudnúť tento priestor", @@ -2072,6 +2092,8 @@ "read_topic": "Kliknutím si prečítate tému", "rejecting": "Odmietnutie pozvania …", "rejoin_button": "Znovu sa pripojiť", + "room_content": "Obsah miestnosti", + "room_is_low_priority": "Toto je miestnosť s nízkou prioritou", "search": { "all_rooms_button": "Vyhľadávať vo všetkých miestnostiach", "placeholder": "Hľadať správy…", @@ -2123,6 +2145,7 @@ "add_space_label": "Pridať priestor", "breadcrumbs_empty": "Žiadne nedávno navštívené miestnosti", "breadcrumbs_label": "Nedávno navštívené miestnosti", + "collapse_filters": "Zbaliť zoznam filtrov", "empty": { "no_chats": "Zatiaľ žiadne konverzácie", "no_chats_description": "Začnite tým, že niekomu napíšete správu alebo vytvoríte miestnosť", @@ -2130,6 +2153,7 @@ "no_favourites": "Zatiaľ nemáte obľúbenú konverzáciu", "no_favourites_description": "V nastaveniach konverzácií môžete pridať konverzáciu medzi obľúbené", "no_invites": "Nemáte žiadne neprečítané pozvánky", + "no_lowpriority": "Nemáte žiadne miestnosti s nízkou prioritou", "no_mentions": "Nemáte žiadne neprečítané zmienky", "no_people": "Zatiaľ s nikým nemáte priame konverzácie", "no_people_description": "Môžete zrušiť výber filtrov, aby ste videli svoje ostatné konverzácie", @@ -2139,6 +2163,7 @@ "show_activity": "Zobraziť všetku aktivitu", "show_chats": "Zobraziť všetky konverzácie" }, + "expand_filters": "Rozbaliť zoznam filtrov", "failed_add_tag": "Miestnosti sa nepodarilo pridať značku %(tagName)s", "failed_remove_tag": "Z miestnosti sa nepodarilo odstrániť značku %(tagName)s", "failed_set_dm_tag": "Nepodarilo sa nastaviť značku priamej správy", @@ -2719,6 +2744,9 @@ "inline_url_previews_room": "Predvolene povoliť náhľady URL adries pre členov tejto miestnosti", "inline_url_previews_room_account": "Povoliť náhľady URL adries pre túto miestnosť (ovplyvňuje len vás)", "insert_trailing_colon_mentions": "Vložiť na koniec dvojbodku za zmienkou používateľa na začiatku správy", + "invite_controls": { + "default_label": "Povoliť používateľom pozývať vás do miestností" + }, "jump_to_bottom_on_send": "Skok na koniec časovej osi pri odosielaní správy", "key_backup": { "backup_in_progress": "Zálohovanie kľúčov máte aktívne (prvé zálohovanie môže trvať niekoľko minút).", @@ -2785,6 +2813,7 @@ "show_in_private": "V súkromných miestnostiach", "show_media": "Vždy zobraziť" }, + "not_supported": "Váš server túto funkciu nepodporuje.", "notifications": { "default_setting_description": "Toto nastavenie sa predvolene použije pre všetky vaše miestnosti.", "default_setting_section": "Chcem byť upozornený na (predvolené nastavenie)", @@ -2842,6 +2871,7 @@ "voip": "Zvukové a video hovory" }, "preferences": { + "Electron.enableContentProtection": "Zabrániť zachytávaniu obsahu okna inými aplikáciami", "Electron.enableHardwareAcceleration": "Povoliť hardvérovú akceleráciu (reštartujte aplikáciu %(appName)s, aby sa prejavila)", "always_show_menu_bar": "Vždy zobraziť hornú lištu okna", "autocomplete_delay": "Oneskorenie automatického dokončovania (ms)", @@ -3017,6 +3047,7 @@ "show_chat_effects": "Zobraziť efekty konverzácie (animácie pri prijímaní napr. konfety)", "show_displayname_changes": "Zobrazovať zmeny zobrazovaného mena", "show_join_leave": "Zobraziť správy o pripojení/odchode (pozvania/odstránenia/zákazy nie sú ovplyvnené)", + "show_message_previews": "Zobraziť náhľady správ", "show_nsfw_content": "Zobraziť obsah NSFW", "show_read_receipts": "Zobrazovať potvrdenia o prečítaní od ostatných používateľov", "show_redaction_placeholder": "Zobrazovať náhrady za odstránené správy", @@ -3123,6 +3154,8 @@ "jumptodate": "Prejsť na zadaný dátum na časovej osi", "jumptodate_invalid_input": "Nepodarilo sa nám rozpoznať zadaný dátum (%(inputDate)s). Skúste použiť formát RRRR-MM-DD.", "lenny": "Pridá znaky ( ͡° ͜ʖ ͡°) pred správy vo formáte obyčajného textu", + "manual_device_verification_confirm_description": "Toto umožní inému zariadeniu odosielať a prijímať správy ako keby ste to boli vy. AK VÁM NIEKTO POVEDAL, ABY STE SEM NIEČO VLOŽILI, JE PRAVDEPODOBNÉ, ŽE IDE PO PODVOD! Ste si istí, že chcete overiť toto iné zariadenie?", + "manual_device_verification_confirm_title": "Upozornenie: ručné overenie zariadenia", "me": "Zobrazí akciu", "msg": "Pošle správu danému používateľovi", "myavatar": "Zmení váš profilový obrázok vo všetkých miestnostiach", @@ -3163,7 +3196,7 @@ "upgraderoom": "Aktualizuje miestnosť na novšiu verziu", "upgraderoom_permission_error": "Na použitie tohoto príkazu nemáte dostatočné povolenia.", "usage": "Použitie", - "verify": "Overí používateľa, reláciu a verejné kľúče", + "verify": "Manuálne overte jedno z vašich vlastných zariadení", "view": "Zobrazí miestnosti s danou adresou", "whois": "Zobrazuje informácie o používateľovi" }, From 0edaef3f7cf1fe33e4aa5126c63f47cae5e3dc75 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Mon, 23 Jun 2025 12:55:22 +0100 Subject: [PATCH 035/142] Support for custom message components via Module API (#30074) * Add new custom component api. * Remove context menu, refactor * fix types * Add a test for custom modules. * tidy * Rewrite for new API * Update tests * lint * Allow passing in props to original component * Add hinting * Update tests to be complete * lint a bit more * update docstring * update @element-hq/element-web-module-api to 1.1.0 * fix types * updates * hide jump to bottom button that was causing flakes * lint * lint * Use module matrix event interface instead. * update to new module sdk * adapt custom module sample * Issues caught by Sonar * lint * fix issues * make the comment make sense * fix import --- package.json | 2 +- .../e2e/modules/custom-component.spec.ts | 112 +++++++++++++++ .../sample-files/custom-component-module.js | 55 ++++++++ ...om-component-crash-handle-filter-linux.png | Bin 0 -> 5872 bytes ...-component-crash-handle-renderer-linux.png | Bin 0 -> 4772 bytes ...stom-component-tile-fall-through-linux.png | Bin 0 -> 5930 bytes .../custom-component-tile-linux.png | Bin 0 -> 6174 bytes .../custom-component-tile-original-linux.png | Bin 0 -> 4717 bytes src/events/EventTileFactory.tsx | 127 ++++++++++++------ src/modules/Api.ts | 4 +- src/modules/customComponentApi.ts | 126 +++++++++++++++++ src/utils/EventUtils.ts | 5 + yarn.lock | 8 +- 13 files changed, 389 insertions(+), 50 deletions(-) create mode 100644 playwright/e2e/modules/custom-component.spec.ts create mode 100644 playwright/sample-files/custom-component-module.js create mode 100644 playwright/snapshots/modules/custom-component.spec.ts/custom-component-crash-handle-filter-linux.png create mode 100644 playwright/snapshots/modules/custom-component.spec.ts/custom-component-crash-handle-renderer-linux.png create mode 100644 playwright/snapshots/modules/custom-component.spec.ts/custom-component-tile-fall-through-linux.png create mode 100644 playwright/snapshots/modules/custom-component.spec.ts/custom-component-tile-linux.png create mode 100644 playwright/snapshots/modules/custom-component.spec.ts/custom-component-tile-original-linux.png create mode 100644 src/modules/customComponentApi.ts diff --git a/package.json b/package.json index fe08074cae..da69d64e73 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ }, "dependencies": { "@babel/runtime": "^7.12.5", - "@element-hq/element-web-module-api": "1.0.0", + "@element-hq/element-web-module-api": "1.2.0", "@fontsource/inconsolata": "^5", "@fontsource/inter": "^5", "@formatjs/intl-segmenter": "^11.5.7", diff --git a/playwright/e2e/modules/custom-component.spec.ts b/playwright/e2e/modules/custom-component.spec.ts new file mode 100644 index 0000000000..b0cdfe5855 --- /dev/null +++ b/playwright/e2e/modules/custom-component.spec.ts @@ -0,0 +1,112 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { type Page } from "@playwright/test"; + +import { test, expect } from "../../element-web-test"; + +const screenshotOptions = (page: Page) => ({ + mask: [page.locator(".mx_MessageTimestamp")], + // Hide the jump to bottom button in the timeline to avoid flakiness + // Exclude timestamp and read marker from snapshot + css: ` + .mx_JumpToBottomButton { + display: none !important; + } + .mx_TopUnreadMessagesBar, .mx_MessagePanel_myReadMarker { + display: none !important; + } + `, +}); +test.describe("Custom Component API", () => { + test.use({ + displayName: "Manny", + config: { + modules: ["/modules/custom-component-module.js"], + }, + page: async ({ page }, use) => { + await page.route("/modules/custom-component-module.js", async (route) => { + await route.fulfill({ path: "playwright/sample-files/custom-component-module.js" }); + }); + await use(page); + }, + room: async ({ page, app, user, bot }, use) => { + const roomId = await app.client.createRoom({ name: "TestRoom" }); + await use({ roomId }); + }, + }); + test.describe("basic functionality", () => { + test( + "should replace the render method of a textual event", + { tag: "@screenshot" }, + async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Simple message"); + await expect(await page.locator(".mx_EventTile_last")).toMatchScreenshot( + "custom-component-tile.png", + screenshotOptions(page), + ); + }, + ); + test( + "should fall through if one module does not render a component", + { tag: "@screenshot" }, + async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Fall through here"); + await expect(await page.locator(".mx_EventTile_last")).toMatchScreenshot( + "custom-component-tile-fall-through.png", + screenshotOptions(page), + ); + }, + ); + test( + "should render the original content of a textual event conditionally", + { tag: "@screenshot" }, + async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Do not replace me"); + await expect(await page.locator(".mx_EventTile_last")).toMatchScreenshot( + "custom-component-tile-original.png", + screenshotOptions(page), + ); + }, + ); + test("should disallow editing when the allowEditingEvent hint is set to false", async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Do not show edits"); + await page.getByText("Do not show edits").hover(); + await expect( + await page.getByRole("toolbar", { name: "Message Actions" }).getByRole("button", { name: "Edit" }), + ).not.toBeVisible(); + }); + test( + "should render the next registered component if the filter function throws", + { tag: "@screenshot" }, + async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Crash the filter!"); + await expect(await page.locator(".mx_EventTile_last")).toMatchScreenshot( + "custom-component-crash-handle-filter.png", + screenshotOptions(page), + ); + }, + ); + test( + "should render original component if the render function throws", + { tag: "@screenshot" }, + async ({ page, room, app }) => { + await app.viewRoomById(room.roomId); + await app.client.sendMessage(room.roomId, "Crash the renderer!"); + await expect(await page.locator(".mx_EventTile_last")).toMatchScreenshot( + "custom-component-crash-handle-renderer.png", + screenshotOptions(page), + ); + }, + ); + }); +}); diff --git a/playwright/sample-files/custom-component-module.js b/playwright/sample-files/custom-component-module.js new file mode 100644 index 0000000000..8d4d1b3c1f --- /dev/null +++ b/playwright/sample-files/custom-component-module.js @@ -0,0 +1,55 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +export default class CustomComponentModule { + static moduleApiVersion = "^1.2.0"; + constructor(api) { + this.api = api; + this.api.customComponents.registerMessageRenderer( + (evt) => evt.content.body === "Do not show edits", + (_props, originalComponent) => { + return originalComponent(); + }, + { allowEditingEvent: false }, + ); + this.api.customComponents.registerMessageRenderer( + (evt) => evt.content.body === "Fall through here", + (props) => { + const body = props.mxEvent.content.body; + return `Fallthrough text for ${body}`; + }, + ); + this.api.customComponents.registerMessageRenderer( + (evt) => { + if (evt.content.body === "Crash the filter!") { + throw new Error("Fail test!"); + } + return false; + }, + () => { + return `Should not render!`; + }, + ); + this.api.customComponents.registerMessageRenderer( + (evt) => evt.content.body === "Crash the renderer!", + () => { + throw new Error("Fail test!"); + }, + ); + // Order is specific here to avoid this overriding the other renderers + this.api.customComponents.registerMessageRenderer("m.room.message", (props, originalComponent) => { + const body = props.mxEvent.content.body; + if (body === "Do not replace me") { + return originalComponent(); + } else if (body === "Fall through here") { + return null; + } + return `Custom text for ${body}`; + }); + } + async load() {} +} diff --git a/playwright/snapshots/modules/custom-component.spec.ts/custom-component-crash-handle-filter-linux.png b/playwright/snapshots/modules/custom-component.spec.ts/custom-component-crash-handle-filter-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b144ca6a5ecd5a82b5437f939b9bdd40e257f43e GIT binary patch literal 5872 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 Q{(0l3EUy8qkTVbdAEtwtegFUf literal 0 HcmV?d00001 diff --git a/playwright/snapshots/modules/custom-component.spec.ts/custom-component-tile-linux.png b/playwright/snapshots/modules/custom-component.spec.ts/custom-component-tile-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..7c5d6b66e6d2d753dbeee10cceba0445dd1e6782 GIT binary patch literal 6174 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 KD|+(s?f(EcI1Dxb literal 0 HcmV?d00001 diff --git a/src/events/EventTileFactory.tsx b/src/events/EventTileFactory.tsx index f1fc224471..0d91ded160 100644 --- a/src/events/EventTileFactory.tsx +++ b/src/events/EventTileFactory.tsx @@ -43,6 +43,7 @@ import ViewSourceEvent from "../components/views/messages/ViewSourceEvent"; import { shouldDisplayAsBeaconTile } from "../utils/beacon/timeline"; import { ElementCall } from "../models/Call"; import { type IBodyProps } from "../components/views/messages/IBodyProps"; +import ModuleApi from "../modules/Api"; // Subset of EventTile's IProps plus some mixins export interface EventTileTypeProps @@ -257,7 +258,14 @@ export function renderTile( cli = cli ?? MatrixClientPeg.safeGet(); // because param defaults don't do the correct thing const factory = pickFactory(props.mxEvent, cli, showHiddenEvents); - if (!factory) return undefined; + if (!factory) { + // If we don't have a factory for this event, attempt + // to find a custom component that can render it. + // Will return null if no custom component can render it. + return ModuleApi.customComponents.renderMessage({ + mxEvent: props.mxEvent, + }); + } // Note that we split off the ones we actually care about here just to be sure that we're // not going to accidentally send things we shouldn't from lazy callers. Eg: EventTile's @@ -284,36 +292,48 @@ export function renderTile( case TimelineRenderingType.File: case TimelineRenderingType.Notification: case TimelineRenderingType.Thread: - // We only want a subset of props, so we don't end up causing issues for downstream components. - return factory(props.ref, { - mxEvent, - highlights, - highlightLink, - showUrlPreview, - editState, - replacingEventId, - getRelationsForEvent, - isSeeingThroughMessageHiddenForModeration, - permalinkCreator, - inhibitInteraction, - }); + return ModuleApi.customComponents.renderMessage( + { + mxEvent: props.mxEvent, + }, + (origProps) => + factory(props.ref, { + // We only want a subset of props, so we don't end up causing issues for downstream components. + mxEvent, + highlights, + highlightLink, + showUrlPreview: origProps?.showUrlPreview ?? showUrlPreview, + editState, + replacingEventId, + getRelationsForEvent, + isSeeingThroughMessageHiddenForModeration, + permalinkCreator, + inhibitInteraction, + }), + ); default: - // NEARLY ALL THE OPTIONS! - return factory(ref, { - mxEvent, - forExport, - replacingEventId, - editState, - highlights, - highlightLink, - showUrlPreview, - permalinkCreator, - callEventGrouper, - getRelationsForEvent, - isSeeingThroughMessageHiddenForModeration, - timestamp, - inhibitInteraction, - }); + return ModuleApi.customComponents.renderMessage( + { + mxEvent: props.mxEvent, + }, + (origProps) => + factory(ref, { + // NEARLY ALL THE OPTIONS! + mxEvent, + forExport, + replacingEventId, + editState, + highlights, + highlightLink, + showUrlPreview: origProps?.showUrlPreview ?? showUrlPreview, + permalinkCreator, + callEventGrouper, + getRelationsForEvent, + isSeeingThroughMessageHiddenForModeration, + timestamp, + inhibitInteraction, + }), + ); } } @@ -332,7 +352,14 @@ export function renderReplyTile( cli = cli ?? MatrixClientPeg.safeGet(); // because param defaults don't do the correct thing const factory = pickFactory(props.mxEvent, cli, showHiddenEvents); - if (!factory) return undefined; + if (!factory) { + // If we don't have a factory for this event, attempt + // to find a custom component that can render it. + // Will return null if no custom component can render it. + return ModuleApi.customComponents.renderMessage({ + mxEvent: props.mxEvent, + }); + } // See renderTile() for why we split off so much const { @@ -350,19 +377,25 @@ export function renderReplyTile( permalinkCreator, } = props; - return factory(ref, { - mxEvent, - highlights, - highlightLink, - showUrlPreview, - overrideBodyTypes, - overrideEventTypes, - replacingEventId, - maxImageHeight, - getRelationsForEvent, - isSeeingThroughMessageHiddenForModeration, - permalinkCreator, - }); + return ModuleApi.customComponents.renderMessage( + { + mxEvent: props.mxEvent, + }, + (origProps) => + factory(ref, { + mxEvent, + highlights, + highlightLink, + showUrlPreview: origProps?.showUrlPreview ?? showUrlPreview, + overrideBodyTypes, + overrideEventTypes, + replacingEventId, + maxImageHeight, + getRelationsForEvent, + isSeeingThroughMessageHiddenForModeration, + permalinkCreator, + }), + ); } // XXX: this'll eventually be dynamic based on the fields once we have extensible event types @@ -386,6 +419,12 @@ export function haveRendererForEvent( return false; } + // Check to see if we have any hints for this message, which indicates + // there is a custom renderer for the event. + if (ModuleApi.customComponents.getHintsForMessage(mxEvent)) { + return true; + } + // No tile for replacement events since they update the original tile if (mxEvent.isRelation(RelationType.Replace)) return false; diff --git a/src/modules/Api.ts b/src/modules/Api.ts index 23abadf529..db7dd80334 100644 --- a/src/modules/Api.ts +++ b/src/modules/Api.ts @@ -6,8 +6,8 @@ Please see LICENSE files in the repository root for full details. */ import { createRoot, type Root } from "react-dom/client"; +import { type Api, type RuntimeModuleConstructor } from "@element-hq/element-web-module-api"; -import type { Api, RuntimeModuleConstructor } from "@element-hq/element-web-module-api"; import { ModuleRunner } from "./ModuleRunner.ts"; import AliasCustomisations from "../customisations/Alias.ts"; import { RoomListCustomisations } from "../customisations/RoomList.ts"; @@ -21,6 +21,7 @@ import { WidgetPermissionCustomisations } from "../customisations/WidgetPermissi import { WidgetVariableCustomisations } from "../customisations/WidgetVariables.ts"; import { ConfigApi } from "./ConfigApi.ts"; import { I18nApi } from "./I18nApi.ts"; +import { CustomComponentsApi } from "./customComponentApi.ts"; const legacyCustomisationsFactory = (baseCustomisations: T) => { let used = false; @@ -58,6 +59,7 @@ class ModuleApi implements Api { public readonly config = new ConfigApi(); public readonly i18n = new I18nApi(); + public readonly customComponents = new CustomComponentsApi(); public readonly rootNode = document.getElementById("matrixchat")!; public createRoot(element: Element): Root { diff --git a/src/modules/customComponentApi.ts b/src/modules/customComponentApi.ts new file mode 100644 index 0000000000..ce75a70507 --- /dev/null +++ b/src/modules/customComponentApi.ts @@ -0,0 +1,126 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { type MatrixEvent } from "matrix-js-sdk/src/matrix"; +import { logger } from "matrix-js-sdk/src/logger"; + +import type { + CustomComponentsApi as ICustomComponentsApi, + CustomMessageRenderFunction, + CustomMessageComponentProps as ModuleCustomMessageComponentProps, + OriginalComponentProps, + CustomMessageRenderHints, + MatrixEvent as ModuleMatrixEvent, +} from "@element-hq/element-web-module-api"; +import type React from "react"; + +type EventTypeOrFilter = Parameters[0]; + +type EventRenderer = { + eventTypeOrFilter: EventTypeOrFilter; + renderer: CustomMessageRenderFunction; + hints: CustomMessageRenderHints; +}; + +interface CustomMessageComponentProps extends Omit { + mxEvent: MatrixEvent; +} + +export class CustomComponentsApi implements ICustomComponentsApi { + /** + * Convert a matrix-js-sdk event into a ModuleMatrixEvent. + * @param mxEvent + * @returns An event object, or `null` if the event was not a message event. + */ + private static getModuleMatrixEvent(mxEvent: MatrixEvent): ModuleMatrixEvent | null { + const eventId = mxEvent.getId(); + const roomId = mxEvent.getRoomId(); + const sender = mxEvent.sender; + // Typically we wouldn't expect messages without these keys to be rendered + // by the timeline, but for the sake of type safety. + if (!eventId || !roomId || !sender) { + // Not a message event. + return null; + } + return { + content: mxEvent.getContent(), + eventId, + originServerTs: mxEvent.getTs(), + roomId, + sender: sender.userId, + stateKey: mxEvent.getStateKey(), + type: mxEvent.getType(), + unsigned: mxEvent.getUnsigned(), + }; + } + + private readonly registeredMessageRenderers: EventRenderer[] = []; + + public registerMessageRenderer( + eventTypeOrFilter: EventTypeOrFilter, + renderer: CustomMessageRenderFunction, + hints: CustomMessageRenderHints = {}, + ): void { + this.registeredMessageRenderers.push({ eventTypeOrFilter: eventTypeOrFilter, renderer, hints }); + } + /** + * Select the correct renderer based on the event information. + * @param mxEvent The message event being rendered. + * @returns The registered renderer. + */ + private selectRenderer(mxEvent: ModuleMatrixEvent): EventRenderer | undefined { + return this.registeredMessageRenderers.find((renderer) => { + if (typeof renderer.eventTypeOrFilter === "string") { + return renderer.eventTypeOrFilter === mxEvent.type; + } else { + try { + return renderer.eventTypeOrFilter(mxEvent); + } catch (ex) { + logger.warn("Message renderer failed to process filter", ex); + return false; // Skip erroring renderers. + } + } + }); + } + + /** + * Render the component for a message event. + * @param props Props to be passed to the custom renderer. + * @param originalComponent Function that will be rendered if no custom renderers are present, or as a child of a custom component. + * @returns A component if a custom renderer exists, or originalComponent returns a value. Otherwise null. + */ + public renderMessage( + props: CustomMessageComponentProps, + originalComponent?: (props?: OriginalComponentProps) => React.JSX.Element, + ): React.JSX.Element | null { + const moduleEv = CustomComponentsApi.getModuleMatrixEvent(props.mxEvent); + const renderer = moduleEv && this.selectRenderer(moduleEv); + if (renderer) { + try { + return renderer.renderer({ ...props, mxEvent: moduleEv }, originalComponent); + } catch (ex) { + logger.warn("Message renderer failed to render", ex); + // Fall through to original component. If the module encounters an error we still want to display messages to the user! + } + } + return originalComponent?.() ?? null; + } + + /** + * Get hints about an message before rendering it. + * @param mxEvent The message event being rendered. + * @returns A component if a custom renderer exists, or originalComponent returns a value. Otherwise null. + */ + public getHintsForMessage(mxEvent: MatrixEvent): CustomMessageRenderHints | null { + const moduleEv = CustomComponentsApi.getModuleMatrixEvent(mxEvent); + const renderer = moduleEv && this.selectRenderer(moduleEv); + if (renderer) { + return renderer.hints; + } + return null; + } +} diff --git a/src/utils/EventUtils.ts b/src/utils/EventUtils.ts index 9c387b16b0..ecaa7e06ec 100644 --- a/src/utils/EventUtils.ts +++ b/src/utils/EventUtils.ts @@ -30,6 +30,7 @@ import { type TimelineRenderingType } from "../contexts/RoomContext"; import { launchPollEditor } from "../components/views/messages/MPollBody"; import { Action } from "../dispatcher/actions"; import { type ViewRoomPayload } from "../dispatcher/payloads/ViewRoomPayload"; +import ModuleApi from "../modules/Api"; /** * Returns whether an event should allow actions like reply, reactions, edit, etc. @@ -77,6 +78,10 @@ export function canEditContent(matrixClient: MatrixClient, mxEvent: MatrixEvent) return false; } + if (ModuleApi.customComponents.getHintsForMessage(mxEvent)?.allowEditingEvent === false) { + return false; + } + const { msgtype, body } = mxEvent.getOriginalContent(); return ( M_POLL_START.matches(mxEvent.getType()) || diff --git a/yarn.lock b/yarn.lock index c8d095309b..3704b73d60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1672,10 +1672,10 @@ resolved "https://registry.yarnpkg.com/@element-hq/element-call-embedded/-/element-call-embedded-0.12.2.tgz#b6b6b7df69369b3088960b79591ce1bfd2b84a1a" integrity sha512-2u5/bOARcjc5TFq4929x1R0tvsNbeVA58FBtiW05GlIJCapxzPSOeeGhbqEcJ1TW3/hLGpiKMcw0QwRBQVNzQA== -"@element-hq/element-web-module-api@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@element-hq/element-web-module-api/-/element-web-module-api-1.0.0.tgz#df09108b0346a44ad2898c603d1a6cda5f50d80b" - integrity sha512-FYId5tYgaKvpqAXRXqs0pY4+7/A09bEl1mCxFqlS9jlZOCjlMZVvZuv8spbY8ZN9HaMvuVmx9J00Fn2gCJd0TQ== +"@element-hq/element-web-module-api@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@element-hq/element-web-module-api/-/element-web-module-api-1.2.0.tgz#4d91c890a74f808a82759dcb00a8e47dcf131236" + integrity sha512-+2fjShcuFLWVWzhRVlveg4MHevcT7XiXie6JB2SIS89FoJWAnsr41eiSbUORAIHndBCrznU8a/lYz9Pf8BXYVA== "@element-hq/element-web-playwright-common@^1.4.2": version "1.4.2" From c50000d1242dd88ee09c69cb68fedf1ad7354284 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Mon, 23 Jun 2025 17:57:45 +0200 Subject: [PATCH 036/142] Playwright Docker image updates (#29653) * [create-pull-request] automated change * Restart homeserver to clear MAS token cache as commented --------- Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> Co-authored-by: David Baker --- playwright/e2e/oidc/oidc-native.spec.ts | 8 ++++++-- playwright/testcontainers/synapse.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/playwright/e2e/oidc/oidc-native.spec.ts b/playwright/e2e/oidc/oidc-native.spec.ts index 3268c2b65a..8b49942dd3 100644 --- a/playwright/e2e/oidc/oidc-native.spec.ts +++ b/playwright/e2e/oidc/oidc-native.spec.ts @@ -81,7 +81,7 @@ test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => { test( "it should log out the user & wipe data when logging out via MAS", { tag: "@screenshot" }, - async ({ mas, page, mailpitClient }, testInfo) => { + async ({ mas, page, mailpitClient, homeserver }, testInfo) => { // We use this over the `user` fixture to ensure we get an OIDC session rather than a compatibility one await page.goto("/#/login"); await page.getByRole("button", { name: "Continue" }).click(); @@ -95,11 +95,15 @@ test.describe("OIDC Native", { tag: ["@no-firefox", "@no-webkit"] }, () => { const result = await mas.manage("kill-sessions", userId); expect(result.output).toContain("Ended 1 active OAuth 2.0 session"); + // Workaround for Synapse's 2 minute cache on MAS token validity + // (https://github.com/element-hq/synapse/pull/18231) + await homeserver.restart(); + await page.goto("http://localhost:8080"); await expect( page.getByText("For security, this session has been signed out. Please sign in again."), ).toBeVisible(); - await expect(page).toMatchScreenshot("token-expired.png", { includeDialogBackground: true }); + //await expect(page).toMatchScreenshot("token-expired.png", { includeDialogBackground: true }); const localStorageKeys = await page.evaluate(() => Object.keys(localStorage)); expect(localStorageKeys).toHaveLength(0); diff --git a/playwright/testcontainers/synapse.ts b/playwright/testcontainers/synapse.ts index 19d1544196..4cd80bf660 100644 --- a/playwright/testcontainers/synapse.ts +++ b/playwright/testcontainers/synapse.ts @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. import { SynapseContainer as BaseSynapseContainer } from "@element-hq/element-web-playwright-common/lib/testcontainers"; -const TAG = "develop@sha256:66955f34a593cfc3b6e77b8d5510c60c6094f5bade8a17d2feaefbb8662ccf09"; +const TAG = "develop@sha256:34387279455ecb23e8b0ebe0e157bf6ff4b0cca22e86f84f460a968ccbb5235f"; /** * SynapseContainer which freezes the docker digest to stabilise tests, From 52f836a0ddc2c6e98c05fc29ed19d46347bcdab1 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Tue, 24 Jun 2025 08:18:05 +0200 Subject: [PATCH 037/142] [create-pull-request] automated change (#30190) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- playwright/testcontainers/synapse.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/testcontainers/synapse.ts b/playwright/testcontainers/synapse.ts index 4cd80bf660..be4326309f 100644 --- a/playwright/testcontainers/synapse.ts +++ b/playwright/testcontainers/synapse.ts @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. import { SynapseContainer as BaseSynapseContainer } from "@element-hq/element-web-playwright-common/lib/testcontainers"; -const TAG = "develop@sha256:34387279455ecb23e8b0ebe0e157bf6ff4b0cca22e86f84f460a968ccbb5235f"; +const TAG = "develop@sha256:d7e250a369091ae220417e1e714c496009dfbbeec462616c4da2f27ba6383f61"; /** * SynapseContainer which freezes the docker digest to stabilise tests, From f707bb410e7b8be69296f8aa1dd4f1b4014237e2 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 24 Jun 2025 11:50:27 +0200 Subject: [PATCH 038/142] New room list: add context menu to room list item (#29952) * chore: update compound-web * chore: remove unused export * feat: export content of more option menu * feat: add context menu * feat: add `showContextMenu` to vm * feat: use context menu in new room list * test: add tests for room list item * test: fix room list test * test: add `showContextMenu` test for `useRoomListItemViewModel` * test: add e2e test for context menu * chore: update compound * test: update snapshots and e2e test * fix: avoid icon blinking when we reopen the context menu * test: add test for menu closing * doc: remove useless tsdoc param * chore: update `@vector-im/compound-web` * refactor: remove manual focus * test(e2e): fix focus after closing notification menu * doc: remove useless jobs --- package.json | 2 +- .../room-list-panel/room-list.spec.ts | 14 ++++-- .../roomlist/RoomListItemViewModel.tsx | 13 +++-- .../RoomListItemContextMenuView.tsx | 50 +++++++++++++++++++ .../RoomListPanel/RoomListItemMenuView.tsx | 22 ++++++-- .../rooms/RoomListPanel/RoomListItemView.tsx | 39 ++++++++++----- .../roomlist/RoomListItemViewModel-test.tsx | 9 ++++ .../rooms/RoomListPanel/RoomList-test.tsx | 6 +-- .../RoomListPanel/RoomListItemView-test.tsx | 18 +++++++ .../__snapshots__/RoomList-test.tsx.snap | 20 ++++++++ yarn.lock | 8 +-- 11 files changed, 169 insertions(+), 32 deletions(-) create mode 100644 src/components/views/rooms/RoomListPanel/RoomListItemContextMenuView.tsx diff --git a/package.json b/package.json index da69d64e73..14381c0b96 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "@types/png-chunks-extract": "^1.0.2", "@types/react-virtualized": "^9.21.30", "@vector-im/compound-design-tokens": "^4.0.0", - "@vector-im/compound-web": "^8.0.0", + "@vector-im/compound-web": "^8.1.2", "@vector-im/matrix-wysiwyg": "2.38.3", "@zxcvbn-ts/core": "^3.0.4", "@zxcvbn-ts/language-common": "^3.0.4", diff --git a/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts index 0567b8a162..f4757e2b42 100644 --- a/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts +++ b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts @@ -60,6 +60,12 @@ test.describe("Room list", () => { await expect(page.getByRole("heading", { name: "room29", level: 1 })).toBeVisible(); }); + test("should open the context menu", { tag: "@screenshot" }, async ({ page, app, user }) => { + const roomListView = getRoomList(page); + await roomListView.getByRole("gridcell", { name: "Open room room29" }).click({ button: "right" }); + await expect(page.getByRole("menu", { name: "More Options" })).toBeVisible(); + }); + test("should open the more options menu", { tag: "@screenshot" }, async ({ page, app, user }) => { const roomListView = getRoomList(page); const roomItem = roomListView.getByRole("gridcell", { name: "Open room room29" }); @@ -223,17 +229,17 @@ test.describe("Room list", () => { await expect(notificationButton).toBeFocused(); // Open the menu - await notificationButton.click(); + await page.keyboard.press("Enter"); // Wait for the menu to be open await expect(page.getByRole("menuitem", { name: "Match default settings" })).toHaveAttribute( "aria-selected", "true", ); - // Close the menu + await page.keyboard.press("ArrowDown"); await page.keyboard.press("Escape"); - // Focus should be back on the room list item - await expect(room29).toBeFocused(); + // Focus should be back on the notification button + await expect(notificationButton).toBeFocused(); }); }); }); diff --git a/src/components/viewmodels/roomlist/RoomListItemViewModel.tsx b/src/components/viewmodels/roomlist/RoomListItemViewModel.tsx index e009033875..107d1a4c60 100644 --- a/src/components/viewmodels/roomlist/RoomListItemViewModel.tsx +++ b/src/components/viewmodels/roomlist/RoomListItemViewModel.tsx @@ -30,6 +30,10 @@ export interface RoomListItemViewState { * The name of the room. */ name: string; + /** + * Whether the context menu should be shown. + */ + showContextMenu: boolean; /** * Whether the hover menu should be shown. */ @@ -105,12 +109,12 @@ export function useRoomListItemViewModel(room: Room): RoomListItemViewState { setNotificationValues(getNotificationValues(notificationState)); }, [notificationState]); - // We don't want to show the hover menu if + // We don't want to show the menus if // - there is an invitation for this room - // - the user doesn't have access to both notification and more options menus + // - the user doesn't have access to notification and more options menus + const showContextMenu = !invited && hasAccessToOptionsMenu(room); const showHoverMenu = - !invited && - (hasAccessToOptionsMenu(room) || hasAccessToNotificationMenu(room, matrixClient.isGuest(), isArchived)); + !invited && (showContextMenu || hasAccessToNotificationMenu(room, matrixClient.isGuest(), isArchived)); const messagePreview = useRoomMessagePreview(room); @@ -137,6 +141,7 @@ export function useRoomListItemViewModel(room: Room): RoomListItemViewState { return { name, notificationState, + showContextMenu, showHoverMenu, openRoom, a11yLabel, diff --git a/src/components/views/rooms/RoomListPanel/RoomListItemContextMenuView.tsx b/src/components/views/rooms/RoomListPanel/RoomListItemContextMenuView.tsx new file mode 100644 index 0000000000..0769d9e40a --- /dev/null +++ b/src/components/views/rooms/RoomListPanel/RoomListItemContextMenuView.tsx @@ -0,0 +1,50 @@ +/* + * Copyright 2025 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import { type Room } from "matrix-js-sdk/src/matrix"; +import { type JSX, type PropsWithChildren } from "react"; +import { ContextMenu } from "@vector-im/compound-web"; +import React from "react"; + +import { _t } from "../../../../languageHandler"; +import { MoreOptionContent } from "./RoomListItemMenuView"; +import { useRoomListItemMenuViewModel } from "../../../viewmodels/roomlist/RoomListItemMenuViewModel"; + +interface RoomListItemContextMenuViewProps { + /** + * The room to display the menu for. + */ + room: Room; + /** + * Set the menu open state. + */ + setMenuOpen: (isOpen: boolean) => void; +} + +/** + * A view for the room list item context menu. + */ +export function RoomListItemContextMenuView({ + room, + setMenuOpen, + children, +}: PropsWithChildren): JSX.Element { + const vm = useRoomListItemMenuViewModel(room); + + return ( + + + + ); +} diff --git a/src/components/views/rooms/RoomListPanel/RoomListItemMenuView.tsx b/src/components/views/rooms/RoomListPanel/RoomListItemMenuView.tsx index fa7a85b54f..a901003342 100644 --- a/src/components/views/rooms/RoomListPanel/RoomListItemMenuView.tsx +++ b/src/components/views/rooms/RoomListPanel/RoomListItemMenuView.tsx @@ -35,7 +35,6 @@ interface RoomListItemMenuViewProps { room: Room; /** * Set the menu open state. - * @param isOpen */ setMenuOpen: (isOpen: boolean) => void; } @@ -84,6 +83,21 @@ function MoreOptionsMenu({ vm, setMenuOpen }: MoreOptionsMenuProps): JSX.Element align="start" trigger={} > + + + ); +} + +interface MoreOptionContentProps { + /** + * The view model state for the menu. + */ + vm: RoomListItemMenuViewState; +} + +export function MoreOptionContent({ vm }: MoreOptionContentProps): JSX.Element { + return ( + <> {vm.canMarkAsRead && ( evt.stopPropagation()} hideChevron={true} /> - + ); } @@ -154,7 +168,7 @@ interface MoreOptionsButtonProps extends ComponentProps { /** * A button to trigger the more options menu. */ -export const MoreOptionsButton = function MoreOptionsButton(props: MoreOptionsButtonProps): JSX.Element { +const MoreOptionsButton = function MoreOptionsButton(props: MoreOptionsButtonProps): JSX.Element { return ( @@ -244,7 +258,7 @@ interface NotificationButtonProps extends ComponentProps { /** * A button to trigger the notification menu. */ -export const NotificationButton = function MoreOptionsButton({ +const NotificationButton = function MoreOptionsButton({ isRoomMuted, ref, ...props diff --git a/src/components/views/rooms/RoomListPanel/RoomListItemView.tsx b/src/components/views/rooms/RoomListPanel/RoomListItemView.tsx index ac4d72ec57..cabb034975 100644 --- a/src/components/views/rooms/RoomListPanel/RoomListItemView.tsx +++ b/src/components/views/rooms/RoomListPanel/RoomListItemView.tsx @@ -15,6 +15,7 @@ import { RoomListItemMenuView } from "./RoomListItemMenuView"; import { NotificationDecoration } from "../NotificationDecoration"; import { RoomAvatarView } from "../../avatars/RoomAvatarView"; import { useRovingTabIndex } from "../../../../accessibility/RovingTabIndex"; +import { RoomListItemContextMenuView } from "./RoomListItemContextMenuView"; interface RoomListItemViewProps extends React.HTMLAttributes { /** @@ -47,7 +48,13 @@ export const RoomListItemView = memo(function RoomListItemView({ const showHoverDecoration = isMenuOpen || isHover; const showHoverMenu = showHoverDecoration && vm.showHoverMenu; - return ( + const closeMenu = useCallback(() => { + // To avoid icon blinking when closing the menu, we delay the state update + // Also, let the focus move to the menu trigger before closing the menu + setTimeout(() => setIsMenuOpen(false), 10); + }, []); + + const content = ( ); + + if (!vm.showContextMenu) return content; + + return ( + { + if (isOpen) { + // To avoid icon blinking when the context menu is re-opened + setTimeout(() => setIsMenuOpen(true), 0); + } else { + closeMenu(); + } + }} + > + {content} + + ); }); /** diff --git a/test/unit-tests/components/viewmodels/roomlist/RoomListItemViewModel-test.tsx b/test/unit-tests/components/viewmodels/roomlist/RoomListItemViewModel-test.tsx index c58ae4168c..96bc53016e 100644 --- a/test/unit-tests/components/viewmodels/roomlist/RoomListItemViewModel-test.tsx +++ b/test/unit-tests/components/viewmodels/roomlist/RoomListItemViewModel-test.tsx @@ -73,6 +73,15 @@ describe("RoomListItemViewModel", () => { ); }); + it("should show context menu if user has access to options menu", async () => { + mocked(hasAccessToOptionsMenu).mockReturnValue(true); + const { result: vm } = renderHook( + () => useRoomListItemViewModel(room), + withClientContextRenderOptions(room.client), + ); + expect(vm.current.showContextMenu).toBe(true); + }); + it("should show hover menu if user has access to options menu", async () => { mocked(hasAccessToOptionsMenu).mockReturnValue(true); const { result: vm } = renderHook( diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/RoomList-test.tsx b/test/unit-tests/components/views/rooms/RoomListPanel/RoomList-test.tsx index d5229ff667..983df2168e 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/RoomList-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomListPanel/RoomList-test.tsx @@ -10,7 +10,7 @@ import { type MatrixClient } from "matrix-js-sdk/src/matrix"; import { render } from "jest-matrix-react"; import { fireEvent } from "@testing-library/dom"; -import { mkRoom, stubClient } from "../../../../../test-utils"; +import { mkRoom, stubClient, withClientContextRenderOptions } from "../../../../../test-utils"; import { type RoomListViewState } from "../../../../../../src/components/viewmodels/roomlist/RoomListViewModel"; import { RoomList } from "../../../../../../src/components/views/rooms/RoomListPanel/RoomList"; import DMRoomMap from "../../../../../../src/utils/DMRoomMap"; @@ -44,7 +44,7 @@ describe("", () => { }); it("should render a room list", () => { - const { asFragment } = render(); + const { asFragment } = render(, withClientContextRenderOptions(matrixClient)); expect(asFragment()).toMatchSnapshot(); }); @@ -53,7 +53,7 @@ describe("", () => { { shortcut: { key: "F6", ctrlKey: true }, isPreviousLandmark: false, label: "NextLandmark" }, ])("should navigate to the landmark on NextLandmark.$label action", ({ shortcut, isPreviousLandmark }) => { const spyFindLandmark = jest.spyOn(LandmarkNavigation, "findAndFocusNextLandmark").mockReturnValue(); - const { getByTestId } = render(); + const { getByTestId } = render(, withClientContextRenderOptions(matrixClient)); const roomList = getByTestId("room-list"); fireEvent.keyDown(roomList, shortcut); diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/RoomListItemView-test.tsx b/test/unit-tests/components/views/rooms/RoomListPanel/RoomListItemView-test.tsx index 914d33ee18..7e4af3467a 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/RoomListItemView-test.tsx +++ b/test/unit-tests/components/views/rooms/RoomListPanel/RoomListItemView-test.tsx @@ -42,6 +42,7 @@ describe("", () => { defaultValue = { openRoom: jest.fn(), + showContextMenu: false, showHoverMenu: false, notificationState, a11yLabel: "Open room room1", @@ -136,4 +137,21 @@ describe("", () => { expect(screen.queryByRole("notification-decoration")).toBeNull(); }); + + test("should render the context menu", async () => { + const user = userEvent.setup(); + + mocked(useRoomListItemViewModel).mockReturnValue({ + ...defaultValue, + showContextMenu: true, + }); + + render(, withClientContextRenderOptions(matrixClient)); + const button = screen.getByRole("button", { name: `Open room ${room.name}` }); + await user.pointer([{ target: button }, { keys: "[MouseRight]", target: button }]); + await waitFor(() => expect(screen.getByRole("menu")).toBeInTheDocument()); + // Menu should close + await user.keyboard("{Escape}"); + expect(screen.queryByRole("menu")).toBeNull(); + }); }); diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomList-test.tsx.snap b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomList-test.tsx.snap index 3ab510bfca..acd5569702 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomList-test.tsx.snap +++ b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomList-test.tsx.snap @@ -23,9 +23,11 @@ exports[` should render a room list 1`] = ` style="width: auto; height: 480px; max-width: 1500px; max-height: 480px; overflow: hidden; position: relative;" >
@@ -87,7 +87,7 @@ exports[`LogoutDialog Prompts user to connect backup if there is a backup on the `; -exports[`LogoutDialog Prompts user to set up backup if there is no backup on the server 1`] = ` +exports[`LogoutDialog Prompts user to go to settings if there is no backup on the server 1`] = `
- Start using Key Backup + Go to Settings
diff --git a/test/unit-tests/components/views/dialogs/security/CreateKeyBackupDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/CreateKeyBackupDialog-test.tsx deleted file mode 100644 index b5f965cfa2..0000000000 --- a/test/unit-tests/components/views/dialogs/security/CreateKeyBackupDialog-test.tsx +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * Copyright 2023 The Matrix.org Foundation C.I.C. - * - * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial - * Please see LICENSE files in the repository root for full details. - */ - -import { render, screen, waitFor } from "jest-matrix-react"; -import React from "react"; -import { mocked } from "jest-mock"; - -import CreateKeyBackupDialog from "../../../../../../src/async-components/views/dialogs/security/CreateKeyBackupDialog"; -import { createTestClient } from "../../../../../test-utils"; -import { MatrixClientPeg } from "../../../../../../src/MatrixClientPeg"; - -jest.mock("../../../../../../src/SecurityManager", () => ({ - accessSecretStorage: jest.fn().mockResolvedValue(undefined), - withSecretStorageKeyCache: jest.fn().mockImplementation((fn) => fn()), -})); - -describe("CreateKeyBackupDialog", () => { - beforeEach(() => { - MatrixClientPeg.safeGet = MatrixClientPeg.get = () => createTestClient(); - }); - - it("should display the spinner when creating backup", () => { - const { asFragment } = render(); - - // Check if the spinner is displayed - expect(screen.getByTestId("spinner")).toBeDefined(); - expect(asFragment()).toMatchSnapshot(); - }); - - it("should display an error message when backup creation failed", async () => { - const matrixClient = createTestClient(); - jest.spyOn(matrixClient.secretStorage, "hasKey").mockResolvedValue(true); - mocked(matrixClient.getCrypto()!.resetKeyBackup).mockImplementation(() => { - throw new Error("failed"); - }); - MatrixClientPeg.safeGet = MatrixClientPeg.get = () => matrixClient; - - const { asFragment } = render(); - - // Check if the error message is displayed - await waitFor(() => expect(screen.getByText("Unable to create key backup")).toBeDefined()); - expect(asFragment()).toMatchSnapshot(); - }); - - it("should display an error message when there is no Crypto available", async () => { - const matrixClient = createTestClient(); - jest.spyOn(matrixClient.secretStorage, "hasKey").mockResolvedValue(true); - mocked(matrixClient.getCrypto).mockReturnValue(undefined); - MatrixClientPeg.safeGet = MatrixClientPeg.get = () => matrixClient; - - render(); - - // Check if the error message is displayed - await waitFor(() => expect(screen.getByText("Unable to create key backup")).toBeDefined()); - }); - - it("should display the success dialog when the key backup is finished", async () => { - const onFinished = jest.fn(); - const { asFragment } = render(); - - await waitFor(() => - expect( - screen.getByText("Your keys are being backed up (the first backup could take a few minutes)."), - ).toBeDefined(), - ); - expect(asFragment()).toMatchSnapshot(); - - // Click on the OK button - screen.getByRole("button", { name: "OK" }).click(); - expect(onFinished).toHaveBeenCalledWith(true); - }); -}); diff --git a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx index 000f6efdb4..da68906c63 100644 --- a/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx +++ b/test/unit-tests/components/views/dialogs/security/CreateSecretStorageDialog-test.tsx @@ -13,7 +13,7 @@ import { mocked, type MockedObject } from "jest-mock"; import { type MatrixClient, MatrixError } from "matrix-js-sdk/src/matrix"; import { sleep } from "matrix-js-sdk/src/utils"; -import { filterConsole, flushPromises, stubClient } from "../../../../../test-utils"; +import { filterConsole, stubClient } from "../../../../../test-utils"; import CreateSecretStorageDialog from "../../../../../../src/async-components/views/dialogs/security/CreateSecretStorageDialog"; describe("CreateSecretStorageDialog", () => { @@ -97,39 +97,4 @@ describe("CreateSecretStorageDialog", () => { await screen.findByText("Your keys are now being backed up from this device."); }); }); - - it("resets keys in the right order when resetting secret storage and cross-signing", async () => { - const result = renderComponent({ forceReset: true, resetCrossSigning: true }); - - await result.findByText(/Set up Secure Backup/); - jest.spyOn(mockClient.getCrypto()!, "createRecoveryKeyFromPassphrase").mockResolvedValue({ - privateKey: new Uint8Array(), - encodedPrivateKey: "abcd efgh ijkl", - }); - result.getByRole("button", { name: "Continue" }).click(); - - await result.findByText(/Save your Recovery Key/); - result.getByRole("button", { name: "Copy" }).click(); - - // Resetting should reset secret storage, cross signing, and key - // backup. We make sure that all three are reset, and done in the - // right order. - const resetFunctionCallLog: string[] = []; - jest.spyOn(mockClient.getCrypto()!, "bootstrapSecretStorage").mockImplementation(async () => { - resetFunctionCallLog.push("bootstrapSecretStorage"); - }); - jest.spyOn(mockClient.getCrypto()!, "bootstrapCrossSigning").mockImplementation(async () => { - resetFunctionCallLog.push("bootstrapCrossSigning"); - }); - jest.spyOn(mockClient.getCrypto()!, "resetKeyBackup").mockImplementation(async () => { - resetFunctionCallLog.push("resetKeyBackup"); - }); - - await flushPromises(); - result.getByRole("button", { name: "Continue" }).click(); - - await result.findByText("Your keys are now being backed up from this device."); - - expect(resetFunctionCallLog).toEqual(["bootstrapSecretStorage", "bootstrapCrossSigning", "resetKeyBackup"]); - }); }); diff --git a/test/unit-tests/components/views/dialogs/security/__snapshots__/CreateKeyBackupDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/security/__snapshots__/CreateKeyBackupDialog-test.tsx.snap deleted file mode 100644 index 60a051eec9..0000000000 --- a/test/unit-tests/components/views/dialogs/security/__snapshots__/CreateKeyBackupDialog-test.tsx.snap +++ /dev/null @@ -1,168 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`CreateKeyBackupDialog should display an error message when backup creation failed 1`] = ` - -
- -
- -`; - -exports[`CreateKeyBackupDialog should display the spinner when creating backup 1`] = ` - -
- -
@@ -231,9 +222,6 @@ exports[` should render a room list 1`] = ` > room3
-
@@ -285,9 +273,6 @@ exports[` should render a room list 1`] = ` > room4 -
@@ -339,9 +324,6 @@ exports[` should render a room list 1`] = ` > room5 -
@@ -393,9 +375,6 @@ exports[` should render a room list 1`] = ` > room6 -
@@ -447,9 +426,6 @@ exports[` should render a room list 1`] = ` > room7 -
@@ -501,9 +477,6 @@ exports[` should render a room list 1`] = ` > room8 -
@@ -555,9 +528,6 @@ exports[` should render a room list 1`] = ` > room9 -
diff --git a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListItemView-test.tsx.snap b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListItemView-test.tsx.snap index 4340cb4200..ddadd26105 100644 --- a/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListItemView-test.tsx.snap +++ b/test/unit-tests/components/views/rooms/RoomListPanel/__snapshots__/RoomListItemView-test.tsx.snap @@ -45,9 +45,6 @@ exports[` should be selected if isSelected=true 1`] = ` > room1 -
@@ -100,9 +97,6 @@ exports[` should display notification decoration 1`] = ` > room1 -
-
@@ -224,8 +215,9 @@ exports[` should render a room item with a message preview 1
- The message looks list this + The message looks like this
From 0a97cbaada98f9e59cdb714bc7c13027db8510a4 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 21 Jul 2025 14:04:50 +0200 Subject: [PATCH 133/142] MVVM userinfo: split header and verification components (#30214) * feat: mvvm userinfo split header and verification * test: add userinfoheader tests * fix: userHeaderVerificationView verification method --- .../UserInfoHeaderVerificationViewModel.tsx | 87 ++++++ .../user_info/UserInfoHeaderViewModel.tsx | 115 ++++++++ src/components/views/right_panel/UserInfo.tsx | 210 +------------- .../UserInfoHeaderVerificationView.tsx | 63 +++++ .../user_info/UserInfoHeaderView.tsx | 96 +++++++ ...erInfoHeaderVerificationViewModel-test.tsx | 194 +++++++++++++ .../UserInfoHeaderViewModel-test.tsx | 179 ++++++++++++ .../views/right_panel/UserInfo-test.tsx | 61 +--- .../UserInfoHeaderVerificationView-test.tsx | 96 +++++++ .../right_panel/UserInfoHeaderView-test.tsx | 195 +++++++++++++ .../__snapshots__/UserInfo-test.tsx.snap | 267 ------------------ ...erInfoHeaderVerificationView-test.tsx.snap | 73 +++++ .../UserInfoHeaderView-test.tsx.snap | 86 ++++++ 13 files changed, 1189 insertions(+), 533 deletions(-) create mode 100644 src/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel.tsx create mode 100644 src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx create mode 100644 src/components/views/right_panel/user_info/UserInfoHeaderVerificationView.tsx create mode 100644 src/components/views/right_panel/user_info/UserInfoHeaderView.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel-test.tsx create mode 100644 test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel-test.tsx create mode 100644 test/unit-tests/components/views/right_panel/UserInfoHeaderVerificationView-test.tsx create mode 100644 test/unit-tests/components/views/right_panel/UserInfoHeaderView-test.tsx create mode 100644 test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderVerificationView-test.tsx.snap create mode 100644 test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderView-test.tsx.snap diff --git a/src/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel.tsx b/src/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel.tsx new file mode 100644 index 0000000000..401c536525 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel.tsx @@ -0,0 +1,87 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { type MatrixClient, type RoomMember, type User } from "matrix-js-sdk/src/matrix"; +import { useContext } from "react"; +import { type UserVerificationStatus } from "matrix-js-sdk/src/crypto-api"; + +import MatrixClientContext from "../../../../contexts/MatrixClientContext"; +import { type IDevice } from "../../../views/right_panel/UserInfo"; +import { useAsyncMemo } from "../../../../hooks/useAsyncMemo"; +import { verifyUser } from "../../../../verification"; + +export interface UserInfoVerificationSectionState { + /** + * variables used to check if we can verify the user and display the verify button + */ + canVerify: boolean; + hasCrossSigningKeys: boolean | undefined; + /** + * used to display correct badge value + */ + isUserVerified: boolean; + /** + * callback function when verifyUser button is clicked + */ + verifySelectedUser: () => Promise; +} + +const useHomeserverSupportsCrossSigning = (cli: MatrixClient): boolean => { + return useAsyncMemo( + async () => { + return cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"); + }, + [cli], + false, + ); +}; + +const useHasCrossSigningKeys = (cli: MatrixClient, member: User, canVerify: boolean): boolean | undefined => { + return useAsyncMemo(async () => { + if (!canVerify) return undefined; + return cli.getCrypto()?.userHasCrossSigningKeys(member.userId, true); + }, [cli, member, canVerify]); +}; + +/** + * View model for the userInfoVerificationHeaderView + * @see {@link UserInfoVerificationSectionState} for more information about what this view model returns. + */ +export const useUserInfoVerificationViewModel = ( + member: User | RoomMember, + devices: IDevice[], +): UserInfoVerificationSectionState => { + const cli = useContext(MatrixClientContext); + + const homeserverSupportsCrossSigning = useHomeserverSupportsCrossSigning(cli); + + const userTrust = useAsyncMemo( + async () => cli.getCrypto()?.getUserVerificationStatus(member.userId), + [member.userId], + // the user verification status is not initialized + undefined, + ); + const hasUserVerificationStatus = Boolean(userTrust); + const isUserVerified = Boolean(userTrust?.isVerified()); + const isMe = member.userId === cli.getUserId(); + const canVerify = + hasUserVerificationStatus && + homeserverSupportsCrossSigning && + !isUserVerified && + !isMe && + devices && + devices.length > 0; + + const hasCrossSigningKeys = useHasCrossSigningKeys(cli, member as User, canVerify); + const verifySelectedUser = (): Promise => verifyUser(cli, member as User); + + return { + canVerify, + hasCrossSigningKeys, + isUserVerified, + verifySelectedUser, + }; +}; diff --git a/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx b/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx new file mode 100644 index 0000000000..12899f0bc1 --- /dev/null +++ b/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx @@ -0,0 +1,115 @@ +/* +Copyright 2025 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only +Please see LICENSE files in the repository root for full details. +*/ + +import { RoomMember, type User } from "matrix-js-sdk/src/matrix"; +import { useCallback, useContext } from "react"; + +import { mediaFromMxc } from "../../../../customisations/Media"; +import Modal from "../../../../Modal"; +import ImageView from "../../../views/elements/ImageView"; +import SdkConfig from "../../../../SdkConfig"; +import MatrixClientContext from "../../../../contexts/MatrixClientContext"; +import { type Member } from "../../../views/right_panel/UserInfo"; +import { useUserTimezone } from "../../../../hooks/useUserTimezone"; +import UserIdentifierCustomisations from "../../../../customisations/UserIdentifier"; + +export interface PresenceInfo { + lastActiveAgo: number | undefined; + currentlyActive: boolean | undefined; + state: string | undefined; +} + +export interface TimezoneInfo { + timezone: string; + friendly: string; +} + +export interface UserInfoHeaderState { + /** + * callback function when selected user avatar is clicked in user info + */ + onMemberAvatarClick: () => void; + /** + * Object containing information about the precense of the selected user + */ + precenseInfo: PresenceInfo; + /** + * Boolean that show or hide the precense information + */ + showPresence: boolean; + /** + * Timezone object + */ + timezoneInfo: TimezoneInfo | null; + /** + * Displayed identifier for the selected user + */ + userIdentifier: string | null; +} +interface UserInfoHeaderViewModelProps { + member: Member; + roomId?: string; +} + +/** + * View model for the userInfoHeaderView + * props + * @see {@link UserInfoHeaderState} for more information about what this view model returns. + */ +export function useUserfoHeaderViewModel({ member, roomId }: UserInfoHeaderViewModelProps): UserInfoHeaderState { + const cli = useContext(MatrixClientContext); + + let showPresence = true; + + const precenseInfo: PresenceInfo = { + lastActiveAgo: undefined, + currentlyActive: undefined, + state: undefined, + }; + + const enablePresenceByHsUrl = SdkConfig.get("enable_presence_by_hs_url"); + + const timezoneInfo = useUserTimezone(cli, member.userId); + + const userIdentifier = UserIdentifierCustomisations.getDisplayUserIdentifier?.(member.userId, { + roomId, + withDisplayName: true, + }); + + const onMemberAvatarClick = useCallback(() => { + const avatarUrl = (member as RoomMember).getMxcAvatarUrl + ? (member as RoomMember).getMxcAvatarUrl() + : (member as User).avatarUrl; + + const httpUrl = mediaFromMxc(avatarUrl).srcHttp; + if (!httpUrl) return; + + const params = { + src: httpUrl, + name: (member as RoomMember).name || (member as User).displayName, + }; + + Modal.createDialog(ImageView, params, "mx_Dialog_lightbox", undefined, true); + }, [member]); + + if (member instanceof RoomMember && member.user) { + precenseInfo.state = member.user.presence; + precenseInfo.lastActiveAgo = member.user.lastActiveAgo; + precenseInfo.currentlyActive = member.user.currentlyActive; + } + + if (enablePresenceByHsUrl && enablePresenceByHsUrl[cli.baseUrl] !== undefined) { + showPresence = enablePresenceByHsUrl[cli.baseUrl]; + } + + return { + onMemberAvatarClick, + showPresence, + precenseInfo, + timezoneInfo, + userIdentifier, + }; +} diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index 970f8a2278..4556063303 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -25,8 +25,7 @@ import { import { KnownMembership } from "matrix-js-sdk/src/types"; import { type UserVerificationStatus, type VerificationRequest, CryptoEvent } from "matrix-js-sdk/src/crypto-api"; import { logger } from "matrix-js-sdk/src/logger"; -import { Badge, Button, Heading, InlineSpinner, MenuItem, Text, Tooltip } from "@vector-im/compound-web"; -import VerifiedIcon from "@vector-im/compound-design-tokens/assets/web/icons/verified"; +import { MenuItem } from "@vector-im/compound-web"; import ChatIcon from "@vector-im/compound-design-tokens/assets/web/icons/chat"; import CheckIcon from "@vector-im/compound-design-tokens/assets/web/icons/check"; import ShareIcon from "@vector-im/compound-design-tokens/assets/web/icons/share"; @@ -40,41 +39,32 @@ import Modal from "../../../Modal"; import { _t, UserFriendlyError } from "../../../languageHandler"; import DMRoomMap from "../../../utils/DMRoomMap"; import { type ButtonEvent } from "../elements/AccessibleButton"; -import SdkConfig from "../../../SdkConfig"; import MultiInviter from "../../../utils/MultiInviter"; import { useTypedEventEmitter } from "../../../hooks/useEventEmitter"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; import { RightPanelPhases } from "../../../stores/right-panel/RightPanelStorePhases"; import EncryptionPanel from "./EncryptionPanel"; import { useAsyncMemo } from "../../../hooks/useAsyncMemo"; -import { verifyUser } from "../../../verification"; import { Action } from "../../../dispatcher/actions"; import { useIsEncrypted } from "../../../hooks/useIsEncrypted"; import BaseCard from "./BaseCard"; -import ImageView from "../elements/ImageView"; import Spinner from "../elements/Spinner"; -import MemberAvatar from "../avatars/MemberAvatar"; -import PresenceLabel from "../rooms/PresenceLabel"; import { ShareDialog } from "../dialogs/ShareDialog"; import ErrorDialog from "../dialogs/ErrorDialog"; import QuestionDialog from "../dialogs/QuestionDialog"; -import { mediaFromMxc } from "../../../customisations/Media"; import { type ComposerInsertPayload } from "../../../dispatcher/payloads/ComposerInsertPayload"; import { shouldShowComponent } from "../../../customisations/helpers/UIComponents"; import { UIComponent } from "../../../settings/UIFeature"; import { TimelineRenderingType } from "../../../contexts/RoomContext"; import RightPanelStore from "../../../stores/right-panel/RightPanelStore"; import { type IRightPanelCardState } from "../../../stores/right-panel/RightPanelStoreIPanelState"; -import UserIdentifierCustomisations from "../../../customisations/UserIdentifier"; import PosthogTrackers from "../../../PosthogTrackers"; import { type ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload"; import { DirectoryMember, startDmOnFirstMessage } from "../../../utils/direct-messages"; import { SdkContextClass } from "../../../contexts/SDKContext"; -import { Flex } from "../../utils/Flex"; -import CopyableText from "../elements/CopyableText"; -import { useUserTimezone } from "../../../hooks/useUserTimezone"; import { UserInfoAdminToolsContainer } from "./user_info/UserInfoAdminToolsContainer"; import { PowerLevelSection } from "./user_info/UserInfoPowerLevels"; +import { UserInfoHeaderView } from "./user_info/UserInfoHeaderView"; export interface IDevice extends Device { ambiguous?: boolean; @@ -298,7 +288,7 @@ export const warnSelfDemote = async (isSpace: boolean): Promise => { return !!confirmed; }; -const Container: React.FC<{ +export const Container: React.FC<{ children: ReactNode; className?: string; }> = ({ children, className }) => { @@ -426,16 +416,6 @@ const useIsSynapseAdmin = (cli?: MatrixClient): boolean => { return useAsyncMemo(async () => (cli ? cli.isSynapseAdministrator().catch(() => false) : false), [cli], false); }; -const useHomeserverSupportsCrossSigning = (cli: MatrixClient): boolean => { - return useAsyncMemo( - async () => { - return cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"); - }, - [cli], - false, - ); -}; - export interface IRoomPermissions { modifyLevelMax: number; canEdit: boolean; @@ -567,80 +547,6 @@ export const useDevices = (userId: string): IDevice[] | undefined | null => { return devices; }; -function useHasCrossSigningKeys(cli: MatrixClient, member: User, canVerify: boolean): boolean | undefined { - return useAsyncMemo(async () => { - if (!canVerify) return undefined; - return await cli.getCrypto()?.userHasCrossSigningKeys(member.userId, true); - }, [cli, member, canVerify]); -} - -const VerificationSection: React.FC<{ - member: User | RoomMember; - devices: IDevice[]; -}> = ({ member, devices }) => { - const cli = useContext(MatrixClientContext); - let content; - const homeserverSupportsCrossSigning = useHomeserverSupportsCrossSigning(cli); - - const userTrust = useAsyncMemo( - async () => cli.getCrypto()?.getUserVerificationStatus(member.userId), - [member.userId], - // the user verification status is not initialized - undefined, - ); - const hasUserVerificationStatus = Boolean(userTrust); - const isUserVerified = Boolean(userTrust?.isVerified()); - const isMe = member.userId === cli.getUserId(); - const canVerify = - hasUserVerificationStatus && - homeserverSupportsCrossSigning && - !isUserVerified && - !isMe && - devices && - devices.length > 0; - - const hasCrossSigningKeys = useHasCrossSigningKeys(cli, member as User, canVerify); - - if (isUserVerified) { - content = ( - - - - {_t("common|verified")} - - - ); - } else if (hasCrossSigningKeys === undefined) { - // We are still fetching the cross-signing keys for the user, show spinner. - content = ; - } else if (canVerify && hasCrossSigningKeys) { - content = ( -
- -
- ); - } else { - content = ( - - ({_t("user_info|verification_unavailable")}) - - ); - } - - return ( - - {content} - - ); -}; - const BasicUserInfo: React.FC<{ room: Room; member: User | RoomMember; @@ -761,114 +667,6 @@ const BasicUserInfo: React.FC<{ export type Member = User | RoomMember; -export const UserInfoHeader: React.FC<{ - member: Member; - devices: IDevice[]; - roomId?: string; - hideVerificationSection?: boolean; -}> = ({ member, devices, roomId, hideVerificationSection }) => { - const cli = useContext(MatrixClientContext); - - const onMemberAvatarClick = useCallback(() => { - const avatarUrl = (member as RoomMember).getMxcAvatarUrl - ? (member as RoomMember).getMxcAvatarUrl() - : (member as User).avatarUrl; - - const httpUrl = mediaFromMxc(avatarUrl).srcHttp; - if (!httpUrl) return; - - const params = { - src: httpUrl, - name: (member as RoomMember).name || (member as User).displayName, - }; - - Modal.createDialog(ImageView, params, "mx_Dialog_lightbox", undefined, true); - }, [member]); - - const avatarUrl = (member as User).avatarUrl; - - let presenceState: string | undefined; - let presenceLastActiveAgo: number | undefined; - let presenceCurrentlyActive: boolean | undefined; - if (member instanceof RoomMember && member.user) { - presenceState = member.user.presence; - presenceLastActiveAgo = member.user.lastActiveAgo; - presenceCurrentlyActive = member.user.currentlyActive; - } - - const enablePresenceByHsUrl = SdkConfig.get("enable_presence_by_hs_url"); - let showPresence = true; - if (enablePresenceByHsUrl && enablePresenceByHsUrl[cli.baseUrl] !== undefined) { - showPresence = enablePresenceByHsUrl[cli.baseUrl]; - } - - let presenceLabel: JSX.Element | undefined; - if (showPresence) { - presenceLabel = ( - - ); - } - - const timezoneInfo = useUserTimezone(cli, member.userId); - - const userIdentifier = UserIdentifierCustomisations.getDisplayUserIdentifier?.(member.userId, { - roomId, - withDisplayName: true, - }); - const displayName = (member as RoomMember).rawDisplayName; - return ( - -
-
-
- -
-
-
- - - - - - {displayName} - - - {presenceLabel} - {timezoneInfo && ( - - - - {timezoneInfo?.friendly ?? ""} - - - - )} - - userIdentifier} border={false}> - {userIdentifier} - - - - {!hideVerificationSection && } - -
- ); -}; - interface IProps { user: Member; room?: Room; @@ -927,7 +725,7 @@ const UserInfo: React.FC = ({ user, room, onClose, phase = RightPanelPha const header = ( <> - = ({ member, devices }) => { + let content; + const vm = useUserInfoVerificationViewModel(member, devices); + + if (vm.isUserVerified) { + content = ( + + + + {_t("common|verified")} + + + ); + } else if (vm.hasCrossSigningKeys === undefined) { + // We are still fetching the cross-signing keys for the user, show spinner. + content = ; + } else if (vm.canVerify && vm.hasCrossSigningKeys) { + content = ( +
+ +
+ ); + } else { + content = ( + + ({_t("user_info|verification_unavailable")}) + + ); + } + + return ( + + {content} + + ); +}; diff --git a/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx b/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx new file mode 100644 index 0000000000..25dd0a5cde --- /dev/null +++ b/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx @@ -0,0 +1,96 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import React, { type JSX } from "react"; +import { type User, type RoomMember } from "matrix-js-sdk/src/matrix"; +import { Heading, Tooltip, Text } from "@vector-im/compound-web"; + +import { useUserfoHeaderViewModel } from "../../../viewmodels/right_panel/user_info/UserInfoHeaderViewModel"; +import MemberAvatar from "../../avatars/MemberAvatar"; +import { Container, type Member, type IDevice } from "../UserInfo"; +import { Flex } from "../../../utils/Flex"; +import PresenceLabel from "../../rooms/PresenceLabel"; +import CopyableText from "../../elements/CopyableText"; +import { UserInfoHeaderVerificationView } from "./UserInfoHeaderVerificationView"; + +export interface UserInfoHeaderViewProps { + member: Member; + roomId?: string; + devices: IDevice[]; + hideVerificationSection: boolean; +} + +export const UserInfoHeaderView: React.FC = ({ + member, + devices, + roomId, + hideVerificationSection, +}) => { + const vm = useUserfoHeaderViewModel({ member, roomId }); + const avatarUrl = (member as User).avatarUrl; + const displayName = (member as RoomMember).rawDisplayName; + + let presenceLabel: JSX.Element | undefined; + + if (vm.showPresence) { + presenceLabel = ( + + ); + } + + return ( + +
+
+
+ +
+
+
+ + + + + + {displayName} + + + {presenceLabel} + {vm.timezoneInfo && ( + + + + {vm.timezoneInfo?.friendly ?? ""} + + + + )} + + vm.userIdentifier} border={false}> + {vm.userIdentifier} + + + + {!hideVerificationSection && } + +
+ ); +}; diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel-test.tsx new file mode 100644 index 0000000000..fb9fc12fa6 --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel-test.tsx @@ -0,0 +1,194 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { Device, type MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; +import { type Mocked } from "jest-mock"; +import { UserVerificationStatus, type CryptoApi } from "matrix-js-sdk/src/crypto-api"; +import { renderHook, waitFor } from "jest-matrix-react"; + +import { createTestClient, withClientContextRenderOptions } from "../../../../../test-utils"; +import { MatrixClientPeg } from "../../../../../../src/MatrixClientPeg"; +import { useUserInfoVerificationViewModel } from "../../../../../../src/components/viewmodels/right_panel/user_info/UserInfoHeaderVerificationViewModel"; + +describe("useUserInfoVerificationHeaderViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + const defaultProps = { + devices: [] as Device[], + member: defaultMember, + }; + let mockClient: MatrixClient; + let mockCrypto: Mocked; + + beforeEach(() => { + mockCrypto = { + bootstrapSecretStorage: jest.fn(), + bootstrapCrossSigning: jest.fn(), + getCrossSigningKeyId: jest.fn(), + getVerificationRequestsToDeviceInProgress: jest.fn().mockReturnValue([]), + getUserDeviceInfo: jest.fn(), + getDeviceVerificationStatus: jest.fn(), + getUserVerificationStatus: jest.fn(), + isDehydrationSupported: jest.fn().mockResolvedValue(false), + startDehydration: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), + userHasCrossSigningKeys: jest.fn().mockResolvedValue(false), + } as unknown as Mocked; + + mockClient = createTestClient(); + jest.spyOn(mockClient, "doesServerSupportUnstableFeature").mockResolvedValue(true); + jest.spyOn(mockClient.secretStorage, "hasKey").mockResolvedValue(true); + jest.spyOn(mockClient, "getCrypto").mockReturnValue(mockCrypto); + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + afterEach(() => { + jest.restoreAllMocks(); + }); + + const renderUserInfoHeaderVerificationHook = (props = defaultProps) => { + return renderHook( + () => useUserInfoVerificationViewModel(props.member, props.devices), + withClientContextRenderOptions(mockClient), + ); + }; + + it("should be able to verify user", async () => { + const notMeId = "@notMe"; + const notMetMember = new RoomMember(defaultRoomId, notMeId); + const device1 = new Device({ + deviceId: "d1", + userId: notMeId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + + // mock the user as not verified + jest.spyOn(mockCrypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false), + ); + + jest.spyOn(mockClient, "getUserId").mockReturnValue(defaultMember.userId); + + // the selected user is not the default user, so he can make user verification + const { result } = renderUserInfoHeaderVerificationHook({ member: notMetMember, devices: [device1] }); + await waitFor(() => { + const canVerify = result.current.canVerify; + + expect(canVerify).toBeTruthy(); + }); + }); + + it("should not be able to verify user if user is not me", async () => { + const device1 = new Device({ + deviceId: "d1", + userId: defaultMember.userId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + + // mock the user as not verified + jest.spyOn(mockCrypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false), + ); + + jest.spyOn(mockClient, "getUserId").mockReturnValue(defaultMember.userId); + + const { result } = renderUserInfoHeaderVerificationHook({ member: defaultMember, devices: [device1] }); + await waitFor(() => { + const canVerify = result.current.canVerify; + + expect(canVerify).toBeFalsy(); + // if we cant verify the user the hasCrossSigningKeys value should also be undefined + expect(result.current.hasCrossSigningKeys).toBeUndefined(); + }); + }); + + it("should not be able to verify user if im already verified", async () => { + const notMeId = "@notMe"; + const notMetMember = new RoomMember(defaultRoomId, notMeId); + const device1 = new Device({ + deviceId: "d1", + userId: notMeId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + + // mock the user as already verified + jest.spyOn(mockCrypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(true, true, false), + ); + + jest.spyOn(mockClient, "getUserId").mockReturnValue(defaultMember.userId); + + // the selected user is not the default user, so he can make user verification + const { result } = renderUserInfoHeaderVerificationHook({ member: notMetMember, devices: [device1] }); + await waitFor(() => { + const canVerify = result.current.canVerify; + + expect(canVerify).toBeFalsy(); + // if we cant verify the user the hasCrossSigningKeys value should also be undefined + expect(result.current.hasCrossSigningKeys).toBeUndefined(); + }); + }); + + it("should not be able to verify user there is no devices", async () => { + const notMeId = "@notMe"; + const notMetMember = new RoomMember(defaultRoomId, notMeId); + + // mock the user as not verified + jest.spyOn(mockCrypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false), + ); + + jest.spyOn(mockClient, "getUserId").mockReturnValue(defaultMember.userId); + + // the selected user is not the default user, so he can make user verification + const { result } = renderUserInfoHeaderVerificationHook({ member: notMetMember, devices: [] }); + await waitFor(() => { + const canVerify = result.current.canVerify; + + expect(canVerify).toBeFalsy(); + // if we cant verify the user the hasCrossSigningKeys value should also be undefined + expect(result.current.hasCrossSigningKeys).toBeUndefined(); + }); + }); + + it("should get correct hasCrossSigningKeys values", async () => { + const notMeId = "@notMe"; + const notMetMember = new RoomMember(defaultRoomId, notMeId); + const device1 = new Device({ + deviceId: "d1", + userId: notMeId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + + // mock the user as not verified + jest.spyOn(mockCrypto, "getUserVerificationStatus").mockResolvedValue( + new UserVerificationStatus(false, false, false), + ); + + jest.spyOn(mockClient, "getUserId").mockReturnValue(defaultMember.userId); + + jest.spyOn(mockCrypto, "userHasCrossSigningKeys").mockResolvedValue(true); + const { result } = renderUserInfoHeaderVerificationHook({ member: notMetMember, devices: [device1] }); + await waitFor(() => { + const hasCrossSigningKeys = result.current.hasCrossSigningKeys; + + expect(hasCrossSigningKeys).toBeTruthy(); + }); + }); +}); diff --git a/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel-test.tsx b/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel-test.tsx new file mode 100644 index 0000000000..adab891435 --- /dev/null +++ b/test/unit-tests/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel-test.tsx @@ -0,0 +1,179 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { type MatrixClient, RoomMember } from "matrix-js-sdk/src/matrix"; +import { mocked, type Mocked } from "jest-mock"; +import { type CryptoApi } from "matrix-js-sdk/src/crypto-api"; +import { renderHook } from "jest-matrix-react"; + +import { withClientContextRenderOptions } from "../../../../../test-utils"; +import { MatrixClientPeg } from "../../../../../../src/MatrixClientPeg"; +import { useUserfoHeaderViewModel } from "../../../../../../src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel"; +import * as UseTimezone from "../../../../../../src/hooks/useUserTimezone"; +import SdkConfig from "../../../../../../src/SdkConfig"; +import Modal from "../../../../../../src/Modal"; +import ImageView from "../../../../../../src/components/views/elements/ImageView"; +import * as Media from "../../../../../../src/customisations/Media"; +import { type IConfigOptions } from "../../../../../../src/IConfigOptions"; + +jest.mock("../../../../../../src/customisations/UserIdentifier", () => { + return { + getDisplayUserIdentifier: jest.fn().mockReturnValue("customUserIdentifier"), + }; +}); + +describe("useUserInfoHeaderViewModel", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + const defaultProps = { + member: defaultMember, + roomId: defaultRoomId, + }; + + let mockClient: Mocked; + let mockCrypto: Mocked; + + const mockAvatarUrl = "mock-avatar-url"; + const oldGet = SdkConfig.get; + + beforeEach(() => { + mockCrypto = mocked({ + getDeviceVerificationStatus: jest.fn(), + getUserDeviceInfo: jest.fn(), + userHasCrossSigningKeys: jest.fn().mockResolvedValue(false), + getUserVerificationStatus: jest.fn(), + isEncryptionEnabledInRoom: jest.fn().mockResolvedValue(false), + } as unknown as CryptoApi); + + mockClient = mocked({ + getUser: jest.fn(), + isGuest: jest.fn().mockReturnValue(false), + isUserIgnored: jest.fn(), + getIgnoredUsers: jest.fn(), + setIgnoredUsers: jest.fn(), + getUserId: jest.fn(), + getSafeUserId: jest.fn(), + getDomain: jest.fn(), + on: jest.fn(), + off: jest.fn(), + isSynapseAdministrator: jest.fn().mockResolvedValue(false), + doesServerSupportUnstableFeature: jest.fn().mockReturnValue(false), + doesServerSupportExtendedProfiles: jest.fn().mockResolvedValue(false), + getExtendedProfileProperty: jest.fn().mockRejectedValue(new Error("Not supported")), + mxcUrlToHttp: jest.fn().mockReturnValue(mockAvatarUrl), + removeListener: jest.fn(), + currentState: { + on: jest.fn(), + }, + getRoom: jest.fn(), + credentials: {}, + setPowerLevel: jest.fn(), + getCrypto: jest.fn().mockReturnValue(mockCrypto), + baseUrl: "homeserver.url", + } as unknown as MatrixClient); + + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + afterEach(() => { + jest.restoreAllMocks(); + }); + + const renderUserInfoHeaderViewModelHook = (props = defaultProps) => { + return renderHook(() => useUserfoHeaderViewModel(props), withClientContextRenderOptions(mockClient)); + }; + it("should give user timezone info", () => { + const defaultTZ = { timezone: "FR", friendly: "fr" }; + jest.spyOn(UseTimezone, "useUserTimezone").mockReturnValue(defaultTZ); + + const { result } = renderUserInfoHeaderViewModelHook(); + const timezone = result.current.timezoneInfo; + + expect(UseTimezone.useUserTimezone).toHaveBeenCalledWith(mockClient, defaultMember.userId); + expect(timezone).toEqual(defaultTZ); + }); + + it("should give correct showPresence value based on enablePresenceByHsUrl", () => { + jest.spyOn(SdkConfig, "get").mockImplementation((key: string) => { + if (key === "enable_presence_by_hs_url") { + return { + [mockClient.baseUrl]: false, + }; + } + return oldGet(key as keyof IConfigOptions); + }); + const { result } = renderUserInfoHeaderViewModelHook(); + const showPresence = result.current.showPresence; + expect(showPresence).toBeFalsy(); + }); + + it("should have default value true for showPresence", () => { + jest.spyOn(SdkConfig, "get").mockImplementation(() => false); + const { result } = renderUserInfoHeaderViewModelHook(); + const showPresence = result.current.showPresence; + expect(showPresence).toBeTruthy(); + }); + + it("should open image dialog when avatar is clicked", () => { + const props = Object.assign({}, defaultProps); + const spyModale = jest.spyOn(Modal, "createDialog"); + const spyMedia = jest.spyOn(Media, "mediaFromMxc"); + jest.spyOn(props.member, "getMxcAvatarUrl").mockReturnValue(mockAvatarUrl); + + const { result } = renderUserInfoHeaderViewModelHook(props); + + result.current.onMemberAvatarClick(); + + expect(spyModale).toHaveBeenCalledWith( + ImageView, + { + src: mockAvatarUrl, + name: defaultMember.name, + }, + "mx_Dialog_lightbox", + undefined, + true, + ); + expect(spyMedia).toHaveBeenCalledWith(mockAvatarUrl); + }); + + it("should not open image dialog when avatar url is null", () => { + const props = Object.assign({}, defaultProps); + const spyModale = jest.spyOn(Modal, "createDialog"); + jest.spyOn(props.member, "getMxcAvatarUrl").mockReturnValue(mockAvatarUrl); + jest.spyOn(Media, "mediaFromMxc").mockReturnValue({ + srcHttp: null, + isEncrypted: false, + srcMxc: "", + thumbnailMxc: undefined, + hasThumbnail: false, + thumbnailHttp: null, + getThumbnailHttp: function (width: number, height: number, mode?: "scale" | "crop"): string | null { + throw new Error("Function not implemented."); + }, + getThumbnailOfSourceHttp: function (width: number, height: number, mode?: "scale" | "crop"): string | null { + throw new Error("Function not implemented."); + }, + getSquareThumbnailHttp: function (dim: number): string | null { + throw new Error("Function not implemented."); + }, + downloadSource: function (): Promise { + throw new Error("Function not implemented."); + }, + }); + + const { result } = renderUserInfoHeaderViewModelHook(props); + + result.current.onMemberAvatarClick(); + + expect(spyModale).not.toHaveBeenCalled(); + }); +}); diff --git a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx index d019e2147b..df417e1950 100644 --- a/test/unit-tests/components/views/right_panel/UserInfo-test.tsx +++ b/test/unit-tests/components/views/right_panel/UserInfo-test.tsx @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; -import { render, screen, act, waitForElementToBeRemoved, waitFor } from "jest-matrix-react"; +import { render, screen, act, waitForElementToBeRemoved } from "jest-matrix-react"; import userEvent from "@testing-library/user-event"; import { type Mocked, mocked } from "jest-mock"; import { type Room, User, type MatrixClient, RoomMember, Device } from "matrix-js-sdk/src/matrix"; @@ -23,7 +23,6 @@ import { import UserInfo, { disambiguateDevices, getPowerLevels, - UserInfoHeader, UserOptionsSection, } from "../../../../../src/components/views/right_panel/UserInfo"; import dis from "../../../../../src/dispatcher/dispatcher"; @@ -440,64 +439,6 @@ describe("", () => { }); }); -describe("", () => { - const defaultMember = new RoomMember(defaultRoomId, defaultUserId); - - const defaultProps = { - member: defaultMember, - roomId: defaultRoomId, - }; - - const renderComponent = (props = {}) => { - const device1 = new Device({ - deviceId: "d1", - userId: defaultUserId, - displayName: "my device", - algorithms: [], - keys: new Map(), - }); - const devicesMap = new Map([[device1.deviceId, device1]]); - const userDeviceMap = new Map>([[defaultUserId, devicesMap]]); - mockCrypto.getUserDeviceInfo.mockResolvedValue(userDeviceMap); - mockClient.doesServerSupportUnstableFeature.mockResolvedValue(true); - const Wrapper = (wrapperProps = {}) => { - return ; - }; - - return render(, { - wrapper: Wrapper, - }); - }; - - it("renders custom user identifiers in the header", () => { - renderComponent(); - expect(screen.getByText("customUserIdentifier")).toBeInTheDocument(); - }); - - it("renders verified badge when user is verified", async () => { - mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(true, true, false)); - const { container } = renderComponent(); - await waitFor(() => expect(screen.getByText("Verified")).toBeInTheDocument()); - expect(container).toMatchSnapshot(); - }); - - it("renders verify button", async () => { - mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); - mockCrypto.userHasCrossSigningKeys.mockResolvedValue(true); - const { container } = renderComponent(); - await waitFor(() => expect(screen.getByText("Verify User")).toBeInTheDocument()); - expect(container).toMatchSnapshot(); - }); - - it("renders verification unavailable message", async () => { - mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); - mockCrypto.userHasCrossSigningKeys.mockResolvedValue(false); - const { container } = renderComponent(); - await waitFor(() => expect(screen.getByText("(User verification unavailable)")).toBeInTheDocument()); - expect(container).toMatchSnapshot(); - }); -}); - describe("", () => { const member = new RoomMember(defaultRoomId, defaultUserId); const defaultProps = { member, canInvite: false, isSpace: false }; diff --git a/test/unit-tests/components/views/right_panel/UserInfoHeaderVerificationView-test.tsx b/test/unit-tests/components/views/right_panel/UserInfoHeaderVerificationView-test.tsx new file mode 100644 index 0000000000..65db069d05 --- /dev/null +++ b/test/unit-tests/components/views/right_panel/UserInfoHeaderVerificationView-test.tsx @@ -0,0 +1,96 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { mocked, type Mocked } from "jest-mock"; +import { type MatrixClient } from "matrix-js-sdk/src/matrix"; +import { UserVerificationStatus, type CryptoApi } from "matrix-js-sdk/src/crypto-api"; +import { Device, RoomMember } from "matrix-js-sdk/src/matrix"; +import { render, waitFor, screen } from "jest-matrix-react"; +import React from "react"; + +import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; +import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; +import { UserInfoHeaderVerificationView } from "../../../../../src/components/views/right_panel/user_info/UserInfoHeaderVerificationView"; +import { createTestClient } from "../../../../test-utils"; + +describe("", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + + let mockClient: MatrixClient; + let mockCrypto: Mocked; + + beforeEach(() => { + mockCrypto = mocked({ + bootstrapSecretStorage: jest.fn(), + bootstrapCrossSigning: jest.fn(), + getCrossSigningKeyId: jest.fn(), + getVerificationRequestsToDeviceInProgress: jest.fn().mockReturnValue([]), + getUserDeviceInfo: jest.fn(), + getDeviceVerificationStatus: jest.fn(), + getUserVerificationStatus: jest.fn(), + isDehydrationSupported: jest.fn().mockResolvedValue(false), + startDehydration: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), + userHasCrossSigningKeys: jest.fn().mockResolvedValue(false), + } as unknown as CryptoApi); + + mockClient = createTestClient(); + jest.spyOn(mockClient, "doesServerSupportUnstableFeature").mockResolvedValue(true); + jest.spyOn(mockClient.secretStorage, "hasKey").mockResolvedValue(true); + jest.spyOn(mockClient, "getCrypto").mockReturnValue(mockCrypto); + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + const renderComponent = () => { + const device1 = new Device({ + deviceId: "d1", + userId: defaultUserId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + const devicesMap = new Map([[device1.deviceId, device1]]); + const userDeviceMap = new Map>([[defaultUserId, devicesMap]]); + + mockCrypto.getUserDeviceInfo.mockResolvedValue(userDeviceMap); + jest.spyOn(mockClient, "doesServerSupportUnstableFeature").mockResolvedValue(true); + const Wrapper = (wrapperProps = {}) => { + return ; + }; + + return render(, { + wrapper: Wrapper, + }); + }; + + it("renders verified badge when user is verified", async () => { + mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(true, true, false)); + const { container } = renderComponent(); + await waitFor(() => expect(screen.getByText("Verified")).toBeInTheDocument()); + expect(container).toMatchSnapshot(); + }); + + it("renders verify button", async () => { + mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); + mockCrypto.userHasCrossSigningKeys.mockResolvedValue(true); + const { container } = renderComponent(); + await waitFor(() => expect(screen.getByText("Verify User")).toBeInTheDocument()); + expect(container).toMatchSnapshot(); + }); + + it("renders verification unavailable message", async () => { + mockCrypto.getUserVerificationStatus.mockResolvedValue(new UserVerificationStatus(false, false, false)); + mockCrypto.userHasCrossSigningKeys.mockResolvedValue(false); + const { container } = renderComponent(); + await waitFor(() => expect(screen.getByText("(User verification unavailable)")).toBeInTheDocument()); + expect(container).toMatchSnapshot(); + }); +}); diff --git a/test/unit-tests/components/views/right_panel/UserInfoHeaderView-test.tsx b/test/unit-tests/components/views/right_panel/UserInfoHeaderView-test.tsx new file mode 100644 index 0000000000..04f59f16f6 --- /dev/null +++ b/test/unit-tests/components/views/right_panel/UserInfoHeaderView-test.tsx @@ -0,0 +1,195 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { mocked, type Mocked } from "jest-mock"; +import { type MatrixClient } from "matrix-js-sdk/src/matrix"; +import { type CryptoApi } from "matrix-js-sdk/src/crypto-api"; +import { Device, RoomMember } from "matrix-js-sdk/src/matrix"; +import { fireEvent, render, screen } from "jest-matrix-react"; +import React from "react"; + +import { MatrixClientPeg } from "../../../../../src/MatrixClientPeg"; +import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; +import { UserInfoHeaderView } from "../../../../../src/components/views/right_panel/user_info/UserInfoHeaderView"; +import { createTestClient } from "../../../../test-utils"; +import { useUserfoHeaderViewModel } from "../../../../../src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel"; + +// Mock the viewmodel hooks +jest.mock("../../../../../src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel", () => ({ + useUserfoHeaderViewModel: jest.fn().mockReturnValue({ + onMemberAvatarClick: jest.fn(), + precenseInfo: { + lastActiveAgo: undefined, + currentlyActive: undefined, + state: undefined, + }, + showPresence: false, + timezoneInfo: null, + userIdentifier: "customUserIdentifier", + }), +})); + +describe("", () => { + const defaultRoomId = "!fkfk"; + const defaultUserId = "@user:example.com"; + + const defaultMember = new RoomMember(defaultRoomId, defaultUserId); + const defaultProps = { + member: defaultMember, + roomId: defaultRoomId, + }; + + let mockClient: MatrixClient; + let mockCrypto: Mocked; + + beforeEach(() => { + mockCrypto = mocked({ + bootstrapSecretStorage: jest.fn(), + bootstrapCrossSigning: jest.fn(), + getCrossSigningKeyId: jest.fn(), + getVerificationRequestsToDeviceInProgress: jest.fn().mockReturnValue([]), + getUserDeviceInfo: jest.fn(), + getDeviceVerificationStatus: jest.fn(), + getUserVerificationStatus: jest.fn(), + isDehydrationSupported: jest.fn().mockResolvedValue(false), + startDehydration: jest.fn(), + getKeyBackupInfo: jest.fn().mockResolvedValue(null), + userHasCrossSigningKeys: jest.fn().mockResolvedValue(false), + } as unknown as CryptoApi); + + mockClient = createTestClient(); + mockClient.doesServerSupportExtendedProfiles = () => Promise.resolve(false); + + jest.spyOn(mockClient, "doesServerSupportUnstableFeature").mockResolvedValue(true); + jest.spyOn(mockClient.secretStorage, "hasKey").mockResolvedValue(true); + jest.spyOn(mockClient, "getCrypto").mockReturnValue(mockCrypto); + jest.spyOn(mockClient, "doesServerSupportUnstableFeature").mockResolvedValue(true); + jest.spyOn(MatrixClientPeg, "get").mockReturnValue(mockClient); + jest.spyOn(MatrixClientPeg, "safeGet").mockReturnValue(mockClient); + }); + + const renderComponent = ( + props = { + hideVerificationSection: false, + }, + ) => { + const device1 = new Device({ + deviceId: "d1", + userId: defaultUserId, + displayName: "my device", + algorithms: [], + keys: new Map(), + }); + + const devicesMap = new Map([[device1.deviceId, device1]]); + const userDeviceMap = new Map>([[defaultUserId, devicesMap]]); + + mockCrypto.getUserDeviceInfo.mockResolvedValue(userDeviceMap); + + const Wrapper = (wrapperProps = {}) => { + return ; + }; + + return render( + , + { + wrapper: Wrapper, + }, + ); + }; + + it("renders custom user identifiers in the header", () => { + const { container } = renderComponent(); + expect(screen.getByText("customUserIdentifier")).toBeInTheDocument(); + expect(container).toMatchSnapshot(); + }); + + it("should not render verification view if hideVerificationSection is true", () => { + mocked(useUserfoHeaderViewModel).mockReturnValue({ + onMemberAvatarClick: jest.fn(), + precenseInfo: { + lastActiveAgo: undefined, + currentlyActive: undefined, + state: undefined, + }, + showPresence: false, + timezoneInfo: null, + userIdentifier: "null", + }); + + const { container } = renderComponent({ hideVerificationSection: true }); + const verificationClass = container.getElementsByClassName("mx_UserInfo_verification").length; + + expect(verificationClass).toEqual(0); + }); + + it("should render timezone if it exist", () => { + mocked(useUserfoHeaderViewModel).mockReturnValue({ + onMemberAvatarClick: jest.fn(), + precenseInfo: { + lastActiveAgo: undefined, + currentlyActive: undefined, + state: undefined, + }, + showPresence: false, + timezoneInfo: { + timezone: "FR", + friendly: "paris", + }, + userIdentifier: null, + }); + + renderComponent({ hideVerificationSection: false }); + expect(screen.getByText("paris")).toBeInTheDocument(); + }); + + it("should render correct presence label", () => { + mocked(useUserfoHeaderViewModel).mockReturnValue({ + onMemberAvatarClick: jest.fn(), + precenseInfo: { + lastActiveAgo: 0, + currentlyActive: true, + state: "online", + }, + showPresence: true, + timezoneInfo: null, + userIdentifier: null, + }); + + renderComponent({ hideVerificationSection: false }); + expect(screen.getByText("Online")).toBeInTheDocument(); + }); + + it("should be able to click on member avatar", () => { + const onMemberAvatarClick = jest.fn(); + mocked(useUserfoHeaderViewModel).mockReturnValue({ + onMemberAvatarClick, + precenseInfo: { + lastActiveAgo: undefined, + currentlyActive: undefined, + state: undefined, + }, + showPresence: false, + timezoneInfo: { + timezone: "FR", + friendly: "paris", + }, + userIdentifier: null, + }); + renderComponent(); + const avatar = screen.getByRole("button", { name: "Profile picture" }); + + fireEvent.click(avatar); + + expect(onMemberAvatarClick).toHaveBeenCalled(); + }); +}); diff --git a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap index 92de5429cb..439a9ef04e 100644 --- a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap +++ b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap @@ -614,270 +614,3 @@ exports[` with crypto enabled should render a deactivate button for `; - -exports[` renders verification unavailable message 1`] = ` -
-
-
-
- -
-
-
-
-
-

-
- @user:example.com -
-

-
- Unknown -
-

-

- customUserIdentifier -
-
-

-
-
-

- ( - User verification unavailable - ) -

-
-
-
-`; - -exports[` renders verified badge when user is verified 1`] = ` -
-
-
-
- -
-
-
-
-
-

-
- @user:example.com -
-

-
- Unknown -
-

-

- customUserIdentifier -
-
-

-
-
- - - - -

- Verified -

-
-
-
-
-`; - -exports[` renders verify button 1`] = ` -
-
-
-
- -
-
-
-
-
-

-
- @user:example.com -
-

-
- Unknown -
-

-

- customUserIdentifier -
-
-

-
-
-
- -
-
-
-
-`; diff --git a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderVerificationView-test.tsx.snap b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderVerificationView-test.tsx.snap new file mode 100644 index 0000000000..01a400bbba --- /dev/null +++ b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderVerificationView-test.tsx.snap @@ -0,0 +1,73 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders verification unavailable message 1`] = ` +
+
+

+ ( + User verification unavailable + ) +

+
+
+`; + +exports[` renders verified badge when user is verified 1`] = ` +
+
+ + + + +

+ Verified +

+
+
+
+`; + +exports[` renders verify button 1`] = ` +
+
+
+ +
+
+
+`; diff --git a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderView-test.tsx.snap b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderView-test.tsx.snap new file mode 100644 index 0000000000..05ec267d3e --- /dev/null +++ b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfoHeaderView-test.tsx.snap @@ -0,0 +1,86 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders custom user identifiers in the header 1`] = ` +
+
+
+
+ +
+
+
+
+
+

+
+ @user:example.com +
+

+

+

+ customUserIdentifier +
+
+

+
+
+ + + +
+
+
+`; From e7a772472ef9c7358e9926800729da198253719a Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Tue, 22 Jul 2025 10:51:21 +0200 Subject: [PATCH 134/142] [create-pull-request] automated change (#30341) Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com> --- playwright/testcontainers/synapse.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright/testcontainers/synapse.ts b/playwright/testcontainers/synapse.ts index aec3b1b570..712634e8a4 100644 --- a/playwright/testcontainers/synapse.ts +++ b/playwright/testcontainers/synapse.ts @@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details. import { SynapseContainer as BaseSynapseContainer } from "@element-hq/element-web-playwright-common/lib/testcontainers"; -const TAG = "develop@sha256:b38e55f06543f83f5a13f1d843489eb7aeaf7370a5c17a51897b462eeca315f5"; +const TAG = "develop@sha256:6e8c604472c7cf13c30f06791c4b3368cf433956b3973e97cd978ec680f4b62f"; /** * SynapseContainer which freezes the docker digest to stabilise tests, From e0f5f48eef708e7f22d20b85ffe00c5c0ebf334c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:28:53 +0000 Subject: [PATCH 135/142] Bump form-data from 4.0.3 to 4.0.4 (#30360) Bumps [form-data](https://github.com/form-data/form-data) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index cd4bb55b3f..71337815aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4551,7 +4551,6 @@ "@vector-im/matrix-wysiwyg-wasm@link:../../../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" - uid "" "@vector-im/matrix-wysiwyg@2.38.4": version "2.38.4" @@ -8278,9 +8277,9 @@ foreground-child@^3.1.0, foreground-child@^3.3.1: signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae" - integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" + integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" From 9136332f42b1b867ef6309b0bd76762117d31a6c Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 22 Jul 2025 13:25:38 +0000 Subject: [PATCH 136/142] Upgrade dependency to matrix-js-sdk@37.12.0-rc.0 --- package.json | 2 +- yarn.lock | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fef29cd1f5..d00c6cf32b 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "maplibre-gl": "^5.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "37.12.0-rc.0", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 71337815aa..579fb24dff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4551,13 +4551,14 @@ "@vector-im/matrix-wysiwyg-wasm@link:../../../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" + uid "" "@vector-im/matrix-wysiwyg@2.38.4": version "2.38.4" resolved "https://registry.yarnpkg.com/@vector-im/matrix-wysiwyg/-/matrix-wysiwyg-2.38.4.tgz#fb0001dea01010a1e3ffc7042596e2d001ce9389" integrity sha512-X6ky+1cf33SPdEVd6iTmOKfZZ2mDJv9cz3sHtDhuclS6uitK3QE8td/pmGqBj4ek2Ia4y0mnU61LfxvMry1SMA== dependencies: - "@vector-im/matrix-wysiwyg-wasm" "link:../../../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm" + "@vector-im/matrix-wysiwyg-wasm" "link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm" "@vitest/expect@3.0.9": version "3.0.9" @@ -10826,9 +10827,10 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "37.11.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/f8f1bf38373a944f12a739a301c1770c7bf08265" +matrix-js-sdk@37.12.0-rc.0: + version "37.12.0-rc.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-37.12.0-rc.0.tgz#8c439319298a4a74999c9f1cc1222d2799d0f718" + integrity sha512-HFghuEEBgV/ljs34w/Nyqc/E7i1yddopkJdxp6EuerZEeDcJVMi6PbApzLBmbGiRReVzeplmP6yb71g90kTSWw== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^15.0.0" From acb3d31a076d42e0e3e4149295dcf4f9a3e9434e Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 22 Jul 2025 13:29:36 +0000 Subject: [PATCH 137/142] v1.11.107-rc.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d00c6cf32b..5de87a38df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.106", + "version": "1.11.107-rc.0", "description": "Element: the future of secure communication", "author": "New Vector Ltd.", "repository": { From db5c69e22899f62ff6f2b5cb9f8a733b61c6cf54 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Mon, 28 Jul 2025 09:58:20 +0100 Subject: [PATCH 138/142] Fix e2e shield being invisible in white mode for encrypted room (#30408) (#30411) Co-authored-by: Florian Duros --- playwright/e2e/crypto/crypto.spec.ts | 2 ++ .../composer-e2e-icon-normal-linux.png | Bin 0 -> 268 bytes res/css/views/rooms/_E2EIcon.pcss | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 playwright/snapshots/crypto/crypto.spec.ts/composer-e2e-icon-normal-linux.png diff --git a/playwright/e2e/crypto/crypto.spec.ts b/playwright/e2e/crypto/crypto.spec.ts index d69af46a72..6d01435546 100644 --- a/playwright/e2e/crypto/crypto.spec.ts +++ b/playwright/e2e/crypto/crypto.spec.ts @@ -158,6 +158,8 @@ test.describe("Cryptography", function () { await page.getByRole("textbox", { name: "Send a message…" }).press("Enter"); await checkDMRoom(page); const bobRoomId = await bobJoin(page, bob); + await expect(page.locator(".mx_MessageComposer_e2eIcon")).toMatchScreenshot("composer-e2e-icon-normal.png"); + await testMessages(page, bob, bobRoomId); await verify(app, bob); diff --git a/playwright/snapshots/crypto/crypto.spec.ts/composer-e2e-icon-normal-linux.png b/playwright/snapshots/crypto/crypto.spec.ts/composer-e2e-icon-normal-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..70a3795fc9c05c5d80e8d6ca898e3ac87efd0f20 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^JRmj)6Oa`0mJkI}2R&UJLn`L%nRu3~iGk<1=@ply z{4Ps37;vku?3j08a_p+${+lbkOI}>DW|2L$Z=u4k14iTJ&nO#H=jIU+OGMzQONjubRbFXdo3m zjhEB&*lpjvYeeE>ul%<@Uis!5yT>M`_x2As85sWmmwP^AJJ2(1AkQ!}%za?E`ugYp QsX!41Pgg&ebxsLQ0BcWgbpQYW literal 0 HcmV?d00001 diff --git a/res/css/views/rooms/_E2EIcon.pcss b/res/css/views/rooms/_E2EIcon.pcss index aea1b942d1..024b6f637a 100644 --- a/res/css/views/rooms/_E2EIcon.pcss +++ b/res/css/views/rooms/_E2EIcon.pcss @@ -52,7 +52,13 @@ Please see LICENSE files in the repository root for full details. .mx_E2EIcon_normal::after { mask-image: url("$(res)/img/e2e/normal.svg"); - background-color: white; + background-color: var(--cpd-color-icon-tertiary); +} + +.mx_E2EIcon_verified { + .mx_E2EIcon_normal::after { + background-color: white; + } } .mx_E2EIcon_verified::after { From d1f62317bab69ee3b8a35eff17684d2875edc360 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 29 Jul 2025 13:01:13 +0000 Subject: [PATCH 139/142] Upgrade dependency to matrix-js-sdk@37.12.0 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5de87a38df..ffdc644398 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "maplibre-gl": "^5.0.0", "matrix-encrypt-attachment": "^1.0.3", "matrix-events-sdk": "0.0.1", - "matrix-js-sdk": "37.12.0-rc.0", + "matrix-js-sdk": "37.12.0", "matrix-widget-api": "^1.10.0", "memoize-one": "^6.0.0", "mime": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 579fb24dff..302c688927 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4549,7 +4549,7 @@ classnames "^2.5.1" vaul "^1.0.0" -"@vector-im/matrix-wysiwyg-wasm@link:../../../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm": +"@vector-im/matrix-wysiwyg-wasm@link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.38.4-fb0001dea01010a1e3ffc7042596e2d001ce9389-integrity/node_modules/bindings/wysiwyg-wasm": version "0.0.0" uid "" @@ -10827,10 +10827,10 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -matrix-js-sdk@37.12.0-rc.0: - version "37.12.0-rc.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-37.12.0-rc.0.tgz#8c439319298a4a74999c9f1cc1222d2799d0f718" - integrity sha512-HFghuEEBgV/ljs34w/Nyqc/E7i1yddopkJdxp6EuerZEeDcJVMi6PbApzLBmbGiRReVzeplmP6yb71g90kTSWw== +matrix-js-sdk@37.12.0: + version "37.12.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-37.12.0.tgz#720d8b676e82ee809b227e667ce5fdd63aa8c099" + integrity sha512-2JSTMtvACE4egrBPp0ZQ7fSxBXcX6xuHcQSjcoBiBxFL7W0SZCl4qsNl30pBshDTe5wARAByzIHEMv6bGVKKNA== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^15.0.0" From 5a4b5418cce5fff99b32654e92b5eee496d7b48a Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 29 Jul 2025 13:04:43 +0000 Subject: [PATCH 140/142] v1.11.107 --- CHANGELOG.md | 19 +++++++++++++++++++ package.json | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f3c4febd..e578d777f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +Changes in [1.11.107](https://github.com/element-hq/element-web/releases/tag/v1.11.107) (2025-07-29) +==================================================================================================== +## ✨ Features + +* Message preview should show tooltip with the full message on hover ([#30265](https://github.com/element-hq/element-web/pull/30265)). Contributed by @MidhunSureshR. +* Support rendering notification badges on platforms that do their own icon overlays ([#30315](https://github.com/element-hq/element-web/pull/30315)). Contributed by @Half-Shot. +* Add SubscriptionViewModel base class ([#30297](https://github.com/element-hq/element-web/pull/30297)). Contributed by @dbkr. +* Enhancement: Save image on CTRL+S ([#30330](https://github.com/element-hq/element-web/pull/30330)). Contributed by @ioalexander. +* Add quote functionality to MessageContextMenu (#29893) ([#30323](https://github.com/element-hq/element-web/pull/30323)). Contributed by @AlirezaMrtz. +* Initial structure for shared component views ([#30216](https://github.com/element-hq/element-web/pull/30216)). Contributed by @dbkr. + +## 🐛 Bug Fixes + +* [Backport staging] Fix e2e shield being invisible in white mode for encrypted room ([#30411](https://github.com/element-hq/element-web/pull/30411)). Contributed by @RiotRobot. +* Force ED titlebar color for new room list ([#30332](https://github.com/element-hq/element-web/pull/30332)). Contributed by @florianduros. +* Add a background color to left panel for macos titlebar in element desktop ([#30328](https://github.com/element-hq/element-web/pull/30328)). Contributed by @florianduros. +* Fix: Prevent page refresh on Enter key in right panel member search ([#30312](https://github.com/element-hq/element-web/pull/30312)). Contributed by @AlirezaMrtz. + + Changes in [1.11.106](https://github.com/element-hq/element-web/releases/tag/v1.11.106) (2025-07-15) ==================================================================================================== ## ✨ Features diff --git a/package.json b/package.json index ffdc644398..2361007e77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.107-rc.0", + "version": "1.11.107", "description": "Element: the future of secure communication", "author": "New Vector Ltd.", "repository": { From c3e5367e45c27a433c1b3aa26e6609335886ae33 Mon Sep 17 00:00:00 2001 From: ElementRobot Date: Wed, 30 Jul 2025 14:57:09 +0100 Subject: [PATCH 141/142] Fix downloaded attachments not being decrypted (#30433) (#30434) * Fix downloaded attachments not being decrypted Fixes https://github.com/element-hq/element-web/issues/30339 * Import order (cherry picked from commit 1e15a322a53b135c909b9f8e9c26b9497dc0f0a9) Co-authored-by: David Baker --- src/hooks/useDownloadMedia.ts | 18 ++++++---- .../views/elements/ImageView-test.tsx | 35 +++++++++++++++++++ 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/hooks/useDownloadMedia.ts b/src/hooks/useDownloadMedia.ts index 74328ac7ca..eb0af954e0 100644 --- a/src/hooks/useDownloadMedia.ts +++ b/src/hooks/useDownloadMedia.ts @@ -59,15 +59,19 @@ export function useDownloadMedia(url: string, fileName?: string, mxEvent?: Matri return downloadBlob(blobRef.current); } - const res = await fetch(url); - if (!res.ok) { - throw parseErrorResponse(res, await res.text()); + // We must download via the mediaEventHelper if given as the file may need decryption. + if (mediaEventHelper) { + blobRef.current = await mediaEventHelper.sourceBlob.value; + } else { + const res = await fetch(url); + if (!res.ok) { + throw parseErrorResponse(res, await res.text()); + } + + blobRef.current = await res.blob(); } - const blob = await res.blob(); - blobRef.current = blob; - - await downloadBlob(blob); + await downloadBlob(blobRef.current); } catch (e) { showError(e); } diff --git a/test/unit-tests/components/views/elements/ImageView-test.tsx b/test/unit-tests/components/views/elements/ImageView-test.tsx index b0e9338f69..6537a3948a 100644 --- a/test/unit-tests/components/views/elements/ImageView-test.tsx +++ b/test/unit-tests/components/views/elements/ImageView-test.tsx @@ -10,11 +10,13 @@ import React from "react"; import { mocked } from "jest-mock"; import { render, fireEvent, waitFor } from "jest-matrix-react"; import fetchMock from "fetch-mock-jest"; +import { MatrixEvent } from "matrix-js-sdk/src/matrix"; import ImageView from "../../../../../src/components/views/elements/ImageView"; import { FileDownloader } from "../../../../../src/utils/FileDownloader"; import Modal from "../../../../../src/Modal"; import ErrorDialog from "../../../../../src/components/views/dialogs/ErrorDialog"; +import { stubClient } from "../../../../test-utils"; jest.mock("../../../../../src/utils/FileDownloader"); @@ -44,6 +46,39 @@ describe("", () => { expect(fetchMock).toHaveFetched("https://example.com/image.png"); }); + it("should use event as download source if given", async () => { + stubClient(); + + const event = new MatrixEvent({ + event_id: "$eventId", + type: "m.image", + content: { + body: "fromEvent.png", + url: "mxc://test.dummy/fromEvent.png", + file_name: "filename.png", + }, + origin_server_ts: new Date(2000, 0, 1, 0, 0, 0, 0).getTime(), + }); + + fetchMock.get("http://this.is.a.url/test.dummy/fromEvent.png", "TESTFILE"); + const { getByRole } = render( + , + ); + fireEvent.click(getByRole("button", { name: "Download" })); + await waitFor(() => + expect(mocked(FileDownloader).mock.instances[0].download).toHaveBeenCalledWith({ + blob: expect.anything(), + name: "fromEvent.png", + }), + ); + expect(fetchMock).toHaveFetched("http://this.is.a.url/test.dummy/fromEvent.png"); + }); + it("should start download on Ctrl+S", async () => { fetchMock.get("https://example.com/image.png", "TESTFILE"); From d98533025a6ba7f1cb1aa0d487e43c7e77f59366 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 30 Jul 2025 14:22:51 +0000 Subject: [PATCH 142/142] v1.11.108 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e578d777f9..36dea524a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [1.11.108](https://github.com/element-hq/element-web/releases/tag/v1.11.108) (2025-07-30) +==================================================================================================== +## 🐛 Bug Fixes + +* [Backport staging] Fix downloaded attachments not being decrypted ([#30434](https://github.com/element-hq/element-web/pull/30434)). Contributed by @RiotRobot. + + Changes in [1.11.107](https://github.com/element-hq/element-web/releases/tag/v1.11.107) (2025-07-29) ==================================================================================================== ## ✨ Features diff --git a/package.json b/package.json index 2361007e77..120631e453 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.107", + "version": "1.11.108", "description": "Element: the future of secure communication", "author": "New Vector Ltd.", "repository": {