From dcc0f9fbf682b8cd0d648fe24c5b423eb7ec39ad Mon Sep 17 00:00:00 2001 From: Germain Date: Wed, 20 Sep 2023 08:21:37 +0100 Subject: [PATCH 01/86] Document feature_notifications_panel labs flag (#25924) --- docs/labs.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/labs.md b/docs/labs.md index 2a71c3caf7..84430ac50d 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -134,6 +134,10 @@ This setting is (currently) _sticky_ to a user's session: it only takes effect w Refactors visually the room header and room sidebar +## Enable the notifications panel in the room header (`feature_notifications`) + +Unreliable in encrypted rooms. + ## Knock rooms (`feature_ask_to_join`) [In Development] Enables knock feature for rooms. This allows users to ask to join a room. From eb40bc940a0af388a43559fd1422cf2738fb2d4f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:23:41 +0100 Subject: [PATCH 02/86] Update docker (#26204) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/dockerhub.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dockerhub.yaml b/.github/workflows/dockerhub.yaml index 3f4a4977a1..f38a2fb6a3 100644 --- a/.github/workflows/dockerhub.yaml +++ b/.github/workflows/dockerhub.yaml @@ -18,22 +18,22 @@ jobs: fetch-depth: 0 # needed for docker-package to be able to calculate the version - name: Set up QEMU - uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2 + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2 + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3 with: install: true - name: Login to Docker Hub - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2 + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Docker meta id: meta - uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4 + uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5 with: images: | vectorim/element-web @@ -44,7 +44,7 @@ jobs: latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }} - name: Build and push - uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4 + uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5 with: context: . push: true From 8a927e5120c1a484f697adfa586ee1f1f5c086ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:24:03 +0100 Subject: [PATCH 03/86] Update SimenB/github-actions-cpu-cores action to v2 (#26203) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 1210e6718b..b8cdee5f67 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -27,7 +27,7 @@ jobs: - name: Get number of CPU cores id: cpu-cores - uses: SimenB/github-actions-cpu-cores@410541432439795d30db6501fb1d8178eb41e502 # v1 + uses: SimenB/github-actions-cpu-cores@97ba232459a8e02ff6121db9362b09661c875ab8 # v2 - name: Run tests with coverage run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}" From c59d0a924b108fe7ad666ebe0471b88bb561e3fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 00:33:54 +0000 Subject: [PATCH 04/86] Update babel monorepo to v7.22.20 (#26199) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 169 +++++++++++++++++++++++++++--------------------------- 1 file changed, 86 insertions(+), 83 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3fab657faf..f253bdc041 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,26 +48,31 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": +"@babel/compat-data@^7.20.5": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== +"@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" + integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== + "@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.17.tgz#2f9b0b395985967203514b24ee50f9fd0639c866" - integrity sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ== + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" + integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" "@babel/generator" "^7.22.15" "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.22.17" + "@babel/helper-module-transforms" "^7.22.20" "@babel/helpers" "^7.22.15" "@babel/parser" "^7.22.16" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.17" - "@babel/types" "^7.22.17" + "@babel/traverse" "^7.22.20" + "@babel/types" "^7.22.19" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -160,10 +165,10 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== "@babel/helper-function-name@^7.22.5": version "7.22.5" @@ -180,7 +185,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.22.5": +"@babel/helper-member-expression-to-functions@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz#b95a144896f6d491ca7863576f820f3628818621" integrity sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA== @@ -194,27 +199,16 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz#40ad2f6950f143900e9c1c72363c0b431a606082" - integrity sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ== +"@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz#da9edc14794babbe7386df438f3768067132f59e" + integrity sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" "@babel/helper-simple-access" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.15" - -"@babel/helper-module-transforms@^7.22.17": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.17.tgz#7edf129097a51ccc12443adbc6320e90eab76693" - integrity sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.15" + "@babel/helper-validator-identifier" "^7.22.20" "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" @@ -229,21 +223,21 @@ integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz#53a25b7484e722d7efb9c350c75c032d4628de82" - integrity sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ== + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-wrap-function" "^7.22.9" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz#cbdc27d6d8d18cd22c81ae4293765a5d9afd0779" - integrity sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg== + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-simple-access@^7.22.5": @@ -272,24 +266,24 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== -"@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz#601fa28e4cc06786c18912dca138cec73b882044" - integrity sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ== +"@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.19", "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-option@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== -"@babel/helper-wrap-function@^7.22.9": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz#d845e043880ed0b8c18bd194a12005cb16d2f614" - integrity sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ== +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== dependencies: "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.10" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" "@babel/helpers@^7.22.15": version "7.22.15" @@ -301,11 +295,11 @@ "@babel/types" "^7.22.15" "@babel/highlight@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.13.tgz#9cda839e5d3be9ca9e8c26b6dd69e7548f0cbf16" - integrity sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ== + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== dependencies: - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" @@ -1006,11 +1000,11 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.11": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.15.tgz#142716f8e00bc030dae5b2ac6a46fbd8b3e18ff8" - integrity sha512-tZFHr54GBkHk6hQuVA8w4Fmq+MSPsfvMG0vPnOYyTnJpyfMqybL8/MbNCPRT9zc2KBO2pe4tq15g6Uno4Jpoag== + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" + integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== dependencies: - "@babel/compat-data" "^7.22.9" + "@babel/compat-data" "^7.22.20" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1084,7 +1078,7 @@ "@babel/plugin-transform-unicode-regex" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.15" + "@babel/types" "^7.22.19" babel-plugin-polyfill-corejs2 "^0.4.5" babel-plugin-polyfill-corejs3 "^0.8.3" babel-plugin-polyfill-regenerator "^0.5.2" @@ -1171,23 +1165,23 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.22.15", "@babel/traverse@^7.22.17": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.17.tgz#b23c203ab3707e3be816043081b4a994fcacec44" - integrity sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg== +"@babel/traverse@^7.22.15", "@babel/traverse@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.20.tgz#db572d9cb5c79e02d83e5618b82f6991c07584c9" + integrity sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw== dependencies: "@babel/code-frame" "^7.22.13" "@babel/generator" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.22.5" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" "@babel/parser" "^7.22.16" - "@babel/types" "^7.22.17" + "@babel/types" "^7.22.19" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== @@ -1196,13 +1190,13 @@ "@babel/helper-validator-identifier" "^7.22.15" to-fast-properties "^2.0.0" -"@babel/types@^7.22.15", "@babel/types@^7.22.17", "@babel/types@^7.22.5": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.17.tgz#f753352c4610ffddf9c8bc6823f9ff03e2303eee" - integrity sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg== +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.4.4": + version "7.22.19" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" + integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== dependencies: "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.15" + "@babel/helper-validator-identifier" "^7.22.19" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -4017,9 +4011,9 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109: integrity sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ== caniuse-lite@^1.0.30001517: - version "1.0.30001529" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001529.tgz#c1f2a411e85fdaace4b1560e1bad078b00ac3181" - integrity sha512-n2pUQYGAkrLG4QYj2desAh+NqsJpHbNmVZz87imptDdxLAtjxary7Df/psdfyDGmskJK/9Dt9cPnx5RZ3CU4Og== + version "1.0.30001538" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz#9dbc6b9af1ff06b5eb12350c2012b3af56744f3f" + integrity sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw== chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -4440,9 +4434,9 @@ copy-descriptor@^0.1.0: integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== core-js-compat@^3.31.0: - version "3.32.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.1.tgz#55f9a7d297c0761a8eb1d31b593e0f5b6ffae964" - integrity sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA== + version "3.32.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" + integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== dependencies: browserslist "^4.21.10" @@ -5322,9 +5316,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.477: - version "1.4.512" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.512.tgz#f6c14d4d2ddacf064f1de36dbd3f6a469821a7ee" - integrity sha512-1W8wRbYlQE4ph7eoj3TJ+uqwO6+xvAE/L+KGU7WTQQvX3tnSIGZAb90MTsMoJqzntamiwJhBAj4WZmygXhsOUg== + version "1.4.523" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz#f82f99243c827df05c26776d49712cb284972df6" + integrity sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg== elliptic@^6.5.3: version "6.5.4" @@ -11412,9 +11406,9 @@ reflect.getprototypeof@^1.0.3: which-builtin-type "^1.1.3" regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: regenerate "^1.4.2" @@ -11605,7 +11599,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.4: version "1.22.4" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== @@ -11614,6 +11608,15 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.14.2: + version "1.22.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.4: version "2.0.0-next.4" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" From 43672998859a06fa30658f611c29ad9691df47ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:00:55 +0000 Subject: [PATCH 05/86] Update jest to v29.5.5 (#26200) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 698 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 360 insertions(+), 338 deletions(-) diff --git a/yarn.lock b/yarn.lock index f253bdc041..f2a3fef2f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -303,16 +303,16 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.5", "@babel/parser@^7.20.7": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" - integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== - -"@babel/parser@^7.22.15", "@babel/parser@^7.22.16": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.16": version "7.22.16" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== +"@babel/parser@^7.18.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" + integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" @@ -1181,16 +1181,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" - integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.15" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.22.19" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== @@ -1199,6 +1190,15 @@ "@babel/helper-validator-identifier" "^7.22.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" + integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.15" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1361,27 +1361,27 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.6.4.tgz#a7e2d84516301f986bba0dd55af9d5fe37f46527" - integrity sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^29.6.3" - jest-util "^29.6.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/core@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.6.4.tgz#265ebee05ec1ff3567757e7a327155c8d6bdb126" - integrity sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg== +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== dependencies: - "@jest/console" "^29.6.4" - "@jest/reporters" "^29.6.4" - "@jest/test-result" "^29.6.4" - "@jest/transform" "^29.6.4" + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" @@ -1389,33 +1389,33 @@ ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^29.6.3" - jest-config "^29.6.4" - jest-haste-map "^29.6.4" - jest-message-util "^29.6.3" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" jest-regex-util "^29.6.3" - jest-resolve "^29.6.4" - jest-resolve-dependencies "^29.6.4" - jest-runner "^29.6.4" - jest-runtime "^29.6.4" - jest-snapshot "^29.6.4" - jest-util "^29.6.3" - jest-validate "^29.6.3" - jest-watcher "^29.6.4" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" micromatch "^4.0.4" - pretty-format "^29.6.3" + pretty-format "^29.7.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.6.4.tgz#78ec2c9f8c8829a37616934ff4fea0c028c79f4f" - integrity sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ== +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: - "@jest/fake-timers" "^29.6.4" + "@jest/fake-timers" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^29.6.3" + jest-mock "^29.7.0" "@jest/expect-utils@^28.1.3": version "28.1.3" @@ -1424,52 +1424,52 @@ dependencies: jest-get-type "^28.0.2" -"@jest/expect-utils@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.6.4.tgz#17c7dfe6cec106441f218b0aff4b295f98346679" - integrity sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg== +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: jest-get-type "^29.6.3" -"@jest/expect@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.6.4.tgz#1d6ae17dc68d906776198389427ab7ce6179dba6" - integrity sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA== +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== dependencies: - expect "^29.6.4" - jest-snapshot "^29.6.4" + expect "^29.7.0" + jest-snapshot "^29.7.0" -"@jest/fake-timers@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.6.4.tgz#45a27f093c43d5d989362a3e7a8c70c83188b4f6" - integrity sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw== +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: "@jest/types" "^29.6.3" "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^29.6.3" - jest-mock "^29.6.3" - jest-util "^29.6.3" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@jest/globals@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.6.4.tgz#4f04f58731b062b44ef23036b79bdb31f40c7f63" - integrity sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA== +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: - "@jest/environment" "^29.6.4" - "@jest/expect" "^29.6.4" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" "@jest/types" "^29.6.3" - jest-mock "^29.6.3" + jest-mock "^29.7.0" -"@jest/reporters@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.6.4.tgz#9d6350c8a2761ece91f7946e97ab0dabc06deab7" - integrity sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g== +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.6.4" - "@jest/test-result" "^29.6.4" - "@jest/transform" "^29.6.4" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" "@jest/types" "^29.6.3" "@jridgewell/trace-mapping" "^0.3.18" "@types/node" "*" @@ -1483,9 +1483,9 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^29.6.3" - jest-util "^29.6.3" - jest-worker "^29.6.4" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" @@ -1514,30 +1514,30 @@ callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.6.4.tgz#adf5c79f6e1fb7405ad13d67d9e2b6ff54b54c6b" - integrity sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^29.6.4" + "@jest/console" "^29.7.0" "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz#86aef66aaa22b181307ed06c26c82802fb836d7b" - integrity sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg== +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: - "@jest/test-result" "^29.6.4" + "@jest/test-result" "^29.7.0" graceful-fs "^4.2.9" - jest-haste-map "^29.6.4" + jest-haste-map "^29.7.0" slash "^3.0.0" -"@jest/transform@^29.6.4": - version "29.6.4" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.6.4.tgz#a6bc799ef597c5d85b2e65a11fd96b6b239bab5a" - integrity sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA== +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: "@babel/core" "^7.11.6" "@jest/types" "^29.6.3" @@ -1547,9 +1547,9 @@ convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^29.6.4" + jest-haste-map "^29.7.0" jest-regex-util "^29.6.3" - jest-util "^29.6.3" + jest-util "^29.7.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" @@ -2401,9 +2401,9 @@ integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== "@types/babel__core@^7.1.14": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b" - integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== + version "7.20.2" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.2.tgz#215db4f4a35d710256579784a548907237728756" + integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -2412,24 +2412,24 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + version "7.6.5" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95" + integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + version "7.4.2" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b" + integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.1.tgz#dd6f1d2411ae677dcb2db008c962598be31d6acf" - integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg== + version "7.20.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d" + integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== dependencies: "@babel/types" "^7.20.7" @@ -2452,9 +2452,9 @@ "@types/node" "*" "@types/graceful-fs@^4.1.3": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.7.tgz#30443a2e64fd51113bc3e2ba0914d47109695e2a" + integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== dependencies: "@types/node" "*" @@ -2491,9 +2491,9 @@ "@types/istanbul-lib-report" "*" "@types/jest@^29.0.0": - version "29.5.4" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.4.tgz#9d0a16edaa009a71e6a71a999acd582514dab566" - integrity sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A== + version "29.5.5" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" + integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -2578,9 +2578,9 @@ form-data "^3.0.0" "@types/node@*": - version "20.5.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.9.tgz#a70ec9d8fa0180a314c3ede0e20ea56ff71aed9a" - integrity sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ== + version "20.6.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" + integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== "@types/node@^16": version "16.18.48" @@ -2669,9 +2669,9 @@ integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/tough-cookie@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" - integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" + integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== "@types/ua-parser-js@^0.7.36": version "0.7.37" @@ -3447,12 +3447,12 @@ await-lock@^2.1.0: resolved "https://registry.yarnpkg.com/await-lock/-/await-lock-2.2.2.tgz#a95a9b269bfd2f69d22b17a321686f551152bcef" integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== -babel-jest@^29.0.0, babel-jest@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.4.tgz#98dbc45d1c93319c82a8ab4a478b670655dd2585" - integrity sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw== +babel-jest@^29.0.0, babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: - "@jest/transform" "^29.6.4" + "@jest/transform" "^29.7.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" babel-preset-jest "^29.6.3" @@ -3797,7 +3797,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.6.4: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.6.4: version "4.21.10" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== @@ -3807,6 +3807,16 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^ node-releases "^2.0.13" update-browserslist-db "^1.0.11" +browserslist@^4.21.9: + version "4.21.11" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.11.tgz#35f74a3e51adc4d193dcd76ea13858de7b8fecb8" + integrity sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ== + dependencies: + caniuse-lite "^1.0.30001538" + electron-to-chromium "^1.4.526" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" + bs58@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" @@ -4010,7 +4020,7 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz#813826554828245ccee776c850566dce12bdeaba" integrity sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ== -caniuse-lite@^1.0.30001517: +caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001538: version "1.0.30001538" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz#9dbc6b9af1ff06b5eb12350c2012b3af56744f3f" integrity sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw== @@ -4550,6 +4560,19 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -5315,10 +5338,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.477: - version "1.4.523" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz#f82f99243c827df05c26776d49712cb284972df6" - integrity sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg== +electron-to-chromium@^1.4.477, electron-to-chromium@^1.4.526: + version "1.4.527" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz#5acf0bcc5bf015eb31dd2279989a3712e341a554" + integrity sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA== elliptic@^6.5.3: version "6.5.4" @@ -5968,16 +5991,16 @@ expect@^28.1.0: jest-message-util "^28.1.3" jest-util "^28.1.3" -expect@^29.0.0, expect@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.6.4.tgz#a6e6f66d4613717859b2fe3da98a739437b6f4b8" - integrity sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA== +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - "@jest/expect-utils" "^29.6.4" + "@jest/expect-utils" "^29.7.0" jest-get-type "^29.6.3" - jest-matcher-utils "^29.6.4" - jest-message-util "^29.6.3" - jest-util "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" express@^4.17.1: version "4.18.2" @@ -7859,84 +7882,83 @@ jest-canvas-mock@2.5.2: cssfontparser "^1.2.1" moo-color "^1.0.2" -jest-changed-files@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.6.3.tgz#97cfdc93f74fb8af2a1acb0b78f836f1fb40c449" - integrity sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg== +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: execa "^5.0.0" - jest-util "^29.6.3" + jest-util "^29.7.0" p-limit "^3.1.0" -jest-circus@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.6.4.tgz#f074c8d795e0cc0f2ebf0705086b1be6a9a8722f" - integrity sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw== +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== dependencies: - "@jest/environment" "^29.6.4" - "@jest/expect" "^29.6.4" - "@jest/test-result" "^29.6.4" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^1.0.0" is-generator-fn "^2.0.0" - jest-each "^29.6.3" - jest-matcher-utils "^29.6.4" - jest-message-util "^29.6.3" - jest-runtime "^29.6.4" - jest-snapshot "^29.6.4" - jest-util "^29.6.3" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" p-limit "^3.1.0" - pretty-format "^29.6.3" + pretty-format "^29.7.0" pure-rand "^6.0.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.6.4.tgz#ad52f2dfa1b0291de7ec7f8d7c81ac435521ede0" - integrity sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ== +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: - "@jest/core" "^29.6.4" - "@jest/test-result" "^29.6.4" + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" "@jest/types" "^29.6.3" chalk "^4.0.0" + create-jest "^29.7.0" exit "^0.1.2" - graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^29.6.4" - jest-util "^29.6.3" - jest-validate "^29.6.3" - prompts "^2.0.1" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" yargs "^17.3.1" -jest-config@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.6.4.tgz#eff958ee41d4e1ee7a6106d02b74ad9fc427d79e" - integrity sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A== +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.6.4" + "@jest/test-sequencer" "^29.7.0" "@jest/types" "^29.6.3" - babel-jest "^29.6.4" + babel-jest "^29.7.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^29.6.4" - jest-environment-node "^29.6.4" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" jest-get-type "^29.6.3" jest-regex-util "^29.6.3" - jest-resolve "^29.6.4" - jest-runner "^29.6.4" - jest-util "^29.6.3" - jest-validate "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^29.6.3" + pretty-format "^29.7.0" slash "^3.0.0" strip-json-comments "^3.1.1" @@ -7950,59 +7972,59 @@ jest-diff@^28.1.3: jest-get-type "^28.0.2" pretty-format "^28.1.3" -jest-diff@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.6.4.tgz#85aaa6c92a79ae8cd9a54ebae8d5b6d9a513314a" - integrity sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw== +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" diff-sequences "^29.6.3" jest-get-type "^29.6.3" - pretty-format "^29.6.3" + pretty-format "^29.7.0" -jest-docblock@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.6.3.tgz#293dca5188846c9f7c0c2b1bb33e5b11f21645f2" - integrity sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" -jest-each@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.6.3.tgz#1956f14f5f0cb8ae0b2e7cabc10bb03ec817c142" - integrity sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg== +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: "@jest/types" "^29.6.3" chalk "^4.0.0" jest-get-type "^29.6.3" - jest-util "^29.6.3" - pretty-format "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" jest-environment-jsdom@^29.0.0: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.6.4.tgz#0daf44454041f9e1ef7fa82eb1bd43426a82eb1c" - integrity sha512-K6wfgUJ16DoMs02JYFid9lOsqfpoVtyJxpRlnTxUHzvZWBnnh2VNGRB9EC1Cro96TQdq5TtSjb3qUjNaJP9IyA== + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== dependencies: - "@jest/environment" "^29.6.4" - "@jest/fake-timers" "^29.6.4" + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" "@jest/types" "^29.6.3" "@types/jsdom" "^20.0.0" "@types/node" "*" - jest-mock "^29.6.3" - jest-util "^29.6.3" + jest-mock "^29.7.0" + jest-util "^29.7.0" jsdom "^20.0.0" -jest-environment-node@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.6.4.tgz#4ce311549afd815d3cafb49e60a1e4b25f06d29f" - integrity sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ== +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== dependencies: - "@jest/environment" "^29.6.4" - "@jest/fake-timers" "^29.6.4" + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^29.6.3" - jest-util "^29.6.3" + jest-mock "^29.7.0" + jest-util "^29.7.0" jest-get-type@^28.0.2: version "28.0.2" @@ -8014,10 +8036,10 @@ jest-get-type@^29.6.3: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.6.4.tgz#97143ce833829157ea7025204b08f9ace609b96a" - integrity sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: "@jest/types" "^29.6.3" "@types/graceful-fs" "^4.1.3" @@ -8026,20 +8048,20 @@ jest-haste-map@^29.6.4: fb-watchman "^2.0.0" graceful-fs "^4.2.9" jest-regex-util "^29.6.3" - jest-util "^29.6.3" - jest-worker "^29.6.4" + jest-util "^29.7.0" + jest-worker "^29.7.0" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz#b9661bc3aec8874e59aff361fa0c6d7cd507ea01" - integrity sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q== +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: jest-get-type "^29.6.3" - pretty-format "^29.6.3" + pretty-format "^29.7.0" jest-matcher-utils@^28.1.3: version "28.1.3" @@ -8051,15 +8073,15 @@ jest-matcher-utils@^28.1.3: jest-get-type "^28.0.2" pretty-format "^28.1.3" -jest-matcher-utils@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz#327db7ababea49455df3b23e5d6109fe0c709d24" - integrity sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ== +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" - jest-diff "^29.6.4" + jest-diff "^29.7.0" jest-get-type "^29.6.3" - pretty-format "^29.6.3" + pretty-format "^29.7.0" jest-message-util@^28.1.3: version "28.1.3" @@ -8076,10 +8098,10 @@ jest-message-util@^28.1.3: slash "^3.0.0" stack-utils "^2.0.3" -jest-message-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.6.3.tgz#bce16050d86801b165f20cfde34dc01d3cf85fbf" - integrity sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA== +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" "@jest/types" "^29.6.3" @@ -8087,18 +8109,18 @@ jest-message-util@^29.6.3: chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.6.3" + pretty-format "^29.7.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^29.0.0, jest-mock@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.6.3.tgz#433f3fd528c8ec5a76860177484940628bdf5e0a" - integrity sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg== +jest-mock@^29.0.0, jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: "@jest/types" "^29.6.3" "@types/node" "*" - jest-util "^29.6.3" + jest-util "^29.7.0" jest-pnp-resolver@^1.2.2: version "1.2.3" @@ -8115,67 +8137,67 @@ jest-regex-util@^29.6.3: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== -jest-resolve-dependencies@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz#20156b33c7eacbb6bb77aeba4bed0eab4a3f8734" - integrity sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA== +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: jest-regex-util "^29.6.3" - jest-snapshot "^29.6.4" + jest-snapshot "^29.7.0" -jest-resolve@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.6.4.tgz#e34cb06f2178b429c38455d98d1a07572ac9faa3" - integrity sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q== +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^29.6.4" + jest-haste-map "^29.7.0" jest-pnp-resolver "^1.2.2" - jest-util "^29.6.3" - jest-validate "^29.6.3" + jest-util "^29.7.0" + jest-validate "^29.7.0" resolve "^1.20.0" resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.6.4.tgz#b3b8ccb85970fde0fae40c73ee11eb75adccfacf" - integrity sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw== +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== dependencies: - "@jest/console" "^29.6.4" - "@jest/environment" "^29.6.4" - "@jest/test-result" "^29.6.4" - "@jest/transform" "^29.6.4" + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^29.6.3" - jest-environment-node "^29.6.4" - jest-haste-map "^29.6.4" - jest-leak-detector "^29.6.3" - jest-message-util "^29.6.3" - jest-resolve "^29.6.4" - jest-runtime "^29.6.4" - jest-util "^29.6.3" - jest-watcher "^29.6.4" - jest-worker "^29.6.4" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.6.4.tgz#b0bc495c9b6b12a0a7042ac34ca9bb85f8cd0ded" - integrity sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA== +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== dependencies: - "@jest/environment" "^29.6.4" - "@jest/fake-timers" "^29.6.4" - "@jest/globals" "^29.6.4" + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.6.4" - "@jest/transform" "^29.6.4" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" @@ -8183,40 +8205,40 @@ jest-runtime@^29.6.4: collect-v8-coverage "^1.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^29.6.4" - jest-message-util "^29.6.3" - jest-mock "^29.6.3" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" jest-regex-util "^29.6.3" - jest-resolve "^29.6.4" - jest-snapshot "^29.6.4" - jest-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.6.4.tgz#9833eb6b66ff1541c7fd8ceaa42d541f407b4876" - integrity sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA== +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.6.4" - "@jest/transform" "^29.6.4" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" "@jest/types" "^29.6.3" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^29.6.4" + expect "^29.7.0" graceful-fs "^4.2.9" - jest-diff "^29.6.4" + jest-diff "^29.7.0" jest-get-type "^29.6.3" - jest-matcher-utils "^29.6.4" - jest-message-util "^29.6.3" - jest-util "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^29.6.3" + pretty-format "^29.7.0" semver "^7.5.3" jest-util@^28.1.3: @@ -8231,10 +8253,10 @@ jest-util@^28.1.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.6.3.tgz#e15c3eac8716440d1ed076f09bc63ace1aebca63" - integrity sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA== +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: "@jest/types" "^29.6.3" "@types/node" "*" @@ -8243,30 +8265,30 @@ jest-util@^29.6.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.6.3.tgz#a75fca774cfb1c5758c70d035d30a1f9c2784b4d" - integrity sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg== +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: "@jest/types" "^29.6.3" camelcase "^6.2.0" chalk "^4.0.0" jest-get-type "^29.6.3" leven "^3.1.0" - pretty-format "^29.6.3" + pretty-format "^29.7.0" -jest-watcher@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.6.4.tgz#633eb515ae284aa67fd6831f1c9d1b534cf0e0ba" - integrity sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@jest/test-result" "^29.6.4" + "@jest/test-result" "^29.7.0" "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.13.1" - jest-util "^29.6.3" + jest-util "^29.7.0" string-length "^4.0.1" jest-worker@^26.5.0: @@ -8278,25 +8300,25 @@ jest-worker@^26.5.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^29.6.4: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.6.4.tgz#f34279f4afc33c872b470d4af21b281ac616abd3" - integrity sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q== +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" - jest-util "^29.6.3" + jest-util "^29.7.0" merge-stream "^2.0.0" supports-color "^8.0.0" jest@^29.0.0: - version "29.6.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.6.4.tgz#7c48e67a445ba264b778253b5d78d4ebc9d0a622" - integrity sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw== + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: - "@jest/core" "^29.6.4" + "@jest/core" "^29.7.0" "@jest/types" "^29.6.3" import-local "^3.0.2" - jest-cli "^29.6.4" + jest-cli "^29.7.0" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -10924,10 +10946,10 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.0.0, pretty-format@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.6.3.tgz#d432bb4f1ca6f9463410c3fb25a0ba88e594ace7" - integrity sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw== +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: "@jest/schemas" "^29.6.3" ansi-styles "^5.0.0" @@ -11599,7 +11621,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.4: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.22.4: version "1.22.4" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== @@ -11608,7 +11630,7 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.4: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.14.2: +resolve@^1.14.2, resolve@^1.20.0: version "1.22.6" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== @@ -13287,10 +13309,10 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== +update-browserslist-db@^1.0.11, update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -13900,9 +13922,9 @@ ws@^7.3.1: integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.11.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== xml-name-validator@^4.0.0: version "4.0.0" From 21f915ffd25f3b9a8017417103a4ab9521ed1c62 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 26 Sep 2023 09:25:53 +0100 Subject: [PATCH 06/86] Update tsconfig.json --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index c707ebaa54..03cc0c3123 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,7 @@ "outDir": "./lib", "declaration": true, "jsx": "react", - "lib": ["es2020", "dom", "dom.iterable"], + "lib": ["es2021", "dom", "dom.iterable"], "strict": true }, "include": [ From 7fe11a60260944b962a10003382b41a9a45a3fd5 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 26 Sep 2023 12:28:31 +0100 Subject: [PATCH 07/86] Make tests happier Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- jest.config.ts | 5 +---- test/setup/setupLanguage.ts | 2 +- .../async-components/structures/ErrorView-test.tsx | 5 +++++ .../components/views/auth/VectorAuthFooter-test.tsx | 5 +++++ .../unit-tests/components/views/auth/VectorAuthPage-test.tsx | 5 +++++ test/unit-tests/vector/platform/ElectronPlatform-test.ts | 2 ++ test/unit-tests/vector/platform/WebPlatform-test.ts | 2 ++ 7 files changed, 21 insertions(+), 5 deletions(-) diff --git a/jest.config.ts b/jest.config.ts index a8aff6104a..2d90bb82c5 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -25,10 +25,7 @@ const config: Config = { }, testMatch: ["/test/**/*-test.[tj]s?(x)"], setupFiles: ["jest-canvas-mock"], - setupFilesAfterEnv: [ - "/node_modules/matrix-react-sdk/test/setupTests.ts", - "/test/setup/setupLanguage.ts", - ], + setupFilesAfterEnv: ["/node_modules/matrix-react-sdk/test/setupTests.ts"], moduleNameMapper: { "\\.(css|scss|pcss)$": "/__mocks__/cssMock.js", "\\.(gif|png|ttf|woff2)$": "/node_modules/matrix-react-sdk/__mocks__/imageMock.js", diff --git a/test/setup/setupLanguage.ts b/test/setup/setupLanguage.ts index 8eead1cd3e..2dc4f0b048 100644 --- a/test/setup/setupLanguage.ts +++ b/test/setup/setupLanguage.ts @@ -25,6 +25,6 @@ fetchMock.config.overwriteRoutes = false; export function setupLanguageMock() { reactSetupLanguageMock(); - fetchMock.get("end:en_EN.json", _.merge(en, reactEn), { overwriteRoutes: true }); + fetchMock.get("end:en_EN.json", _.merge({}, en, reactEn), { overwriteRoutes: true }); } setupLanguageMock(); diff --git a/test/unit-tests/async-components/structures/ErrorView-test.tsx b/test/unit-tests/async-components/structures/ErrorView-test.tsx index 86898b0398..773c8106fd 100644 --- a/test/unit-tests/async-components/structures/ErrorView-test.tsx +++ b/test/unit-tests/async-components/structures/ErrorView-test.tsx @@ -18,8 +18,13 @@ import * as React from "react"; import { render } from "@testing-library/react"; import ErrorView from "../../../../src/async-components/structures/ErrorView"; +import { setupLanguageMock } from "../../../setup/setupLanguage"; describe("", () => { + beforeEach(() => { + setupLanguageMock(); + }); + it("should match snapshot", () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); diff --git a/test/unit-tests/components/views/auth/VectorAuthFooter-test.tsx b/test/unit-tests/components/views/auth/VectorAuthFooter-test.tsx index 22e13d3f7b..f91d57f48a 100644 --- a/test/unit-tests/components/views/auth/VectorAuthFooter-test.tsx +++ b/test/unit-tests/components/views/auth/VectorAuthFooter-test.tsx @@ -18,8 +18,13 @@ import * as React from "react"; import { render } from "@testing-library/react"; import VectorAuthFooter from "../../../../../src/components/views/auth/VectorAuthFooter"; +import { setupLanguageMock } from "../../../../setup/setupLanguage"; describe("", () => { + beforeEach(() => { + setupLanguageMock(); + }); + it("should match snapshot", () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); diff --git a/test/unit-tests/components/views/auth/VectorAuthPage-test.tsx b/test/unit-tests/components/views/auth/VectorAuthPage-test.tsx index 72e432506a..d4c58e0b8e 100644 --- a/test/unit-tests/components/views/auth/VectorAuthPage-test.tsx +++ b/test/unit-tests/components/views/auth/VectorAuthPage-test.tsx @@ -18,8 +18,13 @@ import * as React from "react"; import { render } from "@testing-library/react"; import VectorAuthPage from "../../../../../src/components/views/auth/VectorAuthPage"; +import { setupLanguageMock } from "../../../../setup/setupLanguage"; describe("", () => { + beforeEach(() => { + setupLanguageMock(); + }); + it("should match snapshot", () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); diff --git a/test/unit-tests/vector/platform/ElectronPlatform-test.ts b/test/unit-tests/vector/platform/ElectronPlatform-test.ts index 3c93f98a28..128bacc99b 100644 --- a/test/unit-tests/vector/platform/ElectronPlatform-test.ts +++ b/test/unit-tests/vector/platform/ElectronPlatform-test.ts @@ -26,6 +26,7 @@ import DesktopCapturerSourcePicker from "matrix-react-sdk/src/components/views/e import { mocked } from "jest-mock"; import ElectronPlatform from "../../../../src/vector/platform/ElectronPlatform"; +import { setupLanguageMock } from "../../../setup/setupLanguage"; jest.mock("matrix-react-sdk/src/rageshake/rageshake", () => ({ flush: jest.fn(), @@ -51,6 +52,7 @@ describe("ElectronPlatform", () => { window.electron = mockElectron; jest.clearAllMocks(); Object.defineProperty(window, "navigator", { value: { userAgent: defaultUserAgent }, writable: true }); + setupLanguageMock(); }); const getElectronEventHandlerCall = (eventType: string): [type: string, handler: Function] | undefined => diff --git a/test/unit-tests/vector/platform/WebPlatform-test.ts b/test/unit-tests/vector/platform/WebPlatform-test.ts index af35137f99..00854a9dd2 100644 --- a/test/unit-tests/vector/platform/WebPlatform-test.ts +++ b/test/unit-tests/vector/platform/WebPlatform-test.ts @@ -19,12 +19,14 @@ import { UpdateCheckStatus } from "matrix-react-sdk/src/BasePlatform"; import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg"; import WebPlatform from "../../../../src/vector/platform/WebPlatform"; +import { setupLanguageMock } from "../../../setup/setupLanguage"; fetchMock.config.overwriteRoutes = true; describe("WebPlatform", () => { beforeEach(() => { jest.clearAllMocks(); + setupLanguageMock(); }); it("returns human readable name", () => { From b4cc35b2dac95dffdcc1afb4f7ce387761858eae Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Sep 2023 14:09:47 +0100 Subject: [PATCH 08/86] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 620ac39141..7e3557c09c 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "jsrsasign": "^10.5.25", "katex": "^0.16.0", "lodash": "^4.17.21", - "matrix-js-sdk": "28.2.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "3.81.0", "matrix-widget-api": "^1.3.1", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 74cd290bf5..9f178b4952 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8922,6 +8922,25 @@ matrix-js-sdk@28.2.0: unhomoglyph "^1.0.6" uuid "9" +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": + version "28.2.0" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/d59bb240fa50b736ac6c3cbfff935ee08b697663" + dependencies: + "@babel/runtime" "^7.12.5" + "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" + another-json "^0.2.0" + bs58 "^5.0.0" + content-type "^1.0.4" + jwt-decode "^3.1.2" + loglevel "^1.7.1" + matrix-events-sdk "0.0.1" + matrix-widget-api "^1.6.0" + oidc-client-ts "^2.2.4" + p-retry "4" + sdp-transform "^2.14.1" + unhomoglyph "^1.0.6" + uuid "9" + matrix-mock-request@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-2.6.0.tgz#0855c10b250668ce542b697251087be2bcc23f92" From 1707ecd8b6204d65f0c65b0ccdf7ffc59205ffc3 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 26 Sep 2023 14:10:03 +0100 Subject: [PATCH 09/86] Reset matrix-react-sdk back to develop branch --- package.json | 2 +- yarn.lock | 55 +++++++++++++++++++++++----------------------------- 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 7e3557c09c..02769858ec 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "katex": "^0.16.0", "lodash": "^4.17.21", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "3.81.0", + "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 9f178b4952..c4a72616eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2975,6 +2975,23 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@zxcvbn-ts/core@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@zxcvbn-ts/core/-/core-3.0.4.tgz#c5bde72235eb6c273cec78b672bb47c0d7045cad" + integrity sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw== + dependencies: + fastest-levenshtein "1.0.16" + +"@zxcvbn-ts/language-common@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@zxcvbn-ts/language-common/-/language-common-3.0.4.tgz#fa1d2a42f8c8a589555859795da90d6b8027b7c4" + integrity sha512-viSNNnRYtc7ULXzxrQIVUNwHAPSXRtoIwy/Tq4XQQdIknBzw4vz36lQLF6mvhMlTIlpjoN/Z1GFu/fwiAlUSsw== + +"@zxcvbn-ts/language-en@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@zxcvbn-ts/language-en/-/language-en-3.0.2.tgz#162ada6b2b556444efd5a7700e70845cfde6d6ec" + integrity sha512-Zp+zL+I6Un2Bj0tRXNs6VUBq3Djt+hwTwUz4dkt2qgsQz47U0/XthZ4ULrT/RxjwJRl5LwiaKOOZeOtmixHnjg== + abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" @@ -6142,7 +6159,7 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fastest-levenshtein@^1.0.16: +fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.16: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== @@ -8902,26 +8919,6 @@ 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@28.2.0: - version "28.2.0" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-28.2.0.tgz#2ec2d15c8f1e0dff85e7ec9e9ad061b039320def" - integrity sha512-YENmPaiGgWwCqoYWoL/8oD7QPWd6M/A0xdNhC4yMSiFny419AjUdPQk/EbM8RTSzQV27F79llhWisnz+/AXdaA== - dependencies: - "@babel/runtime" "^7.12.5" - "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" - another-json "^0.2.0" - bs58 "^5.0.0" - content-type "^1.0.4" - jwt-decode "^3.1.2" - loglevel "^1.7.1" - matrix-events-sdk "0.0.1" - matrix-widget-api "^1.6.0" - oidc-client-ts "^2.2.4" - p-retry "4" - sdp-transform "^2.14.1" - unhomoglyph "^1.0.6" - uuid "9" - "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "28.2.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/d59bb240fa50b736ac6c3cbfff935ee08b697663" @@ -8948,10 +8945,9 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -matrix-react-sdk@3.81.0: +"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": version "3.81.0" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.81.0.tgz#3c07b431151243cfe6edb93b802666b94c7a3e6d" - integrity sha512-TKlKBdvSEtPcWgNsDPy5bye23OYUSrSi7Q4d3VFPqitoOvR3WIE3pNKLpRDwoakDVanUCLc4wHUCN9L9VyMvNA== + resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/13aed62a91e7151246fc38f6c15a79df116792ba" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.7.0" @@ -8964,6 +8960,9 @@ matrix-react-sdk@3.81.0: "@testing-library/react-hooks" "^8.0.1" "@vector-im/compound-design-tokens" "^0.0.5" "@vector-im/compound-web" "^0.4.0" + "@zxcvbn-ts/core" "^3.0.4" + "@zxcvbn-ts/language-common" "^3.0.4" + "@zxcvbn-ts/language-en" "^3.0.2" await-lock "^2.1.0" blurhash "^1.1.3" classnames "^2.2.6" @@ -8992,7 +8991,7 @@ matrix-react-sdk@3.81.0: maplibre-gl "^2.0.0" matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "0.0.1" - matrix-js-sdk "28.2.0" + matrix-js-sdk "github:matrix-org/matrix-js-sdk#develop" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5" @@ -9017,7 +9016,6 @@ matrix-react-sdk@3.81.0: ua-parser-js "^1.0.2" uuid "^9.0.0" what-input "^5.2.10" - zxcvbn "^4.4.2" matrix-web-i18n@^3.1.1: version "3.1.1" @@ -14078,8 +14076,3 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zxcvbn@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/zxcvbn/-/zxcvbn-4.4.2.tgz#28ec17cf09743edcab056ddd8b1b06262cc73c30" - integrity sha512-Bq0B+ixT/DMyG8kgX2xWcI5jUvCwqrMxSFam7m0lAf78nf04hv6lNCsyLYdyYTrCVMqNDY/206K7eExYCeSyUQ== From 47677c8415036743a6f009bf9fdb3d9c369b9b9d Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 28 Sep 2023 18:37:29 +0530 Subject: [PATCH 10/86] Fix broken tsc from localazy changes (#26255) --- src/languageHandler.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languageHandler.tsx b/src/languageHandler.tsx index eb53caa12c..511a9b21e3 100644 --- a/src/languageHandler.tsx +++ b/src/languageHandler.tsx @@ -39,7 +39,7 @@ import type EN from "./i18n/strings/en_EN.json"; * which we know will be injected by webpack. */ -export type TranslationKey = Leaves; +export type TranslationKey = Leaves; export class UserFriendlyError extends ReactUserFriendlyError { public constructor(message: TranslationKey, substitutionVariablesAndCause?: IVariables & ErrorOptions) { From c47c598c0b8ba731b10b691627d9a73031ddbee3 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Fri, 29 Sep 2023 11:20:23 +0100 Subject: [PATCH 11/86] Upgrade matrix-react-sdk to 3.81.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 620ac39141..3ce8e48536 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "katex": "^0.16.0", "lodash": "^4.17.21", "matrix-js-sdk": "28.2.0", - "matrix-react-sdk": "3.81.0", + "matrix-react-sdk": "3.81.1", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 9f3e71b8fa..5249c7c214 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8913,10 +8913,10 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -matrix-react-sdk@3.81.0: - version "3.81.0" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.81.0.tgz#3c07b431151243cfe6edb93b802666b94c7a3e6d" - integrity sha512-TKlKBdvSEtPcWgNsDPy5bye23OYUSrSi7Q4d3VFPqitoOvR3WIE3pNKLpRDwoakDVanUCLc4wHUCN9L9VyMvNA== +matrix-react-sdk@3.81.1: + version "3.81.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.81.1.tgz#bcdf3e4f88546ebf5000c73c06024c274e887fc4" + integrity sha512-8TCZfqTsEB07reD/tQRehz/epL86Ovj+M476weZj9FFZ91dCK5lRtAeyAwnYYh03lxZ+bJHXMawmSa40CKtlkw== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.7.0" From e4ecf42a8c90bac9e14300d052422250c3666a4f Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Fri, 29 Sep 2023 11:24:44 +0100 Subject: [PATCH 12/86] Prepare changelog for v1.11.45 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b776a5ffcd..a2486dfcf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [1.11.45](https://github.com/vector-im/element-web/releases/tag/v1.11.45) (2023-09-29) +================================================================================================= + +## 🐛 Bug Fixes + * Fix Emoji font on Safari 17 ([\#11673](https://github.com/matrix-org/matrix-react-sdk/pull/11673)). + Changes in [1.11.44](https://github.com/vector-im/element-web/releases/tag/v1.11.44) (2023-09-26) ================================================================================================= From ae98e3a593032c7bb21683bf3d6eae151120fd00 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Fri, 29 Sep 2023 11:24:44 +0100 Subject: [PATCH 13/86] v1.11.45 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3ce8e48536..3f146528bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.44", + "version": "1.11.45", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 6c305121f413cccf83a3cc1e16e6364c643453c9 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Fri, 29 Sep 2023 11:31:22 +0100 Subject: [PATCH 14/86] Reset matrix-js-sdk back to develop branch --- package.json | 2 +- yarn.lock | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3f146528bb..96305e82a9 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "jsrsasign": "^10.5.25", "katex": "^0.16.0", "lodash": "^4.17.21", - "matrix-js-sdk": "28.2.0", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-react-sdk": "3.81.1", "matrix-widget-api": "^1.3.1", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index e23d00304c..f28e6adc5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8921,7 +8921,7 @@ matrix-events-sdk@0.0.1: "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "28.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/d59bb240fa50b736ac6c3cbfff935ee08b697663" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/74193ad057346aa2b3f04ab1094a6ccc9e567f60" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" @@ -8961,9 +8961,6 @@ matrix-react-sdk@3.81.1: "@testing-library/react-hooks" "^8.0.1" "@vector-im/compound-design-tokens" "^0.0.5" "@vector-im/compound-web" "^0.4.0" - "@zxcvbn-ts/core" "^3.0.4" - "@zxcvbn-ts/language-common" "^3.0.4" - "@zxcvbn-ts/language-en" "^3.0.2" await-lock "^2.1.0" blurhash "^1.1.3" classnames "^2.2.6" @@ -8992,7 +8989,7 @@ matrix-react-sdk@3.81.1: maplibre-gl "^2.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 "28.2.0" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5" @@ -9017,6 +9014,7 @@ matrix-react-sdk@3.81.1: ua-parser-js "^1.0.2" uuid "^9.0.0" what-input "^5.2.10" + zxcvbn "^4.4.2" matrix-web-i18n@^3.1.1: version "3.1.1" From 260e0fc8ac887f7f68e30e70f0e000a9cfaadf18 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Fri, 29 Sep 2023 11:31:48 +0100 Subject: [PATCH 15/86] Reset matrix-react-sdk back to develop branch --- package.json | 2 +- yarn.lock | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 96305e82a9..98b99a2b21 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "katex": "^0.16.0", "lodash": "^4.17.21", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "3.81.1", + "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/yarn.lock b/yarn.lock index f28e6adc5f..9695443c7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6389,11 +6389,6 @@ focus-lock@^0.11.6: dependencies: tslib "^2.0.3" -focus-visible@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3" - integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ== - follow-redirects@^1.0.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" @@ -8945,10 +8940,9 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -matrix-react-sdk@3.81.1: +"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": version "3.81.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.81.1.tgz#bcdf3e4f88546ebf5000c73c06024c274e887fc4" - integrity sha512-8TCZfqTsEB07reD/tQRehz/epL86Ovj+M476weZj9FFZ91dCK5lRtAeyAwnYYh03lxZ+bJHXMawmSa40CKtlkw== + resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/695049729ce9c8472b36feec1e062e4eb5788857" dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.7.0" @@ -8961,6 +8955,9 @@ matrix-react-sdk@3.81.1: "@testing-library/react-hooks" "^8.0.1" "@vector-im/compound-design-tokens" "^0.0.5" "@vector-im/compound-web" "^0.4.0" + "@zxcvbn-ts/core" "^3.0.4" + "@zxcvbn-ts/language-common" "^3.0.4" + "@zxcvbn-ts/language-en" "^3.0.2" await-lock "^2.1.0" blurhash "^1.1.3" classnames "^2.2.6" @@ -8972,7 +8969,6 @@ matrix-react-sdk@3.81.1: escape-html "^1.0.3" file-saver "^2.0.5" filesize "10.0.12" - focus-visible "^5.2.0" gfm.css "^1.1.2" glob-to-regexp "^0.4.1" graphemer "^1.4.0" @@ -8989,7 +8985,7 @@ matrix-react-sdk@3.81.1: maplibre-gl "^2.0.0" matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "0.0.1" - matrix-js-sdk "28.2.0" + matrix-js-sdk "github:matrix-org/matrix-js-sdk#develop" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5" @@ -9014,7 +9010,6 @@ matrix-react-sdk@3.81.1: ua-parser-js "^1.0.2" uuid "^9.0.0" what-input "^5.2.10" - zxcvbn "^4.4.2" matrix-web-i18n@^3.1.1: version "3.1.1" From fcb961d0ea30cba8f828889c1f8dcf8e1b975d35 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 12:08:01 +0100 Subject: [PATCH 16/86] Upgrade matrix-js-sdk to 29.0.0-rc.1 --- package.json | 2 +- yarn.lock | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 98b99a2b21..eb1a9ce566 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "jsrsasign": "^10.5.25", "katex": "^0.16.0", "lodash": "^4.17.21", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "29.0.0-rc.1", "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", "matrix-widget-api": "^1.3.1", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 9695443c7a..daf8d50011 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8914,6 +8914,26 @@ 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@29.0.0-rc.1: + version "29.0.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-29.0.0-rc.1.tgz#5de05ac4a429db44b2d6b30544ea0fabde9e5bb6" + integrity sha512-Rie+4n19JOMRqL7LBJJPzqPlNZjCAdxt3as//P8ek1UWDo8B4yIHdrdv4Jlsa8s9CfJZh7f3s02XqBnl36huag== + dependencies: + "@babel/runtime" "^7.12.5" + "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" + another-json "^0.2.0" + bs58 "^5.0.0" + content-type "^1.0.4" + jwt-decode "^3.1.2" + loglevel "^1.7.1" + matrix-events-sdk "0.0.1" + matrix-widget-api "^1.6.0" + oidc-client-ts "^2.2.4" + p-retry "4" + sdp-transform "^2.14.1" + unhomoglyph "^1.0.6" + uuid "9" + "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": version "28.2.0" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/74193ad057346aa2b3f04ab1094a6ccc9e567f60" From 3b47b1b523c6c4b1596860068032c6a275a2e196 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 12:08:27 +0100 Subject: [PATCH 17/86] Upgrade matrix-react-sdk to 3.82.0-rc.1 --- package.json | 2 +- yarn.lock | 37 +++++++++++++------------------------ 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index eb1a9ce566..a94505a108 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "katex": "^0.16.0", "lodash": "^4.17.21", "matrix-js-sdk": "29.0.0-rc.1", - "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", + "matrix-react-sdk": "3.82.0-rc.1", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/yarn.lock b/yarn.lock index daf8d50011..54ae2b0991 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1706,6 +1706,13 @@ dependencies: "@babel/runtime" "^7.17.9" +"@matrix-org/react-sdk-module-api@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.1.1.tgz#54e8617c15185010d608c0325ecaec8d1574d12b" + integrity sha512-dYPY3aXtNwPrg2aEmFeWddMdohus/Ha17XES2QH+WMCawt+hH+uq28jH1EmW1RUOOzxVcdY36lRGOwqRtAJbhA== + dependencies: + "@babel/runtime" "^7.17.9" + "@matrix-org/spec@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@matrix-org/spec/-/spec-1.7.0.tgz#8a6b93edf0d99f8a6e0a25eea8613b5ada3e6b56" @@ -8934,25 +8941,6 @@ matrix-js-sdk@29.0.0-rc.1: unhomoglyph "^1.0.6" uuid "9" -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "28.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/74193ad057346aa2b3f04ab1094a6ccc9e567f60" - dependencies: - "@babel/runtime" "^7.12.5" - "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" - another-json "^0.2.0" - bs58 "^5.0.0" - content-type "^1.0.4" - jwt-decode "^3.1.2" - loglevel "^1.7.1" - matrix-events-sdk "0.0.1" - matrix-widget-api "^1.6.0" - oidc-client-ts "^2.2.4" - p-retry "4" - sdp-transform "^2.14.1" - unhomoglyph "^1.0.6" - uuid "9" - matrix-mock-request@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-2.6.0.tgz#0855c10b250668ce542b697251087be2bcc23f92" @@ -8960,15 +8948,16 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": - version "3.81.1" - resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/695049729ce9c8472b36feec1e062e4eb5788857" +matrix-react-sdk@3.82.0-rc.1: + version "3.82.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.82.0-rc.1.tgz#71084b4f6e2e15608a1bda073709fb376db3a303" + integrity sha512-2dobsxpXFex2QhcIW2c+mOVAZnO6IImDe/3ZwQx9CopFAe0LiGtvuXhaAMJ/HiVzkfvBXaYrDR4fIawl38NIzg== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.7.0" "@matrix-org/emojibase-bindings" "^1.1.2" "@matrix-org/matrix-wysiwyg" "^2.4.1" - "@matrix-org/react-sdk-module-api" "^2.1.0" + "@matrix-org/react-sdk-module-api" "^2.1.1" "@matrix-org/spec" "^1.7.0" "@sentry/browser" "^7.0.0" "@sentry/tracing" "^7.0.0" @@ -9005,7 +8994,7 @@ matrix-mock-request@^2.5.0: maplibre-gl "^2.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 "29.0.0-rc.1" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5" From 5aa6d0bc6af9d18b65d5c4899e990d516e1dfe8e Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 12:10:39 +0100 Subject: [PATCH 18/86] Prepare changelog for v1.11.46-rc.1 --- CHANGELOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2486dfcf0..180d345a80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +Changes in [1.11.46-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.11.46-rc.1) (2023-10-03) +=========================================================================================================== + +## ✨ Features + * Use .well-known to discover a default rendezvous server for use with Sign in with QR ([\#11655](https://github.com/matrix-org/matrix-react-sdk/pull/11655)). Contributed by @hughns. + * Message layout will update according to the selected style ([\#10170](https://github.com/matrix-org/matrix-react-sdk/pull/10170)). Fixes #21782. Contributed by @manancodes. + * Implement MSC4039: Add an MSC for a new Widget API action to upload files into the media repository ([\#11311](https://github.com/matrix-org/matrix-react-sdk/pull/11311)). Contributed by @dhenneke. + * Render space pills with square corners to match new avatar ([\#11632](https://github.com/matrix-org/matrix-react-sdk/pull/11632)). Fixes #26056. + * Linkify room topic ([\#11631](https://github.com/matrix-org/matrix-react-sdk/pull/11631)). Fixes #26185. + * Show knock rooms in the list ([\#11573](https://github.com/matrix-org/matrix-react-sdk/pull/11573)). Contributed by @maheichyk. + +## 🐛 Bug Fixes + * Fix: Avatar shrinks with long names ([\#11698](https://github.com/matrix-org/matrix-react-sdk/pull/11698)). Fixes #26252. Contributed by @manancodes. + * Update custom translations to support nested fields in structured JSON ([\#11685](https://github.com/matrix-org/matrix-react-sdk/pull/11685)). + * Fix: Edited message remove button is hard to reach. ([\#11674](https://github.com/matrix-org/matrix-react-sdk/pull/11674)). Fixes #24917. Contributed by @manancodes. + * Fix: Theme selector radio button not aligned in center with the text ([\#11676](https://github.com/matrix-org/matrix-react-sdk/pull/11676)). Fixes #25460. Contributed by @manancodes. + * Fix: Unread notification dot aligned ([\#11658](https://github.com/matrix-org/matrix-react-sdk/pull/11658)). Fixes #25285. Contributed by @manancodes. + * Fix: sync intentional mentions push rules with legacy rules ([\#11667](https://github.com/matrix-org/matrix-react-sdk/pull/11667)). Fixes #26227. Contributed by @kerryarchibald. + * Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](https://github.com/matrix-org/matrix-react-sdk/pull/11634)). Fixes #26209. + * Fix: Alignment Fixed ([\#11648](https://github.com/matrix-org/matrix-react-sdk/pull/11648)). Fixes #26169. Contributed by @manancodes. + * Fix: onFinished added which closes the menu ([\#11647](https://github.com/matrix-org/matrix-react-sdk/pull/11647)). Fixes #25556. Contributed by @manancodes. + * Don't start key backups when opening settings ([\#11640](https://github.com/matrix-org/matrix-react-sdk/pull/11640)). + * Fix add to space avatar text centering ([\#11643](https://github.com/matrix-org/matrix-react-sdk/pull/11643)). Fixes #26154. + * fix avatar styling in lightbox ([\#11641](https://github.com/matrix-org/matrix-react-sdk/pull/11641)). Fixes #26196. + Changes in [1.11.45](https://github.com/vector-im/element-web/releases/tag/v1.11.45) (2023-09-29) ================================================================================================= From 796e60c284d5b89525bce79477ba4dadb029078d Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 12:10:40 +0100 Subject: [PATCH 19/86] v1.11.46-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a94505a108..5843daca19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.45", + "version": "1.11.46-rc.1", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 24da65701c0054dcb66d9e8d1f021e3cef622fc6 Mon Sep 17 00:00:00 2001 From: Andy Balaam Date: Tue, 3 Oct 2023 14:44:55 +0100 Subject: [PATCH 20/86] Bump matrix-web-i18n to 3.1.3 for KEY_SEPARATOR (#26287) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5843daca19..bdfce426d5 100644 --- a/package.json +++ b/package.json @@ -150,7 +150,7 @@ "json-loader": "^0.5.7", "loader-utils": "^3.0.0", "matrix-mock-request": "^2.5.0", - "matrix-web-i18n": "^3.1.1", + "matrix-web-i18n": "^3.1.3", "mini-css-extract-plugin": "^1", "minimist": "^1.2.6", "mkdirp": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 54ae2b0991..0bcfc7fdaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9020,10 +9020,10 @@ matrix-react-sdk@3.82.0-rc.1: uuid "^9.0.0" what-input "^5.2.10" -matrix-web-i18n@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-3.1.1.tgz#da851748515b20ca15fa986817bbce2e242b3dd6" - integrity sha512-BOeOTedtONIqVQUlyHFXpxXkrETWdCoJdToyA+edMU+yGjKOW7bekAd9uAEfkV9jErP5eXw3cHYsKZPpa8ifWg== +matrix-web-i18n@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-3.1.3.tgz#b462015b138ebdd288ed945507abea42c896f52d" + integrity sha512-9JUUTifqS/Xe6YQr5uDbX04xvr5Pxg8aU7tRKx49/ZLqm4dZoJKo4SKpyLEwCQeNjAvjcKuXibWO+2hkZ2/Ojw== dependencies: "@babel/parser" "^7.18.5" "@babel/traverse" "^7.18.5" From 5c36d20b48ebf04cdb168e28c4d55f0b133bf081 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 14:52:36 +0100 Subject: [PATCH 21/86] Prepare changelog for v1.11.46-rc.2 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 180d345a80..128a9838ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [1.11.46-rc.2](https://github.com/vector-im/element-web/releases/tag/v1.11.46-rc.2) (2023-10-03) +=========================================================================================================== + +## 🐛 Bug Fixes + * Bump matrix-web-i18n dependency to 3.1.3 ([\#26287](https://github.com/vector-im/element-web/pull/26287)) + Changes in [1.11.46-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.11.46-rc.1) (2023-10-03) =========================================================================================================== From b45e72c22762325ba1c7db6287d68628dbb97ed5 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 3 Oct 2023 14:52:36 +0100 Subject: [PATCH 22/86] v1.11.46-rc.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bdfce426d5..8128c4b278 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.46-rc.1", + "version": "1.11.46-rc.2", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 20ad51994a11d622d3fd5eb64705a391a403ec2b Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 10 Oct 2023 09:27:40 +0100 Subject: [PATCH 23/86] Upgrade matrix-js-sdk to 29.0.0 --- package.json | 2 +- yarn.lock | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8128c4b278..88b3be5b12 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "jsrsasign": "^10.5.25", "katex": "^0.16.0", "lodash": "^4.17.21", - "matrix-js-sdk": "29.0.0-rc.1", + "matrix-js-sdk": "29.0.0", "matrix-react-sdk": "3.82.0-rc.1", "matrix-widget-api": "^1.3.1", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index 0bcfc7fdaf..dbf869043b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8921,6 +8921,26 @@ 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@29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-29.0.0.tgz#ce01e8a9226763282ee5ee9b012d3f0cab0c50f2" + integrity sha512-lE5F+aQrwFB/Pn6MMdqCVa4aeRpnasM1gYK2FTmDG8gv6D/gMshdlBBA1K0xL4UYUx76vw6VRQBknJ+J+/eQRA== + dependencies: + "@babel/runtime" "^7.12.5" + "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" + another-json "^0.2.0" + bs58 "^5.0.0" + content-type "^1.0.4" + jwt-decode "^3.1.2" + loglevel "^1.7.1" + matrix-events-sdk "0.0.1" + matrix-widget-api "^1.6.0" + oidc-client-ts "^2.2.4" + p-retry "4" + sdp-transform "^2.14.1" + unhomoglyph "^1.0.6" + uuid "9" + matrix-js-sdk@29.0.0-rc.1: version "29.0.0-rc.1" resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-29.0.0-rc.1.tgz#5de05ac4a429db44b2d6b30544ea0fabde9e5bb6" From 27733c364fd992b23df08dce55ae608a1d32a8e9 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 10 Oct 2023 09:28:03 +0100 Subject: [PATCH 24/86] Upgrade matrix-react-sdk to 3.82.0 --- package.json | 2 +- yarn.lock | 30 +++++------------------------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 88b3be5b12..69037e6ec0 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "katex": "^0.16.0", "lodash": "^4.17.21", "matrix-js-sdk": "29.0.0", - "matrix-react-sdk": "3.82.0-rc.1", + "matrix-react-sdk": "3.82.0", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/yarn.lock b/yarn.lock index dbf869043b..f0cc461b97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8941,26 +8941,6 @@ matrix-js-sdk@29.0.0: unhomoglyph "^1.0.6" uuid "9" -matrix-js-sdk@29.0.0-rc.1: - version "29.0.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-29.0.0-rc.1.tgz#5de05ac4a429db44b2d6b30544ea0fabde9e5bb6" - integrity sha512-Rie+4n19JOMRqL7LBJJPzqPlNZjCAdxt3as//P8ek1UWDo8B4yIHdrdv4Jlsa8s9CfJZh7f3s02XqBnl36huag== - dependencies: - "@babel/runtime" "^7.12.5" - "@matrix-org/matrix-sdk-crypto-wasm" "^1.2.3-alpha.0" - another-json "^0.2.0" - bs58 "^5.0.0" - content-type "^1.0.4" - jwt-decode "^3.1.2" - loglevel "^1.7.1" - matrix-events-sdk "0.0.1" - matrix-widget-api "^1.6.0" - oidc-client-ts "^2.2.4" - p-retry "4" - sdp-transform "^2.14.1" - unhomoglyph "^1.0.6" - uuid "9" - matrix-mock-request@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-2.6.0.tgz#0855c10b250668ce542b697251087be2bcc23f92" @@ -8968,10 +8948,10 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -matrix-react-sdk@3.82.0-rc.1: - version "3.82.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.82.0-rc.1.tgz#71084b4f6e2e15608a1bda073709fb376db3a303" - integrity sha512-2dobsxpXFex2QhcIW2c+mOVAZnO6IImDe/3ZwQx9CopFAe0LiGtvuXhaAMJ/HiVzkfvBXaYrDR4fIawl38NIzg== +matrix-react-sdk@3.82.0: + version "3.82.0" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.82.0.tgz#a7de18668f91294f515bb0188043934af3c38ce2" + integrity sha512-2hjCCI1fkkRm/yYuhCVXLm1MprqsyvQVrhuscP5ZsQ4oumeVue9mEzWDuyZI8DFyRX1za7qgHjVLgo5tDyhPVw== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.7.0" @@ -9014,7 +8994,7 @@ matrix-react-sdk@3.82.0-rc.1: maplibre-gl "^2.0.0" matrix-encrypt-attachment "^1.0.3" matrix-events-sdk "0.0.1" - matrix-js-sdk "29.0.0-rc.1" + matrix-js-sdk "29.0.0" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5" From 3abaee07e8a8ed5b05556dce642ca469698661f9 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 10 Oct 2023 09:31:47 +0100 Subject: [PATCH 25/86] Prepare changelog for v1.11.46 --- CHANGELOG.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 128a9838ba..c9dbbfaf5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,5 @@ -Changes in [1.11.46-rc.2](https://github.com/vector-im/element-web/releases/tag/v1.11.46-rc.2) (2023-10-03) -=========================================================================================================== - -## 🐛 Bug Fixes - * Bump matrix-web-i18n dependency to 3.1.3 ([\#26287](https://github.com/vector-im/element-web/pull/26287)) - -Changes in [1.11.46-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.11.46-rc.1) (2023-10-03) -=========================================================================================================== +Changes in [1.11.46](https://github.com/vector-im/element-web/releases/tag/v1.11.46) (2023-10-10) +================================================================================================= ## ✨ Features * Use .well-known to discover a default rendezvous server for use with Sign in with QR ([\#11655](https://github.com/matrix-org/matrix-react-sdk/pull/11655)). Contributed by @hughns. @@ -16,6 +10,7 @@ Changes in [1.11.46-rc.1](https://github.com/vector-im/element-web/releases/tag/ * Show knock rooms in the list ([\#11573](https://github.com/matrix-org/matrix-react-sdk/pull/11573)). Contributed by @maheichyk. ## 🐛 Bug Fixes + * Bump matrix-web-i18n dependency to 3.1.3 ([\#26287](https://github.com/vector-im/element-web/pull/26287)) * Fix: Avatar shrinks with long names ([\#11698](https://github.com/matrix-org/matrix-react-sdk/pull/11698)). Fixes #26252. Contributed by @manancodes. * Update custom translations to support nested fields in structured JSON ([\#11685](https://github.com/matrix-org/matrix-react-sdk/pull/11685)). * Fix: Edited message remove button is hard to reach. ([\#11674](https://github.com/matrix-org/matrix-react-sdk/pull/11674)). Fixes #24917. Contributed by @manancodes. From d0727374633fc8276a094f185bfae0ebf3ab4082 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Tue, 10 Oct 2023 09:31:47 +0100 Subject: [PATCH 26/86] v1.11.46 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 69037e6ec0..75202fb64f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.46-rc.2", + "version": "1.11.46", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From f3a96d67e5f797d43db74ac4a7a8a378471b4761 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:05:46 +0100 Subject: [PATCH 27/86] Migrate unchanged patch activate-expired-account-panel --- .../{matrix-js-sdk+28.2.0.patch => matrix-js-sdk+29.0.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/activate-expired-account-panel/{matrix-js-sdk+28.2.0.patch => matrix-js-sdk+29.0.0.patch} (99%) diff --git a/patches/activate-expired-account-panel/matrix-js-sdk+28.2.0.patch b/patches/activate-expired-account-panel/matrix-js-sdk+29.0.0.patch similarity index 99% rename from patches/activate-expired-account-panel/matrix-js-sdk+28.2.0.patch rename to patches/activate-expired-account-panel/matrix-js-sdk+29.0.0.patch index 4e9f7f1650..53f28a74b8 100644 --- a/patches/activate-expired-account-panel/matrix-js-sdk+28.2.0.patch +++ b/patches/activate-expired-account-panel/matrix-js-sdk+29.0.0.patch @@ -41,7 +41,7 @@ index 57e8a18..525860d 100644 export interface UploadProgress { diff --git a/node_modules/matrix-js-sdk/src/sync.ts b/node_modules/matrix-js-sdk/src/sync.ts -index be13b0c..6731e6a 100644 +index 84b6255..770d2f8 100644 --- a/node_modules/matrix-js-sdk/src/sync.ts +++ b/node_modules/matrix-js-sdk/src/sync.ts @@ -615,6 +615,14 @@ export class SyncApi { From 61047d25220b1255e9353d058c59c915f860ee31 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:06:18 +0100 Subject: [PATCH 28/86] Migrate unchanged patch add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (98%) diff --git a/patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.81.0.patch b/patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.82.0.patch similarity index 98% rename from patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.81.0.patch rename to patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.82.0.patch index ae0824e1cc..658c0f256a 100644 --- a/patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.81.0.patch +++ b/patches/add-a-help-tab-in-menu-to-redirect-to-external-tchap-faq/matrix-react-sdk+3.82.0.patch @@ -14,7 +14,7 @@ index f25c15e..3d37fa7 100644 mask-image: url("$(res)/img/element-icons/feedback.svg"); } diff --git a/node_modules/matrix-react-sdk/src/components/structures/UserMenu.tsx b/node_modules/matrix-react-sdk/src/components/structures/UserMenu.tsx -index 12e80d7..26cb131 100644 +index 2d82a5c..be5fa85 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/UserMenu.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/UserMenu.tsx @@ -246,6 +246,10 @@ export default class UserMenu extends React.Component { From 16815978c7c6aa7d461a486ae1fd2804da8a9584 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:06:51 +0100 Subject: [PATCH 29/86] Migrate unchanged patch add-translations-for-server-errors --- ...x-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename patches/add-translations-for-server-errors/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (90%) diff --git a/patches/add-translations-for-server-errors/matrix-react-sdk+3.81.0.patch b/patches/add-translations-for-server-errors/matrix-react-sdk+3.82.0.patch similarity index 90% rename from patches/add-translations-for-server-errors/matrix-react-sdk+3.81.0.patch rename to patches/add-translations-for-server-errors/matrix-react-sdk+3.82.0.patch index a8f86f0603..e35b1c99a9 100644 --- a/patches/add-translations-for-server-errors/matrix-react-sdk+3.81.0.patch +++ b/patches/add-translations-for-server-errors/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/stores/RoomViewStore.tsx b/node_modules/matrix-react-sdk/src/stores/RoomViewStore.tsx -index d77e6d9..c4456ab 100644 +index 66d1528..7ebaa1b 100644 --- a/node_modules/matrix-react-sdk/src/stores/RoomViewStore.tsx +++ b/node_modules/matrix-react-sdk/src/stores/RoomViewStore.tsx @@ -600,6 +600,12 @@ export class RoomViewStore extends EventEmitter { @@ -13,5 +13,5 @@ index d77e6d9..c4456ab 100644 + /* end :TCHAP: */ + if (err.name === "ConnectionError") { - description = _t("There was an error joining."); + description = _t("room|error_join_connection"); } else if (err.errcode === "M_INCOMPATIBLE_ROOM_VERSION") { From 309236b8e62ee95cff6d050c61e9bc2351c23fab Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:07:23 +0100 Subject: [PATCH 30/86] Migrate unchanged patch are-external-users-allowed-in-room --- ...x-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename patches/are-external-users-allowed-in-room/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (95%) diff --git a/patches/are-external-users-allowed-in-room/matrix-react-sdk+3.81.0.patch b/patches/are-external-users-allowed-in-room/matrix-react-sdk+3.82.0.patch similarity index 95% rename from patches/are-external-users-allowed-in-room/matrix-react-sdk+3.81.0.patch rename to patches/are-external-users-allowed-in-room/matrix-react-sdk+3.82.0.patch index b1d165c798..559be74641 100644 --- a/patches/are-external-users-allowed-in-room/matrix-react-sdk+3.81.0.patch +++ b/patches/are-external-users-allowed-in-room/matrix-react-sdk+3.82.0.patch @@ -24,7 +24,7 @@ index 1e36e08..06ae13c 100644 $lines: 2; diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/LegacyRoomHeader.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/LegacyRoomHeader.tsx -index 9cbcb9f..e8c7e54 100644 +index c2afad6..12bb398 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/LegacyRoomHeader.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/LegacyRoomHeader.tsx @@ -70,6 +70,7 @@ import { Alignment } from "../elements/Tooltip"; @@ -35,7 +35,7 @@ index 9cbcb9f..e8c7e54 100644 class DisabledWithReason { public constructor(public readonly reason: string) {} -@@ -825,6 +826,7 @@ export default class RoomHeader extends React.Component { +@@ -830,6 +831,7 @@ export default class RoomHeader extends React.Component {
{roomAvatar}
{icon} {name} From 1fb9a01c5ff7a2f72b2f9177def9ff11a467deb6 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:07:48 +0100 Subject: [PATCH 31/86] Migrate unchanged patch auto-accept-tac --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/auto-accept-tac/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (98%) diff --git a/patches/auto-accept-tac/matrix-react-sdk+3.81.0.patch b/patches/auto-accept-tac/matrix-react-sdk+3.82.0.patch similarity index 98% rename from patches/auto-accept-tac/matrix-react-sdk+3.81.0.patch rename to patches/auto-accept-tac/matrix-react-sdk+3.82.0.patch index ca37455b08..14d5156d74 100644 --- a/patches/auto-accept-tac/matrix-react-sdk+3.81.0.patch +++ b/patches/auto-accept-tac/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/IdentityAuthClient.tsx b/node_modules/matrix-react-sdk/src/IdentityAuthClient.tsx -index a596156..2cc0f8b 100644 +index e4bbb76..efdbb25 100644 --- a/node_modules/matrix-react-sdk/src/IdentityAuthClient.tsx +++ b/node_modules/matrix-react-sdk/src/IdentityAuthClient.tsx @@ -29,6 +29,7 @@ import { From 3a8a2e85e34c3721f555a2bffe3cf247af8a69e4 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:08:38 +0100 Subject: [PATCH 32/86] Migrate unchanged patch bug-reporting --- ...act-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename patches/bug-reporting/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (98%) diff --git a/patches/bug-reporting/matrix-react-sdk+3.81.0.patch b/patches/bug-reporting/matrix-react-sdk+3.82.0.patch similarity index 98% rename from patches/bug-reporting/matrix-react-sdk+3.81.0.patch rename to patches/bug-reporting/matrix-react-sdk+3.82.0.patch index 8fdfe5e51b..9cce23d1fc 100644 --- a/patches/bug-reporting/matrix-react-sdk+3.81.0.patch +++ b/patches/bug-reporting/matrix-react-sdk+3.82.0.patch @@ -145,7 +145,7 @@ index e679955..69f9b61 100644 export interface IAccessibleButtonProps extends React.InputHTMLAttributes { diff --git a/node_modules/matrix-react-sdk/src/components/views/elements/ErrorBoundary.tsx b/node_modules/matrix-react-sdk/src/components/views/elements/ErrorBoundary.tsx -index 53bd3d8..97e681c 100644 +index e6341a8..cf7db3c 100644 --- a/node_modules/matrix-react-sdk/src/components/views/elements/ErrorBoundary.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/elements/ErrorBoundary.tsx @@ -77,7 +77,9 @@ export default class ErrorBoundary extends React.PureComponent { @@ -160,10 +160,10 @@ index 53bd3d8..97e681c 100644 let bugReportSection; if (SdkConfig.get().bug_report_endpoint_url) { diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomPreviewBar.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomPreviewBar.tsx -index ee1a9a6..1d02755 100644 +index a4f8b4d..e1cc8c3 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomPreviewBar.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomPreviewBar.tsx -@@ -608,7 +608,9 @@ export default class RoomPreviewBar extends React.Component { +@@ -599,7 +599,9 @@ export default class RoomPreviewBar extends React.Component { { issueLink: (label) => ( diff --git a/node_modules/matrix-react-sdk/src/rageshake/submit-rageshake.ts b/node_modules/matrix-react-sdk/src/rageshake/submit-rageshake.ts -index 820f849..b450149 100644 +index 5cc8449..6f40b11 100644 --- a/node_modules/matrix-react-sdk/src/rageshake/submit-rageshake.ts +++ b/node_modules/matrix-react-sdk/src/rageshake/submit-rageshake.ts @@ -334,12 +334,13 @@ export async function submitFeedback( From 494b7807310e83c63836ad0a761fcdd31eb1f438 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:09:27 +0100 Subject: [PATCH 33/86] Migrate unchanged patch content-scanner --- ...act-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename patches/content-scanner/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (97%) diff --git a/patches/content-scanner/matrix-react-sdk+3.81.0.patch b/patches/content-scanner/matrix-react-sdk+3.82.0.patch similarity index 97% rename from patches/content-scanner/matrix-react-sdk+3.81.0.patch rename to patches/content-scanner/matrix-react-sdk+3.82.0.patch index edd28d8f8b..8652a89632 100644 --- a/patches/content-scanner/matrix-react-sdk+3.81.0.patch +++ b/patches/content-scanner/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/MAudioBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/MAudioBody.tsx -index 4427716..12f9dc5 100644 +index 52cd233..106dd15 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/MAudioBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/MAudioBody.tsx @@ -23,7 +23,7 @@ import InlineSpinner from "../elements/InlineSpinner"; @@ -12,7 +12,7 @@ index 4427716..12f9dc5 100644 import { PlaybackManager } from "../../../audio/PlaybackManager"; import { isVoiceMessage } from "../../../utils/EventUtils"; diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/MImageBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/MImageBody.tsx -index ae60319..c16e2e7 100644 +index 4cb7d28..dc25c18 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/MImageBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/MImageBody.tsx @@ -22,7 +22,7 @@ import { CSSTransition, SwitchTransition } from "react-transition-group"; @@ -51,7 +51,7 @@ index 092b948..5908036 100644 import Tooltip from "../elements/Tooltip"; import { IMediaEventContent } from "../../../customisations/models/IMediaEventContent"; diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/MVideoBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/MVideoBody.tsx -index 2d34c90..91a1e5d 100644 +index df3ab6a..d057dc0 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/MVideoBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/MVideoBody.tsx @@ -25,7 +25,7 @@ import { mediaFromContent } from "../../../customisations/Media"; @@ -64,7 +64,7 @@ index 2d34c90..91a1e5d 100644 import RoomContext, { TimelineRenderingType } from "../../../contexts/RoomContext"; import MediaProcessingError from "./shared/MediaProcessingError"; diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/MVoiceMessageBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/MVoiceMessageBody.tsx -index 83f26e1..b0db4ea 100644 +index 096824e..fe73df6 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/MVoiceMessageBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/MVoiceMessageBody.tsx @@ -19,8 +19,8 @@ import React from "react"; From a86201a330e753cc8340bd2550da9b426d7039fc Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:10:31 +0100 Subject: [PATCH 34/86] Migrate unchanged patch export-room-members --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/export-room-members/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (97%) diff --git a/patches/export-room-members/matrix-react-sdk+3.81.0.patch b/patches/export-room-members/matrix-react-sdk+3.82.0.patch similarity index 97% rename from patches/export-room-members/matrix-react-sdk+3.81.0.patch rename to patches/export-room-members/matrix-react-sdk+3.82.0.patch index 7462451760..d40da3dbb5 100644 --- a/patches/export-room-members/matrix-react-sdk+3.81.0.patch +++ b/patches/export-room-members/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/MemberList.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/MemberList.tsx -index 216a540..3b0551f 100644 +index cb349b4..121c42b 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/MemberList.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/MemberList.tsx @@ -53,6 +53,7 @@ import { UIComponent } from "../../../settings/UIFeature"; From 2efaf5f607d35869d80913e4e3331578c5d39ac8 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:11:20 +0100 Subject: [PATCH 35/86] Migrate unchanged patch fix-inviting-a-person-already-present-in-the-room --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/fix-inviting-a-person-already-present-in-the-room/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (97%) diff --git a/patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.81.0.patch b/patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.82.0.patch similarity index 97% rename from patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.81.0.patch rename to patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.82.0.patch index 05c5839838..ead932dbfa 100644 --- a/patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.81.0.patch +++ b/patches/fix-inviting-a-person-already-present-in-the-room/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/utils/MultiInviter.ts b/node_modules/matrix-react-sdk/src/utils/MultiInviter.ts -index 05e2b06..cbd64d0 100644 +index 1cf8ac6..903d385 100644 --- a/node_modules/matrix-react-sdk/src/utils/MultiInviter.ts +++ b/node_modules/matrix-react-sdk/src/utils/MultiInviter.ts @@ -244,6 +244,14 @@ export default class MultiInviter { From 5f2abe5a104d61f1fe83c1ce7c4adafeebf4e63f Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:12:17 +0100 Subject: [PATCH 36/86] Migrate unchanged patch hide-discovery-email-phone-settings --- ...x-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename patches/hide-discovery-email-phone-settings/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (95%) diff --git a/patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.81.0.patch b/patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.82.0.patch similarity index 95% rename from patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.81.0.patch rename to patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.82.0.patch index ad40386a81..34f6718f01 100644 --- a/patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.81.0.patch +++ b/patches/hide-discovery-email-phone-settings/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/GeneralUserSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/GeneralUserSettingsTab.tsx -index 7d48460..190caa6 100644 +index 40acfb3..76515f4 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/GeneralUserSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/GeneralUserSettingsTab.tsx @@ -59,6 +59,7 @@ import InlineSpinner from "../../../elements/InlineSpinner"; @@ -21,7 +21,7 @@ index 7d48460..190caa6 100644 const emails = this.state.loading3pids ? ( ) : ( -@@ -531,7 +534,8 @@ export default class GeneralUserSettingsTab extends React.Component Date: Wed, 29 Nov 2023 16:13:00 +0100 Subject: [PATCH 37/86] Migrate unchanged patch no-voip-mentions-in-onboarding --- ...atrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patches/no-voip-mentions-in-onboarding/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (100%) diff --git a/patches/no-voip-mentions-in-onboarding/matrix-react-sdk+3.81.0.patch b/patches/no-voip-mentions-in-onboarding/matrix-react-sdk+3.82.0.patch similarity index 100% rename from patches/no-voip-mentions-in-onboarding/matrix-react-sdk+3.81.0.patch rename to patches/no-voip-mentions-in-onboarding/matrix-react-sdk+3.82.0.patch From 5df4c76c34453c35af76b76185d7a538cc7191ce Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:13:35 +0100 Subject: [PATCH 38/86] Migrate unchanged patch only-fr-and-en --- ...x-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename patches/only-fr-and-en/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (89%) diff --git a/patches/only-fr-and-en/matrix-react-sdk+3.81.0.patch b/patches/only-fr-and-en/matrix-react-sdk+3.82.0.patch similarity index 89% rename from patches/only-fr-and-en/matrix-react-sdk+3.81.0.patch rename to patches/only-fr-and-en/matrix-react-sdk+3.82.0.patch index 77742c5503..4586aeff9e 100644 --- a/patches/only-fr-and-en/matrix-react-sdk+3.81.0.patch +++ b/patches/only-fr-and-en/matrix-react-sdk+3.82.0.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/matrix-react-sdk/src/languageHandler.tsx b/node_modules/matrix-react-sdk/src/languageHandler.tsx -index 8f77cc4..c5b771f 100644 +index 0a80be8..e0ae780 100644 --- a/node_modules/matrix-react-sdk/src/languageHandler.tsx +++ b/node_modules/matrix-react-sdk/src/languageHandler.tsx -@@ -509,7 +509,9 @@ type Language = { +@@ -520,7 +520,9 @@ type Language = { }; export async function getAllLanguagesFromJson(): Promise { From 56ddfcf4fbd9b203c0bf025de07552bf68d0e3fe Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:13:53 +0100 Subject: [PATCH 39/86] Migrate unchanged patch password-policy --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/password-policy/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (97%) diff --git a/patches/password-policy/matrix-react-sdk+3.81.0.patch b/patches/password-policy/matrix-react-sdk+3.82.0.patch similarity index 97% rename from patches/password-policy/matrix-react-sdk+3.81.0.patch rename to patches/password-policy/matrix-react-sdk+3.82.0.patch index 331c8131ac..aaa085483b 100644 --- a/patches/password-policy/matrix-react-sdk+3.81.0.patch +++ b/patches/password-policy/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/auth/PassphraseField.tsx b/node_modules/matrix-react-sdk/src/components/views/auth/PassphraseField.tsx -index 4efd06e..e0ad3cf 100644 +index a9048d7..8723016 100644 --- a/node_modules/matrix-react-sdk/src/components/views/auth/PassphraseField.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/auth/PassphraseField.tsx @@ -23,6 +23,7 @@ import withValidation, { IFieldState, IValidationResult } from "../elements/Vali From 400f7383f62cae4d093b1503c4feac11d4f88cce Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:14:44 +0100 Subject: [PATCH 40/86] Migrate unchanged patch public-room-server-list --- ...atrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patches/public-room-server-list/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (100%) diff --git a/patches/public-room-server-list/matrix-react-sdk+3.81.0.patch b/patches/public-room-server-list/matrix-react-sdk+3.82.0.patch similarity index 100% rename from patches/public-room-server-list/matrix-react-sdk+3.81.0.patch rename to patches/public-room-server-list/matrix-react-sdk+3.82.0.patch From 27ea465ac695b4555bf49fe61fc61014cd88bc97 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:15:10 +0100 Subject: [PATCH 41/86] Migrate unchanged patch remove-fdroid --- ...atrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename patches/remove-fdroid/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (100%) diff --git a/patches/remove-fdroid/matrix-react-sdk+3.81.0.patch b/patches/remove-fdroid/matrix-react-sdk+3.82.0.patch similarity index 100% rename from patches/remove-fdroid/matrix-react-sdk+3.81.0.patch rename to patches/remove-fdroid/matrix-react-sdk+3.82.0.patch From 6cd70e44302b9c300f2af91c7db0236233122872 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:15:39 +0100 Subject: [PATCH 42/86] Migrate unchanged patch remove-thread-buttons --- ...-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename patches/remove-thread-buttons/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (96%) diff --git a/patches/remove-thread-buttons/matrix-react-sdk+3.81.0.patch b/patches/remove-thread-buttons/matrix-react-sdk+3.82.0.patch similarity index 96% rename from patches/remove-thread-buttons/matrix-react-sdk+3.81.0.patch rename to patches/remove-thread-buttons/matrix-react-sdk+3.82.0.patch index e200cbdda1..90fe6dda7b 100644 --- a/patches/remove-thread-buttons/matrix-react-sdk+3.81.0.patch +++ b/patches/remove-thread-buttons/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/context_menus/MessageContextMenu.tsx b/node_modules/matrix-react-sdk/src/components/views/context_menus/MessageContextMenu.tsx -index f92f66c..9f54a3b 100644 +index 98e9482..11d563a 100644 --- a/node_modules/matrix-react-sdk/src/components/views/context_menus/MessageContextMenu.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/context_menus/MessageContextMenu.tsx @@ -61,6 +61,8 @@ import { getForwardableEvent } from "../../../events/forward/getForwardableEvent @@ -24,7 +24,7 @@ index f92f66c..9f54a3b 100644 ); diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/MessageActionBar.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/MessageActionBar.tsx -index 2f9719d..233854f 100644 +index c183cdc..6d3738c 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/MessageActionBar.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/MessageActionBar.tsx @@ -61,6 +61,7 @@ import { ShowThreadPayload } from "../../../dispatcher/payloads/ShowThreadPayloa @@ -35,7 +35,7 @@ index 2f9719d..233854f 100644 interface IOptionsButtonProps { mxEvent: MatrixEvent; -@@ -349,7 +350,10 @@ export default class MessageActionBar extends React.PureComponent { +@@ -273,20 +274,24 @@ export default class LegacyRoomHeaderButtons extends HeaderButtons { onClick={this.onTimelineCardClicked} />, ); From 0d72b24feb28234df11f9aef8a2e7a5cbb11cf2d Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:16:57 +0100 Subject: [PATCH 43/86] Migrate unchanged patch tchap-features-from-config --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/tchap-features-from-config/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (98%) diff --git a/patches/tchap-features-from-config/matrix-react-sdk+3.81.0.patch b/patches/tchap-features-from-config/matrix-react-sdk+3.82.0.patch similarity index 98% rename from patches/tchap-features-from-config/matrix-react-sdk+3.81.0.patch rename to patches/tchap-features-from-config/matrix-react-sdk+3.82.0.patch index 3d545450f9..77ea3c7a44 100644 --- a/patches/tchap-features-from-config/matrix-react-sdk+3.81.0.patch +++ b/patches/tchap-features-from-config/matrix-react-sdk+3.82.0.patch @@ -19,7 +19,7 @@ index 2df5e7f..1eb1365 100644 +//end :tchap: \ No newline at end of file diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/Notifications.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/Notifications.tsx -index 466ecb7..f3d8e6e 100644 +index a800e1d..46be43b 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/Notifications.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/Notifications.tsx @@ -58,6 +58,8 @@ import { Caption } from "../typography/Caption"; From 0d9860d83f30a88c3f3c03bb8fdf0c27e018652b Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:17:18 +0100 Subject: [PATCH 44/86] Migrate unchanged patch use-the-term-direct-messages-not-people --- ....81.0.patch => matrix-react-sdk+3.82.0.patch} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename patches/use-the-term-direct-messages-not-people/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (91%) diff --git a/patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.81.0.patch b/patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.82.0.patch similarity index 91% rename from patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.81.0.patch rename to patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.82.0.patch index 4a08a936c9..5191e87314 100644 --- a/patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.81.0.patch +++ b/patches/use-the-term-direct-messages-not-people/matrix-react-sdk+3.82.0.patch @@ -12,10 +12,10 @@ index fec82bf..1e0c897 100644 {_t( diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomList.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomList.tsx -index 0d1274f..2e9cf2c 100644 +index 374cb38..c13565c 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomList.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomList.tsx -@@ -388,7 +388,7 @@ const TAG_AESTHETICS: TagAestheticsMap = { +@@ -382,7 +382,7 @@ const TAG_AESTHETICS: TagAestheticsMap = { defaultHidden: false, }, [DefaultTagID.DM]: { @@ -25,7 +25,7 @@ index 0d1274f..2e9cf2c 100644 defaultHidden: false, AuxButtonComponent: DmAuxButton, diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SidebarUserSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SidebarUserSettingsTab.tsx -index b5ad1ea..1b61154 100644 +index 4d6cf9a..9c81549 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SidebarUserSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SidebarUserSettingsTab.tsx @@ -120,7 +120,7 @@ const SidebarUserSettingsTab: React.FC = () => { @@ -35,10 +35,10 @@ index b5ad1ea..1b61154 100644 - {_t("common|people")} + {_t("Direct Messages") /* TCHAP: change label _t("common|people") */} - {_t("Group all your people in one place.")} - + + {_t("settings|sidebar|metaspaces_people_description")} diff --git a/node_modules/matrix-react-sdk/src/components/views/spaces/QuickSettingsButton.tsx b/node_modules/matrix-react-sdk/src/components/views/spaces/QuickSettingsButton.tsx -index e2c4159..d77f8a0 100644 +index 4750b99..884a146 100644 --- a/node_modules/matrix-react-sdk/src/components/views/spaces/QuickSettingsButton.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/spaces/QuickSettingsButton.tsx @@ -107,7 +107,9 @@ const QuickSettingsButton: React.FC<{ @@ -53,7 +53,7 @@ index e2c4159..d77f8a0 100644 Date: Wed, 29 Nov 2023 16:17:48 +0100 Subject: [PATCH 45/86] Migrate unchanged patch ux-improvements-for-xsss --- ...rix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename patches/ux-improvements-for-xsss/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (99%) diff --git a/patches/ux-improvements-for-xsss/matrix-react-sdk+3.81.0.patch b/patches/ux-improvements-for-xsss/matrix-react-sdk+3.82.0.patch similarity index 99% rename from patches/ux-improvements-for-xsss/matrix-react-sdk+3.81.0.patch rename to patches/ux-improvements-for-xsss/matrix-react-sdk+3.82.0.patch index 80bd32901a..b28de9ca6b 100644 --- a/patches/ux-improvements-for-xsss/matrix-react-sdk+3.81.0.patch +++ b/patches/ux-improvements-for-xsss/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/dialogs/security/AccessSecretStorageDialog.tsx b/node_modules/matrix-react-sdk/src/components/views/dialogs/security/AccessSecretStorageDialog.tsx -index 0bead58..b872ec2 100644 +index f947a0d..80357b7 100644 --- a/node_modules/matrix-react-sdk/src/components/views/dialogs/security/AccessSecretStorageDialog.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/dialogs/security/AccessSecretStorageDialog.tsx @@ -48,6 +48,7 @@ interface IProps { From 4b3b385fa92893a787805aafa2cf5509091ac58b Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 29 Nov 2023 16:48:38 +0100 Subject: [PATCH 46/86] Hand merged patch better-text-for-locked-messages (with old-style translation keys --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) rename patches/better-text-for-locked-messages/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (87%) diff --git a/patches/better-text-for-locked-messages/matrix-react-sdk+3.81.0.patch b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch similarity index 87% rename from patches/better-text-for-locked-messages/matrix-react-sdk+3.81.0.patch rename to patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch index 7bac07b6b6..7537cb9e0f 100644 --- a/patches/better-text-for-locked-messages/matrix-react-sdk+3.81.0.patch +++ b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx -index c3b615b..159cfa2 100644 +index 1a68e58..328a441 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx @@ -19,11 +19,25 @@ import { MatrixEvent } from "matrix-js-sdk/src/matrix"; @@ -11,9 +11,10 @@ index c3b615b..159cfa2 100644 function getErrorMessage(mxEvent?: MatrixEvent): string { return mxEvent?.isEncryptedDisabledForUnverifiedDevices - ? _t("The sender has blocked you from receiving this message") -- : _t("Unable to decrypt message"); -+ // :TCHAP: : _t("Unable to decrypt message"); +- ? _t("timeline|decryption_failure_blocked") +- : _t("threads|unable_to_decrypt"); ++ ? _t("timeline|decryption_failure_blocked") ++ // :TCHAP: : _t("threads|unable_to_decrypt"); + : _t( + "Waiting for this message. This could take a while. Find out more", + {}, @@ -25,12 +26,12 @@ index c3b615b..159cfa2 100644 + ), + }, + ); -+ // end :TCHAP: ++ // end :TCHAP: } // A placeholder element for messages that could not be decrypted diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx -index 8164511..2feb0e9 100644 +index ad79b47..76f7310 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx @@ -30,6 +30,8 @@ import MatrixClientContext from "../../../contexts/MatrixClientContext"; @@ -63,12 +64,12 @@ index 8164511..2feb0e9 100644 return ( <> = ({ thread, showDisp +@@ -113,7 +129,20 @@ export const ThreadMessagePreview: React.FC = ({ thread, showDisp className="mx_ThreadSummary_content mx_DecryptionFailureBody" - title={_t("Unable to decrypt message")} + title={_t("threads|unable_to_decrypt")} > -- {_t("Unable to decrypt message")} -+ { /* :TCHAP: {_t("Unable to decrypt message")}*/} +- {_t("threads|unable_to_decrypt")} ++ { /* :TCHAP: {_t("threads|unable_to_decrypt")}*/} + + {_t("Waiting for this message. This could take a while. Find out more", {}, + { @@ -81,6 +82,7 @@ index 8164511..2feb0e9 100644 + )} + + {/** end :TCHAP: */} ++ ) : (
From a1209072c546ab3352dd4a4837847c56606e3344 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Thu, 30 Nov 2023 10:40:07 +0100 Subject: [PATCH 47/86] Fix yarn.lock, it was committed with conflicts --- yarn.lock | 2078 ++++++++++++++++++++++++----------------------------- 1 file changed, 934 insertions(+), 1144 deletions(-) diff --git a/yarn.lock b/yarn.lock index 91da47507a..a4a00e2a21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -41,90 +41,62 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: - "@babel/highlight" "^7.22.13" + "@babel/highlight" "^7.23.4" chalk "^2.4.2" -<<<<<<< HEAD -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" - integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== -======= -"@babel/compat-data@^7.20.5": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" - integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== ->>>>>>> v1.11.46 - -"@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== "@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3": -<<<<<<< HEAD - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" - integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== -======= - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" - integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== ->>>>>>> v1.11.46 + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7" + integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.5" "@babel/helper-compilation-targets" "^7.22.15" -<<<<<<< HEAD - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.2" - "@babel/parser" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.5" + "@babel/parser" "^7.23.5" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.2" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.23.5" + "@babel/types" "^7.23.5" convert-source-map "^2.0.0" -======= - "@babel/helper-module-transforms" "^7.22.20" - "@babel/helpers" "^7.22.15" - "@babel/parser" "^7.22.16" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.20" - "@babel/types" "^7.22.19" - convert-source-map "^1.7.0" ->>>>>>> v1.11.46 debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" "@babel/eslint-parser@^7.12.10": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" - integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca" + integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" "@babel/eslint-plugin@^7.12.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.22.10.tgz#b84e0f029b8f78604c3f6797cd6208cad46fbcf5" - integrity sha512-SRZcvo3fnO5h79B9DZSV6LG2vHH7OWsSNp1huFLHsXKyytRG413byQk9zxW1VcPOhnzfx2VIUz+8aGbiE7fOkA== + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.23.5.tgz#77d4703e9f83b81e9fc13382810372beb2f10f94" + integrity sha512-03+E/58Hoo/ui69gR+beFdGpplpoVK0BSIdke2iw4/Bz7eGN0ssRenNlnU4nmbkowNQOPCStKSwFr8H6DiY49g== dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== +"@babel/generator@^7.23.5", "@babel/generator@^7.7.2": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" + integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== dependencies: - "@babel/types" "^7.23.0" + "@babel/types" "^7.23.5" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -136,14 +108,14 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== @@ -154,22 +126,22 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz#2a8792357008ae9ce8c0f2b78b9f646ac96b314b" + integrity sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-replace-supers" "^7.22.20" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== @@ -189,7 +161,7 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": +"@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -209,37 +181,24 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-member-expression-to-functions@^7.22.15": -<<<<<<< HEAD +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== -======= - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz#b95a144896f6d491ca7863576f820f3628818621" - integrity sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA== ->>>>>>> v1.11.46 dependencies: "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": +"@babel/helper-module-imports@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: "@babel/types" "^7.22.15" -<<<<<<< HEAD -"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== -======= -"@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz#da9edc14794babbe7386df438f3768067132f59e" - integrity sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A== ->>>>>>> v1.11.46 +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -259,11 +218,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -<<<<<<< HEAD -"@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": -======= -"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": ->>>>>>> v1.11.46 +"@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== @@ -272,7 +227,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": +"@babel/helper-replace-supers@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -302,24 +257,20 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== -<<<<<<< HEAD "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": -======= -"@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.19", "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": ->>>>>>> v1.11.46 version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-wrap-function@^7.22.20": version "7.22.20" @@ -330,56 +281,52 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" - integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== +"@babel/helpers@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" + integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== dependencies: "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.2" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.23.5" + "@babel/types" "^7.23.5" -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -<<<<<<< HEAD -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.5", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== -======= -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.16": - version "7.22.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" - integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== ->>>>>>> v1.11.46 - -"@babel/parser@^7.18.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" - integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.5", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" + integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" - integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" - integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" + integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-proposal-class-properties@^7.12.1": version "7.18.6" @@ -390,12 +337,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-export-default-from@^7.12.1": - version "7.22.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz#91b60cd338f501cccdf549af2308768911ec5fbb" - integrity sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0" + integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.22.5" + "@babel/plugin-syntax-export-default-from" "^7.23.3" "@babel/plugin-proposal-logical-assignment-operators@^7.20.7": version "7.20.7" @@ -481,10 +428,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz#ac3a24b362a04415a017ab96b9b4483d0e2a6e44" - integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ== +"@babel/plugin-syntax-export-default-from@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335" + integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -495,17 +442,17 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -523,10 +470,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -586,10 +533,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.22.5", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== +"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -601,211 +548,211 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" - integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== +"@babel/plugin-transform-async-generator-functions@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" + integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== dependencies: - "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" -"@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" - integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-class-static-block@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" - integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" - integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== +"@babel/plugin-transform-classes@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2" + integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-optimise-call-expression" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-replace-supers" "^7.22.20" "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" + "@babel/template" "^7.22.15" -"@babel/plugin-transform-destructuring@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" - integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dynamic-import@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" - integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-export-namespace-from@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" - integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" - integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== +"@babel/plugin-transform-for-of@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559" + integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-json-strings@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" - integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-logical-assignment-operators@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" - integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" - integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" - integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" - integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== dependencies: "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": @@ -816,108 +763,108 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" - integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" - integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" - integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: - "@babel/compat-data" "^7.22.9" + "@babel/compat-data" "^7.23.3" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/plugin-transform-parameters" "^7.23.3" -"@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" -"@babel/plugin-transform-optional-catch-binding@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" - integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" - integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" - integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== +"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-private-property-in-object@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" - integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29" - integrity sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" + integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" - integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -929,43 +876,43 @@ "@babel/plugin-transform-react-jsx" "^7.22.5" "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" - integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/types" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" -"@babel/plugin-transform-react-pure-annotations@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" - integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.12.10": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" - integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz#5132b388580002fc5cb7c84eccfb968acdc231cb" + integrity sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw== dependencies: "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" @@ -974,110 +921,103 @@ babel-plugin-polyfill-regenerator "^0.5.3" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" - integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz#83da13ef62a1ebddf2872487527094b31c9adb84" + integrity sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-create-class-features-plugin" "^7.23.5" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" -"@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.11": -<<<<<<< HEAD - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" - integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== - dependencies: - "@babel/compat-data" "^7.23.2" -======= - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" - integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.5.tgz#350a3aedfa9f119ad045b068886457e895ba0ca1" + integrity sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A== dependencies: - "@babel/compat-data" "^7.22.20" ->>>>>>> v1.11.46 + "@babel/compat-data" "^7.23.5" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1089,66 +1029,58 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.23.2" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.23.0" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.11" - "@babel/plugin-transform-classes" "^7.22.15" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.23.0" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.11" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.11" - "@babel/plugin-transform-for-of" "^7.22.15" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.11" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.23.0" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-modules-systemjs" "^7.23.0" - "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.4" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.5" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.3" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" - "@babel/plugin-transform-numeric-separator" "^7.22.11" - "@babel/plugin-transform-object-rest-spread" "^7.22.15" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.23.0" - "@babel/plugin-transform-parameters" "^7.22.15" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.11" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" "@babel/preset-modules" "0.1.6-no-external-plugins" -<<<<<<< HEAD - "@babel/types" "^7.23.0" babel-plugin-polyfill-corejs2 "^0.4.6" babel-plugin-polyfill-corejs3 "^0.8.5" babel-plugin-polyfill-regenerator "^0.5.3" -======= - "@babel/types" "^7.22.19" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" ->>>>>>> v1.11.46 core-js-compat "^3.31.0" semver "^6.3.1" @@ -1162,27 +1094,27 @@ esutils "^2.0.2" "@babel/preset-react@^7.12.10", "@babel/preset-react@^7.12.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" - integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.22.5" + "@babel/plugin-transform-react-display-name" "^7.23.3" "@babel/plugin-transform-react-jsx" "^7.22.15" "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" "@babel/preset-typescript@^7.12.7": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" - integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-typescript" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" "@babel/register@^7.12.10": version "7.22.15" @@ -1201,13 +1133,13 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.6", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.9", "@babel/runtime@^7.21.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.5.tgz#11edb98f8aeec529b82b211028177679144242db" + integrity sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3": +"@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== @@ -1216,64 +1148,29 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.18.5", "@babel/traverse@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== +"@babel/traverse@^7.18.5", "@babel/traverse@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" + integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.5" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/parser" "^7.23.5" + "@babel/types" "^7.23.5" debug "^4.1.0" globals "^11.1.0" -<<<<<<< HEAD -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" + integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== dependencies: - "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" -======= -"@babel/traverse@^7.22.15", "@babel/traverse@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.20.tgz#db572d9cb5c79e02d83e5618b82f6991c07584c9" - integrity sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.16" - "@babel/types" "^7.22.19" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.22.19" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" - integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" - integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.15" ->>>>>>> v1.11.46 to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1377,9 +1274,9 @@ integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== "@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== + version "2.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" + integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1397,9 +1294,9 @@ integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== "@fastify/busboy@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" - integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.0.tgz#0709e9f4cb252351c609c6e6d8d6779a8d25edff" + integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA== "@floating-ui/core@^1.4.2": version "1.5.0" @@ -1417,9 +1314,9 @@ "@floating-ui/utils" "^0.1.3" "@floating-ui/react-dom@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" - integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.4.tgz#b076fafbdfeb881e1d86ae748b7ff95150e9f3ec" + integrity sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ== dependencies: "@floating-ui/dom" "^1.5.1" @@ -1810,9 +1707,9 @@ integrity sha512-vQ5PVppKu1PY7xy7QDw+RJLYLGFKhJyxLqjXHr0uEUJwfvz2IH2njTLXzrz77dOo9qacxJ9/YNOTe0Hl+98N0A== "@matrix-org/matrix-wysiwyg@^2.4.1": - version "2.14.1" - resolved "https://registry.yarnpkg.com/@matrix-org/matrix-wysiwyg/-/matrix-wysiwyg-2.14.1.tgz#015b4b3a463aea32d573c3eff2834a2f9b651def" - integrity sha512-Qn+ekGA/XvLmdmxs/ZTZjMNaSpv5OVRRc3AP4g/JxAN1DTzIBG8B+jLkhOccybCpsAsrvHRKJE0Ui2YDpn/b8A== + version "2.20.0" + resolved "https://registry.yarnpkg.com/@matrix-org/matrix-wysiwyg/-/matrix-wysiwyg-2.20.0.tgz#a81578b827bc24dfc82e96e4db49c26168878cf1" + integrity sha512-33ZfcS4V0EmHpICgbh376ZHH0jO6YRqgazo+jQ5EMjh38iUoOgvonSz0tiPQKUjP+08niUxHZCZ1NQm3bzLGTA== "@matrix-org/olm@https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz": version "3.2.14" @@ -1825,17 +1722,10 @@ dependencies: "@babel/runtime" "^7.17.9" -"@matrix-org/react-sdk-module-api@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.1.1.tgz#54e8617c15185010d608c0325ecaec8d1574d12b" - integrity sha512-dYPY3aXtNwPrg2aEmFeWddMdohus/Ha17XES2QH+WMCawt+hH+uq28jH1EmW1RUOOzxVcdY36lRGOwqRtAJbhA== - dependencies: - "@babel/runtime" "^7.17.9" - -"@matrix-org/react-sdk-module-api@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.1.1.tgz#54e8617c15185010d608c0325ecaec8d1574d12b" - integrity sha512-dYPY3aXtNwPrg2aEmFeWddMdohus/Ha17XES2QH+WMCawt+hH+uq28jH1EmW1RUOOzxVcdY36lRGOwqRtAJbhA== +"@matrix-org/react-sdk-module-api@^2.1.0", "@matrix-org/react-sdk-module-api@^2.1.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@matrix-org/react-sdk-module-api/-/react-sdk-module-api-2.2.1.tgz#308bcb42a780200d3e7994235376784b51819379" + integrity sha512-+MXTMEapzGmhArUt86GYDQirOvm19+wvQLDApmHpUQvSZvYm7wOo1EwR9FFvSKve53fu+v6gI1grnj7YLzGQ9Q== dependencies: "@babel/runtime" "^7.17.9" @@ -2002,106 +1892,106 @@ dependencies: "@octokit/openapi-types" "^12.11.0" -"@percy/cli-app@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-app/-/cli-app-1.27.3.tgz#c296e09ffac46c011e9f33ac779d6f0396e0b2b6" - integrity sha512-RUSzWTRkG4hjUy7dzu+zlKVlbXEcj3yoiFTpjrmUxoK5QMVQtZfDdkHfJNSI51w1ZRzuxmO5x5uqFRpgUKh8QQ== +"@percy/cli-app@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-app/-/cli-app-1.27.4.tgz#2b8364443bfd2ac59c7b4e98ccab6000828443ae" + integrity sha512-av/s6K2QmQgq4SCQQ+3lmteNHeQtIpMeBjMfSgxs9zeBoPVOMx5hXrdsi6l7ChvOLXyYfzl/TbEuwrSDXiA8mw== dependencies: - "@percy/cli-command" "1.27.3" - "@percy/cli-exec" "1.27.3" + "@percy/cli-command" "1.27.4" + "@percy/cli-exec" "1.27.4" -"@percy/cli-build@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.27.3.tgz#7c193adf86beecd74541d94e32dad9d7f884c630" - integrity sha512-F7vWMmXipINDO9kvDyaPaIeUZlZLfIbg74oRaAJUOVH2nkf0FNSPy7Dy/MEsFWAiKNeW7/UwHjuYl+I/yMBZPw== +"@percy/cli-build@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.27.4.tgz#b5983129f41a461614594f62386dd2c5bd89e215" + integrity sha512-tzCAcV0sAw608Gr/Q6NtPvVkA8dnIehMzvEXNIN3WP9DkprOgu7MYuexN0fZXf4vSroDWYXT87pHYP8YrrnDag== dependencies: - "@percy/cli-command" "1.27.3" + "@percy/cli-command" "1.27.4" -"@percy/cli-command@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.27.3.tgz#fe0112987e25c28f25705c4e604c0f06a8484803" - integrity sha512-aU76lu2a2/N/BUSsXpLXRzeJeXzmAcA3s9EFDeMNDMZY/7dV6wlLX9r7n931UD3bIhdlkl1o7COXIIATtPymJQ== +"@percy/cli-command@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.27.4.tgz#c3537260909957b165b81766e6d1771dc2496942" + integrity sha512-YDKeeOr1MvksDOnc2ZKQ/XuERGrWwzuT/vWZ9it8L+0SyPj28UbklDu0e9zBgPsSDfxJlIvsWXRuHNGHsweKXg== dependencies: - "@percy/config" "1.27.3" - "@percy/core" "1.27.3" - "@percy/logger" "1.27.3" + "@percy/config" "1.27.4" + "@percy/core" "1.27.4" + "@percy/logger" "1.27.4" -"@percy/cli-config@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.27.3.tgz#23fb52ed0916a466afcae229ea02e8583ae5b654" - integrity sha512-+gUZUlbpgllux0yJnCFYMuNn1kItfIP9F1AIYqdqFM9KLixodMCWAXDUQ4V4EVLDjOR7fD3NKmyoFUFJgwcIww== +"@percy/cli-config@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.27.4.tgz#c48f21040bed2a28f15888c01974ecb2226ca446" + integrity sha512-wFtQwPw4LEqpcZ6ac6WtejyGrvrrzzLdyvXNvsCPQLE47qXnXVXJ+E99k9KGcjavtUuPxrbWtX996Fz9Fb5hoQ== dependencies: - "@percy/cli-command" "1.27.3" + "@percy/cli-command" "1.27.4" -"@percy/cli-exec@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.27.3.tgz#82f8d610722d57a9a6d3a9050c7ece545dbada55" - integrity sha512-PuSxfZKWx9BoeCbt5U1Edc+fv5kb/mYr+9sgoBsoHmwe5iNIgYKx6D+wmNK7FHgc82mycNLaEguew2JwJXlPew== +"@percy/cli-exec@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.27.4.tgz#8839d4e8b0f4b34b8d5885d41d15fd60beede44c" + integrity sha512-aSDLvzXXdwJso+p5iI4iTOa7AYzgFdRoqY9ij/R5aAL9juNkvG5QatB1bkUNbJabKFe16t7iigt4eJnlS0R13A== dependencies: - "@percy/cli-command" "1.27.3" + "@percy/cli-command" "1.27.4" cross-spawn "^7.0.3" which "^2.0.2" -"@percy/cli-snapshot@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.27.3.tgz#0fa75e42c4ab8c551c7b0e38e5a06391e4919700" - integrity sha512-HU7p5FLJ1W+QM3mbq8MFyqukthFnxPXrBAC7O0Dh4GfxXfdThV1HOdXqCEZ1pj1b3XkEM5SvvLKc7mClnc4D1Q== +"@percy/cli-snapshot@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.27.4.tgz#1082e4594ef9eede4ec06aa4b7cfdff3dfc862ce" + integrity sha512-dDT2UpeP6X5NcMdj3AKLhHGmnobwzlXsHa52C+ne3kg3HSZgaXH9OsNY866Xe7onvcsZxvnRKDYHmWW6kC3cKQ== dependencies: - "@percy/cli-command" "1.27.3" + "@percy/cli-command" "1.27.4" yaml "^2.0.0" -"@percy/cli-upload@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.27.3.tgz#a12ca27786aa2d1356f9c8f068a4aad21a4111fa" - integrity sha512-sqzOAMqFKXhpuXDGAK5zUf5Aw/xgBbAP4o4y43dRBi6gIgf8DiiLuc+avyfcKm+2lW5cUTG9SPETVCpu03WozQ== +"@percy/cli-upload@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.27.4.tgz#ec3e5280fc82a3789b6fb5cde69d210fee322fbf" + integrity sha512-+4mcEOUydFubyMWVzQjPV79sL1Jar95SR7Yr7Vp4FBoE0iq0CbaHoJtyOWDfwvHYYp4rRjVMxpY0ha3jnmF0mA== dependencies: - "@percy/cli-command" "1.27.3" + "@percy/cli-command" "1.27.4" fast-glob "^3.2.11" image-size "^1.0.0" "@percy/cli@^1.3.0": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.27.3.tgz#186d5fea311bbad1db5f987ad40a0a77cf4bed9b" - integrity sha512-GyAIk9wm32cheYAeVyY6nOkDcGgSeG7wgLhZJWzi0gVhFE9W04sudWa++7akEqpGLMnTM2Q4OZv5P3cy1F9iPA== - dependencies: - "@percy/cli-app" "1.27.3" - "@percy/cli-build" "1.27.3" - "@percy/cli-command" "1.27.3" - "@percy/cli-config" "1.27.3" - "@percy/cli-exec" "1.27.3" - "@percy/cli-snapshot" "1.27.3" - "@percy/cli-upload" "1.27.3" - "@percy/client" "1.27.3" - "@percy/logger" "1.27.3" - -"@percy/client@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.27.3.tgz#79a2e9cb059892d820f90b4b5f95fede34ec0246" - integrity sha512-AuVpiuknK8OiDIN7BpkDRTYx6yAQVI4TjLFy/QmfZDK0PQMH+2dNIBi/pXooC5Ac64I7BYVqdaUk2IbdxEXbqQ== - dependencies: - "@percy/env" "1.27.3" - "@percy/logger" "1.27.3" - -"@percy/config@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.27.3.tgz#8b4cc77def10f4de52aad0682bfc7e13d2dbd429" - integrity sha512-hxp/zQz/3IQcyBbMkmvvnlkwMn9tgYFAOAFtZqECruqQ1M9XE10uYtWjvVwt9s4rlJEB4PWFvAV4c04/CT6ugQ== - dependencies: - "@percy/logger" "1.27.3" + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.27.4.tgz#a5b6c2082f346a86d64245fda0212f610c18d7dd" + integrity sha512-eIM44ejCMFc/S2W7X0htV+lvvmf63x5CaBpsSoQ9LRc/W02zHVAwQYdFFUowZEK6G1EwJEPIUnDxuuEx9PLG5A== + dependencies: + "@percy/cli-app" "1.27.4" + "@percy/cli-build" "1.27.4" + "@percy/cli-command" "1.27.4" + "@percy/cli-config" "1.27.4" + "@percy/cli-exec" "1.27.4" + "@percy/cli-snapshot" "1.27.4" + "@percy/cli-upload" "1.27.4" + "@percy/client" "1.27.4" + "@percy/logger" "1.27.4" + +"@percy/client@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.27.4.tgz#a6901e93e56245170e23b24bdf906fdfdb066956" + integrity sha512-1F8ulTJhfk4/Lgj1Cn0blaRd8vTRJDxahAGseTbfrnZ2PHsftPZ65/5nCHPtpdD/2CE8N5COBQscGTMQQO+hBA== + dependencies: + "@percy/env" "1.27.4" + "@percy/logger" "1.27.4" + +"@percy/config@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.27.4.tgz#83bde546be17c801305e63b0cf84ed04fe748fba" + integrity sha512-mlgiOdzdSfUSx9FskVIjmbT/iHbTif0Ow5evZQJTT1W0xgHOBWDCZyhINdsqulSBw+K1PNhHsu1J0h2ijxF4uA== + dependencies: + "@percy/logger" "1.27.4" ajv "^8.6.2" cosmiconfig "^8.0.0" yaml "^2.0.0" -"@percy/core@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.27.3.tgz#f577fb49e046ca14da87557463b0b98d68414587" - integrity sha512-LK+7dVLRQdVEQUG6Qn61awLbdYmazLwXWYg2UHqEWrbRIygkhoe+n3pPTwzxjiJxJsYYlelx/gDzGwjYzvV4aA== +"@percy/core@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.27.4.tgz#673ea19be0b9e435e3ec2419505e9d9adbab5d6e" + integrity sha512-WdsA4zlPgXl9xj+a5WW2wA20iU6VTDmRq5sgsYNSuPzZfQB2I5Cecgvb55p86dhlUTbPJrC76daQKzDTGe0hfA== dependencies: - "@percy/client" "1.27.3" - "@percy/config" "1.27.3" - "@percy/dom" "1.27.3" - "@percy/logger" "1.27.3" - "@percy/webdriver-utils" "1.27.3" + "@percy/client" "1.27.4" + "@percy/config" "1.27.4" + "@percy/dom" "1.27.4" + "@percy/logger" "1.27.4" + "@percy/webdriver-utils" "1.27.4" content-disposition "^0.5.4" cross-spawn "^7.0.3" extract-zip "^2.0.1" @@ -2119,35 +2009,35 @@ dependencies: "@percy/sdk-utils" "^1.3.1" -"@percy/dom@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.27.3.tgz#126f2389dfbb7f4ee3b81a5fcce65f5b02a9c33c" - integrity sha512-QVSmogZhlVjy5mzqSesWbS5hjV8+1gMtAXSLtfRjdkZGQ/h2rnDbRZUW4PoJQ9ZpxBZegU5/W9LFvEO3FMVelA== +"@percy/dom@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.27.4.tgz#199597ca6107c16ca452a640e9d1bfe2f65f6820" + integrity sha512-pwPDx3e9y7uRobVlEya8xu3BB3GeXbC74kQ6pPM/wFYDwi/Dg8DJywCsj5Nko/7QuhXP02rYgatkbREOIRxDnA== -"@percy/env@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.27.3.tgz#0c3c1a991f2ffb53a819cf78f006c4cc93ff7d69" - integrity sha512-f9NwjAmcN6HEfJ2/32fmBwUJ3xjn/JXmGUKqmSvw0L3WZuvKaYRpYtaI+n0B6NsujZ4R+KUEGr0jczEoQ62UEg== +"@percy/env@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.27.4.tgz#8c308c470dae5fb970d858703e1f49aff266e791" + integrity sha512-Xl2VUpljOrlCvAp/+KfmN9NUcTGpRdXPa1U9zSIyBnV/oAksp3/CK5EPpKZX/f8xUUkTp78UPaG99sEMA8VvXQ== dependencies: - "@percy/logger" "1.27.3" + "@percy/logger" "1.27.4" -"@percy/logger@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.27.3.tgz#7bc8d7666d50930e7be34e50ff09f23344efc1ee" - integrity sha512-Z/XoEakUHVBivZqmRwFTwiOWT6v5nJgQ6V9aNs2FzjcpyFlJAFZTmHv8+craDKehmnND3tp8FGdPe34Ty0JhEQ== +"@percy/logger@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.27.4.tgz#8d493299e219d971a92052b5998177697191dd05" + integrity sha512-AwXqYaDkHaq1TPkP+ByB8rjvH9ddvkAH9tFd2kmq8AeFFXZ0amAPSbm6u090OUtdHWjRmKQK9JjSouBxEh0aRw== -"@percy/sdk-utils@1.27.3", "@percy/sdk-utils@^1.3.1": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/sdk-utils/-/sdk-utils-1.27.3.tgz#2ac9dcfd3d4f314f4f8715cb84297085c97a4259" - integrity sha512-IhNx5VaYsKiHaFYFbX6BsVb4bNWojNrKyDa9aRF1afAWAeVWHd1Jq/XeVfMDNCrYcsrA+pYDPSXfb+N5cpAeGQ== +"@percy/sdk-utils@1.27.4", "@percy/sdk-utils@^1.3.1": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/sdk-utils/-/sdk-utils-1.27.4.tgz#7396d743aa6916ae7fad639b0fa86f206a9b2aca" + integrity sha512-vhPcdtmJlvTYJ5VOqiVzo02ujdtBFNw1/Bj+2ybiZgn7PkCDPFcITfXoWWPea319EIibGC4ZHjWHctRBgtW/tQ== -"@percy/webdriver-utils@1.27.3": - version "1.27.3" - resolved "https://registry.yarnpkg.com/@percy/webdriver-utils/-/webdriver-utils-1.27.3.tgz#4e008bffd8120cbb6b4babd50c6a6d69e1a99f44" - integrity sha512-yV+7nc8aUPQHP1KnWwTndVHqvgs4xzCA8ObzRFuAaKSTC/hBgpI5ceCDv3aSM03ZtXk4f06AWtsgpU5BYpoP1A== +"@percy/webdriver-utils@1.27.4": + version "1.27.4" + resolved "https://registry.yarnpkg.com/@percy/webdriver-utils/-/webdriver-utils-1.27.4.tgz#35ce3054bcd0a0f21262ab885ee33a51d0df6f0e" + integrity sha512-pZOOYns8Fikh2qlbxO16DxFEnCrnFIoLpE7iz4M9jXxOfk16VZF1PWknMChSr5NqG2I9k2OMjizUE2j8zvtl2Q== dependencies: - "@percy/config" "1.27.3" - "@percy/sdk-utils" "1.27.3" + "@percy/config" "1.27.4" + "@percy/sdk-utils" "1.27.4" "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -2364,32 +2254,32 @@ dependencies: "@babel/runtime" "^7.13.10" -"@sentry-internal/tracing@7.75.1": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.75.1.tgz#978c5ec58a704c423a9b33a58ca3e3e6521725f8" - integrity sha512-nynV+7iVcF8k3CqhvI2K7iA8h4ovJhgYHKnXR8RDDevQOqNG2AEX9+hjCj9fZM4MhKHYFqf1od2oO9lTr38kwg== +"@sentry-internal/tracing@7.83.0": + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.83.0.tgz#8f69d339569b020c495f8350a8ea527c369586e8" + integrity sha512-fY1ZyOiQaaUTuoq5rO+G4/5Ov3n8BnfNK7ck97yAGxy3w+E1CwhVZkXHEvTngNfdYV3ArxvlrtPRb9STFRqXvQ== dependencies: - "@sentry/core" "7.75.1" - "@sentry/types" "7.75.1" - "@sentry/utils" "7.75.1" + "@sentry/core" "7.83.0" + "@sentry/types" "7.83.0" + "@sentry/utils" "7.83.0" "@sentry/browser@^7.0.0": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.75.1.tgz#70422d26e2651443bcf15ea6bb5142774926c5ae" - integrity sha512-0+jPfPA5P9HVYYRQraDokGCY2NiMknSfz11dggClK4VmjvG+hOXiEyf73SFVwLFnv/hwrkWySjoIrVCX65xXQA== - dependencies: - "@sentry-internal/tracing" "7.75.1" - "@sentry/core" "7.75.1" - "@sentry/replay" "7.75.1" - "@sentry/types" "7.75.1" - "@sentry/utils" "7.75.1" - -"@sentry/bundler-plugin-core@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.9.0.tgz#1451cfedafa77c306a2c330a2be87480be02db07" - integrity sha512-6x8o+fjSqciFC5m8ociBTb1bKNblKdmFPXI/aef6Uzr0vvxmWR14M+cqf+fOpB8nl/OEu3jqVV6rKILEel0X2w== - dependencies: - "@sentry/cli" "^2.21.2" + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.83.0.tgz#01e8ba0d3f4d4652e67c8b0d955d2f3903a19ab0" + integrity sha512-8v7QEaC/fVAHn8pi59ZlJznr7ZdOQIgtz8DAOJeJsC2vHTAxQ9nVkoMkJWjTp/qaDHUjSe5ob6eqaChuhi6t2g== + dependencies: + "@sentry-internal/tracing" "7.83.0" + "@sentry/core" "7.83.0" + "@sentry/replay" "7.83.0" + "@sentry/types" "7.83.0" + "@sentry/utils" "7.83.0" + +"@sentry/bundler-plugin-core@2.10.2": + version "2.10.2" + resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.10.2.tgz#d26f6a67b843eb757eb836020816e68472eee365" + integrity sha512-7IoekLtROlJZqTxtHQ3IhocBuf9dsEq+JjqlHMyZXoq+QKuvJFvMd/4T+r6KjZ15kMZOIkR+spK3V7duH201hw== + dependencies: + "@sentry/cli" "^2.22.3" "@sentry/node" "^7.60.0" "@sentry/utils" "^7.60.0" dotenv "^16.3.1" @@ -2398,71 +2288,114 @@ magic-string "0.27.0" unplugin "1.0.1" -"@sentry/cli@^2.21.2": - version "2.21.2" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.21.2.tgz#89e5633ff48a83d078c76c6997fffd4b68b2da1c" - integrity sha512-X1nye89zl+QV3FSuQDGItfM51tW9PQ7ce0TtV/12DgGgTVEgnVp5uvO3wX5XauHvulQzRPzwUL3ZK+yS5bAwCw== +"@sentry/cli-darwin@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.22.3.tgz#d81f6a1b2060d20adb1da7e65e1c57e050e8ffcc" + integrity sha512-A1DwFTffg3+fF68qujaJI07dk/1H1pRuihlvS5WQ9sD7nQLnXZGoLUht4eULixhDzZYinWHKkcWzQ6k40UTvNA== + +"@sentry/cli-linux-arm64@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.22.3.tgz#9bdd3f3a441017b82fdbf0986fdf3b2e19ceda0c" + integrity sha512-PnBPb4LJ+A2LlqLjtVFn4mEizcVdxBSLZvB85pEGzq9DRXjZ6ZEuGWFHTVnWvjd79TB/s0me29QnLc3n4B6lgA== + +"@sentry/cli-linux-arm@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.22.3.tgz#74ae1d9bf8a9334e155412fc66c770573b264d7c" + integrity sha512-mDtLVbqbCu/5b/v2quTAMzY/atGlJVvrqO2Wvpro0Jb/LYhn7Y1pVBdoXEDcnOX82/pseFkLT8PFfq/OcezPhA== + +"@sentry/cli-linux-i686@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.22.3.tgz#8e077d2f48c6c9a791e2db303c55bd4b3f47e2f8" + integrity sha512-wxvbpQ2hiw4hwJWfJMp7K45BV40nXL62f91jLuftFXIbieKX1Li57NNKNu2JUVn7W1bJxkwz/PKGGTXSgeJlRw== + +"@sentry/cli-linux-x64@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.22.3.tgz#c3d653032105043b5e72202812c2b85dbbfbabbb" + integrity sha512-0GxsYNO5GyRWifeOpng+MmdUFZRA64bgA1n1prsEsXnoeLcm3Zj4Q63hBZmiwz9Qbhf5ibohkpf94a7dI7pv3A== + +"@sentry/cli-win32-i686@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.22.3.tgz#836baaa8af96b5249c753d2f0b5c111d4c850e4a" + integrity sha512-YERPsd7ClBrxKcmCUw+ZrAvQfbyIZFrqh269hgDuXFodpsB7LPGnI33ilo0uzmKdq2vGppTb6Z3gf1Rbq0Hadg== + +"@sentry/cli-win32-x64@2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.22.3.tgz#c450136539e8860d46434a932383005cffd89136" + integrity sha512-NUh56xWvgJo2KuC9lI6o6nTPXdzbpQUB4qGwJ73L9NP3HT2P1I27jtHyrC2zlXTVlYE23gQZGrL3wgW4Jy80QA== + +"@sentry/cli@^2.22.3": + version "2.22.3" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.22.3.tgz#e28613885c30979f4760de7365e5d30d5a32d51d" + integrity sha512-VFHdtrHsMyTRSZhDLeMyXvit7xB4e81KugIEwMve95c7h5HO672bfmCcM/403CAugj4NzvQ+IR2NKF/2SsEPlg== dependencies: https-proxy-agent "^5.0.0" node-fetch "^2.6.7" progress "^2.0.3" proxy-from-env "^1.1.0" which "^2.0.2" - -"@sentry/core@7.75.1": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.75.1.tgz#f48cc424990ee4f31541e93f2c0277bfd5be9ed3" - integrity sha512-Kw4KyKBxbxbh8OKO0S11Tm0gWP+6AaXXYrsq3hp8H338l/wOmIzyckmCbUrc/XJeoRqaFLJbdcCrcUEDZUvsVQ== - dependencies: - "@sentry/types" "7.75.1" - "@sentry/utils" "7.75.1" + optionalDependencies: + "@sentry/cli-darwin" "2.22.3" + "@sentry/cli-linux-arm" "2.22.3" + "@sentry/cli-linux-arm64" "2.22.3" + "@sentry/cli-linux-i686" "2.22.3" + "@sentry/cli-linux-x64" "2.22.3" + "@sentry/cli-win32-i686" "2.22.3" + "@sentry/cli-win32-x64" "2.22.3" + +"@sentry/core@7.83.0": + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.83.0.tgz#29bdd5aba40a6f25c01c68387b6a9aa13e27f20a" + integrity sha512-fglvpw8aWM6nWXzCjAVXIMTiTEAQ9G9b85IpDd/7L8fuwaFTPQAUSJXupF2PfbpQ3FUYbJt80dxshbERVJG8vQ== + dependencies: + "@sentry/types" "7.83.0" + "@sentry/utils" "7.83.0" "@sentry/node@^7.60.0": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.75.1.tgz#059d941aa4dcd96a0f9522c215371e8041b77996" - integrity sha512-E174NbP3j7OIqQQYPtpMGz1FfL/KE5PeGnhoACyMIk0D5MGB7Ia7Y9+nYfHB7+EOJPV2Ob6BYlhemX/MxPrYWg== - dependencies: - "@sentry-internal/tracing" "7.75.1" - "@sentry/core" "7.75.1" - "@sentry/types" "7.75.1" - "@sentry/utils" "7.75.1" + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.83.0.tgz#199965f4c0cb3cd0d2ae590faa260d2505c38528" + integrity sha512-ibnON+5ovoGOsvcLxcWQu5XAc4rbkvDkzCP74YGnME3/NzRuo3cKam8bUL5Wlm15h68QzxskyNOLuj6BEJ6AfQ== + dependencies: + "@sentry-internal/tracing" "7.83.0" + "@sentry/core" "7.83.0" + "@sentry/types" "7.83.0" + "@sentry/utils" "7.83.0" https-proxy-agent "^5.0.0" -"@sentry/replay@7.75.1": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.75.1.tgz#7790e80f7cb4dc856f5e72f70a51febd5898e04d" - integrity sha512-MKQTDWNYs9QXCJ+irGX5gu8Kxdk/Ds5puhILy8+DnCoXgXuPFRMGob1Sxt8qXmbQmcGeogsx221MNTselsRS6g== +"@sentry/replay@7.83.0": + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.83.0.tgz#14fd39a638911f60b780d232d2056f0d19ed478e" + integrity sha512-B/rzmjmQ3ZWE68m4Z9rHIN3Fa/wkfVVTK+iSQtqErFflyMETMNwtWRNd6P9FhXnphEINZEbcn/UZF5w5xu/DfA== dependencies: - "@sentry-internal/tracing" "7.75.1" - "@sentry/core" "7.75.1" - "@sentry/types" "7.75.1" - "@sentry/utils" "7.75.1" + "@sentry-internal/tracing" "7.83.0" + "@sentry/core" "7.83.0" + "@sentry/types" "7.83.0" + "@sentry/utils" "7.83.0" "@sentry/tracing@^7.0.0": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.75.1.tgz#9ff046e9974d178e599cf69de055393f888cb40f" - integrity sha512-hy8MQB9TAYdvuO6O6Lotmi/xMkhseM5E3ecY6yjgkbQwzjJV+dBBW4xsCXowMQQQ1qN+E/n95p/gUPvbfe2mgQ== + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.83.0.tgz#816c99ca1c9dc0b04962da88d4728b6360f46ee7" + integrity sha512-0VqUOV/DTYdnkxMU28miybyxsRDjizFe+O5vBzShZNR2XfRHI70ozd8kI/Uni685QlCYirpcnS5evrEx1yLf+A== dependencies: - "@sentry-internal/tracing" "7.75.1" + "@sentry-internal/tracing" "7.83.0" -"@sentry/types@7.75.1": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.75.1.tgz#48b11336a0e70433d41bbe41c617dd339d4992ea" - integrity sha512-km+ygqgMDaFfTrbQwdhrptFqx0Oq15jZABqIoIpbaOCkCAMm+tyCqrFS8dTfaq5wpCktqWOy2qU/DOpppO99Cg== +"@sentry/types@7.83.0": + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.83.0.tgz#117e45900603190c547e52bba35e1b3d539d47fb" + integrity sha512-Bd+zJcy8p1VgCfQqUprmUaw0QPWUV+GmCt6zJRHrHTb2pwLahXv6sHJvQ8F8Va6S7Keuy088U+kHzUFGQLMZMQ== -"@sentry/utils@7.75.1", "@sentry/utils@^7.60.0": - version "7.75.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.75.1.tgz#169040ba13ff4d4ecccb7b7aa23f84724d108b97" - integrity sha512-QzW2eRjY20epD//9/tQ0FTNwdAL6XZi+LyJNUQIeK3NMnc5NgHrgpxId87gmFq8cNx47utH1Blub8RuMbKqiwQ== +"@sentry/utils@7.83.0", "@sentry/utils@^7.60.0": + version "7.83.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.83.0.tgz#ec0fc0a468ec35ab9623603f1ba218dd58233eda" + integrity sha512-7SrZtgAn3pHFBqSSvV/VL0CWTBQ7VenJjok4+WGWd6/FhP3fKrEEd9rjVTUb2Pzq9WLJJYzdvxAG8RlggG+H4g== dependencies: - "@sentry/types" "7.75.1" + "@sentry/types" "7.83.0" "@sentry/webpack-plugin@^2.0.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.9.0.tgz#5b77a3ae712b5fd50176672a78c7f5957c0c1b9d" - integrity sha512-8BuN83dp0QtHazwJh1aaJmSMQYM3vQXa5OxrY4ey79BmbHjv0kM/fUTB0hP9a9b4GfGnOZY9I+wVg0O5U6g9Qw== + version "2.10.2" + resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.10.2.tgz#72fa3e2f8d2a6d67df48a502473956249e8aec07" + integrity sha512-sA+oHgxoiLEaxZt3/o3fVsItyR37PIUWSiSkpdxcziekRZ6EM/h0BqW4qXi+46OmLE+ZiB8qtaqid+GUG9C9VA== dependencies: - "@sentry/bundler-plugin-core" "2.9.0" + "@sentry/bundler-plugin-core" "2.10.2" unplugin "1.0.1" uuid "^9.0.0" @@ -2678,20 +2611,14 @@ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/aria-query@^5.0.1": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.3.tgz#07570ebd25f9b516c910a91f7244052c9b58eabc" - integrity sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA== + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.1.14": -<<<<<<< HEAD - version "7.20.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.3.tgz#d5625a50b6f18244425a1359a858c73d70340778" - integrity sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA== -======= - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.2.tgz#215db4f4a35d710256579784a548907237728756" - integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== ->>>>>>> v1.11.46 + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -2700,61 +2627,43 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": -<<<<<<< HEAD - version "7.6.6" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.6.tgz#676f89f67dc8ddaae923f70ebc5f1fa800c031a8" - integrity sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w== -======= - version "7.6.5" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95" - integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== ->>>>>>> v1.11.46 + version "7.6.7" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.7.tgz#a7aebf15c7bc0eb9abd638bdb5c0b8700399c9d0" + integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": -<<<<<<< HEAD - version "7.4.3" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.3.tgz#db9ac539a2fe05cfe9e168b24f360701bde41f5f" - integrity sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ== -======= - version "7.4.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b" - integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== ->>>>>>> v1.11.46 + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": -<<<<<<< HEAD - version "7.20.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.3.tgz#a971aa47441b28ef17884ff945d0551265a2d058" - integrity sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw== -======= - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d" - integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== ->>>>>>> v1.11.46 + version "7.20.4" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" + integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== dependencies: "@babel/types" "^7.20.7" "@types/cheerio@^0.22.22": - version "0.22.33" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.33.tgz#e4792408b107384d7d7469e3b4d31408078ec620" - integrity sha512-XUlu2BK4q3xJsccRLK69m/cABZd7m60o+cDEPUTG6jTpuG2vqN35UioeF99MQ/HoSOEPq0Bgil8g3jtzE0oH9A== + version "0.22.35" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.35.tgz#0d16dc1f24d426231c181b9c31847f673867595f" + integrity sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA== dependencies: "@types/node" "*" "@types/events@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.2.tgz#c9b18152fdac34e924260532762255e34ef1d491" - integrity sha512-v4Mr60wJuF069iZZCdY5DKhfj0l6eXNJtbSM/oMDNdRLoBEUsktmKnswkz0X3OAic5W8Qy/YU6owKE4A66Y46A== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.3.tgz#a8ef894305af28d1fc6d2dfdfc98e899591ea529" + integrity sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g== "@types/geojson@*", "@types/geojson@^7946.0.10": - version "7946.0.12" - resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.12.tgz#0307536218d32e6b970bccd1d148b9c4e5b6f10d" - integrity sha512-uK2z1ZHJyC0nQRbuovXFt4mzXDwf27vQeUWNhfKGwRcWW429GOhP8HxUHlM6TLH4bzmlv/HlEjpvJh3JfmGsAA== + version "7946.0.13" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.13.tgz#e6e77ea9ecf36564980a861e24e62a095988775e" + integrity sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ== "@types/glob@^7.1.1": version "7.2.0" @@ -2765,22 +2674,16 @@ "@types/node" "*" "@types/graceful-fs@^4.1.3": -<<<<<<< HEAD - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.8.tgz#417e461e4dc79d957dc3107f45fe4973b09c2915" - integrity sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw== -======= - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.7.tgz#30443a2e64fd51113bc3e2ba0914d47109695e2a" - integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== ->>>>>>> v1.11.46 + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/hoist-non-react-statics@^3.3.0": - version "3.3.4" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.4.tgz#cc477ce0283bb9d19ea0cbfa2941fe2c8493a1be" - integrity sha512-ZchYkbieA+7tnxwX/SCBySx9WwvWR8TaP5tb2jRAzwvLb/rWchGw3v0w3pqUbUvj0GCwW2Xz/AVPSk6kUGctXQ== + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== dependencies: "@types/react" "*" hoist-non-react-statics "^3.3.0" @@ -2791,42 +2694,36 @@ integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#fdfdd69fa16d530047d9963635bd77c71a08c068" - integrity sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz#394798d5f727402eb5ec99eb9618ffcd2b7645a1" - integrity sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz#0313e2608e6d6955d195f55361ddeebd4b74c6e7" - integrity sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.0.0": -<<<<<<< HEAD - version "29.5.6" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.6.tgz#f4cf7ef1b5b0bfc1aa744e41b24d9cc52533130b" - integrity sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w== -======= - version "29.5.5" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" - integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== ->>>>>>> v1.11.46 + version "29.5.10" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.10.tgz#a10fc5bab9e426081c12b2ef73d24d4f0c9b7f50" + integrity sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" "@types/jitsi-meet@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/jitsi-meet/-/jitsi-meet-2.0.4.tgz#ee7acc2ae4a48abcb0356754a71b0d207e6d1e1b" - integrity sha512-JCLqT6rBMIX9IDeZN15fKy1dEet4tmTBH8uZmZK2InZUGQSf174jNYBIcsOuB+nyne501C0MnCLbGXylHEM9ew== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/jitsi-meet/-/jitsi-meet-2.0.5.tgz#bab7ae7272b369a9d34df7b915742d9d47fb9dbb" + integrity sha512-rlYDoTolCfuvgU/Zg936+jIJHvMSXIH2l9bHkBVH3J3WzSECwsVu9LbhUc5FTXtFy1uENXwTxVVtQqCs7WiDkA== "@types/jsdom@^20.0.0": version "20.0.1" @@ -2838,9 +2735,9 @@ parse5 "^7.0.0" "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.14" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" @@ -2848,32 +2745,32 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/jsrsasign@^10.5.4": - version "10.5.11" - resolved "https://registry.yarnpkg.com/@types/jsrsasign/-/jsrsasign-10.5.11.tgz#db7991d73f9800f561ca2da85d3036dcda4e47fc" - integrity sha512-dBjGoI99kzjDe79LEfOpSHjc/U2BnEvY/FG6Yy1qvPYS2S0yxuWRKOk2Urzh3vGeb5dDq2JRqzilSKhH05t//Q== + version "10.5.12" + resolved "https://registry.yarnpkg.com/@types/jsrsasign/-/jsrsasign-10.5.12.tgz#39ca12e576249f1a5494943d1c0c49c9087bf13d" + integrity sha512-sOA+eVnHU+FziThpMhuqs/tjFKe5gHVJKIS7g1BzhXP+e2FS8OvtzM0K3IzFxVksDOr98Gz5FJiZVxZ9uFoHhw== "@types/loader-utils@^2.0.4": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-2.0.5.tgz#df199c88d2139ceeeeac861c704bc37b08506537" - integrity sha512-KBwEnl6biBRJ1MapcgVmkC/nkk7adZinKF1D6VscHviaumX8g/pbxyjBCNfmqnA6LzQ7NnomkdPazUDLTYEUvA== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-2.0.6.tgz#cb1cf704c7eee4f01df8da3a90ba5929b77753df" + integrity sha512-cgu0Xefgq9O5FjFR78jgI6X31aPjDWCaJ6LCfRtlj6BtyVVWiXagysSYlPACwGKAzRwsFLjKXcj4iGfcVt6cLw== dependencies: "@types/node" "*" "@types/webpack" "^4" "@types/lodash@^4.14.197": - version "4.14.200" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.200.tgz#435b6035c7eba9cdf1e039af8212c9e9281e7149" - integrity sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q== + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/mapbox__point-geometry@*", "@types/mapbox__point-geometry@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.3.tgz#3050f58fcdcc9da96998655268d477ea266dbe76" - integrity sha512-2W46IOXlu7vC8m3+M5rDqSnuY22GFxxx3xhkoyqyPWrD+eP2iAwNst0A1+umLYjCTJMJTSpiofphn9h9k+Kw+w== + version "0.1.4" + resolved "https://registry.yarnpkg.com/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz#0ef017b75eedce02ff6243b4189210e2e6d5e56d" + integrity sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA== "@types/mapbox__vector-tile@^1.3.0": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.3.tgz#f8bf33d91f9951c6090dbd454d4e33626f5107cc" - integrity sha512-d263B3KCQtXKVZMHpMJrEW5EeLBsQ8jvAS9nhpUKC5hHIlQaACG9PWkW8qxEeNuceo9120AwPjeS91uNa4ltqA== + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz#ad757441ef1d34628d9e098afd9c91423c1f8734" + integrity sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg== dependencies: "@types/geojson" "*" "@types/mapbox__point-geometry" "*" @@ -2885,72 +2782,66 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimist@^1.2.2": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.4.tgz#81f886786411c45bba3f33e781ab48bd56bfca2e" - integrity sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/modernizr@^3.5.3": - version "3.5.5" - resolved "https://registry.yarnpkg.com/@types/modernizr/-/modernizr-3.5.5.tgz#93af92934419acdfccd7f15d80e933eef9e8cfed" - integrity sha512-0qDTM+88Wr71s6BL9eplieTVwKPsZwMY93zKYR3wR+XT4EiAZKCFEKH+mPtrgpv602dHCQGgkDHh5qhCrTor8Q== + version "3.5.6" + resolved "https://registry.yarnpkg.com/@types/modernizr/-/modernizr-3.5.6.tgz#c50d64a73edc30284679f09ad54e7d095e69f2a0" + integrity sha512-yslwR0zZ3zAT1qXcCPxIcD23CZ6W6nKsl6JufSJHAmdwOBuYwCVJkaMsEo9yzxGV7ATfoX8S+RgtnajOEtKxYA== "@types/node-fetch@^2.6.4": - version "2.6.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.7.tgz#a1abe2ce24228b58ad97f99480fdcf9bbc6ab16d" - integrity sha512-lX17GZVpJ/fuCjguZ5b3TjEbSENxmEk1B2z02yoXSK9WMEWRivhdSY73wWMn6bpcCDAOh6qAdktpKHIlkDk2lg== + version "2.6.9" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" + integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA== dependencies: "@types/node" "*" form-data "^4.0.0" "@types/node@*": -<<<<<<< HEAD - version "20.8.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" - integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== + version "20.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.1.tgz#d2c96f356c3125fedc983d74c424910c3767141c" + integrity sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg== dependencies: undici-types "~5.26.4" -======= - version "20.6.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" - integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== ->>>>>>> v1.11.46 "@types/node@^16": - version "16.18.59" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.59.tgz#4cdbd631be6d9be266a96fb17b5d0d7ad6bbe26c" - integrity sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ== + version "16.18.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.66.tgz#f59cc2ff96cc47f972a11a458a9b29bf0a209c34" + integrity sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw== "@types/node@^18.17.5": - version "18.18.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.8.tgz#2b285361f2357c8c8578ec86b5d097c7f464cfd6" - integrity sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ== + version "18.18.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.14.tgz#26771c647f2842af57eb96191cd615d845164295" + integrity sha512-iSOeNeXYNYNLLOMDSVPvIFojclvMZ/HDY2dU17kUlcsOsSQETbWIslJbYLZgA+ox8g2XQwSHKTkght1a5X26lQ== dependencies: undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" - integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/parse-json@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.1.tgz#27f7559836ad796cea31acb63163b203756a5b4e" - integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/pbf@*", "@types/pbf@^3.0.2": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/pbf/-/pbf-3.0.4.tgz#32f8cd8bb2fb53e5870a5d751210d1dcdce23f85" - integrity sha512-SOFlLGZkLbEXJRwcWCqeP/Koyaf/uAqLXHUsdo/nMfjLsNd8kqauwHe9GBOljSmpcHp/LC6kOjo3SidGjNirVA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/pbf/-/pbf-3.0.5.tgz#a9495a58d8c75be4ffe9a0bd749a307715c07404" + integrity sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA== "@types/prop-types@*": - version "15.7.9" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.9.tgz#b6f785caa7ea1fe4414d9df42ee0ab67f23d8a6d" - integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== "@types/q@^1.5.1": - version "1.5.7" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.7.tgz#5fe8cf91556bfb310d17f2e2b4263a7c12c2c2ca" - integrity sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA== + version "1.5.8" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== "@types/react-dom@17.0.19", "@types/react-dom@<18.0.0": version "17.0.19" @@ -2960,9 +2851,9 @@ "@types/react" "^17" "@types/react-redux@^7.1.20": - version "7.1.28" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.28.tgz#30a44303c7daceb6ede9cfb4aaf72e64f1dde4de" - integrity sha512-EQr7cChVzVUuqbA+J8ArWK1H0hLAHKOs21SIMrskKZ3nHNeE+LFYA+IsoZGhVOT8Ktjn3M20v4rnZKN3fLbypw== + version "7.1.31" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.31.tgz#ff914f80401488bb31d064b1d84ae525dad41b23" + integrity sha512-merF9AH72krBUekQY6uObXnMsEo1xTeZy9NONNRnqSwvwVe3HtLeRvNIPaKmPDIOWPsSFE51rc2WGpPMqmuCWg== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -2984,14 +2875,14 @@ integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/scheduler@*": - version "0.16.5" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.5.tgz#4751153abbf8d6199babb345a52e1eb4167d64af" - integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== "@types/semver@^7.3.12": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" - integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== "@types/sinonjs__fake-timers@8.1.1": version "8.1.1" @@ -2999,61 +2890,55 @@ integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== "@types/sizzle@^2.3.2": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.5.tgz#d93dd29cdcd5801d90be968073b09a6b370780e4" - integrity sha512-tAe4Q+OLFOA/AMD+0lq8ovp8t3ysxAOeaScnfNdZpUxaGl51ZMDEITxkvFl1STudQ58mz6gzVGl9VhMKhwRnZQ== + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== "@types/source-list-map@*": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.4.tgz#a3d4e4791606f40a833ab1caf41f77463c8d72ff" - integrity sha512-Kdfm7Sk5VX8dFW7Vbp18+fmAatBewzBILa1raHYxrGEFXT0jNl9x3LWfuW7bTbjEKFNey9Dfkj/UzT6z/NvRlg== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.6.tgz#164e169dd061795b50b83c19e4d3be09f8d3a454" + integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g== "@types/stack-utils@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.2.tgz#01284dde9ef4e6d8cef6422798d9a3ad18a66f8b" - integrity sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.10.tgz#5203aad08455c6988f7b2347715023e3935b1056" - integrity sha512-q8F20SdXG5fdVJQ5yxsVlH+f+oekP42QeHv4s5KlrxTMT0eopXn7ol1rhxMcksf8ph7XNv811iVDE2hOpUvEPg== + version "1.0.12" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.12.tgz#bc2cab12e87978eee89fb21576b670350d6d86ab" + integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q== "@types/tough-cookie@*": -<<<<<<< HEAD - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.4.tgz#cf2f0c7c51b985b6afecea73eb2cd65421ecb717" - integrity sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A== -======= - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" - integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== ->>>>>>> v1.11.46 + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/ua-parser-js@^0.7.36": - version "0.7.38" - resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz#fd5eae721a4c4dd386d9ebab745a9306c8e71210" - integrity sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ== + version "0.7.39" + resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz#832c58e460c9435e4e34bb866e85e9146e12cdbb" + integrity sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg== "@types/uglify-js@*": - version "3.17.3" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.3.tgz#784efb40320d248588e1748dd12e1f43733f1416" - integrity sha512-ToldSfJ6wxO21cakcz63oFD1GjqQbKzhZCD57eH7zWuYT5UEZvfUoqvrjX5d+jB9g4a/sFO0n6QSVzzn5sMsjg== + version "3.17.4" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.4.tgz#3c70021f08023e5a760ce133d22966f200e1d31c" + integrity sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg== dependencies: source-map "^0.6.1" "@types/webpack-sources@*": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.2.tgz#6e6027cad8b54d2a4e5735df49af559bb4de2db0" - integrity sha512-acCzhuVe+UJy8abiSFQWXELhhNMZjQjQKpLNEi1pKGgKXZj0ul614ATcx4kkhunPost6Xw+aCq8y8cn1/WwAiA== + version "3.2.3" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.3.tgz#b667bd13e9fa15a9c26603dce502c7985418c3d8" + integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4", "@types/webpack@^4.41.8": - version "4.41.35" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.35.tgz#32903809685caf87ea612e4e74577874359c3749" - integrity sha512-XRC6HLGHtNfN8/xWeu1YUQV1GSE+28q8lSqvcJ+0xt/zW9Wmn4j9pCSvaXPyRlCKrl5OuqECQNEJUy2vo8oWqg== + version "4.41.38" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.38.tgz#5a40ac81bdd052bf405e8bdcf3e1236f6db6dc26" + integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -3063,21 +2948,21 @@ source-map "^0.6.0" "@types/yargs-parser@*": - version "21.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.2.tgz#7bd04c5da378496ef1695a1008bf8f71847a8b8b" - integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.29" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.29.tgz#06aabc72497b798c643c812a8b561537fea760cf" - integrity sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA== + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - version "2.10.2" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.2.tgz#dab926ef9b41a898bc943f11bca6b0bad6d4b729" - integrity sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA== + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== dependencies: "@types/node" "*" @@ -3359,12 +3244,11 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -<<<<<<< HEAD "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -======= + "@zxcvbn-ts/core@^3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@zxcvbn-ts/core/-/core-3.0.4.tgz#c5bde72235eb6c273cec78b672bb47c0d7045cad" @@ -3381,7 +3265,6 @@ version "3.0.2" resolved "https://registry.yarnpkg.com/@zxcvbn-ts/language-en/-/language-en-3.0.2.tgz#162ada6b2b556444efd5a7700e70845cfde6d6ec" integrity sha512-Zp+zL+I6Un2Bj0tRXNs6VUBq3Djt+hwTwUz4dkt2qgsQz47U0/XthZ4ULrT/RxjwJRl5LwiaKOOZeOtmixHnjg== ->>>>>>> v1.11.46 abab@^2.0.6: version "2.0.6" @@ -3849,9 +3732,9 @@ async@^2.4.1, async@^2.6.4: lodash "^4.17.14" async@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== asynciterator.prototype@^1.0.0: version "1.0.0" @@ -3910,7 +3793,6 @@ await-lock@^2.1.0: resolved "https://registry.yarnpkg.com/await-lock/-/await-lock-2.2.2.tgz#a95a9b269bfd2f69d22b17a321686f551152bcef" integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== -<<<<<<< HEAD aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3926,8 +3808,6 @@ axe-core@^4.4.3: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.2.tgz#2f6f3cde40935825cf4465e3c1c9e77b240ff6ae" integrity sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g== -======= ->>>>>>> v1.11.46 babel-jest@^29.0.0, babel-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" @@ -4091,9 +3971,9 @@ before-after-hook@^2.2.0: integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== big-integer@^1.6.48: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== big.js@^5.2.2: version "5.2.2" @@ -4290,33 +4170,16 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -<<<<<<< HEAD browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.6.4: version "4.22.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== -======= -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.6.4: - version "4.21.10" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== ->>>>>>> v1.11.46 dependencies: caniuse-lite "^1.0.30001541" electron-to-chromium "^1.4.535" node-releases "^2.0.13" update-browserslist-db "^1.0.13" -browserslist@^4.21.9: - version "4.21.11" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.11.tgz#35f74a3e51adc4d193dcd76ea13858de7b8fecb8" - integrity sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ== - dependencies: - caniuse-lite "^1.0.30001538" - electron-to-chromium "^1.4.526" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" - bs58@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" @@ -4535,21 +4398,14 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: - version "1.0.30001554" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz#ba80d88dff9acbc0cd4b7535fc30e0191c5e2e2a" - integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ== + version "1.0.30001565" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz#a528b253c8a2d95d2b415e11d8b9942acc100c4f" + integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== -<<<<<<< HEAD caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -======= -caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001538: - version "1.0.30001538" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz#9dbc6b9af1ff06b5eb12350c2012b3af56744f3f" - integrity sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw== ->>>>>>> v1.11.46 chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -4910,9 +4766,9 @@ commonmark@^0.30.0: string.prototype.repeat "^0.2.0" component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== compressible@~2.0.16: version "2.0.18" @@ -5023,17 +4879,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -<<<<<<< HEAD core-js-compat@^3.31.0, core-js-compat@^3.33.1: - version "3.33.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.1.tgz#debe80464107d75419e00c2ee29f35982118ff84" - integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== -======= -core-js-compat@^3.31.0: - version "3.32.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" - integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== ->>>>>>> v1.11.46 + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01" + integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow== dependencies: browserslist "^4.22.1" @@ -5043,9 +4892,9 @@ core-js@^2.4.0: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.0.0: - version "3.33.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.1.tgz#ef3766cfa382482d0a2c2bc5cb52c6d88805da52" - integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d" + integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw== core-util-is@1.0.2: version "1.0.2" @@ -5207,7 +5056,7 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^4.1.1: +crypto-js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== @@ -5454,14 +5303,14 @@ cypress-axe@^1.0.0: integrity sha512-Hy/owCjfj+25KMsecvDgo4fC/781ccL+e8p+UUYoadGVM2ogZF9XIKbiM6KI8Y3cEaSreymdD6ZzccbI2bY0lQ== cypress-real-events@^1.7.1: - version "1.10.3" - resolved "https://registry.yarnpkg.com/cypress-real-events/-/cypress-real-events-1.10.3.tgz#e2e949ea509cc4306df6c238de1a9982d67360e5" - integrity sha512-YN3fn+CJIAM638sE6uMvv2/n3PsWowdd0rOiN6ZoyezNAMyENfuQHvccLKZpN+apGfQZYetCml6QXLYgDid2fg== + version "1.11.0" + resolved "https://registry.yarnpkg.com/cypress-real-events/-/cypress-real-events-1.11.0.tgz#292fe5281c5b6e955524e766ab7fec46930c7763" + integrity sha512-4LXVRsyq+xBh5TmlEyO1ojtBXtN7xw720Pwb9rEE9rkJuXmeH3VyoR1GGayMGr+Itqf11eEjfDewtDmcx6PWPQ== cypress@^13.0.0: - version "13.4.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.4.0.tgz#7d91069983ba7c664c505abde84d3e3e20484344" - integrity sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ== + version "13.6.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.0.tgz#b98b7b837679012ed09c7ecee5565bf7b31d4982" + integrity sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw== dependencies: "@cypress/request" "^3.0.0" "@cypress/xvfb" "^1.2.4" @@ -5553,6 +5402,11 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5608,26 +5462,26 @@ dedent@^1.0.0: integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" + regexp.prototype.flags "^1.5.1" deep-equal@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.2.tgz#9b2635da569a13ba8e1cc159c2f744071b115daa" - integrity sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA== + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== dependencies: array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" + call-bind "^1.0.5" es-get-iterator "^1.1.3" - get-intrinsic "^1.2.1" + get-intrinsic "^1.2.2" is-arguments "^1.1.1" is-array-buffer "^3.0.2" is-date-object "^1.0.5" @@ -5637,11 +5491,11 @@ deep-equal@^2.0.5: object-is "^1.1.5" object-keys "^1.1.1" object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" + regexp.prototype.flags "^1.5.1" side-channel "^1.0.4" which-boxed-primitive "^1.0.2" which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-typed-array "^1.1.13" deep-is@^0.1.3: version "0.1.4" @@ -6035,17 +5889,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -<<<<<<< HEAD electron-to-chromium@^1.4.535: - version "1.4.568" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz#6ab444e120dd7fd9c3789eac54d3132b6cfcd0f9" - integrity sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg== -======= -electron-to-chromium@^1.4.477, electron-to-chromium@^1.4.526: - version "1.4.527" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz#5acf0bcc5bf015eb31dd2279989a3712e341a554" - integrity sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA== ->>>>>>> v1.11.46 + version "1.4.597" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.597.tgz#9848b9aa52749bf35be88013bab52be232889d94" + integrity sha512-0XOQNqHhg2YgRVRUrS4M4vWjFCFIP2ETXcXe/0KIQBjXE9Cpy+tgzzYfuq6HGai3hWq0YywtG+5XK8fyG08EjA== elliptic@^6.5.3, elliptic@^6.5.4: version "6.5.4" @@ -6927,9 +6774,9 @@ fast-glob@^2.0.2: micromatch "^3.1.10" fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -7028,11 +6875,11 @@ file-entry-cache@^6.0.1: flat-cache "^3.0.4" file-entry-cache@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-7.0.1.tgz#c71b3509badb040f362255a53e21f15a4e74fc0f" - integrity sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ== + version "7.0.2" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-7.0.2.tgz#2d61bb70ba89b9548e3035b7c9173fe91deafff0" + integrity sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g== dependencies: - flat-cache "^3.1.1" + flat-cache "^3.2.0" file-loader@^6.0.0: version "6.2.0" @@ -7171,10 +7018,10 @@ findup-sync@^3.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" -flat-cache@^3.0.4, flat-cache@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" - integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== +flat-cache@^3.0.4, flat-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" keyv "^4.5.3" @@ -7296,9 +7143,9 @@ from2@^2.1.0: readable-stream "^2.0.0" fs-extra@^11.0.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -7882,7 +7729,7 @@ html-entities@^2.0.0: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== -html-escaper@^2.0.0: +html-escaper@^2.0.0, html-escaper@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== @@ -8084,9 +7931,9 @@ ignore@^3.3.5: integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== ignore@^5.2.0, ignore@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== image-size@^1.0.0: version "1.0.2" @@ -8268,7 +8115,7 @@ is-accessor-descriptor@^1.0.1: dependencies: hasown "^2.0.0" -is-arguments@^1.0.4, is-arguments@^1.1.1: +is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== @@ -8598,7 +8445,7 @@ is-promise@^2.2.2: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== -is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.4: +is-regex@^1.0.5, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -8739,9 +8586,9 @@ isstream@~0.1.2: integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4: version "5.2.1" @@ -9377,11 +9224,14 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stable-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" - integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== + version "1.1.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz#43d39c7c8da34bfaf785a61a56808b0def9f747d" + integrity sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA== dependencies: + call-bind "^1.0.5" + isarray "^2.0.5" jsonify "^0.0.1" + object-keys "^1.1.1" json-stringify-safe@~5.0.1: version "5.0.1" @@ -9432,9 +9282,9 @@ jsprim@^2.0.2: verror "1.10.0" jsrsasign@^10.5.25: - version "10.8.6" - resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.8.6.tgz#ebf7f3c812c6517af84f0d8a10115e0dbfabe145" - integrity sha512-bQmbVtsfbgaKBTWCKiDCPlUPbdlRIK/FzSwT3BzIgZl/cU6TqXu6pZJsCI/dJVrZ9Gir5GC4woqw9shH/v7MBw== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.9.0.tgz#cc3f316e7e4c112a976193f9d2c93deb5a0745ee" + integrity sha512-QWLUikj1SBJGuyGK8tjKSx3K7Y69KYJnrs/pQ1KZ6wvZIkHkWjZ1PJDpuvc1/28c1uP0KW9qn1eI1LzHQqDOwQ== "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" @@ -9516,11 +9366,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -known-css-properties@^0.28.0: - version "0.28.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.28.0.tgz#8a8be010f368b3036fe6ab0ef4bbbed972bd6274" - integrity sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ== - known-css-properties@^0.29.0: version "0.29.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.29.0.tgz#e8ba024fb03886f23cb882e806929f32d814158f" @@ -9670,21 +9515,11 @@ lodash.escape@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== - lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== -lodash.invokemap@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz#1748cda5d8b0ef8369c4eb3ec54c21feba1f2d62" - integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -9705,11 +9540,6 @@ lodash.once@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash.pullall@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.pullall/-/lodash.pullall-4.2.0.tgz#9d98b8518b7c965b0fae4099bd9fb7df8bbf38ba" - integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -9725,11 +9555,6 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== - lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -9792,9 +9617,9 @@ lru-cache@^7.14.1: integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== "lru-cache@^9.1.1 || ^10.0.0": - version "10.0.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" - integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== lru-queue@^0.1.0: version "0.1.0" @@ -10031,17 +9856,10 @@ matrix-react-sdk@3.82.0: uuid "^9.0.0" what-input "^5.2.10" -<<<<<<< HEAD -matrix-web-i18n@^3.1.1: +matrix-web-i18n@^3.1.3: version "3.1.5" resolved "https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-3.1.5.tgz#cab9adb233b63b3760d6e40f71fff8041c648789" integrity sha512-xe9Letv1KT04X7CalnK080cRUBvlVum5fSspaxPJ575W/+ZEwwN2mktF7Bl5gDMpuFLuXvP97xkr66BOB4I+3g== -======= -matrix-web-i18n@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-3.1.3.tgz#b462015b138ebdd288ed945507abea42c896f52d" - integrity sha512-9JUUTifqS/Xe6YQr5uDbX04xvr5Pxg8aU7tRKx49/ZLqm4dZoJKo4SKpyLEwCQeNjAvjcKuXibWO+2hkZ2/Ojw== ->>>>>>> v1.11.46 dependencies: "@babel/parser" "^7.18.5" "@babel/traverse" "^7.18.5" @@ -10489,9 +10307,9 @@ nan@^2.12.1: integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== nanomatch@^1.2.9: version "1.2.13" @@ -10720,7 +10538,7 @@ object-inspect@^1.13.1, object-inspect@^1.7.0, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.5: +object-is@^1.0.2, object-is@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== @@ -10827,11 +10645,11 @@ obuf@^1.0.0, obuf@^1.1.2: integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== oidc-client-ts@^2.2.4: - version "2.3.0" - resolved "https://registry.yarnpkg.com/oidc-client-ts/-/oidc-client-ts-2.3.0.tgz#43c90f1f0cc3be2e4ede38b8c68642ba00bfa8f6" - integrity sha512-7RUKU+TJFQo+4X9R50IGJAIDF18uRBaFXyZn4VVCfwmwbSUhKcdDnw4zgeut3uEXkiD3NqURq+d88sDPxjf1FA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/oidc-client-ts/-/oidc-client-ts-2.4.0.tgz#764c8a33de542026e2798de9849ce8049047d7e5" + integrity sha512-WijhkTrlXK2VvgGoakWJiBdfIsVGz6CFzgjNNqZU1hPKV2kyeEaJgLs7RwuiSp2WhLfWBQuLvr2SxVlZnk3N1w== dependencies: - crypto-js "^4.1.1" + crypto-js "^4.2.0" jwt-decode "^3.1.2" on-finished@2.4.1: @@ -12219,9 +12037,9 @@ punycode@^1.2.4, punycode@^1.4.1: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pure-rand@^6.0.0: version "6.0.4" @@ -12662,7 +12480,7 @@ regexp-tree@^0.1.27: resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== @@ -12814,26 +12632,10 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -<<<<<<< HEAD resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== -======= -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.22.4: - version "1.22.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== ->>>>>>> v1.11.46 - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.14.2, resolve@^1.20.0: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -12877,9 +12679,9 @@ reusify@^1.0.4: integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfc4648@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.5.2.tgz#cf5dac417dd83e7f4debf52e3797a723c1373383" - integrity sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg== + version "1.5.3" + resolved "https://registry.yarnpkg.com/rfc4648/-/rfc4648-1.5.3.tgz#e62b81736c10361ca614efe618a566e93d0b41c0" + integrity sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ== rfdc@^1.3.0: version "1.3.0" @@ -13811,11 +13613,11 @@ stylelint-config-standard@^34.0.0: stylelint-config-recommended "^13.0.0" stylelint-scss@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.2.1.tgz#810299e4141fa38852bd14536a90e4942c8f387f" - integrity sha512-ZoTJUM85/qqpQHfEppjW/St//8s6p9Qsg8deWlYlr56F9iUgC9vXeIDQvH4odkRRJLTLFQzYMALSOFCQ3MDkgw== + version "5.3.1" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.3.1.tgz#7f0f5f06d0a2a3c515aa71d3a8de3548045e03e1" + integrity sha512-5I9ZDIm77BZrjOccma5WyW2nJEKjXDd4Ca8Kk+oBapSO4pewSlno3n+OyimcyVJJujQZkBN2D+xuMkIamSc6hA== dependencies: - known-css-properties "^0.28.0" + known-css-properties "^0.29.0" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" postcss-selector-parser "^6.0.13" @@ -14085,9 +13887,9 @@ terser@^4.1.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.4: - version "5.22.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" - integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== + version "5.24.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.24.0.tgz#4ae50302977bca4831ccc7b4fef63a3c04228364" + integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -14109,9 +13911,9 @@ text-table@^0.2.0: integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - integrity sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g== + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== through2@^2.0.0: version "2.0.5" @@ -14492,9 +14294,9 @@ typeson@^6.0.0, typeson@^6.1.0: integrity sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA== ua-parser-js@^1.0.0, ua-parser-js@^1.0.2: - version "1.0.36" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" - integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -14517,9 +14319,9 @@ undici-types@~5.26.4: integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== undici@^5.25.4: - version "5.27.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.27.0.tgz#789f2e40ce982b5507899abc2c2ddeb2712b4554" - integrity sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg== + version "5.28.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.1.tgz#1052d37bd1a2e8cf3e188d7caebff833fdc06fa7" + integrity sha512-xcIIvj1LOQH9zAL54iWFkuDEaIVEjLrru7qRpa3GrEEHk6OBhb/LycuUY2m7VCcTuDeLziXCxobQVyKExyGeIA== dependencies: "@fastify/busboy" "^2.0.0" @@ -14581,9 +14383,9 @@ unique-slug@^2.0.0: imurmurhash "^0.1.4" universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== universalify@^0.1.0: version "0.1.2" @@ -14596,9 +14398,9 @@ universalify@^0.2.0: integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -14638,11 +14440,7 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -<<<<<<< HEAD update-browserslist-db@^1.0.13: -======= -update-browserslist-db@^1.0.11, update-browserslist-db@^1.0.13: ->>>>>>> v1.11.46 version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== @@ -14781,9 +14579,9 @@ v8-compile-cache@^2.1.1: integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== v8-to-istanbul@^9.0.1: - version "9.1.3" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b" - integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" @@ -14892,23 +14690,19 @@ webidl-conversions@^7.0.0: integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-bundle-analyzer@^4.8.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz#d00bbf3f17500c10985084f22f1a2bf45cb2f09d" - integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== dependencies: "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" acorn-walk "^8.0.0" commander "^7.2.0" + debounce "^1.2.1" escape-string-regexp "^4.0.0" gzip-size "^6.0.0" + html-escaper "^2.0.2" is-plain-object "^5.0.0" - lodash.debounce "^4.0.8" - lodash.escape "^4.0.1" - lodash.flatten "^4.4.0" - lodash.invokemap "^4.6.0" - lodash.pullall "^4.2.0" - lodash.uniqby "^4.7.0" opener "^1.5.2" picocolors "^1.0.0" sirv "^2.0.3" @@ -15263,11 +15057,7 @@ ws@^7.3.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -<<<<<<< HEAD ws@^8.0.0, ws@^8.11.0: -======= -ws@^8.11.0: ->>>>>>> v1.11.46 version "8.14.2" resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== @@ -15318,9 +15108,9 @@ yaml@^1.10.0, yaml@^1.10.2: integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.0.0, yaml@^2.0.1, yaml@^2.2.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9" - integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ== + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yargs-parser@^13.1.2: version "13.1.2" From cb6b5d150935cd75dcf4b06ead4e67ca3889c480 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Thu, 30 Nov 2023 10:44:48 +0100 Subject: [PATCH 48/86] Use new style keys for better-text-for-locked-messages --- modules/tchap-translations/tchap_translations.json | 9 ++++++++- .../matrix-react-sdk+3.82.0.patch | 11 +++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index dffd5b5624..cf031fcc79 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -784,9 +784,16 @@ "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes.", "en": "Or if that doesn't work, please follow these steps." }, + "threads": { + "unable_to_decrypt": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment.", + "en": "Waiting for this message. This could take a while." + } + }, "Unable to decrypt message": { "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while." + "en": "Waiting for this message. This could take a while.", + "comment": "replaced by threads|unable_to_decrypt ?" }, "Waiting for this message. This could take a while. Find out more": { "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus", diff --git a/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch index 7537cb9e0f..b5d8ac1229 100644 --- a/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch +++ b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx -index 1a68e58..328a441 100644 +index 1a68e58..162588c 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx @@ -19,11 +19,25 @@ import { MatrixEvent } from "matrix-js-sdk/src/matrix"; @@ -11,10 +11,9 @@ index 1a68e58..328a441 100644 function getErrorMessage(mxEvent?: MatrixEvent): string { return mxEvent?.isEncryptedDisabledForUnverifiedDevices -- ? _t("timeline|decryption_failure_blocked") + ? _t("timeline|decryption_failure_blocked") - : _t("threads|unable_to_decrypt"); -+ ? _t("timeline|decryption_failure_blocked") -+ // :TCHAP: : _t("threads|unable_to_decrypt"); ++ // :TCHAP: : _t("threads|unable_to_decrypt"); + : _t( + "Waiting for this message. This could take a while. Find out more", + {}, @@ -31,7 +30,7 @@ index 1a68e58..328a441 100644 // A placeholder element for messages that could not be decrypted diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx -index ad79b47..76f7310 100644 +index ad79b47..dc1d79a 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx @@ -30,6 +30,8 @@ import MatrixClientContext from "../../../contexts/MatrixClientContext"; @@ -49,7 +48,7 @@ index ad79b47..76f7310 100644 + // :TCHAP: + const undecryptedText = _t( -+ "Unable to decrypt message", ++ "threads|unable_to_decrypt", + {}, + { + a: (sub) => ( From d0809c36fb6e1a52243565424ba06d75d2a93679 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 17:18:10 +0100 Subject: [PATCH 49/86] Migrate code patches/activate-cross-signing-and-secure-storage-react. Needs hand testing. --- ...matrix-react-sdk+3.82.0+001+initial.patch} | 111 +++++++----------- 1 file changed, 45 insertions(+), 66 deletions(-) rename patches/activate-cross-signing-and-secure-storage-react/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0+001+initial.patch} (58%) diff --git a/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.81.0.patch b/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch similarity index 58% rename from patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.81.0.patch rename to patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch index ca0c639866..2c2df2f79a 100644 --- a/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.81.0.patch +++ b/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch @@ -1,16 +1,16 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/MatrixChat.tsx b/node_modules/matrix-react-sdk/src/components/structures/MatrixChat.tsx -index cf08ffa..3f3210f 100644 +index 7ce7ae2..0e66b0f 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/MatrixChat.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/MatrixChat.tsx -@@ -150,6 +150,7 @@ import { Filter } from "../views/dialogs/spotlight/Filter"; +@@ -148,6 +148,7 @@ import { Filter } from "../views/dialogs/spotlight/Filter"; import { checkSessionLockFree, getSessionLock } from "../../utils/SessionLock"; import { SessionLockStolenView } from "./auth/SessionLockStolenView"; import { ConfirmSessionLockTheftView } from "./auth/ConfirmSessionLockTheftView"; -+import TchapUrls from "../../../../../src/tchap/util/TchapUrls"; ++import TchapUrls from "../../../../../src/tchap/util/TchapUrls"; // :TCHAP: // legacy export export { default as Views } from "../../Views"; -@@ -1784,6 +1785,15 @@ export default class MatrixChat extends React.PureComponent { +@@ -1769,6 +1770,15 @@ export default class MatrixChat extends React.PureComponent { return; } @@ -27,10 +27,10 @@ index cf08ffa..3f3210f 100644 dis.dispatch({ action: "start_registration", diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx -index 933cfcc..365e76a 100644 +index 93b1333..b90acd0 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx -@@ -229,14 +229,21 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { +@@ -227,14 +227,21 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { userSigningPrivateKeyCached; const actions: JSX.Element[] = []; @@ -40,32 +40,21 @@ index 933cfcc..365e76a 100644 // TODO: determine how better to expose this to users in addition to prompts at login/toast if (!keysExistEverywhere && homeserverSupportsCrossSigning) { -- let buttonCaption = _t("Set up Secure Backup"); -+ // :TCHAP: change > let buttonCaption = _t("Set up Secure Backup"); +- let buttonCaption = _t("encryption|set_up_toast_title"); ++ // :TCHAP: let buttonCaption = _t("encryption|set_up_toast_title"); + let buttonCaption = _t("Activate on this device"); + // end :TCHAP: -+ if (crossSigningPrivateKeysInStorage) { - buttonCaption = _t("Verify this session"); + buttonCaption = _t("encryption|verify_toast_title"); } - actions.push( -+ // TCHAP: change actions.push( ++ // :TCHAP: actions.push( + advancedActions.push( ++ // end :TCHAP: {buttonCaption} , -@@ -244,7 +251,9 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { - } - - if (keysExistAnywhere) { -- actions.push( -+ // :TCHAP actions.push( -+ advancedActions.push( -+ // end :TCHAP: - - {_t("action|reset")} - , -@@ -256,6 +265,12 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { +@@ -254,6 +261,13 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { actionRow =
{actions}
; } @@ -75,11 +64,12 @@ index 933cfcc..365e76a 100644 + advancedActionRow =
{advancedActions}
; + } + // end :TCHAP: ++ return ( <> {summarisedStatus} -@@ -291,6 +306,7 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { - {homeserverSupportsCrossSigning ? _t("exists") : _t("not found")} +@@ -309,6 +323,7 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { + + {advancedActionRow} @@ -87,77 +77,66 @@ index 933cfcc..365e76a 100644 {errorSection} {actionRow} diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/SecureBackupPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/SecureBackupPanel.tsx -index a556799..5cde33c 100644 +index 1a63164..8ccec1c 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/SecureBackupPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/SecureBackupPanel.tsx -@@ -257,6 +257,16 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { +@@ -266,12 +266,23 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { } else { statusDescription = ( <> + {/* TCHAP add Tchap text */} + -+ {_t( -+ "Your keys are not being backed up from this session.", -+ {}, -+ { b: (sub) => {sub} }, -+ )} ++ {_t( ++ "settings|security|key_backup_inactive_warning", ++ {}, ++ { b: (sub) => {sub} }, ++ )} + + {/* end TCHAP */} + {/* :TCHAP remove element text - {_t( - "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.", -@@ -269,6 +279,7 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { - "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.", - )} + {_t("settings|security|key_backup_inactive", {}, { b: (sub) => {sub} })} -+ end TCHAP */} + + {_t("settings|security|key_backup_connect_prompt")} + ++ end :TCHAP: */} ); - restoreButtonCaption = _t("Connect this session to Key Backup"); -@@ -323,13 +334,15 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { + restoreButtonCaption = _t("settings|security|key_backup_connect"); +@@ -333,6 +344,7 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { , ); -- if (!isSecureBackupRequired(MatrixClientPeg.safeGet())) { -- actions.push( -- -- {_t("Delete Backup")} -- , -- ); -- } -+ // :TCHAP: hide -+ // if (!isSecureBackupRequired(MatrixClientPeg.safeGet())) { -+ // actions.push( -+ // -+ // {_t("Delete Backup")} -+ // , -+ // ); -+ // } -+ // end :TCHAP: ++ /* :TCHAP: hide + if (!isSecureBackupRequired(MatrixClientPeg.safeGet())) { + actions.push( + +@@ -340,13 +352,16 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { + , + ); + } ++ end :TCHAP: */ } else { statusDescription = ( <> -@@ -340,9 +353,11 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { - { b: (sub) => {sub} }, - )} - -+ {/* :TCHAP: remove - {_t("Back up your keys before signing out to avoid losing them.")} + {_t("settings|security|key_backup_inactive_warning", {}, { b: (sub) => {sub} })} -+ end TCHAP */ } ++ {/* :TCHAP: remove + {_t("encryption|setup_secure_backup|explainer")} ++ end :TCHAP: */} ); actions.push( -@@ -355,7 +370,9 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { +@@ -359,7 +374,9 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> { if (secretStorageKeyInAccount) { actions.push( - {_t("action|reset")} -+ {/* :TCHAP: change {_t("Reset")} into */} ++ {/* :TCHAP: _t("action|reset") */} + {_t("Generate a new code")} -+ {/* end :TCHAP */} ++ {/* end :TCHAP: */} , ); } From ba115b6648a95b98be616ca30374fff355cb8753 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 17:25:46 +0100 Subject: [PATCH 50/86] Migrate code patches/better-text-for-tab-switch. Needs hand testing. --- modules/tchap-translations/tchap_translations.json | 4 ---- ...dk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 12 +++++++----- 2 files changed, 7 insertions(+), 9 deletions(-) rename patches/better-text-for-tab-switch/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (77%) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index cf031fcc79..797b370796 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -1152,10 +1152,6 @@ "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre.", "comment": "2023-11-08: remove once the string is translated in element" }, - "%(brand)s has been connected in another tab": { - "en": "%(brand)s has been connected in another tab", - "fr": "%(brand)s a été connecté dans un autre onglet" - }, "You can close this disconnected tab, and go to the other %(brand)s tab.": { "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." diff --git a/patches/better-text-for-tab-switch/matrix-react-sdk+3.81.0.patch b/patches/better-text-for-tab-switch/matrix-react-sdk+3.82.0.patch similarity index 77% rename from patches/better-text-for-tab-switch/matrix-react-sdk+3.81.0.patch rename to patches/better-text-for-tab-switch/matrix-react-sdk+3.82.0.patch index 1b29c2e1ed..a9c276a5d4 100644 --- a/patches/better-text-for-tab-switch/matrix-react-sdk+3.81.0.patch +++ b/patches/better-text-for-tab-switch/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/SessionLockStolenView.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/SessionLockStolenView.tsx -index 0c0bc01..1a5ef24 100644 +index de93624..64378b8 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/SessionLockStolenView.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/SessionLockStolenView.tsx @@ -28,8 +28,13 @@ export function SessionLockStolenView(): JSX.Element { @@ -8,11 +8,13 @@ index 0c0bc01..1a5ef24 100644 + {/** :TCHAP: better messaging

{_t("common|error")}

-

{_t("%(brand)s has been opened in another tab.", { brand })}

+

{_t("error_app_open_in_another_tab", { brand })}

+-
+- ); + */} -+

{_t("%(brand)s has been connected in another tab", { brand })}

++

{_t("error_app_open_in_another_tab", { brand })}

+

{_t("You can close this disconnected tab, and go to the other %(brand)s tab.", { brand })}

+ {/** end :TCHAP: */} - - ); ++ ++ ); } From 9250fb46e4140a0288ee14785cc92dceef777f60 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 17:33:22 +0100 Subject: [PATCH 51/86] Migrated code for patches/change-sections-order-in-security-privacy-settings. Needs hand testing --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) rename patches/change-sections-order-in-security-privacy-settings/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (83%) diff --git a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.81.0.patch b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch similarity index 83% rename from patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.81.0.patch rename to patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch index 32c5936081..f82fc6eceb 100644 --- a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.81.0.patch +++ b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch @@ -1,22 +1,22 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx -index 5a5e424..dd45888 100644 +index 0cb0485..a7603db 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx @@ -73,25 +73,36 @@ export default class CryptographyPanel extends React.Component { } return ( -- +- - - - -- +- - - - -- +- -
{_t("Session ID:")}{_t("settings|security|session_id")} - {deviceId} -
{_t("Session key:")}{_t("settings|security|session_key")} - - {identityKey} @@ -35,17 +35,17 @@ index 5a5e424..dd45888 100644 + + +
-+ {_t("Advanced")} ++ {_t("common|advanced")} + + + -+ ++ + + + -+ ++ +
{_t("Session ID:")}{_t("settings|security|session_id")} + {deviceId} +
{_t("Session key:")}{_t("settings|security|session_key")} + + {identityKey} @@ -59,7 +59,7 @@ index 5a5e424..dd45888 100644 {noSendUnverifiedSetting} diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx -index 89300be..f0a3aeb 100644 +index 74511df..be81e5f 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx @@ -275,11 +275,13 @@ export default class SecurityUserSettingsTab extends React.Component -@@ -358,13 +360,14 @@ export default class SecurityUserSettingsTab extends React.Component +@@ -354,13 +356,14 @@ export default class SecurityUserSettingsTab extends React.Component {warning} + { /* :TCHAP: move secureBackup and privacySection, and remove eventIndex */ } + {secureBackup} - + - {secureBackup} - {eventIndex} {crossSigning} From cea3c4e62d47ebb0290f24e55fc84795bce0f3cd Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:11:26 +0100 Subject: [PATCH 52/86] Fix code for patches/cross-signing-ui. Needs hand testing --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 74 +++++++++---------- 1 file changed, 36 insertions(+), 38 deletions(-) rename patches/cross-signing-ui/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (79%) diff --git a/patches/cross-signing-ui/matrix-react-sdk+3.81.0.patch b/patches/cross-signing-ui/matrix-react-sdk+3.82.0.patch similarity index 79% rename from patches/cross-signing-ui/matrix-react-sdk+3.81.0.patch rename to patches/cross-signing-ui/matrix-react-sdk+3.82.0.patch index bdfeed2295..fa983a6c70 100644 --- a/patches/cross-signing-ui/matrix-react-sdk+3.81.0.patch +++ b/patches/cross-signing-ui/matrix-react-sdk+3.82.0.patch @@ -16,32 +16,32 @@ index 53d5988..9b8ad77 100644 background-color: $background; border-radius: 4px; diff --git a/node_modules/matrix-react-sdk/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx b/node_modules/matrix-react-sdk/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx -index 1be7fd0..556fed8 100644 +index 026c072..12c4126 100644 --- a/node_modules/matrix-react-sdk/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx +++ b/node_modules/matrix-react-sdk/src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx -@@ -186,13 +186,38 @@ export default class CreateSecretStorageDialog extends React.PureComponent ); } else { -@@ -746,6 +784,10 @@ export default class CreateSecretStorageDialog extends React.PureComponent @@ -91,10 +91,10 @@ index 1be7fd0..556fed8 100644 +

{_t("This is your recovery key")}

+

{_t("Warning: this is the only time this code will be displayed!")}

+ {/* end tchap */} -

- {_t( - "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.", -@@ -757,6 +799,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent{_t("settings|key_backup|setup_secure_backup|security_key_safety_reminder")}

+
+
+@@ -763,6 +805,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent{this.recoveryKey?.encodedPrivateKey}
@@ -102,7 +102,7 @@ index 1be7fd0..556fed8 100644 @@ -111,18 +111,17 @@ index 1be7fd0..556fed8 100644 kind="primary" className="mx_Dialog_primary mx_CreateSecretStorageDialog_recoveryKeyButtons_copyBtn" diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/CompleteSecurity.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/CompleteSecurity.tsx -index 23fcffa..d224632 100644 +index 71e47a8..a852a28 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/CompleteSecurity.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/CompleteSecurity.tsx @@ -66,7 +66,9 @@ export default class CompleteSecurity extends React.Component { return null; } else if (phase === Phase.Intro) { if (lostKeys) { -- icon = ; -+ //:tchap: hide anxious icon of warning -+ //icon = ; -+ //:tchap: end - title = _t("Unable to verify this device"); ++ /* :tchap: hide anxious icon of warning + icon = ; ++ end :tchap: */ + title = _t("encryption|verification|after_new_login|unable_to_verify"); } else { icon = ; @@ -92,9 +94,16 @@ export default class CompleteSecurity extends React.Component { @@ -141,10 +140,10 @@ index 23fcffa..d224632 100644 + onClick={tchapOnSkipClick} + // end :tchap: className="mx_CompleteSecurity_skip" - aria-label={_t("Skip verification for now")} + aria-label={_t("encryption|verification|after_new_login|skip_verification")} /> diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/SetupEncryptionBody.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/SetupEncryptionBody.tsx -index f8781cd..0304b6d 100644 +index 96422cf..9b33df9 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/SetupEncryptionBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/SetupEncryptionBody.tsx @@ -28,6 +28,10 @@ import { SetupEncryptionStore, Phase } from "../../../stores/SetupEncryptionStor @@ -158,34 +157,33 @@ index f8781cd..0304b6d 100644 function keyHasPassphrase(keyInfo: ISecretStorageKeyInfo): boolean { return Boolean(keyInfo.passphrase && keyInfo.passphrase.salt && keyInfo.passphrase.iterations); -@@ -160,14 +164,24 @@ export default class SetupEncryptionBody extends React.Component +@@ -159,11 +163,22 @@ export default class SetupEncryptionBody extends React.Component + if (lostKeys) { return (
-

-+ {/* :tchap: change message format by adding

- {_t( - "It looks like you don't have a Security Key or any other devices you can verify against. This device will not be able to access old encrypted messages. In order to verify your identity on this device, you'll need to reset your verification keys.", - )} -+ :tchap: end -+ */} -+ +-

{_t("encryption|verification|no_key_or_device")}

++ { /*:TCHAP: change

{_t("encryption|verification|no_key_or_device")}

*/ } ++

+ {_t( + "

The Tchap team is working on the deployment of a new feature to "+ + "prevent encryption key loss.

"+ + "

You can access it in the section :

Security and privacy > Secure Backup

", + {}, { 'p': (sub) =>

{sub}

} + )} -

++

++ {/* end :TCHAP: */}
-- {_t("Proceed with reset")} -+ {_t("Set up") /** :TCHAP: */} +- {_t("encryption|verification|reset_proceed_prompt")} ++ {/* :TCHAP: _t("encryption|verification|reset_proceed_prompt") */} ++ {_t("Set up")} ++ {/* end :TCHAP: */}
diff --git a/node_modules/matrix-react-sdk/src/toasts/SetupEncryptionToast.ts b/node_modules/matrix-react-sdk/src/toasts/SetupEncryptionToast.ts -index 873780b..2e6a705 100644 +index e55e665..b759430 100644 --- a/node_modules/matrix-react-sdk/src/toasts/SetupEncryptionToast.ts +++ b/node_modules/matrix-react-sdk/src/toasts/SetupEncryptionToast.ts @@ -50,7 +50,11 @@ const getIcon = (kind: Kind): string => { From 9465a744efd3126a917ea5b87eed3379c4c717b3 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:21:20 +0100 Subject: [PATCH 53/86] Fix patches/customize-room-header-bar. Needs hand testing --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) rename patches/customize-room-header-bar/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (85%) diff --git a/patches/customize-room-header-bar/matrix-react-sdk+3.81.0.patch b/patches/customize-room-header-bar/matrix-react-sdk+3.82.0.patch similarity index 85% rename from patches/customize-room-header-bar/matrix-react-sdk+3.81.0.patch rename to patches/customize-room-header-bar/matrix-react-sdk+3.82.0.patch index ed44e37e81..ce3c3fa39f 100644 --- a/patches/customize-room-header-bar/matrix-react-sdk+3.81.0.patch +++ b/patches/customize-room-header-bar/matrix-react-sdk+3.82.0.patch @@ -21,12 +21,12 @@ index 2614e17..79fe37e 100644 + display: -webkit-box; +} diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomHeader.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomHeader.tsx -index bb8dd49..df46713 100644 +index 2635366..89e0528 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/RoomHeader.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/RoomHeader.tsx -@@ -48,6 +48,9 @@ import RoomAvatar from "../avatars/RoomAvatar"; - import { formatCount } from "../../../utils/FormattingUtils"; +@@ -49,6 +49,9 @@ import { formatCount } from "../../../utils/FormattingUtils"; import RightPanelStore from "../../../stores/right-panel/RightPanelStore"; + import { Linkify, topicToHtml } from "../../../HtmlUtils"; +import TchapUIFeature from "../../../../../../src/tchap/util/TchapUIFeature"; +import TchapExternalRoomHeader from "../../../../../../src/tchap/components/views/rooms/TchapExternalRoomHeader"; @@ -34,7 +34,7 @@ index bb8dd49..df46713 100644 /** * A helper to transform a notification color to the what the Compound Icon Button * expects -@@ -111,6 +114,9 @@ export default function RoomHeader({ room }: { room: Room }): JSX.Element { +@@ -117,6 +120,9 @@ export default function RoomHeader({ room }: { room: Room }): JSX.Element { }} > @@ -44,17 +44,17 @@ index bb8dd49..df46713 100644 {roomName} - {!isDirectMessage && roomState.getJoinRule() === JoinRule.Public && ( + {/* :tchap: remove public forum icon */} + {false && !isDirectMessage && roomState.getJoinRule() === JoinRule.Public && ( - + )} @@ -64,17 +64,17 @@ index bb8dd49..df46713 100644 )} - {isDirectMessage && e2eStatus === E2EStatus.Warning && ( + {/* :tchap: do not show E2EStatus.Warning */} + {false && isDirectMessage && e2eStatus === E2EStatus.Warning && ( - + @@ -86,23 +86,22 @@ index bb8dd49..df46713 100644 )} + { + //:tchap: activate video call only if directmessage and if feature is activated on homeserver + isDirectMessage && TchapUIFeature.isFeatureActiveForHomeserver("feature_video_call") && ( -+ //:tchap: end - -+ )} ++ ) /* end :TCHAP: */} Date: Tue, 16 Jan 2024 18:24:57 +0100 Subject: [PATCH 54/86] Fix patches/disable-access-options --- ...react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename patches/disable-access-options/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (92%) diff --git a/patches/disable-access-options/matrix-react-sdk+3.81.0.patch b/patches/disable-access-options/matrix-react-sdk+3.82.0.patch similarity index 92% rename from patches/disable-access-options/matrix-react-sdk+3.81.0.patch rename to patches/disable-access-options/matrix-react-sdk+3.82.0.patch index 6c0e2cebed..0eb27bf227 100644 --- a/patches/disable-access-options/matrix-react-sdk+3.81.0.patch +++ b/patches/disable-access-options/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx -index 8047e13..cbb62fb 100644 +index bc573ec..8f885e6 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -255,6 +255,7 @@ export default class SecurityRoomSettingsTab extends React.Component Date: Tue, 16 Jan 2024 18:30:26 +0100 Subject: [PATCH 55/86] Fix patches/error-tchap-is-down --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) rename patches/error-tchap-is-down/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (65%) diff --git a/patches/error-tchap-is-down/matrix-react-sdk+3.81.0.patch b/patches/error-tchap-is-down/matrix-react-sdk+3.82.0.patch similarity index 65% rename from patches/error-tchap-is-down/matrix-react-sdk+3.81.0.patch rename to patches/error-tchap-is-down/matrix-react-sdk+3.82.0.patch index b417fb6b2f..52fff1f9a7 100644 --- a/patches/error-tchap-is-down/matrix-react-sdk+3.81.0.patch +++ b/patches/error-tchap-is-down/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/RoomSearchView.tsx b/node_modules/matrix-react-sdk/src/components/structures/RoomSearchView.tsx -index bb701ed..89d9aef 100644 +index bfa9930..245fc75 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/RoomSearchView.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/RoomSearchView.tsx @@ -36,6 +36,7 @@ import ResizeNotifier from "../../utils/ResizeNotifier"; @@ -10,17 +10,18 @@ index bb701ed..89d9aef 100644 const DEBUG = false; let debuglog = function (msg: string): void {}; -@@ -138,7 +139,7 @@ export const RoomSearchView = forwardRef( - title: _t("Search failed"), - description: - error?.message ?? -- _t("Server may be unavailable, overloaded, or search timed out :("), -+ Tchapi18nUtils.getServerDownMessage(), +@@ -136,7 +137,8 @@ export const RoomSearchView = forwardRef( + logger.error("Search failed", error); + Modal.createDialog(ErrorDialog, { + title: _t("error_dialog|search_failed|title"), +- description: error?.message ?? _t("error_dialog|search_failed|server_unavailable"), ++ // :TCHAP: description: error?.message ?? _t("error_dialog|search_failed|server_unavailable"), ++ description: error?.message ?? Tchapi18nUtils.getServerDownMessage(), }); return false; }, diff --git a/node_modules/matrix-react-sdk/src/components/structures/RoomStatusBar.tsx b/node_modules/matrix-react-sdk/src/components/structures/RoomStatusBar.tsx -index 58c8225..ff4fd22 100644 +index 657823f..46a424b 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/RoomStatusBar.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/RoomStatusBar.tsx @@ -29,6 +29,7 @@ import InlineSpinner from "../views/elements/InlineSpinner"; @@ -31,12 +32,14 @@ index 58c8225..ff4fd22 100644 const STATUS_BAR_HIDDEN = 0; const STATUS_BAR_EXPANDED = 1; -@@ -276,7 +277,7 @@ export default class RoomStatusBar extends React.PureComponent { +@@ -270,7 +271,9 @@ export default class RoomStatusBar extends React.PureComponent {
-- {_t("Connectivity to the server has been lost.")} +- {_t("room|status_bar|server_connectivity_lost_title")} ++ {/* :TCHAP: _t("room|status_bar|server_connectivity_lost_title") */} + {Tchapi18nUtils.getServerDownMessage()} ++ {/* end :TCHAP: */}
- {_t("Sent messages will be stored until your connection has returned.")} + {_t("room|status_bar|server_connectivity_lost_description")} From fc2af27d1a73194fe1bb87dfbb2b3ed394ed5948 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:33:26 +0100 Subject: [PATCH 56/86] Fix patches/forgot-password --- ....81.0.patch => matrix-react-sdk+3.82.0.patch} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename patches/forgot-password/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (93%) diff --git a/patches/forgot-password/matrix-react-sdk+3.81.0.patch b/patches/forgot-password/matrix-react-sdk+3.82.0.patch similarity index 93% rename from patches/forgot-password/matrix-react-sdk+3.81.0.patch rename to patches/forgot-password/matrix-react-sdk+3.82.0.patch index 4e32234797..c32408ad87 100644 --- a/patches/forgot-password/matrix-react-sdk+3.81.0.patch +++ b/patches/forgot-password/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx -index 86d9656..5dea419 100644 +index 9487fc5..dd1ca5e 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx @@ -42,6 +42,8 @@ import { VerifyEmailModal } from "./forgot-password/VerifyEmailModal"; @@ -82,7 +82,7 @@ index 86d9656..5dea419 100644 if (await this.sendVerificationMail()) { this.phase = Phase.EmailSent; return; -@@ -303,8 +338,10 @@ export default class ForgotPassword extends React.Component { +@@ -300,8 +335,10 @@ export default class ForgotPassword extends React.Component { errorText: "", }); @@ -93,7 +93,7 @@ index 86d9656..5dea419 100644 // Server error if (!this.state.serverIsAlive) return; -@@ -338,7 +375,7 @@ export default class ForgotPassword extends React.Component { +@@ -335,7 +372,7 @@ export default class ForgotPassword extends React.Component { { +@@ -409,7 +446,9 @@ export default class ForgotPassword extends React.Component { onChange={() => this.setState({ logoutDevices: !this.state.logoutDevices })} checked={this.state.logoutDevices} > -- {_t("Sign out of all devices")} -+ { /* :TCHAP: _t("Sign out of all devices") */ +- {_t("auth|reset_password|sign_out_other_devices")} ++ {/* :TCHAP: _t("auth|reset_password|sign_out_other_devices") */ + _t('Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)') -+ /*end :TCHAP: */ } ++ /*end :TCHAP: */}
{this.state.errorText && } diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx -index 7756571..81bc742 100644 +index fbb08c7..f1a53f2 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx @@ -64,9 +64,11 @@ export const EnterEmail: React.FC = ({ From 92bae0f571768a901d73619a46771c43222d991f Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:37:21 +0100 Subject: [PATCH 57/86] Fix patches/hide-room-alias-settings --- ...react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename patches/hide-room-alias-settings/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (83%) diff --git a/patches/hide-room-alias-settings/matrix-react-sdk+3.81.0.patch b/patches/hide-room-alias-settings/matrix-react-sdk+3.82.0.patch similarity index 83% rename from patches/hide-room-alias-settings/matrix-react-sdk+3.81.0.patch rename to patches/hide-room-alias-settings/matrix-react-sdk+3.82.0.patch index 1f4c067776..fb5cb8a4dd 100644 --- a/patches/hide-room-alias-settings/matrix-react-sdk+3.81.0.patch +++ b/patches/hide-room-alias-settings/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx -index 8dc361b..3a5e10d 100644 +index 8e990d7..4a6cf17 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/room/GeneralRoomSettingsTab.tsx @@ -89,6 +89,7 @@ export default class GeneralRoomSettingsTab extends React.Component + {/* :TCHAP: no aliases for rooms - + + end :TCHAP: */} - + {urlPreviewSettings} From 8bd1eac89718470d35acac3620eae336d8758225 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:38:23 +0100 Subject: [PATCH 58/86] Fix patches/login --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) rename patches/login/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (91%) diff --git a/patches/login/matrix-react-sdk+3.81.0.patch b/patches/login/matrix-react-sdk+3.82.0.patch similarity index 91% rename from patches/login/matrix-react-sdk+3.81.0.patch rename to patches/login/matrix-react-sdk+3.82.0.patch index 38548d66b6..24e9d688ce 100644 --- a/patches/login/matrix-react-sdk+3.81.0.patch +++ b/patches/login/matrix-react-sdk+3.82.0.patch @@ -80,7 +80,7 @@ index 633febe..bb279b2 100644 {footer} diff --git a/node_modules/matrix-react-sdk/src/components/views/auth/PasswordLogin.tsx b/node_modules/matrix-react-sdk/src/components/views/auth/PasswordLogin.tsx -index 33c62a8..f9ed36c 100644 +index 6acc237..ef2cdb9 100644 --- a/node_modules/matrix-react-sdk/src/components/views/auth/PasswordLogin.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/auth/PasswordLogin.tsx @@ -50,6 +50,7 @@ interface IProps { @@ -156,7 +156,7 @@ index 33c62a8..f9ed36c 100644 {forgotPasswordJsx} {!this.props.busy && ( diff --git a/node_modules/matrix-react-sdk/src/utils/ErrorUtils.tsx b/node_modules/matrix-react-sdk/src/utils/ErrorUtils.tsx -index 91fe19b..a7d8963 100644 +index 526be31..57087d3 100644 --- a/node_modules/matrix-react-sdk/src/utils/ErrorUtils.tsx +++ b/node_modules/matrix-react-sdk/src/utils/ErrorUtils.tsx @@ -22,6 +22,8 @@ import SdkConfig from "../SdkConfig"; @@ -166,11 +166,11 @@ index 91fe19b..a7d8963 100644 +import Tchapi18nUtils from '../../../../src/tchap/i18n/Tchapi18nUtils'; // :TCHAP: + export const resourceLimitStrings = { - "monthly_active_user": _td("This homeserver has hit its Monthly Active User limit."), - "hs_blocked": _td("This homeserver has been blocked by its administrator."), + "monthly_active_user": _td("error|mau"), + "hs_blocked": _td("error|hs_blocked"), @@ -135,6 +137,10 @@ export function messageForLoginError( } else { - return _t("Incorrect username and/or password."); + return _t("auth|incorrect_credentials"); } + // :TCHAP: display proper message for TOO_MANY_REQUESTS, + } else if (err.httpStatus === 429) { @@ -183,12 +183,11 @@ index 91fe19b..a7d8963 100644 err: Error, serverConfig: Pick, ): ReactNode { -- let errorText = _t("There was a problem communicating with the homeserver, please try again later."); + /* :TCHAP: change default error text -+ * let errorText = _t("There was a problem communicating with the homeserver, please try again later."); + let errorText = _t("error|connection"); + */ + let errorText: ReactNode = Tchapi18nUtils.getServerDownMessage(""); -+ /* end of :TCHAP:*/ ++ /* end :TCHAP:*/ if (err instanceof ConnectionError) { if ( @@ -198,7 +197,7 @@ index 91fe19b..a7d8963 100644 + {/* :TCHAP: customize error message {_t( - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.", + "error|mixed_content", {}, @@ -169,13 +180,16 @@ export function messageForConnectionError( ); @@ -216,7 +215,7 @@ index 91fe19b..a7d8963 100644 + {/* :TCHAP: customize error message {_t( - "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.", + "error|tls", {}, @@ -186,7 +200,9 @@ export function messageForConnectionError( From e117de957e687fc0050e16d4237f627b3162e090 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:44:16 +0100 Subject: [PATCH 59/86] Fix patches/registration-for-mainlining and patches/show-icon-on-public-room --- ...+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 14 +++++++------- ...+3.81.0.patch => matrix-react-sdk+3.82.0.patch} | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) rename patches/registration-for-mainlining/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (93%) rename patches/show-icon-on-public-room/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (97%) diff --git a/patches/registration-for-mainlining/matrix-react-sdk+3.81.0.patch b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch similarity index 93% rename from patches/registration-for-mainlining/matrix-react-sdk+3.81.0.patch rename to patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch index e587b1ab9c..aa65cb4d0f 100644 --- a/patches/registration-for-mainlining/matrix-react-sdk+3.81.0.patch +++ b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx -index 7a19848..d7ddd55 100644 +index f4e8ff1..4f3372e 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx @@ -50,8 +50,11 @@ import InteractiveAuth, { InteractiveAuthCallback } from "../InteractiveAuth"; @@ -76,15 +76,15 @@ index 7a19848..d7ddd55 100644
diff --git a/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx b/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx -index e12ac19..a5222bf 100644 +index 41a2aed..d428627 100644 --- a/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx @@ -267,7 +267,7 @@ export default class RegistrationForm extends React.PureComponent _t("Use an email address to recover your account"), -+ // :TCHAP: this is confusing because email=username in the Tchap case. // description: () => _t("Use an email address to recover your account"), +- description: () => _t("auth|reset_password_email_field_description"), ++ // :TCHAP: this is confusing because email=username in the Tchap case. //description: () => _t("auth|reset_password_email_field_description"), hideDescriptionIfValid: true, rules: [ { @@ -92,15 +92,15 @@ index e12ac19..a5222bf 100644 test(this: RegistrationForm, { value, allowEmpty }) { return allowEmpty || !this.authStepIsRequired("m.login.email.identity") || !!value; }, -- invalid: () => _t("Enter email address (required on this homeserver)"), +- invalid: () => _t("auth|reset_password_email_field_required_invalid"), + // :TCHAP: don't mention homeserver, Tchap hides the concept from users. -+ //invalid: () => _t("Enter email address (required on this homeserver)"), ++ //invalid: () => _t("auth|reset_password_email_field_required_invalid"), + invalid: () => _t("Enter email address"), + // end :TCHAP: }, { key: "email", -@@ -566,16 +569,23 @@ export default class RegistrationForm extends React.PureComponent
diff --git a/patches/show-icon-on-public-room/matrix-react-sdk+3.81.0.patch b/patches/show-icon-on-public-room/matrix-react-sdk+3.82.0.patch similarity index 97% rename from patches/show-icon-on-public-room/matrix-react-sdk+3.81.0.patch rename to patches/show-icon-on-public-room/matrix-react-sdk+3.82.0.patch index a16b9241b5..1199c298ec 100644 --- a/patches/show-icon-on-public-room/matrix-react-sdk+3.81.0.patch +++ b/patches/show-icon-on-public-room/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/avatars/DecoratedRoomAvatar.tsx b/node_modules/matrix-react-sdk/src/components/views/avatars/DecoratedRoomAvatar.tsx -index 23b065d..a3208fa 100644 +index 39997e1..5b88a91 100644 --- a/node_modules/matrix-react-sdk/src/components/views/avatars/DecoratedRoomAvatar.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/avatars/DecoratedRoomAvatar.tsx @@ -30,6 +30,9 @@ import TextWithTooltip from "../elements/TextWithTooltip"; @@ -27,7 +27,7 @@ index 23b065d..a3208fa 100644 @@ -62,6 +70,14 @@ function tooltipText(variant: Icon): string | undefined { switch (variant) { case Icon.Globe: - return _t("This room is public"); + return _t("room|header|room_is_public"); + // :TCHAP: add icons for custom room types + case Icon.Forum: + return _t("This room is a public forum"); @@ -65,7 +65,7 @@ index 23b065d..a3208fa 100644 this.props.room.on(RoomEvent.Timeline, this.onRoomTimeline); this.isWatchingTimeline = true; diff --git a/node_modules/matrix-react-sdk/src/components/views/right_panel/RoomSummaryCard.tsx b/node_modules/matrix-react-sdk/src/components/views/right_panel/RoomSummaryCard.tsx -index 982f04b..1be1e65 100644 +index 18cb705..d3272a8 100644 --- a/node_modules/matrix-react-sdk/src/components/views/right_panel/RoomSummaryCard.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/right_panel/RoomSummaryCard.tsx @@ -22,7 +22,7 @@ import MatrixClientContext from "../../../contexts/MatrixClientContext"; @@ -87,7 +87,7 @@ index 982f04b..1be1e65 100644 + + {/** remove the extra badge = ({ room, permalinkCreator, onClose, on mx_RoomSummaryCard_e2ee_verified: isRoomEncrypted && e2eStatus === E2EStatus.Verified, From d43066550a56865044350e81ce1dbc3f11e0337a Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 16 Jan 2024 18:45:34 +0100 Subject: [PATCH 60/86] Fix patches/simplify-exchange-key-message --- ....0.patch => matrix-react-sdk+3.82.0.patch} | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) rename patches/simplify-exchange-key-message/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (87%) diff --git a/patches/simplify-exchange-key-message/matrix-react-sdk+3.81.0.patch b/patches/simplify-exchange-key-message/matrix-react-sdk+3.82.0.patch similarity index 87% rename from patches/simplify-exchange-key-message/matrix-react-sdk+3.81.0.patch rename to patches/simplify-exchange-key-message/matrix-react-sdk+3.82.0.patch index 8f9041d224..ca5b1b6afa 100644 --- a/patches/simplify-exchange-key-message/matrix-react-sdk+3.81.0.patch +++ b/patches/simplify-exchange-key-message/matrix-react-sdk+3.82.0.patch @@ -61,28 +61,28 @@ index e98ce97..b6527a2 100644 if (!member) return null; diff --git a/node_modules/matrix-react-sdk/src/components/views/right_panel/VerificationPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/right_panel/VerificationPanel.tsx -index 5f1344f..5f6b74c 100644 +index c087219..e626a42 100644 --- a/node_modules/matrix-react-sdk/src/components/views/right_panel/VerificationPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/right_panel/VerificationPanel.tsx @@ -295,10 +295,13 @@ export default class VerificationPanel extends React.PureComponent { +@@ -27,9 +27,14 @@ export default class VerificationComplete extends React.Component { public render(): React.ReactNode { return (
@@ -92,13 +92,8 @@ index 7282f52..cb717c7 100644 + {/*

{_t("encryption|verification|complete_title")}

{_t("encryption|verification|complete_description")}

-

-@@ -34,6 +38,8 @@ export default class VerificationComplete extends React.Component { - "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.", - )} -

+

{_t("encryption|verification|explainer")}

+ end :TCHAP: */} -+ Date: Wed, 17 Jan 2024 11:51:20 +0100 Subject: [PATCH 61/86] Use common|secure_backup as translation --- .../tchap_translations.json | 8 +++++--- .../matrix-react-sdk+3.82.0.patch | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 797b370796..211c62b5fa 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -432,9 +432,11 @@ "en": "Recents chats", "fr": "Messages directs récents" }, - "Secure Backup": { - "en": "Secure Backup", - "fr": "Sauvegarde automatique des messages" + "common": { + "secure_backup": { + "en": "Secure Backup", + "fr": "Sauvegarde automatique des messages" + } }, "You can also set up Secure Backup & manage your keys in Settings.": { "en": "You can also set up Secure Backup & manage your keys in Settings.", diff --git a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch index f82fc6eceb..af8dab818f 100644 --- a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch +++ b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch @@ -59,26 +59,31 @@ index 0cb0485..a7603db 100644 {noSendUnverifiedSetting} diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx -index 74511df..be81e5f 100644 +index 74511df..5b124a1 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx -@@ -275,11 +275,13 @@ export default class SecurityUserSettingsTab extends React.Component ++ ++ ++ ); ++ /* const secureBackup = ( -- -+ + -- -+ + ); ++ */ + // end :TCHAP: const eventIndex = ( -@@ -354,13 +356,14 @@ export default class SecurityUserSettingsTab extends React.Component {warning} From 25b75185f0ba591eb417022a7073a60d0fe2e907 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Mon, 22 Jan 2024 16:47:38 +0100 Subject: [PATCH 62/86] Sort and prettier-format the translation file for easier merging --- .../tchap_translations.json | 1714 ++++++++--------- .../tchap_translations_out_of_order.json | 1161 +++++++++++ 2 files changed, 2018 insertions(+), 857 deletions(-) create mode 100644 modules/tchap-translations/tchap_translations_out_of_order.json diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 211c62b5fa..3ffe790a96 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -1,1161 +1,1161 @@ { - "Welcome to Tchap": { - "en": "Welcome to Tchap", - "fr": "Bienvenue sur Tchap" + "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { + "en": "Currently %(brand)s does not support searching into messages.", + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." }, - "Examples:": { - "en": "Examples:", - "fr": "Exemples :" + "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { + "comment": "2023-11-08: remove once the string is translated in element", + "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", + "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." }, - "Choose a homeserver:": { - "en": "Choose a homeserver:", - "fr": "Choisissez un serveur d'accueil :" + "%(count)s sessions selected|one": { + "en": "%(count)s device selected", + "fr": "%(count)s appareil sélectionné" }, - "Private room": { - "en": "Private room", - "fr": "Salon" + "%(count)s sessions selected|other": { + "en": "%(count)s devices selected", + "fr": "%(count)s appareils sélectionnés" }, - "Private room open to external users": { - "en": "Private room open to external users", - "fr": "Salon ouvert aux externes" + "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { + "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", + "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." }, - "Public room": { - "en": "Public room", - "fr": "Forum" + "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { + "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back.", + "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités." }, - "Forum room": { - "en": "Public room", - "fr": "Forum" + "Warning: these keys cannot be used to unlock the messages received after backup": { + "en": "Warning: these keys cannot be used to unlock the messages received after backup", + "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" }, - "This room is private": { - "en": "This room is private", - "fr": "Ce salon est privé" + "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { + "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", + "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." }, - "This room is private and open to external users": { - "en": "This room is private and open to external users", - "fr": "Ce salon est privé et ouvert aux externes" + "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { + "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", + "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." }, - "This room is a public forum": { - "en": "This room is a public forum", - "fr": "Ce salon est un forum public" + "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { + "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

", + "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

" }, - "Accessible to all users by invitation from an administrator.": { - "en": "Accessible to all users by invitation from an administrator.", - "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." + "Import from saved file": { + "en": "Import from saved file", + "fr": "Importer depuis le fichier sauvegardé" + }, + "Re-send a request to your other devices": { + "en": "Re-send a request to your other devices", + "fr": "Renvoyer une demande à un autre appareil" + }, + "A new Security Phrase and key for Secure Messages have been detected.": { + "en": "A new Recovery Code for Secure Messages has been detected.", + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." + }, + "A new email has been sent": { + "en": "A new email has been sent", + "fr": "Un nouvel email de renouvellement vous a été adressé" + }, + "Access possible only by invitation of a member of the room.": { + "en": "Access possible only by invitation of a member of the room.", + "fr": "Accès possible uniquement sur invitation d'un membre du salon." + }, + "Access your secure message history and set up secure messaging by entering your Security Key.": { + "en": "Access your secure message history and set up secure messaging by entering your Recovery Code.", + "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération." }, "Accessible to all users and to external guests by invitation of an administrator.": { "en": "Accessible to all users and to external guests by invitation of an administrator.", "fr": "Accessible à tous les utilisateurs et aux invités externes sur invitation d'un administrateur." }, + "Accessible to all users by invitation from an administrator.": { + "en": "Accessible to all users by invitation from an administrator.", + "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." + }, "Accessible to all users from the forum directory or from a shared link.": { "en": "Accessible to all users from the forum directory or from a shared link.", "fr": "Accessible à tous les utilisateurs à partir de la liste des forums ou d'un lien partagé." }, + "Activate on this device": { + "en": "Activate on this device", + "fr": "Activer sur cet appareil" + }, + "Add Email Address": { + "en": "Add Email Address", + "fr": "Ajouter une adresse mail" + }, "Allow access to this room to all users, even outside \"%(domain)s\" domain": { "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" }, - "Create a room in this space": { - "en": "Create a room in this space", - "fr": "Créer un salon dans cet espace" + "Allow external users to join this room": { + "en": "Allow external users to join this room", + "fr": "Autoriser les externes à rejoindre ce salon" }, - "Private discussions accessible to all users of this space.": { - "en": "Private discussions accessible to all users of this space.", - "fr": "Discussions privées accessibles à tous les membres de cet espace" + "An email has been sent to you. Click on the link it contains, click below.": { + "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", + "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." }, - "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { - "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", - "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." + "Are you sure you want to allow the externals to join this room ?": { + "en": "Are you sure you want to allow the externals to join this room ?", + "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" }, - "Public discussion accessible to all users of this space or from a shared link.": { - "en": "Public discussion accessible to all users of this space or from a shared link.", - "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." + "Are you sure you want to sign out of %(count)s sessions?|one": { + "en": "Are you sure you want to sign out of %(count)s device?", + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" }, - "Scanning": { - "en": "Scanning", - "fr": "Scanning" + "Are you sure you want to sign out of %(count)s sessions?|other": { + "en": "Are you sure you want to sign out of %(count)s devices?", + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" }, - "Content blocked": { - "en": "Content blocked", - "fr": "Contenu bloqué" + "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { + "en": "", + "fr": "" }, - "Trusted": { - "en": "Trusted", - "fr": "Vérifié" + "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { + "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", + "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." }, - "Scan unavailable": { - "en": "Scan unavailable", - "fr": "Scan unavailable" + "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { + "en": "Please try again with your recovery code.", + "fr": "Merci d'essayer à nouveau avec votre code de récupération." }, - "Contact us": { - "en": "Contact us", - "fr": "Contactez-nous" + "Ban from %(roomName)s": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" }, - "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { - "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", - "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" + "Ban from room": { + "en": "Ban from room", + "fr": "Interdire l’accès au salon (définitif)" }, - "Known issues": { - "en": "Known issues", - "fr": "Problèmes connus" + "Ban from space": { + "en": "Ban from space", + "fr": "Interdire l’accès à l'espace (définitif)" }, - "Read the Known Issues": { - "en": "Read the Known Issues", - "fr": "Consultez les problèmes connus" + "Ban them from everything I'm able to": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" }, - "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { - "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", - "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." + "Ban them from specific things I'm able to": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" }, - "Frequently Asked Questions (FAQ)": { - "en": "Frequently Asked Questions (FAQ)", - "fr": "Foire Aux Questions (FAQ)" + "Ban users": { + "en": "Ban users", + "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" }, - "Read the FAQ": { - "en": "Read the FAQ", - "fr": "Consultez la FAQ" + "Banned users": { + "en": "Banned users", + "fr": "Membres bannis" }, - "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { - "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", - "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." + "Chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Please tell us what went wrong in the \"Notes\" field.": { - "en": "Please tell us what went wrong in the \"Notes\" field.", - "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." + "Check your email to continue": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" }, - "Submit debug logs to Tchap support team": { - "en": "Submit debug logs to Tchap support team", - "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap", - "comment": "The title of BugReportDialog is unclear, specify it" + "Choose a homeserver:": { + "en": "Choose a homeserver:", + "fr": "Choisissez un serveur d'accueil :" }, - "Just want to get your own logs, without sharing them with the Tchap team?": { - "en": "Just want to get your own logs, without sharing them with the Tchap team?", - "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" + "Clear cross-signing keys": { + "en": "Reset Recovery Code", + "fr": "Réinitialiser les clés de signature croisée" }, - "Download my logs": { - "en": "Download my logs", - "fr": "Obtenir mes journaux" + "Confirm the emoji below are displayed on both devices, in the same order:": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." }, - "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { - "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", - "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." + "Confirm your Tchap Key password": { + "en": "Confirm your Tchap Key password", + "fr": "Confirmer votre mot de passe Clés Tchap" }, - "Allow external users to join this room": { - "en": "Allow external users to join this room", - "fr": "Autoriser les externes à rejoindre ce salon" + "Congratulations, your account has been renewed": { + "en": "Congratulations, your account has been renewed", + "fr": "Félicitations, votre compte a été renouvelé" }, - "This action is irreversible.": { - "en": "This action is irreversible.", - "fr": "Cette action est irréversible." + "Connect this session to Key Backup": { + "en": "Verify this device", + "fr": "Vérifier cet appareil" }, - "Are you sure you want to allow the externals to join this room ?": { - "en": "Are you sure you want to allow the externals to join this room ?", - "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" + "Connectivity to the server has been lost.": { + "en": "Tchap is not available at the moment. View the status of services.", + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + }, + "Contact us": { + "en": "Contact us", + "fr": "Contactez-nous" + }, + "Content blocked": { + "en": "Content blocked", + "fr": "Contenu bloqué" + }, + "Conçue et gérée par l'Administration française": { + "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", + "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." }, "Create Room": { "en": "Create New Room", "fr": "Créer un nouveau salon" }, - "Your last three login attempts have failed. Please try again in a few minutes.": { - "en": "Your last three login attempts have failed. Please try again in a few minutes.", - "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." - }, - "Your password must include:": { - "en": "Your password must include:", - "fr": "Votre mot de passe doit comporter :" + "Create a room in this space": { + "en": "Create a room in this space", + "fr": "Créer un salon dans cet espace" }, - "a minimum of %(number)s characters": { - "en": "a minimum of %(number)s characters", - "fr": "%(number)s caractères au minimum" + "Create your Tchap Key password (minimum 8 characters)": { + "en": "Create your Tchap Key password (minimum 8 characters)", + "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" }, - "a number": { - "en": "a number", - "fr": "un chiffre" + "Cross-signing is not set up.": { + "en": "Cross-signing is not active.", + "fr": "La signature croisée n’est pas active" }, - "a symbol": { - "en": "a symbol", - "fr": "un caractère spécial" + "Cross-signing is ready but keys are not backed up.": { + "en": "Cross-signing is ready but not the secure backup.", + "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." }, - "a lowercase letter": { - "en": "a lowercase letter", - "fr": "une lettre minuscule" + "Cross-signing is ready for use.": { + "en": "Cross-signing is activated on this device.", + "fr": "La signature croisée est activée sur cet appareil." }, - "an uppercase letter": { - "en": "an uppercase letter", - "fr": "une lettre majuscule" + "Current session": { + "en": "This device", + "fr": "Cet appareil" }, - "External users allowed": { - "en": "external users allowed", - "fr": "ouvert aux externes" + "Decrypting messages…": { + "end": "Unlocking messages…", + "fr": "Déverrouillage des messages…" }, - "Save your Tchap Keys (encryption keys)": { - "en": "Save your Tchap Keys (encryption keys)", - "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" - }, - "If you do not have another connected device, we advise you to save your keys in a file on your device.": { - "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", - "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." - }, - "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { - "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", - "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." - }, - "Warning: these keys cannot be used to unlock the messages received after backup": { - "en": "Warning: these keys cannot be used to unlock the messages received after backup", - "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" + "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { + "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", + "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." }, - "Create your Tchap Key password (minimum 8 characters)": { - "en": "Create your Tchap Key password (minimum 8 characters)", - "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { + "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing.", + "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée." }, - "Passphrase must be at least 8 character long": { - "en": "Passphrase must be at least 8 character long", - "fr": "Le mot de passe doit minimum faire 8 caractères" + "Destroy cross-signing keys?": { + "en": "Reset cross-signing keys?", + "fr": "Réinitialiser les clés de signature croisée ?" }, - "Your Tchap Key password": { - "en": "Your Tchap Key password", - "fr": "Votre mot de passe Clés Tchap" + "Did not receive it?": { + "en": "Did not receive it?", + "fr": "Pas reçu ?" }, - "Confirm your Tchap Key password": { - "en": "Confirm your Tchap Key password", - "fr": "Confirmer votre mot de passe Clés Tchap" + "Direct Messages": { + "en": "Direct Messages", + "fr": "Messages directs" }, - "Tchap Keys saved!": { - "en": "Tchap Keys saved!", - "fr": "Clés Tchap sauvegardées !" + "Download my logs": { + "en": "Download my logs", + "fr": "Obtenir mes journaux" }, - "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { - "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", - "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." + "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { + "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room.", + "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon." }, - "Save your Tchap Keys before logging out": { - "en": "Save your Tchap Keys before logging out", - "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" + "Email": { + "en": "Email", + "fr": "Adresse mail" }, - "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { - "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", - "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." + "Email (optional)": { + "en": "Email (optional)", + "fr": "Adresse mail (facultatif)" }, - "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { - "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", - "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." + "Email Address": { + "en": "Email Address", + "fr": "Adresse mail" }, - "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { - "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", - "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." + "Email address": { + "en": "Email address", + "fr": "Adresse mail" }, - "Sign me out": { - "en": "Sign me out", - "fr": "Me déconnecter" + "Email addresses": { + "en": "Email addresses", + "fr": "Adresses mail" }, - "Save my keys": { - "en": "Save my Tchap keys", - "fr": "Sauvegarder mes clés Tchap" + "En savoir plus": { + "en": "Learn more", + "fr": "En savoir plus" }, - "One of your devices wants to check your Tchap Keys to unlock your messages.": { - "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", - "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." + "Enter Security Key": { + "en": "Enter Recovery Code", + "fr": "Saisir le Code de Récupération" }, - "Please also confirm the emojis on the other device.": { - "en": "Please also confirm the emojis on the other device.", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + "Enter your Security Phrase or to continue.": { + "en": "Enter your Security Phrase or to continue.", + "fr": "Saisissez votre phrase de sécurité ou pour continuer." }, - "Incoming Verification Request": { - "en": "Incoming Verification Request", - "fr": "Partage de vos Clés Tchap" + "Enter your email to reset password": { + "en": "Enter your email to reset password", + "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" }, - "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { - "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", - "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." + "Examples:": { + "en": "Examples:", + "fr": "Exemples :" }, - "Finish": { - "en": "Finish", - "fr": "Terminer" + "Explore public rooms": { + "en": "Explore public rooms", + "fr": "Rejoindre un forum" }, - "Please accept the sharing of your Tchap Keys on the other device.": { - "en": "Please accept the sharing of your Tchap Keys on the other device.", - "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." + "Explore rooms": { + "en": "Explore space rooms", + "fr": "Explorer les salons" }, - "Confirm the emoji below are displayed on both devices, in the same order:": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + "Export E2E room keys": { + "en": "Save your Tchap keys", + "fr": "Sauvegardez vos clés Tchap" }, - "Please confirm the objects on the other device.": { - "en": "Please confirm the objects on the other device.", - "fr": "Veuillez confirmer les objets sur l'autre appareil." + "Export room members": { + "en": "Export room members", + "fr": "Exporter les membres du salon" }, - "Please confirm the objects on the other device (loading).": { - "en": "Please confirm the objects on the other device (loading).", - "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." + "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { + "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room.", + "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon." }, - "The validity period of your account has expired": { - "en": "Your Tchap account has expired", - "fr": "Votre compte Tchap a expiré" + "External users allowed": { + "en": "external users allowed", + "fr": "ouvert aux externes" }, - "An email has been sent to you. Click on the link it contains, click below.": { - "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", - "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." + "Failed to join": { + "en": "Failed to join this room.", + "fr": "Impossible de rejoindre ce salon" }, - "I renewed the validity of my account": { - "en": "I renewed my account", - "fr": "J’ai renouvelé mon compte" + "Fetching keys from server…": { + "en": "Fetching messages from server…", + "fr": "Récupération des messages depuis le serveur…" }, - "Request a renewal email": { - "en": "Request a renewal email", - "fr": "Demander l’envoi d’un nouvel email" + "Finish": { + "en": "Finish", + "fr": "Terminer" }, - "A new email has been sent": { - "en": "A new email has been sent", - "fr": "Un nouvel email de renouvellement vous a été adressé" + "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { + "en": "Verify your devices to unlock your messages", + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" }, - "Wait for at least %(wait)s seconds between two emails": { - "en": "Wait for at least %(wait)s seconds between two emails", - "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" + "Forgotten or lost all recovery methods? Reset all": { + "en": "You have lost your Recovery Code? Create a new code", + "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code" }, - "The email was not sent sucessfully, please retry in a moment": { - "en": "The email was not sent sucessfully, please retry", - "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" + "Forum room": { + "en": "Public room", + "fr": "Forum" }, - "Your account is still expired, please follow the link in the email you have received to renew it": { - "en": "Your account is still expired, please follow the link in the email you should have received to renew it", - "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" + "Frequently Asked Questions (FAQ)": { + "en": "Frequently Asked Questions (FAQ)", + "fr": "Foire Aux Questions (FAQ)" }, - "Congratulations, your account has been renewed": { - "en": "Congratulations, your account has been renewed", - "fr": "Félicitations, votre compte a été renouvelé" + "General Conditions of Use (CGU)": { + "en": "General Conditions of Use (CGU)", + "fr": "Conditions Générales d'Utilisation (CGU)" }, - "The app will reload now": { - "en": "You can refresh the page to continue your conversations", - "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" + "Generate a Security Key": { + "en": "Generate a Recovery Code", + "fr": "Générer un Code de Récupération" }, - "Reload the app": { - "en": "Reload page", - "fr": "Rafraîchir la page" + "Generate a new code": { + "en": "Generate a new code", + "fr": "Générer un nouveau code" }, - "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { - "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", - "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." + "Generate a new password. Note that your locked messages will remain locked.": { + "en": "Generate a new password. Note that your locked messages will remain locked.", + "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront." }, - "Re-send a request to your other devices": { - "en": "Re-send a request to your other devices", - "fr": "Renvoyer une demande à un autre appareil" + "Group all your favourite rooms and people in one place.": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." }, - "Request in progress...": { - "en": "Request in progress...", - "fr": "Demande en cours..." + "Group all your people in one place.": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." }, - "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { - "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", - "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." + "I don't want my encrypted messages": { + "en": "Log out still", + "fr": "Se déconnecter quand-même" }, - "If your other devices do not have the key for this message, you will not be able to decrypt them.": { - "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", - "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." + "I renewed the validity of my account": { + "en": "I renewed my account", + "fr": "J’ai renouvelé mon compte" }, - "Your key share request has been sent - please check your other devices for key share requests.": { - "en": "Your key share request has been sent - please check your other devices for key share requests.", - "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." + "I wrote down my code": { + "en": "I wrote down my code", + "fr": "J'ai noté mon code" }, - "Import from saved file": { - "en": "Import from saved file", - "fr": "Importer depuis le fichier sauvegardé" + "If you do not have another connected device, we advise you to save your keys in a file on your device.": { + "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", + "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." }, - "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { - "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", - "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" + "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { + "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", + "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" }, "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" }, - "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils.", - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost." + "If you've forgotten your Security Key you can ": { + "en": "If you've forgotten your Recovery Code you can ", + "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez " }, - "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages.", - "en": "Currently %(brand)s does not support searching into messages." + "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { + "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options", + "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération" }, - "Export E2E room keys": { - "en": "Save your Tchap keys", - "fr": "Sauvegardez vos clés Tchap" + "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { + "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", + "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." + }, + "If your other devices do not have the key for this message, you will not be able to decrypt them.": { + "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", + "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." + }, + "Ignored users": { + "en": "Ignored users", + "fr": "Membres ignorés" }, "Import E2E room keys": { "en": "Import your Tchap keys from the downloaded file", "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" }, - "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { - "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", - "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." + "Incoming Verification Request": { + "en": "Incoming Verification Request", + "fr": "Partage de vos Clés Tchap" }, - "Thread": { - "en": "Thread", - "fr": "Discussion" + "Incorrect Security Phrase": { + "en": "Recovery code not recognized", + "fr": "Code de récupération non reconnu" + }, + "Invalid Email Address": { + "en": "Invalid Email Address", + "fr": "Adresse mail non valide" + }, + "Invite someone using their name, email address, username (like ) or share this room.": { + "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", + "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." + }, + "Invite someone using their name, email address, username (like ) or share this space.": { + "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", + "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." }, "Join public room": { "en": "Join a public room", "fr": "Rejoindre un forum" }, - "Explore rooms": { - "en": "Explore space rooms", - "fr": "Explorer les salons" + "Just want to get your own logs, without sharing them with the Tchap team?": { + "en": "Just want to get your own logs, without sharing them with the Tchap team?", + "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" }, - "Explore public rooms": { - "en": "Explore public rooms", - "fr": "Rejoindre un forum" + "Keys restored": { + "en": "Messages restored", + "fr": "Messages récupérés" }, - "Start chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Known issues": { + "en": "Known issues", + "fr": "Problèmes connus" }, - "Start new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { + "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", + "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" }, - "Start a new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Make a copy of your Security Key": { + "en": "Make a copy of your Recovery Code", + "fr": "Faire une copie de votre Code de Récupération" }, - "Chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Muted Users": { + "en": "Muted Users", + "fr": "Membres en sourdine" }, - "Direct Messages": { - "en": "Direct Messages", - "fr": "Messages directs" + "One of your devices wants to check your Tchap Keys to unlock your messages.": { + "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", + "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." }, - "Recently Direct Messaged": { - "en": "Recents chats", - "fr": "Messages directs récents" + "Open another device to load encrypted messages": { + "en": "Use another device to unlock your messages.", + "fr": "Utiliser un autre appareil pour déverrouiller vos messages." }, - "Recent Conversations": { - "en": "Recents chats", - "fr": "Messages directs récents" + "Or if that doesn't work, please follow these steps.": { + "en": "Or if that doesn't work, please follow these steps.", + "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes." }, - "common": { - "secure_backup": { - "en": "Secure Backup", - "fr": "Sauvegarde automatique des messages" - } + "Other sessions": { + "en": "Other devices", + "fr": "Autres appareils" }, - "You can also set up Secure Backup & manage your keys in Settings.": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + "Other users may not trust it": { + "en": "You may not be able to recover your messages.", + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." }, - "Set up Secure Backup": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" + "Passphrase must be at least 8 character long": { + "en": "Passphrase must be at least 8 character long", + "fr": "Le mot de passe doit minimum faire 8 caractères" }, - "Email": { - "en": "Email", - "fr": "Adresse mail" + "Please accept the sharing of your Tchap Keys on the other device.": { + "en": "Please accept the sharing of your Tchap Keys on the other device.", + "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." }, - "Invalid Email Address": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" + "Please also confirm the emojis on the other device.": { + "en": "Please also confirm the emojis on the other device.", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." }, - "Email address": { - "en": "Email address", - "fr": "Adresse mail" + "Please confirm the objects on the other device (loading).": { + "en": "Please confirm the objects on the other device (loading).", + "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." }, - "Email Address": { - "en": "Email Address", - "fr": "Adresse mail" + "Please confirm the objects on the other device.": { + "en": "Please confirm the objects on the other device.", + "fr": "Veuillez confirmer les objets sur l'autre appareil." }, - "Email addresses": { - "en": "Email addresses", - "fr": "Adresses mail" + "Please note this is not your recovery code for your automatic backup.": { + "en": "Please note this is not your Recovery Code for your automatic backup.", + "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique." }, - "Email (optional)": { - "en": "Email (optional)", - "fr": "Adresse mail (facultatif)" + "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." }, - "Add Email Address": { - "en": "Add Email Address", - "fr": "Ajouter une adresse mail" + "Please tell us what went wrong in the \"Notes\" field.": { + "en": "Please tell us what went wrong in the \"Notes\" field.", + "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." }, - "Room members": { - "en": "Room members", - "fr": "Membres du salon" + "Please wait as we try to decrypt your messages. This may take a few moments.": { + "en": "Please wait as we try to unlock your messages. This may take a few moments.", + "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps." }, - "Banned users": { - "en": "Banned users", - "fr": "Membres bannis" + "Privacy Policy": { + "en": "Privacy Policy", + "fr": "Politique de Confidentialité" + }, + "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { + "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", + "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." + }, + "Private discussions accessible to all users of this space.": { + "en": "Private discussions accessible to all users of this space.", + "fr": "Discussions privées accessibles à tous les membres de cet espace" + }, + "Private room": { + "en": "Private room", + "fr": "Salon" + }, + "Private room open to external users": { + "en": "Private room open to external users", + "fr": "Salon ouvert aux externes" }, "Privileged Users": { "en": "Privileged Users", "fr": "Membres privilégiés" }, - "Muted Users": { - "en": "Muted Users", - "fr": "Membres en sourdine" + "Public discussion accessible to all users of this space or from a shared link.": { + "en": "Public discussion accessible to all users of this space or from a shared link.", + "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." + }, + "Public room": { + "en": "Public room", + "fr": "Forum" + }, + "Re-enter email address": { + "en": "Re-enter email address", + "fr": "Re-saisir l'adresse mail" + }, + "Read the CGU": { + "en": "Read the CGU", + "fr": "Consultez les CGU" + }, + "Read the FAQ": { + "en": "Read the FAQ", + "fr": "Consultez la FAQ" + }, + "Read the Known Issues": { + "en": "Read the Known Issues", + "fr": "Consultez les problèmes connus" + }, + "Read the Privacy Policy": { + "en": "Read the Privacy Policy", + "fr": "Lire la Politique de Confidentialité" + }, + "Really reset verification keys?": { + "en": "Really reset Recovery Code?", + "fr": "Réinitialiser le Code de Récupération, c’est certain ?" + }, + "Receive push notifications on this session.": { + "en": "Receive push notifications on this device.", + "fr": "Recevoir les notifications push sur cet appareil" + }, + "Recent Conversations": { + "en": "Recents chats", + "fr": "Messages directs récents" + }, + "Recently Direct Messaged": { + "en": "Recents chats", + "fr": "Messages directs récents" }, - "Ignored users": { - "en": "Ignored users", - "fr": "Membres ignorés" + "Reload the app": { + "en": "Reload page", + "fr": "Rafraîchir la page" + }, + "Remove from %(roomName)s": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" }, "Remove from room": { "en": "Remove from room", "fr": "Retirer du salon (réversible)" }, - "Remove them from specific things I'm able to": { - "en": "Remove them from specific things I'm able to", - "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" - }, "Remove them from everything I'm able to": { "en": "Remove them from everything I'm able to", "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" }, + "Remove them from specific things I'm able to": { + "en": "Remove them from specific things I'm able to", + "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + }, "Remove users": { "en": "Remove users", "fr": "Retirer des utilisateurs (réversible)" }, - "Remove, ban, or invite people to your active room, and make you leave": { - "en": "Remove, ban, or invite people to your active room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" - }, "Remove, ban, or invite people to this room, and make you leave": { "en": "Remove, ban, or invite people to this room, and make you leave", "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" }, - "Remove from %(roomName)s": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" - }, - "You need to be able to kick users to do that.": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." - }, - "Ban users": { - "en": "Ban users", - "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" - }, - "Ban them from specific things I'm able to": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" - }, - "Ban them from everything I'm able to": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" - }, - "Ban from %(roomName)s": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" - }, - "Ban from room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" - }, - "Ban from space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" - }, - "Group all your people in one place.": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." - }, - "Group all your favourite rooms and people in one place.": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." - }, - "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." + "Remove, ban, or invite people to your active room, and make you leave": { + "en": "Remove, ban, or invite people to your active room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" }, - "Show all your rooms in Home, even if they're in a space.": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" + "Request a renewal email": { + "en": "Request a renewal email", + "fr": "Demander l’envoi d’un nouvel email" }, - "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { - "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s.", - "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s." + "Request in progress...": { + "en": "Request in progress...", + "fr": "Demande en cours..." }, - "Sign in instead": { - "en": "Sign in instead", - "fr": "ou connectez-vous" + "Resend key requests": { + "en": "Resend key requests", + "fr": "Renvoyer une demande" }, - "Enter your email to reset password": { - "en": "Enter your email to reset password", - "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" + "Reset your keys to prevent future decryption errors": { + "en": "Enable automatic secure backup", + "fr": "Activez la sauvegarde automatique des messages" }, "Reset your password": { "en": "Reset your password", "fr": "Réinitialisez votre mot de passe" }, - "Did not receive it?": { - "en": "Did not receive it?", - "fr": "Pas reçu ?" - }, - "Wrong email address?": { - "en": "Wrong email address?", - "fr": "Mauvaise adresse mail ?" - }, - "Re-enter email address": { - "en": "Re-enter email address", - "fr": "Re-saisir l'adresse mail" - }, - "Check your email to continue": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, - "Verify your email to continue": { - "en": "Verify your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, - "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { - "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", - "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" - }, - "Send email": { - "en": "Send email", - "fr": "Envoyer le mail" + "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." }, - "This is your recovery key": { - "fr": "Ce code vous permettra de toujours récupérer vos messages.", - "en": "This code will allow you to always restore your messages." + "Restore from Backup": { + "en": "Retrieve my messages", + "fr": "Récupérer mes messages" }, - "Warning: this is the only time this code will be displayed!": { - "fr": "Attention: c’est la seule fois que ce code sera affiché !", - "en": "Warning: this is the only time this code will be displayed!" + "Restoring keys from backup": { + "en": "Restoring messages from backup", + "fr": "Restauration des messages depuis la sauvegarde" }, - "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran.", - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots." + "Review Tchap services status : url": { + "en": "Tchap is not available at the moment %(errCode)s. View the status of services.", + "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service" }, - "I wrote down my code": { - "fr": "J'ai noté mon code", - "en": "I wrote down my code" + "Room members": { + "en": "Room members", + "fr": "Membres du salon" }, "Safeguard against losing access to encrypted messages & data": { - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages", - "en": "Activate your Recovery Code to never lose your messages" - }, - "Security Key": { - "fr": "Code de Récupération", - "en": "Recovery Code" - }, - "Verify with Security Key": { - "fr": "Vérifier avec un Code de Récupération", - "en": "Verify with Recovery Code" - }, - "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable.", - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted." - }, - "I don't want my encrypted messages": { - "fr": "Se déconnecter quand-même", - "en": "Log out still" - }, - "Start using Key Backup": { - "fr": "Utiliser la sauvegarde automatique", - "en": "Use automatic Backup" - }, - "Use your Security Key to continue.": { - "fr": "Utilisez votre Code de Récupération pour continuer.", - "en": "Use your Recovery Code to continue." - }, - "Generate a Security Key": { - "fr": "Générer un Code de Récupération", - "en": "Generate a Recovery Code" + "en": "Activate your Recovery Code to never lose your messages", + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" }, - "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde.", - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup." + "Save my keys": { + "en": "Save my Tchap keys", + "fr": "Sauvegarder mes clés Tchap" }, "Save your Security Key": { - "fr": "Notez votre Code de Récupération", - "en": "Write down your Recovery Code" - }, - "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés.", - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed." - }, - "A new Security Phrase and key for Secure Messages have been detected.": { - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté.", - "en": "A new Recovery Code for Secure Messages has been detected." - }, - "Make a copy of your Security Key": { - "fr": "Faire une copie de votre Code de Récupération", - "en": "Make a copy of your Recovery Code" - }, - "Secure your backup with a Security Phrase": { - "fr": "Protégez votre sauvegarde avec un Code de Récupération", - "en": "Secure your backup with a Recovery Code" + "en": "Write down your Recovery Code", + "fr": "Notez votre Code de Récupération" }, - "Your Security Key is in your Downloads folder.": { - "fr": "Votre Code de Récupération est dans le répertoire Téléchargements.", - "en": "Your Recovery Code is in your Downloads folder." + "Save your Tchap Keys (encryption keys)": { + "en": "Save your Tchap Keys (encryption keys)", + "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" }, - "Your Security Key": { - "fr": "Votre Code de Récupération", - "en": "Your Recovery Code" + "Save your Tchap Keys before logging out": { + "en": "Save your Tchap Keys before logging out", + "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" }, - "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { - "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète.", - "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase." + "Scan unavailable": { + "en": "Scan unavailable", + "fr": "Scan unavailable" }, - "Set up with a Security Key": { - "fr": "Configurer avec un Code de Récupération", - "en": "Set up with a Recovery Code" + "Scanning": { + "en": "Scanning", + "fr": "Scanning" }, - "If you've forgotten your Security Key you can ": { - "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez ", - "en": "If you've forgotten your Recovery Code you can " + "Secure Backup successful": { + "en": "Secure backup successfully enabled.", + "fr": "Sauvegarde automatique activée avec succès" }, - "Access your secure message history and set up secure messaging by entering your Security Key.": { - "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération.", - "en": "Access your secure message history and set up secure messaging by entering your Recovery Code." + "Secure your backup with a Security Phrase": { + "en": "Secure your backup with a Recovery Code", + "fr": "Protégez votre sauvegarde avec un Code de Récupération" }, - "Enter Security Key": { - "fr": "Saisir le Code de Récupération", - "en": "Enter Recovery Code" + "Security Key": { + "en": "Recovery Code", + "fr": "Code de Récupération" }, - "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { - "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération", - "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options" + "Send email": { + "en": "Send email", + "fr": "Envoyer le mail" }, - "Incorrect Security Phrase": { - "fr": "Code de récupération non reconnu", - "en": "Recovery code not recognized" + "Sent messages will be stored until your connection has returned.": { + "en": "Messages will be sent when your connection returns.", + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." }, - "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { - "fr": "Merci d'essayer à nouveau avec votre code de récupération.", - "en": "Please try again with your recovery code." + "Server may be unavailable, overloaded, or you hit a bug.": { + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" }, - "Verify with Security Key or Phrase": { - "fr": "Vérifier avec un Code de Récupération ou une phrase", - "en": "Verify with Recovery Code or Phrase" + "Server unavailable, overloaded, or something else went wrong.": { + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" }, - "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { - "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

", - "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

" + "Sessions": { + "en": "My devices", + "fr": "Mes appareils" }, - "Enter your Security Phrase or to continue.": { - "fr": "Saisissez votre phrase de sécurité ou pour continuer.", - "en": "Enter your Security Phrase or to continue." + "Set up": { + "en": "Activate", + "fr": "Activer" }, - "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre.", - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe." + "Set up Secure Backup": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" }, - "Invite someone using their name, email address, username (like ) or share this room.": { - "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", - "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." + "Set up with a Security Key": { + "en": "Set up with a Recovery Code", + "fr": "Configurer avec un Code de Récupération" }, - "Invite someone using their name, email address, username (like ) or share this space.": { - "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", - "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." + "Setting up keys": { + "en": "Setting up your Recovery Code", + "fr": "Configuration du Code de Récupération" }, - "User is already in the room": { - "fr": "Cette personne est déjà dans le salon.", - "en": "User is already in the room." + "Show all your rooms in Home, even if they're in a space.": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" }, - "Set up": { - "fr": "Activer", - "en": "Activate" + "Sign in instead": { + "en": "Sign in instead", + "fr": "ou connectez-vous" }, - "Connect this session to Key Backup": { - "fr": "Vérifier cet appareil", - "en": "Verify this device" + "Sign me out": { + "en": "Sign me out", + "fr": "Me déconnecter" }, - "Forgotten or lost all recovery methods? Reset all": { - "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code", - "en": "You have lost your Recovery Code? Create a new code" + "Sign out of %(count)s sessions|one": { + "en": "Sign out of %(count)s device", + "fr": "Déconnecter %(count)s appareil" }, - "Unable to verify this device": { - "fr": "Vous vous connectez à un nouvel appareil", - "en": "You are logging into a new device" + "Sign out of %(count)s sessions|other": { + "en": "Sign out of %(count)s devices", + "fr": "Déconnecter %(count)s appareils" }, - "Reset your keys to prevent future decryption errors": { - "fr": "Activez la sauvegarde automatique des messages", - "en": "Enable automatic secure backup" + "Sign out of all other sessions (%(otherSessionsCount)s)": { + "en": "Sign out of all other devices (%(otherSessionsCount)s)", + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" }, - "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { - "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité", - "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings" + "Sign out of this session": { + "en": "Sign out of this device", + "fr": "Se déconnecter de cet appareil" }, - "Resend key requests": { - "fr": "Renvoyer une demande", - "en": "Resend key requests" + "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." }, - "Open another device to load encrypted messages": { - "fr": "Utiliser un autre appareil pour déverrouiller vos messages.", - "en": "Use another device to unlock your messages." + "Some messages could not be decrypted": { + "en": "Some messages could not be unlocked", + "fr": "Certains messages n’ont pas pu être déverrouillés" }, - "Or if that doesn't work, please follow these steps.": { - "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes.", - "en": "Or if that doesn't work, please follow these steps." + "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." }, - "threads": { - "unable_to_decrypt": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while." - } + "Start a new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Unable to decrypt message": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while.", - "comment": "replaced by threads|unable_to_decrypt ?" + "Start chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Waiting for this message. This could take a while. Find out more": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus", - "en": "Waiting for this message. This could take a while. Find out more" + "Start new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Decrypting messages…": { - "fr": "Déverrouillage des messages…", - "end": "Unlocking messages…" + "Start using Key Backup": { + "en": "Use automatic Backup", + "fr": "Utiliser la sauvegarde automatique" }, - "Please wait as we try to decrypt your messages. This may take a few moments.": { - "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps.", - "en": "Please wait as we try to unlock your messages. This may take a few moments." + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." }, - "Some messages could not be decrypted": { - "fr": "Certains messages n’ont pas pu être déverrouillés", - "en": "Some messages could not be unlocked" + "Submit debug logs to Tchap support team": { + "comment": "The title of BugReportDialog is unclear, specify it", + "en": "Submit debug logs to Tchap support team", + "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap" }, - "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { - "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir.", - "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future." + "Successfully restored %(sessionCount)s keys": { + "en": "%(sessionCount)s messages have been successfully restored.", + "fr": "%(sessionCount)s messages ont été récupérés avec succès." }, - "These keys only apply to the current session.": { - "fr": "Ces clés ne concernent que la session en cours.", - "en": "These keys only apply to the current session." + "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { + "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", + "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." }, - "Please note this is not your recovery code for your automatic backup.": { - "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique.", - "en": "Please note this is not your Recovery Code for your automatic backup." + "Tchap Keys saved!": { + "en": "Tchap Keys saved!", + "fr": "Clés Tchap sauvegardées !" }, "Tchap keys": { - "fr": "Clés Tchap", - "en": "Tchap keys" + "en": "Tchap keys", + "fr": "Clés Tchap" }, "Tchap keys:": { - "fr": "Clés Tchap :", - "en": "Tchap keys:" + "en": "Tchap keys:", + "fr": "Clés Tchap :" }, "That email is not allowed on Tchap": { - "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire", - "en": "Your email adress is not allowed on Tchap. Make an autorization request here" + "en": "Your email adress is not allowed on Tchap. Make an autorization request here", + "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire" }, - "Generate a new code": { - "fr": "Générer un nouveau code", - "en": "Generate a new code" + "The app will reload now": { + "en": "You can refresh the page to continue your conversations", + "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" }, - "Failed to join": { - "fr": "Impossible de rejoindre ce salon", - "en": "Failed to join this room." + "The email was not sent sucessfully, please retry in a moment": { + "en": "The email was not sent sucessfully, please retry", + "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" }, - "Access possible only by invitation of a member of the room.": { - "fr": "Accès possible uniquement sur invitation d'un membre du salon.", - "en": "Access possible only by invitation of a member of the room." + "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { + "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", + "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." }, - "Restore from Backup": { - "fr": "Récupérer mes messages", - "en": "Retrieve my messages" + "The validity period of your account has expired": { + "en": "Your Tchap account has expired", + "fr": "Votre compte Tchap a expiré" }, - "This session is backing up your keys.": { - "fr": "Cet appareil sauvegarde automatiquement vos messages.", - "en": "This device automatically backs up your messages." + "These keys only apply to the current session.": { + "en": "These keys only apply to the current session.", + "fr": "Ces clés ne concernent que la session en cours." }, - "Cross-signing is not set up.": { - "fr": "La signature croisée n’est pas active", - "en": "Cross-signing is not active." + "This action is irreversible.": { + "en": "This action is irreversible.", + "fr": "Cette action est irréversible." }, - "Cross-signing is ready but keys are not backed up.": { - "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages.", - "en": "Cross-signing is ready but not the secure backup." + "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { + "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", + "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." }, - "Cross-signing is ready for use.": { - "fr": "La signature croisée est activée sur cet appareil.", - "en": "Cross-signing is activated on this device." + "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { + "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s.", + "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s." }, - "Your keys are not being backed up from this session.": { - "fr": "Cet appareil ne sauvegarde pas vos messages.", - "en": "This device is not backing up your messages." + "This is your recovery key": { + "en": "This code will allow you to always restore your messages.", + "fr": "Ce code vous permettra de toujours récupérer vos messages." }, - "Secure Backup successful": { - "fr": "Sauvegarde automatique activée avec succès", - "en": "Secure backup successfully enabled." + "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." }, - "Your keys are now being backed up from this device.": { - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil.", - "en": "Your messages are now automatically backed up on this device." + "This room is a public forum": { + "en": "This room is a public forum", + "fr": "Ce salon est un forum public" }, - "Wrong Security Key": { - "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent.", - "en": "The Recovery Code is not valid. Check that it is the latest one." + "This room is private": { + "en": "This room is private", + "fr": "Ce salon est privé" }, - "Keys restored": { - "fr": "Messages récupérés", - "en": "Messages restored" + "This room is private and open to external users": { + "en": "This room is private and open to external users", + "fr": "Ce salon est privé et ouvert aux externes" }, - "Successfully restored %(sessionCount)s keys": { - "fr": "%(sessionCount)s messages ont été récupérés avec succès.", - "en": "%(sessionCount)s messages have been successfully restored." + "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." }, - "Setting up keys": { - "fr": "Configuration du Code de Récupération", - "en": "Setting up your Recovery Code" + "This session is backing up your keys.": { + "en": "This device automatically backs up your messages.", + "fr": "Cet appareil sauvegarde automatiquement vos messages." }, - "Restoring keys from backup": { - "fr": "Restauration des messages depuis la sauvegarde", - "en": "Restoring messages from backup" + "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { + "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", + "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." }, - "Fetching keys from server…": { - "fr": "Récupération des messages depuis le serveur…", - "en": "Fetching messages from server…" + "Thread": { + "en": "Thread", + "fr": "Discussion" }, - "Generate a new password. Note that your locked messages will remain locked.": { - "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront.", - "en": "Generate a new password. Note that your locked messages will remain locked." + "Trusted": { + "en": "Trusted", + "fr": "Vérifié" }, - "Where you're signed in": { - "fr": "Appareils connectés", - "en": "Connected devices" + "Unable to decrypt message": { + "comment": "replaced by threads|unable_to_decrypt ?", + "en": "Waiting for this message. This could take a while.", + "fr": "En attente de ce message. Ceci pourrait prendre un moment." }, - "Activate on this device": { - "fr": "Activer sur cet appareil", - "en": "Activate on this device" + "Unable to verify this device": { + "en": "You are logging into a new device", + "fr": "Vous vous connectez à un nouvel appareil" }, - "Verify this session": { - "fr": "Vérifier cet appareil", - "en": "Verify this device" + "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { + "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future.", + "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir." }, - "Other users may not trust it": { - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages.", - "en": "You may not be able to recover your messages." + "Unverified": { + "en": "Unverified", + "fr": "Non vérifié" }, - "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { - "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités.", - "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back." + "Unverified session": { + "en": "Unverified device", + "fr": "Appareil non vérifié" }, - "Upgrade private room": { - "fr": "Ce salon va être mis à jour", - "en": "This room will be updated" + "Unverified sessions": { + "en": "Unverified devices", + "fr": "Appareils non vérifiés" }, - "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { - "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon.", - "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room." + "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." + }, + "Upgrade private room": { + "en": "This room will be updated", + "fr": "Ce salon va être mis à jour" }, "Upgrade room": { - "fr": "Mettre à jour le salon", - "en": "Upgrade room" + "en": "Upgrade room", + "fr": "Mettre à jour le salon" }, - "Verify your identity to access encrypted messages and prove your identity to others.": { - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres.", - "en": "Verify your identity to access locked messages and prove your identity to others." + "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." }, - "Really reset verification keys?": { - "fr": "Réinitialiser le Code de Récupération, c’est certain ?", - "en": "Really reset Recovery Code?" + "Use your Security Key to continue.": { + "en": "Use your Recovery Code to continue.", + "fr": "Utilisez votre Code de Récupération pour continuer." }, - "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés.", - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages." + "User is already in the room": { + "en": "User is already in the room.", + "fr": "Cette personne est déjà dans le salon." }, - "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération.", - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code." + "Verified": { + "en": "Verified ", + "fr": "Vérifié" }, - "Export room members": { - "fr": "Exporter les membres du salon", - "en": "Export room members" + "Verified session": { + "en": "Verified device", + "fr": "Appareil vérifié" }, - "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { - "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon.", - "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room." + "Verified sessions": { + "en": "Verified devices", + "fr": "Appareils vérifiés" }, - "members_of_%(roomName)s.txt": { - "fr": "membres_de_%(roomName)s.txt", - "en": "members_of_%(roomName)s.txt" + "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { + "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", + "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." }, - "Destroy cross-signing keys?": { - "fr": "Réinitialiser les clés de signature croisée ?", - "en": "Reset cross-signing keys?" + "Verify session": { + "en": "Verify device", + "fr": "Vérifier l'appareil" }, - "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { - "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée.", - "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing." + "Verify this session": { + "en": "Verify this device", + "fr": "Vérifier cet appareil" }, - "Clear cross-signing keys": { - "fr": "Réinitialiser les clés de signature croisée", - "en": "Reset Recovery Code" + "Verify with Security Key": { + "en": "Verify with Recovery Code", + "fr": "Vérifier avec un Code de Récupération" }, - "General Conditions of Use (CGU)": { - "en": "General Conditions of Use (CGU)", - "fr": "Conditions Générales d'Utilisation (CGU)" + "Verify with Security Key or Phrase": { + "en": "Verify with Recovery Code or Phrase", + "fr": "Vérifier avec un Code de Récupération ou une phrase" }, - "Read the CGU": { - "en": "Read the CGU", - "fr": "Consultez les CGU" + "Verify your current session for enhanced secure messaging.": { + "en": "Verify your current device to get your messages.", + "fr": "Vérifier cet appareil afin de visualiser vos messages" }, - "Privacy Policy": { - "en": "Privacy Policy", - "fr": "Politique de Confidentialité" + "Verify your email to continue": { + "en": "Verify your email to continue", + "fr": "Vérifiez vos mails avant de continuer" }, - "Read the Privacy Policy": { - "en": "Read the Privacy Policy", - "fr": "Lire la Politique de Confidentialité" + "Verify your identity to access encrypted messages and prove your identity to others.": { + "en": "Verify your identity to access locked messages and prove your identity to others.", + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." }, - "la messagerie instantanée de l'Administration": { - "en": "The instant messaging app of the French Administration", - "fr": "la messagerie instantanée de l'Administration" + "Wait for at least %(wait)s seconds between two emails": { + "en": "Wait for at least %(wait)s seconds between two emails", + "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" }, - "Conçue et gérée par l'Administration française": { - "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", - "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." + "Waiting for this message. This could take a while. Find out more": { + "en": "Waiting for this message. This could take a while. Find out more", + "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" }, - "En savoir plus": { - "en": "Learn more", - "fr": "En savoir plus" + "Warning: this is the only time this code will be displayed!": { + "en": "Warning: this is the only time this code will be displayed!", + "fr": "Attention: c’est la seule fois que ce code sera affiché !" }, - "Your %(brand)s is misconfigured": { - "fr": "", - "en": "" + "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { + "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", + "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." }, - "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { - "fr": "", - "en": "" + "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { + "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", + "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" }, - "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { - "fr": "", - "en": "" + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." }, - "Server may be unavailable, overloaded, or you hit a bug.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr", - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr" + "Welcome to Tchap": { + "en": "Welcome to Tchap", + "fr": "Bienvenue sur Tchap" }, - "Server unavailable, overloaded, or something else went wrong.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr", - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr" + "Where you're signed in": { + "en": "Connected devices", + "fr": "Appareils connectés" }, - "Connectivity to the server has been lost.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service", - "en": "Tchap is not available at the moment. View the status of services." + "Wrong Security Key": { + "en": "The Recovery Code is not valid. Check that it is the latest one.", + "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent." }, - "Review Tchap services status : url": { - "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service", - "en": "Tchap is not available at the moment %(errCode)s. View the status of services." + "Wrong email address?": { + "en": "Wrong email address?", + "fr": "Mauvaise adresse mail ?" }, - "Sent messages will be stored until your connection has returned.": { - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie.", - "en": "Messages will be sent when your connection returns." + "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { + "en": "", + "fr": "" }, - "Sessions": { - "fr": "Mes appareils", - "en": "My devices" + "You can also set up Secure Backup & manage your keys in Settings.": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." }, - "Current session": { - "fr": "Cet appareil", - "en": "This device" + "You can close this disconnected tab, and go to the other %(brand)s tab.": { + "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", + "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." }, - "Verified session": { - "fr": "Appareil vérifié", - "en": "Verified device" + "You need to be able to kick users to do that.": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." }, - "Other sessions": { - "fr": "Autres appareils", - "en": "Other devices" + "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." }, - "Verify your current session for enhanced secure messaging.": { - "fr": "Vérifier cet appareil afin de visualiser vos messages", - "en": "Verify your current device to get your messages." + "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { + "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings", + "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité" }, - "Verify session": { - "fr": "Vérifier l'appareil", - "en": "Verify device" + "Your %(brand)s is misconfigured": { + "en": "", + "fr": "" }, - "Sign out of this session": { - "fr": "Se déconnecter de cet appareil", - "en": "Sign out of this device" + "Your Security Key": { + "en": "Your Recovery Code", + "fr": "Votre Code de Récupération" }, - "Receive push notifications on this session.": { - "fr": "Recevoir les notifications push sur cet appareil", - "en": "Receive push notifications on this device." + "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { + "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.", + "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète." }, - "Unverified": { - "fr": "Non vérifié", - "en": "Unverified" + "Your Security Key is in your Downloads folder.": { + "en": "Your Recovery Code is in your Downloads folder.", + "fr": "Votre Code de Récupération est dans le répertoire Téléchargements." }, - "Verified": { - "fr": "Vérifié", - "en": "Verified " + "Your Tchap Key password": { + "en": "Your Tchap Key password", + "fr": "Votre mot de passe Clés Tchap" }, - "Your current session is ready for secure messaging.": { - "fr": "", - "en": "" + "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { + "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", + "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." }, - "%(count)s sessions selected|one": { - "fr": "%(count)s appareil sélectionné", - "en": "%(count)s device selected" + "Your account is still expired, please follow the link in the email you have received to renew it": { + "en": "Your account is still expired, please follow the link in the email you should have received to renew it", + "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" }, - "%(count)s sessions selected|other": { - "fr": "%(count)s appareils sélectionnés", - "en": "%(count)s devices selected" + "Your current session is ready for secure messaging.": { + "en": "", + "fr": "" }, - "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages", - "en": "Verify your devices to unlock your messages" + "Your key share request has been sent - please check your other devices for key share requests.": { + "en": "Your key share request has been sent - please check your other devices for key share requests.", + "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." }, - "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil.", - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device." + "Your keys are not being backed up from this session.": { + "en": "This device is not backing up your messages.", + "fr": "Cet appareil ne sauvegarde pas vos messages." }, - "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { - "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié.", - "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device." + "Your keys are now being backed up from this device.": { + "en": "Your messages are now automatically backed up on this device.", + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." }, - "Verified sessions": { - "fr": "Appareils vérifiés", - "en": "Verified devices" + "Your last three login attempts have failed. Please try again in a few minutes.": { + "en": "Your last three login attempts have failed. Please try again in a few minutes.", + "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." }, - "Unverified sessions": { - "fr": "Appareils non vérifiés", - "en": "Unverified devices" + "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." }, - "Unverified session": { - "fr": "Appareil non vérifié", - "en": "Unverified device" + "Your password must include:": { + "en": "Your password must include:", + "fr": "Votre mot de passe doit comporter :" }, - "Sign out of %(count)s sessions|one": { - "fr": "Déconnecter %(count)s appareil", - "en": "Sign out of %(count)s device" + "a lowercase letter": { + "en": "a lowercase letter", + "fr": "une lettre minuscule" }, - "Sign out of %(count)s sessions|other": { - "fr": "Déconnecter %(count)s appareils", - "en": "Sign out of %(count)s devices" + "a minimum of %(number)s characters": { + "en": "a minimum of %(number)s characters", + "fr": "%(number)s caractères au minimum" }, - "Sign out of all other sessions (%(otherSessionsCount)s)": { - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)", - "en": "Sign out of all other devices (%(otherSessionsCount)s)" + "a number": { + "en": "a number", + "fr": "un chiffre" }, - "Are you sure you want to sign out of %(count)s sessions?|one": { - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?", - "en": "Are you sure you want to sign out of %(count)s device?" + "a symbol": { + "en": "a symbol", + "fr": "un caractère spécial" }, - "Are you sure you want to sign out of %(count)s sessions?|other": { - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?", - "en": "Are you sure you want to sign out of %(count)s devices?" + "an uppercase letter": { + "en": "an uppercase letter", + "fr": "une lettre majuscule" }, - "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte.", - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account." + "common": { + "secure_backup": { + "en": "Secure Backup", + "fr": "Sauvegarde automatique des messages" + } }, - "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération).", - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code)." + "la messagerie instantanée de l'Administration": { + "en": "The instant messaging app of the French Administration", + "fr": "la messagerie instantanée de l'Administration" + }, + "members_of_%(roomName)s.txt": { + "en": "members_of_%(roomName)s.txt", + "fr": "membres_de_%(roomName)s.txt" }, "onboarding_free_e2ee_messaging_tchap_limited_voip": { "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." }, - "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { - "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", - "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre.", - "comment": "2023-11-08: remove once the string is translated in element" - }, - "You can close this disconnected tab, and go to the other %(brand)s tab.": { - "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", - "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." + "threads": { + "unable_to_decrypt": { + "en": "Waiting for this message. This could take a while.", + "fr": "En attente de ce message. Ceci pourrait prendre un moment." + } } } diff --git a/modules/tchap-translations/tchap_translations_out_of_order.json b/modules/tchap-translations/tchap_translations_out_of_order.json new file mode 100644 index 0000000000..211c62b5fa --- /dev/null +++ b/modules/tchap-translations/tchap_translations_out_of_order.json @@ -0,0 +1,1161 @@ +{ + "Welcome to Tchap": { + "en": "Welcome to Tchap", + "fr": "Bienvenue sur Tchap" + }, + "Examples:": { + "en": "Examples:", + "fr": "Exemples :" + }, + "Choose a homeserver:": { + "en": "Choose a homeserver:", + "fr": "Choisissez un serveur d'accueil :" + }, + "Private room": { + "en": "Private room", + "fr": "Salon" + }, + "Private room open to external users": { + "en": "Private room open to external users", + "fr": "Salon ouvert aux externes" + }, + "Public room": { + "en": "Public room", + "fr": "Forum" + }, + "Forum room": { + "en": "Public room", + "fr": "Forum" + }, + "This room is private": { + "en": "This room is private", + "fr": "Ce salon est privé" + }, + "This room is private and open to external users": { + "en": "This room is private and open to external users", + "fr": "Ce salon est privé et ouvert aux externes" + }, + "This room is a public forum": { + "en": "This room is a public forum", + "fr": "Ce salon est un forum public" + }, + "Accessible to all users by invitation from an administrator.": { + "en": "Accessible to all users by invitation from an administrator.", + "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." + }, + "Accessible to all users and to external guests by invitation of an administrator.": { + "en": "Accessible to all users and to external guests by invitation of an administrator.", + "fr": "Accessible à tous les utilisateurs et aux invités externes sur invitation d'un administrateur." + }, + "Accessible to all users from the forum directory or from a shared link.": { + "en": "Accessible to all users from the forum directory or from a shared link.", + "fr": "Accessible à tous les utilisateurs à partir de la liste des forums ou d'un lien partagé." + }, + "Allow access to this room to all users, even outside \"%(domain)s\" domain": { + "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", + "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" + }, + "Create a room in this space": { + "en": "Create a room in this space", + "fr": "Créer un salon dans cet espace" + }, + "Private discussions accessible to all users of this space.": { + "en": "Private discussions accessible to all users of this space.", + "fr": "Discussions privées accessibles à tous les membres de cet espace" + }, + "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { + "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", + "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." + }, + "Public discussion accessible to all users of this space or from a shared link.": { + "en": "Public discussion accessible to all users of this space or from a shared link.", + "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." + }, + "Scanning": { + "en": "Scanning", + "fr": "Scanning" + }, + "Content blocked": { + "en": "Content blocked", + "fr": "Contenu bloqué" + }, + "Trusted": { + "en": "Trusted", + "fr": "Vérifié" + }, + "Scan unavailable": { + "en": "Scan unavailable", + "fr": "Scan unavailable" + }, + "Contact us": { + "en": "Contact us", + "fr": "Contactez-nous" + }, + "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { + "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", + "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" + }, + "Known issues": { + "en": "Known issues", + "fr": "Problèmes connus" + }, + "Read the Known Issues": { + "en": "Read the Known Issues", + "fr": "Consultez les problèmes connus" + }, + "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { + "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", + "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." + }, + "Frequently Asked Questions (FAQ)": { + "en": "Frequently Asked Questions (FAQ)", + "fr": "Foire Aux Questions (FAQ)" + }, + "Read the FAQ": { + "en": "Read the FAQ", + "fr": "Consultez la FAQ" + }, + "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { + "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", + "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." + }, + "Please tell us what went wrong in the \"Notes\" field.": { + "en": "Please tell us what went wrong in the \"Notes\" field.", + "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." + }, + "Submit debug logs to Tchap support team": { + "en": "Submit debug logs to Tchap support team", + "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap", + "comment": "The title of BugReportDialog is unclear, specify it" + }, + "Just want to get your own logs, without sharing them with the Tchap team?": { + "en": "Just want to get your own logs, without sharing them with the Tchap team?", + "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" + }, + "Download my logs": { + "en": "Download my logs", + "fr": "Obtenir mes journaux" + }, + "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { + "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", + "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." + }, + "Allow external users to join this room": { + "en": "Allow external users to join this room", + "fr": "Autoriser les externes à rejoindre ce salon" + }, + "This action is irreversible.": { + "en": "This action is irreversible.", + "fr": "Cette action est irréversible." + }, + "Are you sure you want to allow the externals to join this room ?": { + "en": "Are you sure you want to allow the externals to join this room ?", + "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" + }, + "Create Room": { + "en": "Create New Room", + "fr": "Créer un nouveau salon" + }, + "Your last three login attempts have failed. Please try again in a few minutes.": { + "en": "Your last three login attempts have failed. Please try again in a few minutes.", + "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." + }, + "Your password must include:": { + "en": "Your password must include:", + "fr": "Votre mot de passe doit comporter :" + }, + "a minimum of %(number)s characters": { + "en": "a minimum of %(number)s characters", + "fr": "%(number)s caractères au minimum" + }, + "a number": { + "en": "a number", + "fr": "un chiffre" + }, + "a symbol": { + "en": "a symbol", + "fr": "un caractère spécial" + }, + "a lowercase letter": { + "en": "a lowercase letter", + "fr": "une lettre minuscule" + }, + "an uppercase letter": { + "en": "an uppercase letter", + "fr": "une lettre majuscule" + }, + "External users allowed": { + "en": "external users allowed", + "fr": "ouvert aux externes" + }, + "Save your Tchap Keys (encryption keys)": { + "en": "Save your Tchap Keys (encryption keys)", + "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" + }, + "If you do not have another connected device, we advise you to save your keys in a file on your device.": { + "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", + "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." + }, + "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { + "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", + "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." + }, + "Warning: these keys cannot be used to unlock the messages received after backup": { + "en": "Warning: these keys cannot be used to unlock the messages received after backup", + "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" + }, + "Create your Tchap Key password (minimum 8 characters)": { + "en": "Create your Tchap Key password (minimum 8 characters)", + "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" + }, + "Passphrase must be at least 8 character long": { + "en": "Passphrase must be at least 8 character long", + "fr": "Le mot de passe doit minimum faire 8 caractères" + }, + "Your Tchap Key password": { + "en": "Your Tchap Key password", + "fr": "Votre mot de passe Clés Tchap" + }, + "Confirm your Tchap Key password": { + "en": "Confirm your Tchap Key password", + "fr": "Confirmer votre mot de passe Clés Tchap" + }, + "Tchap Keys saved!": { + "en": "Tchap Keys saved!", + "fr": "Clés Tchap sauvegardées !" + }, + "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { + "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", + "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." + }, + "Save your Tchap Keys before logging out": { + "en": "Save your Tchap Keys before logging out", + "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" + }, + "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { + "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", + "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." + }, + "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { + "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", + "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." + }, + "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { + "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", + "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." + }, + "Sign me out": { + "en": "Sign me out", + "fr": "Me déconnecter" + }, + "Save my keys": { + "en": "Save my Tchap keys", + "fr": "Sauvegarder mes clés Tchap" + }, + "One of your devices wants to check your Tchap Keys to unlock your messages.": { + "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", + "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." + }, + "Please also confirm the emojis on the other device.": { + "en": "Please also confirm the emojis on the other device.", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + }, + "Incoming Verification Request": { + "en": "Incoming Verification Request", + "fr": "Partage de vos Clés Tchap" + }, + "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { + "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", + "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." + }, + "Finish": { + "en": "Finish", + "fr": "Terminer" + }, + "Please accept the sharing of your Tchap Keys on the other device.": { + "en": "Please accept the sharing of your Tchap Keys on the other device.", + "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." + }, + "Confirm the emoji below are displayed on both devices, in the same order:": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + }, + "Please confirm the objects on the other device.": { + "en": "Please confirm the objects on the other device.", + "fr": "Veuillez confirmer les objets sur l'autre appareil." + }, + "Please confirm the objects on the other device (loading).": { + "en": "Please confirm the objects on the other device (loading).", + "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." + }, + "The validity period of your account has expired": { + "en": "Your Tchap account has expired", + "fr": "Votre compte Tchap a expiré" + }, + "An email has been sent to you. Click on the link it contains, click below.": { + "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", + "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." + }, + "I renewed the validity of my account": { + "en": "I renewed my account", + "fr": "J’ai renouvelé mon compte" + }, + "Request a renewal email": { + "en": "Request a renewal email", + "fr": "Demander l’envoi d’un nouvel email" + }, + "A new email has been sent": { + "en": "A new email has been sent", + "fr": "Un nouvel email de renouvellement vous a été adressé" + }, + "Wait for at least %(wait)s seconds between two emails": { + "en": "Wait for at least %(wait)s seconds between two emails", + "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" + }, + "The email was not sent sucessfully, please retry in a moment": { + "en": "The email was not sent sucessfully, please retry", + "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" + }, + "Your account is still expired, please follow the link in the email you have received to renew it": { + "en": "Your account is still expired, please follow the link in the email you should have received to renew it", + "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" + }, + "Congratulations, your account has been renewed": { + "en": "Congratulations, your account has been renewed", + "fr": "Félicitations, votre compte a été renouvelé" + }, + "The app will reload now": { + "en": "You can refresh the page to continue your conversations", + "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" + }, + "Reload the app": { + "en": "Reload page", + "fr": "Rafraîchir la page" + }, + "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { + "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", + "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." + }, + "Re-send a request to your other devices": { + "en": "Re-send a request to your other devices", + "fr": "Renvoyer une demande à un autre appareil" + }, + "Request in progress...": { + "en": "Request in progress...", + "fr": "Demande en cours..." + }, + "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { + "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", + "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." + }, + "If your other devices do not have the key for this message, you will not be able to decrypt them.": { + "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", + "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." + }, + "Your key share request has been sent - please check your other devices for key share requests.": { + "en": "Your key share request has been sent - please check your other devices for key share requests.", + "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." + }, + "Import from saved file": { + "en": "Import from saved file", + "fr": "Importer depuis le fichier sauvegardé" + }, + "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { + "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", + "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" + }, + "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { + "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", + "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" + }, + "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils.", + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost." + }, + "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages.", + "en": "Currently %(brand)s does not support searching into messages." + }, + "Export E2E room keys": { + "en": "Save your Tchap keys", + "fr": "Sauvegardez vos clés Tchap" + }, + "Import E2E room keys": { + "en": "Import your Tchap keys from the downloaded file", + "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" + }, + "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { + "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", + "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." + }, + "Thread": { + "en": "Thread", + "fr": "Discussion" + }, + "Join public room": { + "en": "Join a public room", + "fr": "Rejoindre un forum" + }, + "Explore rooms": { + "en": "Explore space rooms", + "fr": "Explorer les salons" + }, + "Explore public rooms": { + "en": "Explore public rooms", + "fr": "Rejoindre un forum" + }, + "Start chat": { + "en": "New direct message", + "fr": "Nouveau message direct" + }, + "Start new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" + }, + "Start a new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" + }, + "Chat": { + "en": "New direct message", + "fr": "Nouveau message direct" + }, + "Direct Messages": { + "en": "Direct Messages", + "fr": "Messages directs" + }, + "Recently Direct Messaged": { + "en": "Recents chats", + "fr": "Messages directs récents" + }, + "Recent Conversations": { + "en": "Recents chats", + "fr": "Messages directs récents" + }, + "common": { + "secure_backup": { + "en": "Secure Backup", + "fr": "Sauvegarde automatique des messages" + } + }, + "You can also set up Secure Backup & manage your keys in Settings.": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + }, + "Set up Secure Backup": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" + }, + "Email": { + "en": "Email", + "fr": "Adresse mail" + }, + "Invalid Email Address": { + "en": "Invalid Email Address", + "fr": "Adresse mail non valide" + }, + "Email address": { + "en": "Email address", + "fr": "Adresse mail" + }, + "Email Address": { + "en": "Email Address", + "fr": "Adresse mail" + }, + "Email addresses": { + "en": "Email addresses", + "fr": "Adresses mail" + }, + "Email (optional)": { + "en": "Email (optional)", + "fr": "Adresse mail (facultatif)" + }, + "Add Email Address": { + "en": "Add Email Address", + "fr": "Ajouter une adresse mail" + }, + "Room members": { + "en": "Room members", + "fr": "Membres du salon" + }, + "Banned users": { + "en": "Banned users", + "fr": "Membres bannis" + }, + "Privileged Users": { + "en": "Privileged Users", + "fr": "Membres privilégiés" + }, + "Muted Users": { + "en": "Muted Users", + "fr": "Membres en sourdine" + }, + "Ignored users": { + "en": "Ignored users", + "fr": "Membres ignorés" + }, + "Remove from room": { + "en": "Remove from room", + "fr": "Retirer du salon (réversible)" + }, + "Remove them from specific things I'm able to": { + "en": "Remove them from specific things I'm able to", + "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + }, + "Remove them from everything I'm able to": { + "en": "Remove them from everything I'm able to", + "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" + }, + "Remove users": { + "en": "Remove users", + "fr": "Retirer des utilisateurs (réversible)" + }, + "Remove, ban, or invite people to your active room, and make you leave": { + "en": "Remove, ban, or invite people to your active room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" + }, + "Remove, ban, or invite people to this room, and make you leave": { + "en": "Remove, ban, or invite people to this room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" + }, + "Remove from %(roomName)s": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" + }, + "You need to be able to kick users to do that.": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." + }, + "Ban users": { + "en": "Ban users", + "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" + }, + "Ban them from specific things I'm able to": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" + }, + "Ban them from everything I'm able to": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + }, + "Ban from %(roomName)s": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" + }, + "Ban from room": { + "en": "Ban from room", + "fr": "Interdire l’accès au salon (définitif)" + }, + "Ban from space": { + "en": "Ban from space", + "fr": "Interdire l’accès à l'espace (définitif)" + }, + "Group all your people in one place.": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." + }, + "Group all your favourite rooms and people in one place.": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." + }, + "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." + }, + "Show all your rooms in Home, even if they're in a space.": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" + }, + "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { + "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s.", + "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s." + }, + "Sign in instead": { + "en": "Sign in instead", + "fr": "ou connectez-vous" + }, + "Enter your email to reset password": { + "en": "Enter your email to reset password", + "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" + }, + "Reset your password": { + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe" + }, + "Did not receive it?": { + "en": "Did not receive it?", + "fr": "Pas reçu ?" + }, + "Wrong email address?": { + "en": "Wrong email address?", + "fr": "Mauvaise adresse mail ?" + }, + "Re-enter email address": { + "en": "Re-enter email address", + "fr": "Re-saisir l'adresse mail" + }, + "Check your email to continue": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, + "Verify your email to continue": { + "en": "Verify your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, + "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { + "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", + "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" + }, + "Send email": { + "en": "Send email", + "fr": "Envoyer le mail" + }, + "This is your recovery key": { + "fr": "Ce code vous permettra de toujours récupérer vos messages.", + "en": "This code will allow you to always restore your messages." + }, + "Warning: this is the only time this code will be displayed!": { + "fr": "Attention: c’est la seule fois que ce code sera affiché !", + "en": "Warning: this is the only time this code will be displayed!" + }, + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran.", + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots." + }, + "I wrote down my code": { + "fr": "J'ai noté mon code", + "en": "I wrote down my code" + }, + "Safeguard against losing access to encrypted messages & data": { + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages", + "en": "Activate your Recovery Code to never lose your messages" + }, + "Security Key": { + "fr": "Code de Récupération", + "en": "Recovery Code" + }, + "Verify with Security Key": { + "fr": "Vérifier avec un Code de Récupération", + "en": "Verify with Recovery Code" + }, + "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable.", + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted." + }, + "I don't want my encrypted messages": { + "fr": "Se déconnecter quand-même", + "en": "Log out still" + }, + "Start using Key Backup": { + "fr": "Utiliser la sauvegarde automatique", + "en": "Use automatic Backup" + }, + "Use your Security Key to continue.": { + "fr": "Utilisez votre Code de Récupération pour continuer.", + "en": "Use your Recovery Code to continue." + }, + "Generate a Security Key": { + "fr": "Générer un Code de Récupération", + "en": "Generate a Recovery Code" + }, + "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde.", + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup." + }, + "Save your Security Key": { + "fr": "Notez votre Code de Récupération", + "en": "Write down your Recovery Code" + }, + "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés.", + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed." + }, + "A new Security Phrase and key for Secure Messages have been detected.": { + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté.", + "en": "A new Recovery Code for Secure Messages has been detected." + }, + "Make a copy of your Security Key": { + "fr": "Faire une copie de votre Code de Récupération", + "en": "Make a copy of your Recovery Code" + }, + "Secure your backup with a Security Phrase": { + "fr": "Protégez votre sauvegarde avec un Code de Récupération", + "en": "Secure your backup with a Recovery Code" + }, + "Your Security Key is in your Downloads folder.": { + "fr": "Votre Code de Récupération est dans le répertoire Téléchargements.", + "en": "Your Recovery Code is in your Downloads folder." + }, + "Your Security Key": { + "fr": "Votre Code de Récupération", + "en": "Your Recovery Code" + }, + "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { + "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète.", + "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase." + }, + "Set up with a Security Key": { + "fr": "Configurer avec un Code de Récupération", + "en": "Set up with a Recovery Code" + }, + "If you've forgotten your Security Key you can ": { + "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez ", + "en": "If you've forgotten your Recovery Code you can " + }, + "Access your secure message history and set up secure messaging by entering your Security Key.": { + "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération.", + "en": "Access your secure message history and set up secure messaging by entering your Recovery Code." + }, + "Enter Security Key": { + "fr": "Saisir le Code de Récupération", + "en": "Enter Recovery Code" + }, + "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { + "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération", + "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options" + }, + "Incorrect Security Phrase": { + "fr": "Code de récupération non reconnu", + "en": "Recovery code not recognized" + }, + "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { + "fr": "Merci d'essayer à nouveau avec votre code de récupération.", + "en": "Please try again with your recovery code." + }, + "Verify with Security Key or Phrase": { + "fr": "Vérifier avec un Code de Récupération ou une phrase", + "en": "Verify with Recovery Code or Phrase" + }, + "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { + "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

", + "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

" + }, + "Enter your Security Phrase or to continue.": { + "fr": "Saisissez votre phrase de sécurité ou pour continuer.", + "en": "Enter your Security Phrase or to continue." + }, + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre.", + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe." + }, + "Invite someone using their name, email address, username (like ) or share this room.": { + "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", + "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." + }, + "Invite someone using their name, email address, username (like ) or share this space.": { + "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", + "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." + }, + "User is already in the room": { + "fr": "Cette personne est déjà dans le salon.", + "en": "User is already in the room." + }, + "Set up": { + "fr": "Activer", + "en": "Activate" + }, + "Connect this session to Key Backup": { + "fr": "Vérifier cet appareil", + "en": "Verify this device" + }, + "Forgotten or lost all recovery methods? Reset all": { + "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code", + "en": "You have lost your Recovery Code? Create a new code" + }, + "Unable to verify this device": { + "fr": "Vous vous connectez à un nouvel appareil", + "en": "You are logging into a new device" + }, + "Reset your keys to prevent future decryption errors": { + "fr": "Activez la sauvegarde automatique des messages", + "en": "Enable automatic secure backup" + }, + "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { + "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité", + "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings" + }, + "Resend key requests": { + "fr": "Renvoyer une demande", + "en": "Resend key requests" + }, + "Open another device to load encrypted messages": { + "fr": "Utiliser un autre appareil pour déverrouiller vos messages.", + "en": "Use another device to unlock your messages." + }, + "Or if that doesn't work, please follow these steps.": { + "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes.", + "en": "Or if that doesn't work, please follow these steps." + }, + "threads": { + "unable_to_decrypt": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment.", + "en": "Waiting for this message. This could take a while." + } + }, + "Unable to decrypt message": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment.", + "en": "Waiting for this message. This could take a while.", + "comment": "replaced by threads|unable_to_decrypt ?" + }, + "Waiting for this message. This could take a while. Find out more": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus", + "en": "Waiting for this message. This could take a while. Find out more" + }, + "Decrypting messages…": { + "fr": "Déverrouillage des messages…", + "end": "Unlocking messages…" + }, + "Please wait as we try to decrypt your messages. This may take a few moments.": { + "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps.", + "en": "Please wait as we try to unlock your messages. This may take a few moments." + }, + "Some messages could not be decrypted": { + "fr": "Certains messages n’ont pas pu être déverrouillés", + "en": "Some messages could not be unlocked" + }, + "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { + "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir.", + "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future." + }, + "These keys only apply to the current session.": { + "fr": "Ces clés ne concernent que la session en cours.", + "en": "These keys only apply to the current session." + }, + "Please note this is not your recovery code for your automatic backup.": { + "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique.", + "en": "Please note this is not your Recovery Code for your automatic backup." + }, + "Tchap keys": { + "fr": "Clés Tchap", + "en": "Tchap keys" + }, + "Tchap keys:": { + "fr": "Clés Tchap :", + "en": "Tchap keys:" + }, + "That email is not allowed on Tchap": { + "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire", + "en": "Your email adress is not allowed on Tchap. Make an autorization request here" + }, + "Generate a new code": { + "fr": "Générer un nouveau code", + "en": "Generate a new code" + }, + "Failed to join": { + "fr": "Impossible de rejoindre ce salon", + "en": "Failed to join this room." + }, + "Access possible only by invitation of a member of the room.": { + "fr": "Accès possible uniquement sur invitation d'un membre du salon.", + "en": "Access possible only by invitation of a member of the room." + }, + "Restore from Backup": { + "fr": "Récupérer mes messages", + "en": "Retrieve my messages" + }, + "This session is backing up your keys.": { + "fr": "Cet appareil sauvegarde automatiquement vos messages.", + "en": "This device automatically backs up your messages." + }, + "Cross-signing is not set up.": { + "fr": "La signature croisée n’est pas active", + "en": "Cross-signing is not active." + }, + "Cross-signing is ready but keys are not backed up.": { + "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages.", + "en": "Cross-signing is ready but not the secure backup." + }, + "Cross-signing is ready for use.": { + "fr": "La signature croisée est activée sur cet appareil.", + "en": "Cross-signing is activated on this device." + }, + "Your keys are not being backed up from this session.": { + "fr": "Cet appareil ne sauvegarde pas vos messages.", + "en": "This device is not backing up your messages." + }, + "Secure Backup successful": { + "fr": "Sauvegarde automatique activée avec succès", + "en": "Secure backup successfully enabled." + }, + "Your keys are now being backed up from this device.": { + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil.", + "en": "Your messages are now automatically backed up on this device." + }, + "Wrong Security Key": { + "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent.", + "en": "The Recovery Code is not valid. Check that it is the latest one." + }, + "Keys restored": { + "fr": "Messages récupérés", + "en": "Messages restored" + }, + "Successfully restored %(sessionCount)s keys": { + "fr": "%(sessionCount)s messages ont été récupérés avec succès.", + "en": "%(sessionCount)s messages have been successfully restored." + }, + "Setting up keys": { + "fr": "Configuration du Code de Récupération", + "en": "Setting up your Recovery Code" + }, + "Restoring keys from backup": { + "fr": "Restauration des messages depuis la sauvegarde", + "en": "Restoring messages from backup" + }, + "Fetching keys from server…": { + "fr": "Récupération des messages depuis le serveur…", + "en": "Fetching messages from server…" + }, + "Generate a new password. Note that your locked messages will remain locked.": { + "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront.", + "en": "Generate a new password. Note that your locked messages will remain locked." + }, + "Where you're signed in": { + "fr": "Appareils connectés", + "en": "Connected devices" + }, + "Activate on this device": { + "fr": "Activer sur cet appareil", + "en": "Activate on this device" + }, + "Verify this session": { + "fr": "Vérifier cet appareil", + "en": "Verify this device" + }, + "Other users may not trust it": { + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages.", + "en": "You may not be able to recover your messages." + }, + "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { + "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités.", + "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back." + }, + "Upgrade private room": { + "fr": "Ce salon va être mis à jour", + "en": "This room will be updated" + }, + "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { + "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon.", + "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room." + }, + "Upgrade room": { + "fr": "Mettre à jour le salon", + "en": "Upgrade room" + }, + "Verify your identity to access encrypted messages and prove your identity to others.": { + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres.", + "en": "Verify your identity to access locked messages and prove your identity to others." + }, + "Really reset verification keys?": { + "fr": "Réinitialiser le Code de Récupération, c’est certain ?", + "en": "Really reset Recovery Code?" + }, + "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés.", + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages." + }, + "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération.", + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code." + }, + "Export room members": { + "fr": "Exporter les membres du salon", + "en": "Export room members" + }, + "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { + "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon.", + "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room." + }, + "members_of_%(roomName)s.txt": { + "fr": "membres_de_%(roomName)s.txt", + "en": "members_of_%(roomName)s.txt" + }, + "Destroy cross-signing keys?": { + "fr": "Réinitialiser les clés de signature croisée ?", + "en": "Reset cross-signing keys?" + }, + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { + "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée.", + "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing." + }, + "Clear cross-signing keys": { + "fr": "Réinitialiser les clés de signature croisée", + "en": "Reset Recovery Code" + }, + "General Conditions of Use (CGU)": { + "en": "General Conditions of Use (CGU)", + "fr": "Conditions Générales d'Utilisation (CGU)" + }, + "Read the CGU": { + "en": "Read the CGU", + "fr": "Consultez les CGU" + }, + "Privacy Policy": { + "en": "Privacy Policy", + "fr": "Politique de Confidentialité" + }, + "Read the Privacy Policy": { + "en": "Read the Privacy Policy", + "fr": "Lire la Politique de Confidentialité" + }, + "la messagerie instantanée de l'Administration": { + "en": "The instant messaging app of the French Administration", + "fr": "la messagerie instantanée de l'Administration" + }, + "Conçue et gérée par l'Administration française": { + "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", + "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." + }, + "En savoir plus": { + "en": "Learn more", + "fr": "En savoir plus" + }, + "Your %(brand)s is misconfigured": { + "fr": "", + "en": "" + }, + "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { + "fr": "", + "en": "" + }, + "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { + "fr": "", + "en": "" + }, + "Server may be unavailable, overloaded, or you hit a bug.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr", + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr" + }, + "Server unavailable, overloaded, or something else went wrong.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr", + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr" + }, + "Connectivity to the server has been lost.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service", + "en": "Tchap is not available at the moment. View the status of services." + }, + "Review Tchap services status : url": { + "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service", + "en": "Tchap is not available at the moment %(errCode)s. View the status of services." + }, + "Sent messages will be stored until your connection has returned.": { + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie.", + "en": "Messages will be sent when your connection returns." + }, + "Sessions": { + "fr": "Mes appareils", + "en": "My devices" + }, + "Current session": { + "fr": "Cet appareil", + "en": "This device" + }, + "Verified session": { + "fr": "Appareil vérifié", + "en": "Verified device" + }, + "Other sessions": { + "fr": "Autres appareils", + "en": "Other devices" + }, + "Verify your current session for enhanced secure messaging.": { + "fr": "Vérifier cet appareil afin de visualiser vos messages", + "en": "Verify your current device to get your messages." + }, + "Verify session": { + "fr": "Vérifier l'appareil", + "en": "Verify device" + }, + "Sign out of this session": { + "fr": "Se déconnecter de cet appareil", + "en": "Sign out of this device" + }, + "Receive push notifications on this session.": { + "fr": "Recevoir les notifications push sur cet appareil", + "en": "Receive push notifications on this device." + }, + "Unverified": { + "fr": "Non vérifié", + "en": "Unverified" + }, + "Verified": { + "fr": "Vérifié", + "en": "Verified " + }, + "Your current session is ready for secure messaging.": { + "fr": "", + "en": "" + }, + "%(count)s sessions selected|one": { + "fr": "%(count)s appareil sélectionné", + "en": "%(count)s device selected" + }, + "%(count)s sessions selected|other": { + "fr": "%(count)s appareils sélectionnés", + "en": "%(count)s devices selected" + }, + "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages", + "en": "Verify your devices to unlock your messages" + }, + "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil.", + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device." + }, + "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { + "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié.", + "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device." + }, + "Verified sessions": { + "fr": "Appareils vérifiés", + "en": "Verified devices" + }, + "Unverified sessions": { + "fr": "Appareils non vérifiés", + "en": "Unverified devices" + }, + "Unverified session": { + "fr": "Appareil non vérifié", + "en": "Unverified device" + }, + "Sign out of %(count)s sessions|one": { + "fr": "Déconnecter %(count)s appareil", + "en": "Sign out of %(count)s device" + }, + "Sign out of %(count)s sessions|other": { + "fr": "Déconnecter %(count)s appareils", + "en": "Sign out of %(count)s devices" + }, + "Sign out of all other sessions (%(otherSessionsCount)s)": { + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)", + "en": "Sign out of all other devices (%(otherSessionsCount)s)" + }, + "Are you sure you want to sign out of %(count)s sessions?|one": { + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?", + "en": "Are you sure you want to sign out of %(count)s device?" + }, + "Are you sure you want to sign out of %(count)s sessions?|other": { + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?", + "en": "Are you sure you want to sign out of %(count)s devices?" + }, + "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte.", + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account." + }, + "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération).", + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code)." + }, + "onboarding_free_e2ee_messaging_tchap_limited_voip": { + "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", + "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." + }, + "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { + "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", + "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre.", + "comment": "2023-11-08: remove once the string is translated in element" + }, + "You can close this disconnected tab, and go to the other %(brand)s tab.": { + "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", + "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." + } +} From a7e3d02fea867034a4e3eff204b230120161b3e0 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Mon, 22 Jan 2024 16:58:30 +0100 Subject: [PATCH 63/86] Revert "Sort and prettier-format the translation file for easier merging" This reverts commit 25b75185f0ba591eb417022a7073a60d0fe2e907. --- .../tchap_translations.json | 1714 ++++++++--------- .../tchap_translations_out_of_order.json | 1161 ----------- 2 files changed, 857 insertions(+), 2018 deletions(-) delete mode 100644 modules/tchap-translations/tchap_translations_out_of_order.json diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 3ffe790a96..211c62b5fa 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -1,1161 +1,1161 @@ { - "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { - "en": "Currently %(brand)s does not support searching into messages.", - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." - }, - "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { - "comment": "2023-11-08: remove once the string is translated in element", - "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", - "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." - }, - "%(count)s sessions selected|one": { - "en": "%(count)s device selected", - "fr": "%(count)s appareil sélectionné" - }, - "%(count)s sessions selected|other": { - "en": "%(count)s devices selected", - "fr": "%(count)s appareils sélectionnés" - }, - "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { - "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", - "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." - }, - "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { - "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back.", - "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités." + "Welcome to Tchap": { + "en": "Welcome to Tchap", + "fr": "Bienvenue sur Tchap" }, - "Warning: these keys cannot be used to unlock the messages received after backup": { - "en": "Warning: these keys cannot be used to unlock the messages received after backup", - "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" + "Examples:": { + "en": "Examples:", + "fr": "Exemples :" }, - "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { - "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", - "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." + "Choose a homeserver:": { + "en": "Choose a homeserver:", + "fr": "Choisissez un serveur d'accueil :" }, - "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { - "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", - "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." + "Private room": { + "en": "Private room", + "fr": "Salon" }, - "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { - "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

", - "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

" + "Private room open to external users": { + "en": "Private room open to external users", + "fr": "Salon ouvert aux externes" }, - "Import from saved file": { - "en": "Import from saved file", - "fr": "Importer depuis le fichier sauvegardé" + "Public room": { + "en": "Public room", + "fr": "Forum" }, - "Re-send a request to your other devices": { - "en": "Re-send a request to your other devices", - "fr": "Renvoyer une demande à un autre appareil" + "Forum room": { + "en": "Public room", + "fr": "Forum" }, - "A new Security Phrase and key for Secure Messages have been detected.": { - "en": "A new Recovery Code for Secure Messages has been detected.", - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." + "This room is private": { + "en": "This room is private", + "fr": "Ce salon est privé" }, - "A new email has been sent": { - "en": "A new email has been sent", - "fr": "Un nouvel email de renouvellement vous a été adressé" + "This room is private and open to external users": { + "en": "This room is private and open to external users", + "fr": "Ce salon est privé et ouvert aux externes" }, - "Access possible only by invitation of a member of the room.": { - "en": "Access possible only by invitation of a member of the room.", - "fr": "Accès possible uniquement sur invitation d'un membre du salon." + "This room is a public forum": { + "en": "This room is a public forum", + "fr": "Ce salon est un forum public" }, - "Access your secure message history and set up secure messaging by entering your Security Key.": { - "en": "Access your secure message history and set up secure messaging by entering your Recovery Code.", - "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération." + "Accessible to all users by invitation from an administrator.": { + "en": "Accessible to all users by invitation from an administrator.", + "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." }, "Accessible to all users and to external guests by invitation of an administrator.": { "en": "Accessible to all users and to external guests by invitation of an administrator.", "fr": "Accessible à tous les utilisateurs et aux invités externes sur invitation d'un administrateur." }, - "Accessible to all users by invitation from an administrator.": { - "en": "Accessible to all users by invitation from an administrator.", - "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." - }, "Accessible to all users from the forum directory or from a shared link.": { "en": "Accessible to all users from the forum directory or from a shared link.", "fr": "Accessible à tous les utilisateurs à partir de la liste des forums ou d'un lien partagé." }, - "Activate on this device": { - "en": "Activate on this device", - "fr": "Activer sur cet appareil" - }, - "Add Email Address": { - "en": "Add Email Address", - "fr": "Ajouter une adresse mail" - }, "Allow access to this room to all users, even outside \"%(domain)s\" domain": { "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" }, - "Allow external users to join this room": { - "en": "Allow external users to join this room", - "fr": "Autoriser les externes à rejoindre ce salon" - }, - "An email has been sent to you. Click on the link it contains, click below.": { - "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", - "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." - }, - "Are you sure you want to allow the externals to join this room ?": { - "en": "Are you sure you want to allow the externals to join this room ?", - "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" - }, - "Are you sure you want to sign out of %(count)s sessions?|one": { - "en": "Are you sure you want to sign out of %(count)s device?", - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" + "Create a room in this space": { + "en": "Create a room in this space", + "fr": "Créer un salon dans cet espace" }, - "Are you sure you want to sign out of %(count)s sessions?|other": { - "en": "Are you sure you want to sign out of %(count)s devices?", - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" + "Private discussions accessible to all users of this space.": { + "en": "Private discussions accessible to all users of this space.", + "fr": "Discussions privées accessibles à tous les membres de cet espace" }, - "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { - "en": "", - "fr": "" + "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { + "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", + "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." }, - "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { - "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", - "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." + "Public discussion accessible to all users of this space or from a shared link.": { + "en": "Public discussion accessible to all users of this space or from a shared link.", + "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." }, - "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { - "en": "Please try again with your recovery code.", - "fr": "Merci d'essayer à nouveau avec votre code de récupération." + "Scanning": { + "en": "Scanning", + "fr": "Scanning" }, - "Ban from %(roomName)s": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" + "Content blocked": { + "en": "Content blocked", + "fr": "Contenu bloqué" }, - "Ban from room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" + "Trusted": { + "en": "Trusted", + "fr": "Vérifié" }, - "Ban from space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" + "Scan unavailable": { + "en": "Scan unavailable", + "fr": "Scan unavailable" }, - "Ban them from everything I'm able to": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + "Contact us": { + "en": "Contact us", + "fr": "Contactez-nous" }, - "Ban them from specific things I'm able to": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" + "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { + "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", + "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" }, - "Ban users": { - "en": "Ban users", - "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" + "Known issues": { + "en": "Known issues", + "fr": "Problèmes connus" }, - "Banned users": { - "en": "Banned users", - "fr": "Membres bannis" + "Read the Known Issues": { + "en": "Read the Known Issues", + "fr": "Consultez les problèmes connus" }, - "Chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { + "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", + "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." }, - "Check your email to continue": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" + "Frequently Asked Questions (FAQ)": { + "en": "Frequently Asked Questions (FAQ)", + "fr": "Foire Aux Questions (FAQ)" }, - "Choose a homeserver:": { - "en": "Choose a homeserver:", - "fr": "Choisissez un serveur d'accueil :" + "Read the FAQ": { + "en": "Read the FAQ", + "fr": "Consultez la FAQ" }, - "Clear cross-signing keys": { - "en": "Reset Recovery Code", - "fr": "Réinitialiser les clés de signature croisée" + "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { + "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", + "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." }, - "Confirm the emoji below are displayed on both devices, in the same order:": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + "Please tell us what went wrong in the \"Notes\" field.": { + "en": "Please tell us what went wrong in the \"Notes\" field.", + "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." }, - "Confirm your Tchap Key password": { - "en": "Confirm your Tchap Key password", - "fr": "Confirmer votre mot de passe Clés Tchap" + "Submit debug logs to Tchap support team": { + "en": "Submit debug logs to Tchap support team", + "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap", + "comment": "The title of BugReportDialog is unclear, specify it" }, - "Congratulations, your account has been renewed": { - "en": "Congratulations, your account has been renewed", - "fr": "Félicitations, votre compte a été renouvelé" + "Just want to get your own logs, without sharing them with the Tchap team?": { + "en": "Just want to get your own logs, without sharing them with the Tchap team?", + "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" }, - "Connect this session to Key Backup": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" + "Download my logs": { + "en": "Download my logs", + "fr": "Obtenir mes journaux" }, - "Connectivity to the server has been lost.": { - "en": "Tchap is not available at the moment. View the status of services.", - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { + "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", + "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." }, - "Contact us": { - "en": "Contact us", - "fr": "Contactez-nous" + "Allow external users to join this room": { + "en": "Allow external users to join this room", + "fr": "Autoriser les externes à rejoindre ce salon" }, - "Content blocked": { - "en": "Content blocked", - "fr": "Contenu bloqué" + "This action is irreversible.": { + "en": "This action is irreversible.", + "fr": "Cette action est irréversible." }, - "Conçue et gérée par l'Administration française": { - "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", - "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." + "Are you sure you want to allow the externals to join this room ?": { + "en": "Are you sure you want to allow the externals to join this room ?", + "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" }, "Create Room": { "en": "Create New Room", "fr": "Créer un nouveau salon" }, - "Create a room in this space": { - "en": "Create a room in this space", - "fr": "Créer un salon dans cet espace" - }, - "Create your Tchap Key password (minimum 8 characters)": { - "en": "Create your Tchap Key password (minimum 8 characters)", - "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" + "Your last three login attempts have failed. Please try again in a few minutes.": { + "en": "Your last three login attempts have failed. Please try again in a few minutes.", + "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." }, - "Cross-signing is not set up.": { - "en": "Cross-signing is not active.", - "fr": "La signature croisée n’est pas active" + "Your password must include:": { + "en": "Your password must include:", + "fr": "Votre mot de passe doit comporter :" }, - "Cross-signing is ready but keys are not backed up.": { - "en": "Cross-signing is ready but not the secure backup.", - "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." + "a minimum of %(number)s characters": { + "en": "a minimum of %(number)s characters", + "fr": "%(number)s caractères au minimum" }, - "Cross-signing is ready for use.": { - "en": "Cross-signing is activated on this device.", - "fr": "La signature croisée est activée sur cet appareil." + "a number": { + "en": "a number", + "fr": "un chiffre" }, - "Current session": { - "en": "This device", - "fr": "Cet appareil" + "a symbol": { + "en": "a symbol", + "fr": "un caractère spécial" }, - "Decrypting messages…": { - "end": "Unlocking messages…", - "fr": "Déverrouillage des messages…" + "a lowercase letter": { + "en": "a lowercase letter", + "fr": "une lettre minuscule" }, - "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { - "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", - "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." + "an uppercase letter": { + "en": "an uppercase letter", + "fr": "une lettre majuscule" }, - "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { - "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing.", - "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée." - }, - "Destroy cross-signing keys?": { - "en": "Reset cross-signing keys?", - "fr": "Réinitialiser les clés de signature croisée ?" - }, - "Did not receive it?": { - "en": "Did not receive it?", - "fr": "Pas reçu ?" - }, - "Direct Messages": { - "en": "Direct Messages", - "fr": "Messages directs" + "External users allowed": { + "en": "external users allowed", + "fr": "ouvert aux externes" }, - "Download my logs": { - "en": "Download my logs", - "fr": "Obtenir mes journaux" + "Save your Tchap Keys (encryption keys)": { + "en": "Save your Tchap Keys (encryption keys)", + "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" }, - "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { - "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room.", - "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon." + "If you do not have another connected device, we advise you to save your keys in a file on your device.": { + "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", + "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." }, - "Email": { - "en": "Email", - "fr": "Adresse mail" + "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { + "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", + "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." }, - "Email (optional)": { - "en": "Email (optional)", - "fr": "Adresse mail (facultatif)" + "Warning: these keys cannot be used to unlock the messages received after backup": { + "en": "Warning: these keys cannot be used to unlock the messages received after backup", + "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" }, - "Email Address": { - "en": "Email Address", - "fr": "Adresse mail" + "Create your Tchap Key password (minimum 8 characters)": { + "en": "Create your Tchap Key password (minimum 8 characters)", + "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" }, - "Email address": { - "en": "Email address", - "fr": "Adresse mail" + "Passphrase must be at least 8 character long": { + "en": "Passphrase must be at least 8 character long", + "fr": "Le mot de passe doit minimum faire 8 caractères" }, - "Email addresses": { - "en": "Email addresses", - "fr": "Adresses mail" + "Your Tchap Key password": { + "en": "Your Tchap Key password", + "fr": "Votre mot de passe Clés Tchap" }, - "En savoir plus": { - "en": "Learn more", - "fr": "En savoir plus" + "Confirm your Tchap Key password": { + "en": "Confirm your Tchap Key password", + "fr": "Confirmer votre mot de passe Clés Tchap" }, - "Enter Security Key": { - "en": "Enter Recovery Code", - "fr": "Saisir le Code de Récupération" + "Tchap Keys saved!": { + "en": "Tchap Keys saved!", + "fr": "Clés Tchap sauvegardées !" }, - "Enter your Security Phrase or to continue.": { - "en": "Enter your Security Phrase or to continue.", - "fr": "Saisissez votre phrase de sécurité ou pour continuer." + "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { + "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", + "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." }, - "Enter your email to reset password": { - "en": "Enter your email to reset password", - "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" + "Save your Tchap Keys before logging out": { + "en": "Save your Tchap Keys before logging out", + "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" }, - "Examples:": { - "en": "Examples:", - "fr": "Exemples :" + "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { + "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", + "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." }, - "Explore public rooms": { - "en": "Explore public rooms", - "fr": "Rejoindre un forum" + "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { + "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", + "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." }, - "Explore rooms": { - "en": "Explore space rooms", - "fr": "Explorer les salons" + "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { + "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", + "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." }, - "Export E2E room keys": { - "en": "Save your Tchap keys", - "fr": "Sauvegardez vos clés Tchap" + "Sign me out": { + "en": "Sign me out", + "fr": "Me déconnecter" }, - "Export room members": { - "en": "Export room members", - "fr": "Exporter les membres du salon" + "Save my keys": { + "en": "Save my Tchap keys", + "fr": "Sauvegarder mes clés Tchap" }, - "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { - "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room.", - "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon." + "One of your devices wants to check your Tchap Keys to unlock your messages.": { + "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", + "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." }, - "External users allowed": { - "en": "external users allowed", - "fr": "ouvert aux externes" + "Please also confirm the emojis on the other device.": { + "en": "Please also confirm the emojis on the other device.", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." }, - "Failed to join": { - "en": "Failed to join this room.", - "fr": "Impossible de rejoindre ce salon" + "Incoming Verification Request": { + "en": "Incoming Verification Request", + "fr": "Partage de vos Clés Tchap" }, - "Fetching keys from server…": { - "en": "Fetching messages from server…", - "fr": "Récupération des messages depuis le serveur…" + "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { + "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", + "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." }, "Finish": { "en": "Finish", "fr": "Terminer" }, - "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { - "en": "Verify your devices to unlock your messages", - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" - }, - "Forgotten or lost all recovery methods? Reset all": { - "en": "You have lost your Recovery Code? Create a new code", - "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code" - }, - "Forum room": { - "en": "Public room", - "fr": "Forum" - }, - "Frequently Asked Questions (FAQ)": { - "en": "Frequently Asked Questions (FAQ)", - "fr": "Foire Aux Questions (FAQ)" - }, - "General Conditions of Use (CGU)": { - "en": "General Conditions of Use (CGU)", - "fr": "Conditions Générales d'Utilisation (CGU)" - }, - "Generate a Security Key": { - "en": "Generate a Recovery Code", - "fr": "Générer un Code de Récupération" + "Please accept the sharing of your Tchap Keys on the other device.": { + "en": "Please accept the sharing of your Tchap Keys on the other device.", + "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." }, - "Generate a new code": { - "en": "Generate a new code", - "fr": "Générer un nouveau code" + "Confirm the emoji below are displayed on both devices, in the same order:": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." }, - "Generate a new password. Note that your locked messages will remain locked.": { - "en": "Generate a new password. Note that your locked messages will remain locked.", - "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront." + "Please confirm the objects on the other device.": { + "en": "Please confirm the objects on the other device.", + "fr": "Veuillez confirmer les objets sur l'autre appareil." }, - "Group all your favourite rooms and people in one place.": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." + "Please confirm the objects on the other device (loading).": { + "en": "Please confirm the objects on the other device (loading).", + "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." }, - "Group all your people in one place.": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." + "The validity period of your account has expired": { + "en": "Your Tchap account has expired", + "fr": "Votre compte Tchap a expiré" }, - "I don't want my encrypted messages": { - "en": "Log out still", - "fr": "Se déconnecter quand-même" + "An email has been sent to you. Click on the link it contains, click below.": { + "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", + "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." }, "I renewed the validity of my account": { "en": "I renewed my account", "fr": "J’ai renouvelé mon compte" }, - "I wrote down my code": { - "en": "I wrote down my code", - "fr": "J'ai noté mon code" - }, - "If you do not have another connected device, we advise you to save your keys in a file on your device.": { - "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", - "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." - }, - "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { - "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", - "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" - }, - "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { - "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", - "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" - }, - "If you've forgotten your Security Key you can ": { - "en": "If you've forgotten your Recovery Code you can ", - "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez " + "Request a renewal email": { + "en": "Request a renewal email", + "fr": "Demander l’envoi d’un nouvel email" }, - "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { - "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options", - "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération" + "A new email has been sent": { + "en": "A new email has been sent", + "fr": "Un nouvel email de renouvellement vous a été adressé" }, - "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { - "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", - "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." + "Wait for at least %(wait)s seconds between two emails": { + "en": "Wait for at least %(wait)s seconds between two emails", + "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" }, - "If your other devices do not have the key for this message, you will not be able to decrypt them.": { - "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", - "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." + "The email was not sent sucessfully, please retry in a moment": { + "en": "The email was not sent sucessfully, please retry", + "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" }, - "Ignored users": { - "en": "Ignored users", - "fr": "Membres ignorés" + "Your account is still expired, please follow the link in the email you have received to renew it": { + "en": "Your account is still expired, please follow the link in the email you should have received to renew it", + "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" }, - "Import E2E room keys": { - "en": "Import your Tchap keys from the downloaded file", - "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" + "Congratulations, your account has been renewed": { + "en": "Congratulations, your account has been renewed", + "fr": "Félicitations, votre compte a été renouvelé" }, - "Incoming Verification Request": { - "en": "Incoming Verification Request", - "fr": "Partage de vos Clés Tchap" + "The app will reload now": { + "en": "You can refresh the page to continue your conversations", + "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" }, - "Incorrect Security Phrase": { - "en": "Recovery code not recognized", - "fr": "Code de récupération non reconnu" + "Reload the app": { + "en": "Reload page", + "fr": "Rafraîchir la page" }, - "Invalid Email Address": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" + "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { + "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", + "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." }, - "Invite someone using their name, email address, username (like ) or share this room.": { - "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", - "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." + "Re-send a request to your other devices": { + "en": "Re-send a request to your other devices", + "fr": "Renvoyer une demande à un autre appareil" }, - "Invite someone using their name, email address, username (like ) or share this space.": { - "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", - "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." + "Request in progress...": { + "en": "Request in progress...", + "fr": "Demande en cours..." }, - "Join public room": { - "en": "Join a public room", - "fr": "Rejoindre un forum" + "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { + "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", + "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." }, - "Just want to get your own logs, without sharing them with the Tchap team?": { - "en": "Just want to get your own logs, without sharing them with the Tchap team?", - "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" + "If your other devices do not have the key for this message, you will not be able to decrypt them.": { + "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", + "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." }, - "Keys restored": { - "en": "Messages restored", - "fr": "Messages récupérés" + "Your key share request has been sent - please check your other devices for key share requests.": { + "en": "Your key share request has been sent - please check your other devices for key share requests.", + "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." }, - "Known issues": { - "en": "Known issues", - "fr": "Problèmes connus" + "Import from saved file": { + "en": "Import from saved file", + "fr": "Importer depuis le fichier sauvegardé" }, "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" }, - "Make a copy of your Security Key": { - "en": "Make a copy of your Recovery Code", - "fr": "Faire une copie de votre Code de Récupération" - }, - "Muted Users": { - "en": "Muted Users", - "fr": "Membres en sourdine" - }, - "One of your devices wants to check your Tchap Keys to unlock your messages.": { - "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", - "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." - }, - "Open another device to load encrypted messages": { - "en": "Use another device to unlock your messages.", - "fr": "Utiliser un autre appareil pour déverrouiller vos messages." - }, - "Or if that doesn't work, please follow these steps.": { - "en": "Or if that doesn't work, please follow these steps.", - "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes." + "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { + "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", + "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" }, - "Other sessions": { - "en": "Other devices", - "fr": "Autres appareils" + "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils.", + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost." }, - "Other users may not trust it": { - "en": "You may not be able to recover your messages.", - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." + "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages.", + "en": "Currently %(brand)s does not support searching into messages." }, - "Passphrase must be at least 8 character long": { - "en": "Passphrase must be at least 8 character long", - "fr": "Le mot de passe doit minimum faire 8 caractères" + "Export E2E room keys": { + "en": "Save your Tchap keys", + "fr": "Sauvegardez vos clés Tchap" }, - "Please accept the sharing of your Tchap Keys on the other device.": { - "en": "Please accept the sharing of your Tchap Keys on the other device.", - "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." + "Import E2E room keys": { + "en": "Import your Tchap keys from the downloaded file", + "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" }, - "Please also confirm the emojis on the other device.": { - "en": "Please also confirm the emojis on the other device.", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { + "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", + "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." }, - "Please confirm the objects on the other device (loading).": { - "en": "Please confirm the objects on the other device (loading).", - "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." + "Thread": { + "en": "Thread", + "fr": "Discussion" }, - "Please confirm the objects on the other device.": { - "en": "Please confirm the objects on the other device.", - "fr": "Veuillez confirmer les objets sur l'autre appareil." + "Join public room": { + "en": "Join a public room", + "fr": "Rejoindre un forum" }, - "Please note this is not your recovery code for your automatic backup.": { - "en": "Please note this is not your Recovery Code for your automatic backup.", - "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique." + "Explore rooms": { + "en": "Explore space rooms", + "fr": "Explorer les salons" }, - "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." + "Explore public rooms": { + "en": "Explore public rooms", + "fr": "Rejoindre un forum" }, - "Please tell us what went wrong in the \"Notes\" field.": { - "en": "Please tell us what went wrong in the \"Notes\" field.", - "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." + "Start chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Please wait as we try to decrypt your messages. This may take a few moments.": { - "en": "Please wait as we try to unlock your messages. This may take a few moments.", - "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps." + "Start new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Privacy Policy": { - "en": "Privacy Policy", - "fr": "Politique de Confidentialité" + "Start a new chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { - "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", - "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." + "Chat": { + "en": "New direct message", + "fr": "Nouveau message direct" }, - "Private discussions accessible to all users of this space.": { - "en": "Private discussions accessible to all users of this space.", - "fr": "Discussions privées accessibles à tous les membres de cet espace" + "Direct Messages": { + "en": "Direct Messages", + "fr": "Messages directs" }, - "Private room": { - "en": "Private room", - "fr": "Salon" + "Recently Direct Messaged": { + "en": "Recents chats", + "fr": "Messages directs récents" }, - "Private room open to external users": { - "en": "Private room open to external users", - "fr": "Salon ouvert aux externes" + "Recent Conversations": { + "en": "Recents chats", + "fr": "Messages directs récents" }, - "Privileged Users": { - "en": "Privileged Users", - "fr": "Membres privilégiés" + "common": { + "secure_backup": { + "en": "Secure Backup", + "fr": "Sauvegarde automatique des messages" + } }, - "Public discussion accessible to all users of this space or from a shared link.": { - "en": "Public discussion accessible to all users of this space or from a shared link.", - "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." + "You can also set up Secure Backup & manage your keys in Settings.": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." }, - "Public room": { - "en": "Public room", - "fr": "Forum" + "Set up Secure Backup": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" }, - "Re-enter email address": { - "en": "Re-enter email address", - "fr": "Re-saisir l'adresse mail" + "Email": { + "en": "Email", + "fr": "Adresse mail" }, - "Read the CGU": { - "en": "Read the CGU", - "fr": "Consultez les CGU" + "Invalid Email Address": { + "en": "Invalid Email Address", + "fr": "Adresse mail non valide" }, - "Read the FAQ": { - "en": "Read the FAQ", - "fr": "Consultez la FAQ" + "Email address": { + "en": "Email address", + "fr": "Adresse mail" }, - "Read the Known Issues": { - "en": "Read the Known Issues", - "fr": "Consultez les problèmes connus" + "Email Address": { + "en": "Email Address", + "fr": "Adresse mail" }, - "Read the Privacy Policy": { - "en": "Read the Privacy Policy", - "fr": "Lire la Politique de Confidentialité" + "Email addresses": { + "en": "Email addresses", + "fr": "Adresses mail" }, - "Really reset verification keys?": { - "en": "Really reset Recovery Code?", - "fr": "Réinitialiser le Code de Récupération, c’est certain ?" + "Email (optional)": { + "en": "Email (optional)", + "fr": "Adresse mail (facultatif)" }, - "Receive push notifications on this session.": { - "en": "Receive push notifications on this device.", - "fr": "Recevoir les notifications push sur cet appareil" + "Add Email Address": { + "en": "Add Email Address", + "fr": "Ajouter une adresse mail" }, - "Recent Conversations": { - "en": "Recents chats", - "fr": "Messages directs récents" + "Room members": { + "en": "Room members", + "fr": "Membres du salon" }, - "Recently Direct Messaged": { - "en": "Recents chats", - "fr": "Messages directs récents" + "Banned users": { + "en": "Banned users", + "fr": "Membres bannis" }, - "Reload the app": { - "en": "Reload page", - "fr": "Rafraîchir la page" + "Privileged Users": { + "en": "Privileged Users", + "fr": "Membres privilégiés" }, - "Remove from %(roomName)s": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" + "Muted Users": { + "en": "Muted Users", + "fr": "Membres en sourdine" + }, + "Ignored users": { + "en": "Ignored users", + "fr": "Membres ignorés" }, "Remove from room": { "en": "Remove from room", "fr": "Retirer du salon (réversible)" }, - "Remove them from everything I'm able to": { - "en": "Remove them from everything I'm able to", - "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" - }, "Remove them from specific things I'm able to": { "en": "Remove them from specific things I'm able to", "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" }, + "Remove them from everything I'm able to": { + "en": "Remove them from everything I'm able to", + "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" + }, "Remove users": { "en": "Remove users", "fr": "Retirer des utilisateurs (réversible)" }, + "Remove, ban, or invite people to your active room, and make you leave": { + "en": "Remove, ban, or invite people to your active room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" + }, "Remove, ban, or invite people to this room, and make you leave": { "en": "Remove, ban, or invite people to this room, and make you leave", "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" }, - "Remove, ban, or invite people to your active room, and make you leave": { - "en": "Remove, ban, or invite people to your active room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" + "Remove from %(roomName)s": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" }, - "Request a renewal email": { - "en": "Request a renewal email", - "fr": "Demander l’envoi d’un nouvel email" + "You need to be able to kick users to do that.": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." }, - "Request in progress...": { - "en": "Request in progress...", - "fr": "Demande en cours..." + "Ban users": { + "en": "Ban users", + "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" }, - "Resend key requests": { - "en": "Resend key requests", - "fr": "Renvoyer une demande" + "Ban them from specific things I'm able to": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" }, - "Reset your keys to prevent future decryption errors": { - "en": "Enable automatic secure backup", - "fr": "Activez la sauvegarde automatique des messages" + "Ban them from everything I'm able to": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + }, + "Ban from %(roomName)s": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" + }, + "Ban from room": { + "en": "Ban from room", + "fr": "Interdire l’accès au salon (définitif)" + }, + "Ban from space": { + "en": "Ban from space", + "fr": "Interdire l’accès à l'espace (définitif)" + }, + "Group all your people in one place.": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." + }, + "Group all your favourite rooms and people in one place.": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." + }, + "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." + }, + "Show all your rooms in Home, even if they're in a space.": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" + }, + "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { + "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s.", + "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s." + }, + "Sign in instead": { + "en": "Sign in instead", + "fr": "ou connectez-vous" + }, + "Enter your email to reset password": { + "en": "Enter your email to reset password", + "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" }, "Reset your password": { "en": "Reset your password", "fr": "Réinitialisez votre mot de passe" }, - "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." + "Did not receive it?": { + "en": "Did not receive it?", + "fr": "Pas reçu ?" }, - "Restore from Backup": { - "en": "Retrieve my messages", - "fr": "Récupérer mes messages" + "Wrong email address?": { + "en": "Wrong email address?", + "fr": "Mauvaise adresse mail ?" }, - "Restoring keys from backup": { - "en": "Restoring messages from backup", - "fr": "Restauration des messages depuis la sauvegarde" + "Re-enter email address": { + "en": "Re-enter email address", + "fr": "Re-saisir l'adresse mail" }, - "Review Tchap services status : url": { - "en": "Tchap is not available at the moment %(errCode)s. View the status of services.", - "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service" + "Check your email to continue": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" }, - "Room members": { - "en": "Room members", - "fr": "Membres du salon" + "Verify your email to continue": { + "en": "Verify your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, + "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { + "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", + "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" + }, + "Send email": { + "en": "Send email", + "fr": "Envoyer le mail" + }, + "This is your recovery key": { + "fr": "Ce code vous permettra de toujours récupérer vos messages.", + "en": "This code will allow you to always restore your messages." + }, + "Warning: this is the only time this code will be displayed!": { + "fr": "Attention: c’est la seule fois que ce code sera affiché !", + "en": "Warning: this is the only time this code will be displayed!" + }, + "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran.", + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots." + }, + "I wrote down my code": { + "fr": "J'ai noté mon code", + "en": "I wrote down my code" }, "Safeguard against losing access to encrypted messages & data": { - "en": "Activate your Recovery Code to never lose your messages", - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages", + "en": "Activate your Recovery Code to never lose your messages" }, - "Save my keys": { - "en": "Save my Tchap keys", - "fr": "Sauvegarder mes clés Tchap" + "Security Key": { + "fr": "Code de Récupération", + "en": "Recovery Code" }, - "Save your Security Key": { - "en": "Write down your Recovery Code", - "fr": "Notez votre Code de Récupération" + "Verify with Security Key": { + "fr": "Vérifier avec un Code de Récupération", + "en": "Verify with Recovery Code" }, - "Save your Tchap Keys (encryption keys)": { - "en": "Save your Tchap Keys (encryption keys)", - "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" + "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable.", + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted." }, - "Save your Tchap Keys before logging out": { - "en": "Save your Tchap Keys before logging out", - "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" + "I don't want my encrypted messages": { + "fr": "Se déconnecter quand-même", + "en": "Log out still" }, - "Scan unavailable": { - "en": "Scan unavailable", - "fr": "Scan unavailable" + "Start using Key Backup": { + "fr": "Utiliser la sauvegarde automatique", + "en": "Use automatic Backup" }, - "Scanning": { - "en": "Scanning", - "fr": "Scanning" + "Use your Security Key to continue.": { + "fr": "Utilisez votre Code de Récupération pour continuer.", + "en": "Use your Recovery Code to continue." }, - "Secure Backup successful": { - "en": "Secure backup successfully enabled.", - "fr": "Sauvegarde automatique activée avec succès" + "Generate a Security Key": { + "fr": "Générer un Code de Récupération", + "en": "Generate a Recovery Code" }, - "Secure your backup with a Security Phrase": { - "en": "Secure your backup with a Recovery Code", - "fr": "Protégez votre sauvegarde avec un Code de Récupération" + "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde.", + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup." }, - "Security Key": { - "en": "Recovery Code", - "fr": "Code de Récupération" + "Save your Security Key": { + "fr": "Notez votre Code de Récupération", + "en": "Write down your Recovery Code" }, - "Send email": { - "en": "Send email", - "fr": "Envoyer le mail" + "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés.", + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed." }, - "Sent messages will be stored until your connection has returned.": { - "en": "Messages will be sent when your connection returns.", - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." + "A new Security Phrase and key for Secure Messages have been detected.": { + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté.", + "en": "A new Recovery Code for Secure Messages has been detected." }, - "Server may be unavailable, overloaded, or you hit a bug.": { - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + "Make a copy of your Security Key": { + "fr": "Faire une copie de votre Code de Récupération", + "en": "Make a copy of your Recovery Code" }, - "Server unavailable, overloaded, or something else went wrong.": { - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + "Secure your backup with a Security Phrase": { + "fr": "Protégez votre sauvegarde avec un Code de Récupération", + "en": "Secure your backup with a Recovery Code" }, - "Sessions": { - "en": "My devices", - "fr": "Mes appareils" + "Your Security Key is in your Downloads folder.": { + "fr": "Votre Code de Récupération est dans le répertoire Téléchargements.", + "en": "Your Recovery Code is in your Downloads folder." }, - "Set up": { - "en": "Activate", - "fr": "Activer" + "Your Security Key": { + "fr": "Votre Code de Récupération", + "en": "Your Recovery Code" }, - "Set up Secure Backup": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" + "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { + "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète.", + "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase." }, "Set up with a Security Key": { - "en": "Set up with a Recovery Code", - "fr": "Configurer avec un Code de Récupération" + "fr": "Configurer avec un Code de Récupération", + "en": "Set up with a Recovery Code" }, - "Setting up keys": { - "en": "Setting up your Recovery Code", - "fr": "Configuration du Code de Récupération" + "If you've forgotten your Security Key you can ": { + "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez ", + "en": "If you've forgotten your Recovery Code you can " }, - "Show all your rooms in Home, even if they're in a space.": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" + "Access your secure message history and set up secure messaging by entering your Security Key.": { + "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération.", + "en": "Access your secure message history and set up secure messaging by entering your Recovery Code." }, - "Sign in instead": { - "en": "Sign in instead", - "fr": "ou connectez-vous" + "Enter Security Key": { + "fr": "Saisir le Code de Récupération", + "en": "Enter Recovery Code" }, - "Sign me out": { - "en": "Sign me out", - "fr": "Me déconnecter" + "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { + "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération", + "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options" }, - "Sign out of %(count)s sessions|one": { - "en": "Sign out of %(count)s device", - "fr": "Déconnecter %(count)s appareil" + "Incorrect Security Phrase": { + "fr": "Code de récupération non reconnu", + "en": "Recovery code not recognized" }, - "Sign out of %(count)s sessions|other": { - "en": "Sign out of %(count)s devices", - "fr": "Déconnecter %(count)s appareils" + "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { + "fr": "Merci d'essayer à nouveau avec votre code de récupération.", + "en": "Please try again with your recovery code." }, - "Sign out of all other sessions (%(otherSessionsCount)s)": { - "en": "Sign out of all other devices (%(otherSessionsCount)s)", - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" + "Verify with Security Key or Phrase": { + "fr": "Vérifier avec un Code de Récupération ou une phrase", + "en": "Verify with Recovery Code or Phrase" }, - "Sign out of this session": { - "en": "Sign out of this device", - "fr": "Se déconnecter de cet appareil" + "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { + "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

", + "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

" }, - "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." + "Enter your Security Phrase or to continue.": { + "fr": "Saisissez votre phrase de sécurité ou pour continuer.", + "en": "Enter your Security Phrase or to continue." }, - "Some messages could not be decrypted": { - "en": "Some messages could not be unlocked", - "fr": "Certains messages n’ont pas pu être déverrouillés" + "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre.", + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe." }, - "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." + "Invite someone using their name, email address, username (like ) or share this room.": { + "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", + "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." }, - "Start a new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Invite someone using their name, email address, username (like ) or share this space.": { + "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", + "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." }, - "Start chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "User is already in the room": { + "fr": "Cette personne est déjà dans le salon.", + "en": "User is already in the room." }, - "Start new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" + "Set up": { + "fr": "Activer", + "en": "Activate" }, - "Start using Key Backup": { - "en": "Use automatic Backup", - "fr": "Utiliser la sauvegarde automatique" + "Connect this session to Key Backup": { + "fr": "Vérifier cet appareil", + "en": "Verify this device" }, - "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." + "Forgotten or lost all recovery methods? Reset all": { + "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code", + "en": "You have lost your Recovery Code? Create a new code" }, - "Submit debug logs to Tchap support team": { - "comment": "The title of BugReportDialog is unclear, specify it", - "en": "Submit debug logs to Tchap support team", - "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap" + "Unable to verify this device": { + "fr": "Vous vous connectez à un nouvel appareil", + "en": "You are logging into a new device" }, - "Successfully restored %(sessionCount)s keys": { - "en": "%(sessionCount)s messages have been successfully restored.", - "fr": "%(sessionCount)s messages ont été récupérés avec succès." + "Reset your keys to prevent future decryption errors": { + "fr": "Activez la sauvegarde automatique des messages", + "en": "Enable automatic secure backup" }, - "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { - "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", - "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." + "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { + "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité", + "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings" + }, + "Resend key requests": { + "fr": "Renvoyer une demande", + "en": "Resend key requests" + }, + "Open another device to load encrypted messages": { + "fr": "Utiliser un autre appareil pour déverrouiller vos messages.", + "en": "Use another device to unlock your messages." + }, + "Or if that doesn't work, please follow these steps.": { + "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes.", + "en": "Or if that doesn't work, please follow these steps." + }, + "threads": { + "unable_to_decrypt": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment.", + "en": "Waiting for this message. This could take a while." + } + }, + "Unable to decrypt message": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment.", + "en": "Waiting for this message. This could take a while.", + "comment": "replaced by threads|unable_to_decrypt ?" + }, + "Waiting for this message. This could take a while. Find out more": { + "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus", + "en": "Waiting for this message. This could take a while. Find out more" + }, + "Decrypting messages…": { + "fr": "Déverrouillage des messages…", + "end": "Unlocking messages…" + }, + "Please wait as we try to decrypt your messages. This may take a few moments.": { + "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps.", + "en": "Please wait as we try to unlock your messages. This may take a few moments." + }, + "Some messages could not be decrypted": { + "fr": "Certains messages n’ont pas pu être déverrouillés", + "en": "Some messages could not be unlocked" + }, + "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { + "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir.", + "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future." + }, + "These keys only apply to the current session.": { + "fr": "Ces clés ne concernent que la session en cours.", + "en": "These keys only apply to the current session." }, - "Tchap Keys saved!": { - "en": "Tchap Keys saved!", - "fr": "Clés Tchap sauvegardées !" + "Please note this is not your recovery code for your automatic backup.": { + "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique.", + "en": "Please note this is not your Recovery Code for your automatic backup." }, "Tchap keys": { - "en": "Tchap keys", - "fr": "Clés Tchap" + "fr": "Clés Tchap", + "en": "Tchap keys" }, "Tchap keys:": { - "en": "Tchap keys:", - "fr": "Clés Tchap :" + "fr": "Clés Tchap :", + "en": "Tchap keys:" }, "That email is not allowed on Tchap": { - "en": "Your email adress is not allowed on Tchap. Make an autorization request here", - "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire" - }, - "The app will reload now": { - "en": "You can refresh the page to continue your conversations", - "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" - }, - "The email was not sent sucessfully, please retry in a moment": { - "en": "The email was not sent sucessfully, please retry", - "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" + "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire", + "en": "Your email adress is not allowed on Tchap. Make an autorization request here" }, - "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { - "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", - "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." + "Generate a new code": { + "fr": "Générer un nouveau code", + "en": "Generate a new code" }, - "The validity period of your account has expired": { - "en": "Your Tchap account has expired", - "fr": "Votre compte Tchap a expiré" + "Failed to join": { + "fr": "Impossible de rejoindre ce salon", + "en": "Failed to join this room." }, - "These keys only apply to the current session.": { - "en": "These keys only apply to the current session.", - "fr": "Ces clés ne concernent que la session en cours." + "Access possible only by invitation of a member of the room.": { + "fr": "Accès possible uniquement sur invitation d'un membre du salon.", + "en": "Access possible only by invitation of a member of the room." }, - "This action is irreversible.": { - "en": "This action is irreversible.", - "fr": "Cette action est irréversible." + "Restore from Backup": { + "fr": "Récupérer mes messages", + "en": "Retrieve my messages" }, - "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { - "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", - "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." + "This session is backing up your keys.": { + "fr": "Cet appareil sauvegarde automatiquement vos messages.", + "en": "This device automatically backs up your messages." }, - "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { - "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s.", - "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s." + "Cross-signing is not set up.": { + "fr": "La signature croisée n’est pas active", + "en": "Cross-signing is not active." }, - "This is your recovery key": { - "en": "This code will allow you to always restore your messages.", - "fr": "Ce code vous permettra de toujours récupérer vos messages." + "Cross-signing is ready but keys are not backed up.": { + "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages.", + "en": "Cross-signing is ready but not the secure backup." }, - "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." + "Cross-signing is ready for use.": { + "fr": "La signature croisée est activée sur cet appareil.", + "en": "Cross-signing is activated on this device." }, - "This room is a public forum": { - "en": "This room is a public forum", - "fr": "Ce salon est un forum public" + "Your keys are not being backed up from this session.": { + "fr": "Cet appareil ne sauvegarde pas vos messages.", + "en": "This device is not backing up your messages." }, - "This room is private": { - "en": "This room is private", - "fr": "Ce salon est privé" + "Secure Backup successful": { + "fr": "Sauvegarde automatique activée avec succès", + "en": "Secure backup successfully enabled." }, - "This room is private and open to external users": { - "en": "This room is private and open to external users", - "fr": "Ce salon est privé et ouvert aux externes" + "Your keys are now being backed up from this device.": { + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil.", + "en": "Your messages are now automatically backed up on this device." }, - "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." + "Wrong Security Key": { + "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent.", + "en": "The Recovery Code is not valid. Check that it is the latest one." }, - "This session is backing up your keys.": { - "en": "This device automatically backs up your messages.", - "fr": "Cet appareil sauvegarde automatiquement vos messages." + "Keys restored": { + "fr": "Messages récupérés", + "en": "Messages restored" }, - "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { - "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", - "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." + "Successfully restored %(sessionCount)s keys": { + "fr": "%(sessionCount)s messages ont été récupérés avec succès.", + "en": "%(sessionCount)s messages have been successfully restored." }, - "Thread": { - "en": "Thread", - "fr": "Discussion" + "Setting up keys": { + "fr": "Configuration du Code de Récupération", + "en": "Setting up your Recovery Code" }, - "Trusted": { - "en": "Trusted", - "fr": "Vérifié" + "Restoring keys from backup": { + "fr": "Restauration des messages depuis la sauvegarde", + "en": "Restoring messages from backup" }, - "Unable to decrypt message": { - "comment": "replaced by threads|unable_to_decrypt ?", - "en": "Waiting for this message. This could take a while.", - "fr": "En attente de ce message. Ceci pourrait prendre un moment." + "Fetching keys from server…": { + "fr": "Récupération des messages depuis le serveur…", + "en": "Fetching messages from server…" }, - "Unable to verify this device": { - "en": "You are logging into a new device", - "fr": "Vous vous connectez à un nouvel appareil" + "Generate a new password. Note that your locked messages will remain locked.": { + "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront.", + "en": "Generate a new password. Note that your locked messages will remain locked." }, - "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { - "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future.", - "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir." + "Where you're signed in": { + "fr": "Appareils connectés", + "en": "Connected devices" }, - "Unverified": { - "en": "Unverified", - "fr": "Non vérifié" + "Activate on this device": { + "fr": "Activer sur cet appareil", + "en": "Activate on this device" }, - "Unverified session": { - "en": "Unverified device", - "fr": "Appareil non vérifié" + "Verify this session": { + "fr": "Vérifier cet appareil", + "en": "Verify this device" }, - "Unverified sessions": { - "en": "Unverified devices", - "fr": "Appareils non vérifiés" + "Other users may not trust it": { + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages.", + "en": "You may not be able to recover your messages." }, - "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." + "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { + "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités.", + "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back." }, "Upgrade private room": { - "en": "This room will be updated", - "fr": "Ce salon va être mis à jour" + "fr": "Ce salon va être mis à jour", + "en": "This room will be updated" }, - "Upgrade room": { - "en": "Upgrade room", - "fr": "Mettre à jour le salon" - }, - "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." + "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { + "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon.", + "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room." }, - "Use your Security Key to continue.": { - "en": "Use your Recovery Code to continue.", - "fr": "Utilisez votre Code de Récupération pour continuer." + "Upgrade room": { + "fr": "Mettre à jour le salon", + "en": "Upgrade room" }, - "User is already in the room": { - "en": "User is already in the room.", - "fr": "Cette personne est déjà dans le salon." + "Verify your identity to access encrypted messages and prove your identity to others.": { + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres.", + "en": "Verify your identity to access locked messages and prove your identity to others." }, - "Verified": { - "en": "Verified ", - "fr": "Vérifié" + "Really reset verification keys?": { + "fr": "Réinitialiser le Code de Récupération, c’est certain ?", + "en": "Really reset Recovery Code?" }, - "Verified session": { - "en": "Verified device", - "fr": "Appareil vérifié" + "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés.", + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages." }, - "Verified sessions": { - "en": "Verified devices", - "fr": "Appareils vérifiés" + "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération.", + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code." }, - "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { - "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", - "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." + "Export room members": { + "fr": "Exporter les membres du salon", + "en": "Export room members" }, - "Verify session": { - "en": "Verify device", - "fr": "Vérifier l'appareil" + "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { + "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon.", + "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room." }, - "Verify this session": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" + "members_of_%(roomName)s.txt": { + "fr": "membres_de_%(roomName)s.txt", + "en": "members_of_%(roomName)s.txt" }, - "Verify with Security Key": { - "en": "Verify with Recovery Code", - "fr": "Vérifier avec un Code de Récupération" + "Destroy cross-signing keys?": { + "fr": "Réinitialiser les clés de signature croisée ?", + "en": "Reset cross-signing keys?" }, - "Verify with Security Key or Phrase": { - "en": "Verify with Recovery Code or Phrase", - "fr": "Vérifier avec un Code de Récupération ou une phrase" + "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { + "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée.", + "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing." }, - "Verify your current session for enhanced secure messaging.": { - "en": "Verify your current device to get your messages.", - "fr": "Vérifier cet appareil afin de visualiser vos messages" + "Clear cross-signing keys": { + "fr": "Réinitialiser les clés de signature croisée", + "en": "Reset Recovery Code" }, - "Verify your email to continue": { - "en": "Verify your email to continue", - "fr": "Vérifiez vos mails avant de continuer" + "General Conditions of Use (CGU)": { + "en": "General Conditions of Use (CGU)", + "fr": "Conditions Générales d'Utilisation (CGU)" }, - "Verify your identity to access encrypted messages and prove your identity to others.": { - "en": "Verify your identity to access locked messages and prove your identity to others.", - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." + "Read the CGU": { + "en": "Read the CGU", + "fr": "Consultez les CGU" }, - "Wait for at least %(wait)s seconds between two emails": { - "en": "Wait for at least %(wait)s seconds between two emails", - "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" + "Privacy Policy": { + "en": "Privacy Policy", + "fr": "Politique de Confidentialité" }, - "Waiting for this message. This could take a while. Find out more": { - "en": "Waiting for this message. This could take a while. Find out more", - "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" + "Read the Privacy Policy": { + "en": "Read the Privacy Policy", + "fr": "Lire la Politique de Confidentialité" }, - "Warning: this is the only time this code will be displayed!": { - "en": "Warning: this is the only time this code will be displayed!", - "fr": "Attention: c’est la seule fois que ce code sera affiché !" + "la messagerie instantanée de l'Administration": { + "en": "The instant messaging app of the French Administration", + "fr": "la messagerie instantanée de l'Administration" }, - "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { - "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", - "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." + "Conçue et gérée par l'Administration française": { + "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", + "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." }, - "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { - "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", - "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" + "En savoir plus": { + "en": "Learn more", + "fr": "En savoir plus" }, - "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." + "Your %(brand)s is misconfigured": { + "fr": "", + "en": "" }, - "Welcome to Tchap": { - "en": "Welcome to Tchap", - "fr": "Bienvenue sur Tchap" + "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { + "fr": "", + "en": "" }, - "Where you're signed in": { - "en": "Connected devices", - "fr": "Appareils connectés" + "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { + "fr": "", + "en": "" }, - "Wrong Security Key": { - "en": "The Recovery Code is not valid. Check that it is the latest one.", - "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent." + "Server may be unavailable, overloaded, or you hit a bug.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr", + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr" }, - "Wrong email address?": { - "en": "Wrong email address?", - "fr": "Mauvaise adresse mail ?" + "Server unavailable, overloaded, or something else went wrong.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr", + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr" }, - "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { - "en": "", - "fr": "" + "Connectivity to the server has been lost.": { + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service", + "en": "Tchap is not available at the moment. View the status of services." }, - "You can also set up Secure Backup & manage your keys in Settings.": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + "Review Tchap services status : url": { + "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service", + "en": "Tchap is not available at the moment %(errCode)s. View the status of services." }, - "You can close this disconnected tab, and go to the other %(brand)s tab.": { - "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", - "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." + "Sent messages will be stored until your connection has returned.": { + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie.", + "en": "Messages will be sent when your connection returns." }, - "You need to be able to kick users to do that.": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." + "Sessions": { + "fr": "Mes appareils", + "en": "My devices" }, - "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." + "Current session": { + "fr": "Cet appareil", + "en": "This device" }, - "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { - "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings", - "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité" + "Verified session": { + "fr": "Appareil vérifié", + "en": "Verified device" }, - "Your %(brand)s is misconfigured": { - "en": "", - "fr": "" + "Other sessions": { + "fr": "Autres appareils", + "en": "Other devices" }, - "Your Security Key": { - "en": "Your Recovery Code", - "fr": "Votre Code de Récupération" + "Verify your current session for enhanced secure messaging.": { + "fr": "Vérifier cet appareil afin de visualiser vos messages", + "en": "Verify your current device to get your messages." }, - "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { - "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.", - "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète." + "Verify session": { + "fr": "Vérifier l'appareil", + "en": "Verify device" }, - "Your Security Key is in your Downloads folder.": { - "en": "Your Recovery Code is in your Downloads folder.", - "fr": "Votre Code de Récupération est dans le répertoire Téléchargements." + "Sign out of this session": { + "fr": "Se déconnecter de cet appareil", + "en": "Sign out of this device" }, - "Your Tchap Key password": { - "en": "Your Tchap Key password", - "fr": "Votre mot de passe Clés Tchap" + "Receive push notifications on this session.": { + "fr": "Recevoir les notifications push sur cet appareil", + "en": "Receive push notifications on this device." }, - "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { - "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", - "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." + "Unverified": { + "fr": "Non vérifié", + "en": "Unverified" }, - "Your account is still expired, please follow the link in the email you have received to renew it": { - "en": "Your account is still expired, please follow the link in the email you should have received to renew it", - "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" + "Verified": { + "fr": "Vérifié", + "en": "Verified " }, "Your current session is ready for secure messaging.": { - "en": "", - "fr": "" + "fr": "", + "en": "" }, - "Your key share request has been sent - please check your other devices for key share requests.": { - "en": "Your key share request has been sent - please check your other devices for key share requests.", - "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." + "%(count)s sessions selected|one": { + "fr": "%(count)s appareil sélectionné", + "en": "%(count)s device selected" }, - "Your keys are not being backed up from this session.": { - "en": "This device is not backing up your messages.", - "fr": "Cet appareil ne sauvegarde pas vos messages." + "%(count)s sessions selected|other": { + "fr": "%(count)s appareils sélectionnés", + "en": "%(count)s devices selected" }, - "Your keys are now being backed up from this device.": { - "en": "Your messages are now automatically backed up on this device.", - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." + "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages", + "en": "Verify your devices to unlock your messages" }, - "Your last three login attempts have failed. Please try again in a few minutes.": { - "en": "Your last three login attempts have failed. Please try again in a few minutes.", - "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." + "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil.", + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device." }, - "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." + "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { + "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié.", + "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device." }, - "Your password must include:": { - "en": "Your password must include:", - "fr": "Votre mot de passe doit comporter :" + "Verified sessions": { + "fr": "Appareils vérifiés", + "en": "Verified devices" }, - "a lowercase letter": { - "en": "a lowercase letter", - "fr": "une lettre minuscule" + "Unverified sessions": { + "fr": "Appareils non vérifiés", + "en": "Unverified devices" }, - "a minimum of %(number)s characters": { - "en": "a minimum of %(number)s characters", - "fr": "%(number)s caractères au minimum" + "Unverified session": { + "fr": "Appareil non vérifié", + "en": "Unverified device" }, - "a number": { - "en": "a number", - "fr": "un chiffre" + "Sign out of %(count)s sessions|one": { + "fr": "Déconnecter %(count)s appareil", + "en": "Sign out of %(count)s device" }, - "a symbol": { - "en": "a symbol", - "fr": "un caractère spécial" + "Sign out of %(count)s sessions|other": { + "fr": "Déconnecter %(count)s appareils", + "en": "Sign out of %(count)s devices" }, - "an uppercase letter": { - "en": "an uppercase letter", - "fr": "une lettre majuscule" + "Sign out of all other sessions (%(otherSessionsCount)s)": { + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)", + "en": "Sign out of all other devices (%(otherSessionsCount)s)" }, - "common": { - "secure_backup": { - "en": "Secure Backup", - "fr": "Sauvegarde automatique des messages" - } + "Are you sure you want to sign out of %(count)s sessions?|one": { + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?", + "en": "Are you sure you want to sign out of %(count)s device?" }, - "la messagerie instantanée de l'Administration": { - "en": "The instant messaging app of the French Administration", - "fr": "la messagerie instantanée de l'Administration" + "Are you sure you want to sign out of %(count)s sessions?|other": { + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?", + "en": "Are you sure you want to sign out of %(count)s devices?" }, - "members_of_%(roomName)s.txt": { - "en": "members_of_%(roomName)s.txt", - "fr": "membres_de_%(roomName)s.txt" + "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte.", + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account." + }, + "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération).", + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code)." }, "onboarding_free_e2ee_messaging_tchap_limited_voip": { "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." }, - "threads": { - "unable_to_decrypt": { - "en": "Waiting for this message. This could take a while.", - "fr": "En attente de ce message. Ceci pourrait prendre un moment." - } + "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { + "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", + "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre.", + "comment": "2023-11-08: remove once the string is translated in element" + }, + "You can close this disconnected tab, and go to the other %(brand)s tab.": { + "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", + "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." } } diff --git a/modules/tchap-translations/tchap_translations_out_of_order.json b/modules/tchap-translations/tchap_translations_out_of_order.json deleted file mode 100644 index 211c62b5fa..0000000000 --- a/modules/tchap-translations/tchap_translations_out_of_order.json +++ /dev/null @@ -1,1161 +0,0 @@ -{ - "Welcome to Tchap": { - "en": "Welcome to Tchap", - "fr": "Bienvenue sur Tchap" - }, - "Examples:": { - "en": "Examples:", - "fr": "Exemples :" - }, - "Choose a homeserver:": { - "en": "Choose a homeserver:", - "fr": "Choisissez un serveur d'accueil :" - }, - "Private room": { - "en": "Private room", - "fr": "Salon" - }, - "Private room open to external users": { - "en": "Private room open to external users", - "fr": "Salon ouvert aux externes" - }, - "Public room": { - "en": "Public room", - "fr": "Forum" - }, - "Forum room": { - "en": "Public room", - "fr": "Forum" - }, - "This room is private": { - "en": "This room is private", - "fr": "Ce salon est privé" - }, - "This room is private and open to external users": { - "en": "This room is private and open to external users", - "fr": "Ce salon est privé et ouvert aux externes" - }, - "This room is a public forum": { - "en": "This room is a public forum", - "fr": "Ce salon est un forum public" - }, - "Accessible to all users by invitation from an administrator.": { - "en": "Accessible to all users by invitation from an administrator.", - "fr": "Accessible à tous les utilisateurs sur invitation d'un administrateur." - }, - "Accessible to all users and to external guests by invitation of an administrator.": { - "en": "Accessible to all users and to external guests by invitation of an administrator.", - "fr": "Accessible à tous les utilisateurs et aux invités externes sur invitation d'un administrateur." - }, - "Accessible to all users from the forum directory or from a shared link.": { - "en": "Accessible to all users from the forum directory or from a shared link.", - "fr": "Accessible à tous les utilisateurs à partir de la liste des forums ou d'un lien partagé." - }, - "Allow access to this room to all users, even outside \"%(domain)s\" domain": { - "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", - "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" - }, - "Create a room in this space": { - "en": "Create a room in this space", - "fr": "Créer un salon dans cet espace" - }, - "Private discussions accessible to all users of this space.": { - "en": "Private discussions accessible to all users of this space.", - "fr": "Discussions privées accessibles à tous les membres de cet espace" - }, - "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.": { - "en": "Private discussions accessible to all users of this space and to external guests by invitation of an administrator.", - "fr": "Discussions privées accessibles à tous les membres de cet espace et aux utilisateurs externes sur invitation d'un administrateur." - }, - "Public discussion accessible to all users of this space or from a shared link.": { - "en": "Public discussion accessible to all users of this space or from a shared link.", - "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." - }, - "Scanning": { - "en": "Scanning", - "fr": "Scanning" - }, - "Content blocked": { - "en": "Content blocked", - "fr": "Contenu bloqué" - }, - "Trusted": { - "en": "Trusted", - "fr": "Vérifié" - }, - "Scan unavailable": { - "en": "Scan unavailable", - "fr": "Scan unavailable" - }, - "Contact us": { - "en": "Contact us", - "fr": "Contactez-nous" - }, - "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s": { - "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", - "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" - }, - "Known issues": { - "en": "Known issues", - "fr": "Problèmes connus" - }, - "Read the Known Issues": { - "en": "Read the Known Issues", - "fr": "Consultez les problèmes connus" - }, - "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { - "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", - "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." - }, - "Frequently Asked Questions (FAQ)": { - "en": "Frequently Asked Questions (FAQ)", - "fr": "Foire Aux Questions (FAQ)" - }, - "Read the FAQ": { - "en": "Read the FAQ", - "fr": "Consultez la FAQ" - }, - "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.": { - "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", - "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." - }, - "Please tell us what went wrong in the \"Notes\" field.": { - "en": "Please tell us what went wrong in the \"Notes\" field.", - "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." - }, - "Submit debug logs to Tchap support team": { - "en": "Submit debug logs to Tchap support team", - "fr": "Envoyez les journaux de débogage à l'équipe support de Tchap", - "comment": "The title of BugReportDialog is unclear, specify it" - }, - "Just want to get your own logs, without sharing them with the Tchap team?": { - "en": "Just want to get your own logs, without sharing them with the Tchap team?", - "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" - }, - "Download my logs": { - "en": "Download my logs", - "fr": "Obtenir mes journaux" - }, - "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.": { - "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", - "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." - }, - "Allow external users to join this room": { - "en": "Allow external users to join this room", - "fr": "Autoriser les externes à rejoindre ce salon" - }, - "This action is irreversible.": { - "en": "This action is irreversible.", - "fr": "Cette action est irréversible." - }, - "Are you sure you want to allow the externals to join this room ?": { - "en": "Are you sure you want to allow the externals to join this room ?", - "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" - }, - "Create Room": { - "en": "Create New Room", - "fr": "Créer un nouveau salon" - }, - "Your last three login attempts have failed. Please try again in a few minutes.": { - "en": "Your last three login attempts have failed. Please try again in a few minutes.", - "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." - }, - "Your password must include:": { - "en": "Your password must include:", - "fr": "Votre mot de passe doit comporter :" - }, - "a minimum of %(number)s characters": { - "en": "a minimum of %(number)s characters", - "fr": "%(number)s caractères au minimum" - }, - "a number": { - "en": "a number", - "fr": "un chiffre" - }, - "a symbol": { - "en": "a symbol", - "fr": "un caractère spécial" - }, - "a lowercase letter": { - "en": "a lowercase letter", - "fr": "une lettre minuscule" - }, - "an uppercase letter": { - "en": "an uppercase letter", - "fr": "une lettre majuscule" - }, - "External users allowed": { - "en": "external users allowed", - "fr": "ouvert aux externes" - }, - "Save your Tchap Keys (encryption keys)": { - "en": "Save your Tchap Keys (encryption keys)", - "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" - }, - "If you do not have another connected device, we advise you to save your keys in a file on your device.": { - "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", - "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." - }, - "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { - "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", - "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." - }, - "Warning: these keys cannot be used to unlock the messages received after backup": { - "en": "Warning: these keys cannot be used to unlock the messages received after backup", - "fr": "Attention: ces clés ne pourront pas être utilisées pour déverrouiller les messages reçus après la sauvegarde" - }, - "Create your Tchap Key password (minimum 8 characters)": { - "en": "Create your Tchap Key password (minimum 8 characters)", - "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" - }, - "Passphrase must be at least 8 character long": { - "en": "Passphrase must be at least 8 character long", - "fr": "Le mot de passe doit minimum faire 8 caractères" - }, - "Your Tchap Key password": { - "en": "Your Tchap Key password", - "fr": "Votre mot de passe Clés Tchap" - }, - "Confirm your Tchap Key password": { - "en": "Confirm your Tchap Key password", - "fr": "Confirmer votre mot de passe Clés Tchap" - }, - "Tchap Keys saved!": { - "en": "Tchap Keys saved!", - "fr": "Clés Tchap sauvegardées !" - }, - "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { - "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", - "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." - }, - "Save your Tchap Keys before logging out": { - "en": "Save your Tchap Keys before logging out", - "fr": "Sauvegardez vos Clés Tchap avant de vous déconnecter" - }, - "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.": { - "en": "Without your Tchap Keys, you won't be able to read your messages at your next login because they will be locked. It's a Tchap safety measure.", - "fr": "Sans vos Clés Tchap, vous ne pourrez pas lire vos messages à votre prochaine connexion parce qu'ils seront verrouillés. C'est une mesure de sécurité Tchap." - }, - "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.": { - "en": "Can you currently read your messages on another device? You can disconnect. This other device automatically backs up your Tchat Keys and messages.", - "fr": "Vous pouvez actuellement lire vos messages sur un autre appareil ? Vous pouvez vous déconnecter. Cet autre appareil sauvegarde automatiquement vos Clés Tchap et tous vos messages." - }, - "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.": { - "en": "You don't have another device connected to Tchap? Back up your Tchap Keys. These keys will unlock current messages, but not those received after saving.", - "fr": "Vous n'avez pas d'autre appareil connecté à Tchap ? Sauvegardez vos Clés Tchap. Ces clés déverrouilleront les messages actuels, mais pas ceux reçus entre la sauvegarde et votre prochaine connexion." - }, - "Sign me out": { - "en": "Sign me out", - "fr": "Me déconnecter" - }, - "Save my keys": { - "en": "Save my Tchap keys", - "fr": "Sauvegarder mes clés Tchap" - }, - "One of your devices wants to check your Tchap Keys to unlock your messages.": { - "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", - "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." - }, - "Please also confirm the emojis on the other device.": { - "en": "Please also confirm the emojis on the other device.", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." - }, - "Incoming Verification Request": { - "en": "Incoming Verification Request", - "fr": "Partage de vos Clés Tchap" - }, - "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.": { - "en": "The sharing of your Tchap Keys has succeeded. Your messages will be unlocked.", - "fr": "Le partage de vos Clés Tchap a réussi. Vos messages vont être déverrouillés au fur et à mesure." - }, - "Finish": { - "en": "Finish", - "fr": "Terminer" - }, - "Please accept the sharing of your Tchap Keys on the other device.": { - "en": "Please accept the sharing of your Tchap Keys on the other device.", - "fr": "Merci d'accepter la demande de partage de vos Clés Tchap pour déverrouiller vos messages." - }, - "Confirm the emoji below are displayed on both devices, in the same order:": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." - }, - "Please confirm the objects on the other device.": { - "en": "Please confirm the objects on the other device.", - "fr": "Veuillez confirmer les objets sur l'autre appareil." - }, - "Please confirm the objects on the other device (loading).": { - "en": "Please confirm the objects on the other device (loading).", - "fr": "Veuillez confirmer les objets sur l'autre appareil (en cours)." - }, - "The validity period of your account has expired": { - "en": "Your Tchap account has expired", - "fr": "Votre compte Tchap a expiré" - }, - "An email has been sent to you. Click on the link it contains, click below.": { - "en": "An email has been sent to you. Its title is : \"Renew your Tchap account\" Once you’ve followed the link it contains, click on the button \"I renewed my account\".", - "fr": "Un email vous a été envoyé pour renouveler votre compte. Il est intitulé : \"Renouvelez votre compte Tchap\". Une fois que vous aurez suivi le lien qu'il contient, cliquez sur le bouton \"J’ai renouvelé mon compte\"." - }, - "I renewed the validity of my account": { - "en": "I renewed my account", - "fr": "J’ai renouvelé mon compte" - }, - "Request a renewal email": { - "en": "Request a renewal email", - "fr": "Demander l’envoi d’un nouvel email" - }, - "A new email has been sent": { - "en": "A new email has been sent", - "fr": "Un nouvel email de renouvellement vous a été adressé" - }, - "Wait for at least %(wait)s seconds between two emails": { - "en": "Wait for at least %(wait)s seconds between two emails", - "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" - }, - "The email was not sent sucessfully, please retry in a moment": { - "en": "The email was not sent sucessfully, please retry", - "fr": "L'email de renouvellement n'a pas pu être envoyé, veuillez réessayer" - }, - "Your account is still expired, please follow the link in the email you have received to renew it": { - "en": "Your account is still expired, please follow the link in the email you should have received to renew it", - "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" - }, - "Congratulations, your account has been renewed": { - "en": "Congratulations, your account has been renewed", - "fr": "Félicitations, votre compte a été renouvelé" - }, - "The app will reload now": { - "en": "You can refresh the page to continue your conversations", - "fr": "Vous pouvez dorénavant rafraîchir la page pour continuer vos conversations" - }, - "Reload the app": { - "en": "Reload page", - "fr": "Rafraîchir la page" - }, - "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { - "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", - "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." - }, - "Re-send a request to your other devices": { - "en": "Re-send a request to your other devices", - "fr": "Renvoyer une demande à un autre appareil" - }, - "Request in progress...": { - "en": "Request in progress...", - "fr": "Demande en cours..." - }, - "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.": { - "en": "Tchap Key share requests are sent to your other devices automatically. If you rejected or dismissed the key share request on your other devices, click here to request the Tchap Keys again.", - "fr": "Les demandes de partage de vos Clés Tchap sont automatiquement envoyées à vos autres appareils. Si vous rejetez ou supprimez la demande de partage de clé sur vos autres appareils, cliquez ici pour redemander vos Clés Tchap." - }, - "If your other devices do not have the key for this message, you will not be able to decrypt them.": { - "en": "If your other devices do not have the key for this message, you will not be able to decrypt them.", - "fr": "Si vos autres appareils n'ont pas la clé pour ce message, vous ne pourrez pas le déchiffrer." - }, - "Your key share request has been sent - please check your other devices for key share requests.": { - "en": "Your key share request has been sent - please check your other devices for key share requests.", - "fr": "Votre demande de partage de clé a été envoyée - vérifiez les demandes de partage de clé sur vos autres appareils." - }, - "Import from saved file": { - "en": "Import from saved file", - "fr": "Importer depuis le fichier sauvegardé" - }, - "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { - "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", - "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" - }, - "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { - "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", - "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" - }, - "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils.", - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost." - }, - "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages.", - "en": "Currently %(brand)s does not support searching into messages." - }, - "Export E2E room keys": { - "en": "Save your Tchap keys", - "fr": "Sauvegardez vos clés Tchap" - }, - "Import E2E room keys": { - "en": "Import your Tchap keys from the downloaded file", - "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" - }, - "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { - "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", - "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." - }, - "Thread": { - "en": "Thread", - "fr": "Discussion" - }, - "Join public room": { - "en": "Join a public room", - "fr": "Rejoindre un forum" - }, - "Explore rooms": { - "en": "Explore space rooms", - "fr": "Explorer les salons" - }, - "Explore public rooms": { - "en": "Explore public rooms", - "fr": "Rejoindre un forum" - }, - "Start chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - }, - "Start new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - }, - "Start a new chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - }, - "Chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - }, - "Direct Messages": { - "en": "Direct Messages", - "fr": "Messages directs" - }, - "Recently Direct Messaged": { - "en": "Recents chats", - "fr": "Messages directs récents" - }, - "Recent Conversations": { - "en": "Recents chats", - "fr": "Messages directs récents" - }, - "common": { - "secure_backup": { - "en": "Secure Backup", - "fr": "Sauvegarde automatique des messages" - } - }, - "You can also set up Secure Backup & manage your keys in Settings.": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." - }, - "Set up Secure Backup": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" - }, - "Email": { - "en": "Email", - "fr": "Adresse mail" - }, - "Invalid Email Address": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" - }, - "Email address": { - "en": "Email address", - "fr": "Adresse mail" - }, - "Email Address": { - "en": "Email Address", - "fr": "Adresse mail" - }, - "Email addresses": { - "en": "Email addresses", - "fr": "Adresses mail" - }, - "Email (optional)": { - "en": "Email (optional)", - "fr": "Adresse mail (facultatif)" - }, - "Add Email Address": { - "en": "Add Email Address", - "fr": "Ajouter une adresse mail" - }, - "Room members": { - "en": "Room members", - "fr": "Membres du salon" - }, - "Banned users": { - "en": "Banned users", - "fr": "Membres bannis" - }, - "Privileged Users": { - "en": "Privileged Users", - "fr": "Membres privilégiés" - }, - "Muted Users": { - "en": "Muted Users", - "fr": "Membres en sourdine" - }, - "Ignored users": { - "en": "Ignored users", - "fr": "Membres ignorés" - }, - "Remove from room": { - "en": "Remove from room", - "fr": "Retirer du salon (réversible)" - }, - "Remove them from specific things I'm able to": { - "en": "Remove them from specific things I'm able to", - "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" - }, - "Remove them from everything I'm able to": { - "en": "Remove them from everything I'm able to", - "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" - }, - "Remove users": { - "en": "Remove users", - "fr": "Retirer des utilisateurs (réversible)" - }, - "Remove, ban, or invite people to your active room, and make you leave": { - "en": "Remove, ban, or invite people to your active room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" - }, - "Remove, ban, or invite people to this room, and make you leave": { - "en": "Remove, ban, or invite people to this room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" - }, - "Remove from %(roomName)s": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" - }, - "You need to be able to kick users to do that.": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." - }, - "Ban users": { - "en": "Ban users", - "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" - }, - "Ban them from specific things I'm able to": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" - }, - "Ban them from everything I'm able to": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" - }, - "Ban from %(roomName)s": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" - }, - "Ban from room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" - }, - "Ban from space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" - }, - "Group all your people in one place.": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." - }, - "Group all your favourite rooms and people in one place.": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." - }, - "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." - }, - "Show all your rooms in Home, even if they're in a space.": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" - }, - "This groups your chats with members of this space. Turning this off will hide those chats from your view of %(spaceName)s.": { - "fr": "Cela rassemble vos messages directs avec les membres de cet espace. Le désactiver masquera ces salons de votre vue de %(spaceName)s.", - "en": "This groups your direct messages with members of this space. Turning this off will hide those rooms from your view of %(spaceName)s." - }, - "Sign in instead": { - "en": "Sign in instead", - "fr": "ou connectez-vous" - }, - "Enter your email to reset password": { - "en": "Enter your email to reset password", - "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" - }, - "Reset your password": { - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe" - }, - "Did not receive it?": { - "en": "Did not receive it?", - "fr": "Pas reçu ?" - }, - "Wrong email address?": { - "en": "Wrong email address?", - "fr": "Mauvaise adresse mail ?" - }, - "Re-enter email address": { - "en": "Re-enter email address", - "fr": "Re-saisir l'adresse mail" - }, - "Check your email to continue": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, - "Verify your email to continue": { - "en": "Verify your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, - "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s": { - "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", - "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" - }, - "Send email": { - "en": "Send email", - "fr": "Envoyer le mail" - }, - "This is your recovery key": { - "fr": "Ce code vous permettra de toujours récupérer vos messages.", - "en": "This code will allow you to always restore your messages." - }, - "Warning: this is the only time this code will be displayed!": { - "fr": "Attention: c’est la seule fois que ce code sera affiché !", - "en": "Warning: this is the only time this code will be displayed!" - }, - "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran.", - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots." - }, - "I wrote down my code": { - "fr": "J'ai noté mon code", - "en": "I wrote down my code" - }, - "Safeguard against losing access to encrypted messages & data": { - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages", - "en": "Activate your Recovery Code to never lose your messages" - }, - "Security Key": { - "fr": "Code de Récupération", - "en": "Recovery Code" - }, - "Verify with Security Key": { - "fr": "Vérifier avec un Code de Récupération", - "en": "Verify with Recovery Code" - }, - "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable.", - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted." - }, - "I don't want my encrypted messages": { - "fr": "Se déconnecter quand-même", - "en": "Log out still" - }, - "Start using Key Backup": { - "fr": "Utiliser la sauvegarde automatique", - "en": "Use automatic Backup" - }, - "Use your Security Key to continue.": { - "fr": "Utilisez votre Code de Récupération pour continuer.", - "en": "Use your Recovery Code to continue." - }, - "Generate a Security Key": { - "fr": "Générer un Code de Récupération", - "en": "Generate a Recovery Code" - }, - "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde.", - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup." - }, - "Save your Security Key": { - "fr": "Notez votre Code de Récupération", - "en": "Write down your Recovery Code" - }, - "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés.", - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed." - }, - "A new Security Phrase and key for Secure Messages have been detected.": { - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté.", - "en": "A new Recovery Code for Secure Messages has been detected." - }, - "Make a copy of your Security Key": { - "fr": "Faire une copie de votre Code de Récupération", - "en": "Make a copy of your Recovery Code" - }, - "Secure your backup with a Security Phrase": { - "fr": "Protégez votre sauvegarde avec un Code de Récupération", - "en": "Secure your backup with a Recovery Code" - }, - "Your Security Key is in your Downloads folder.": { - "fr": "Votre Code de Récupération est dans le répertoire Téléchargements.", - "en": "Your Recovery Code is in your Downloads folder." - }, - "Your Security Key": { - "fr": "Votre Code de Récupération", - "en": "Your Recovery Code" - }, - "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": { - "fr": "Votre Code de Récupération est un filet de sécurité. Vous pouvez l’utiliser pour retrouver l’accès à vos messages chiffrés si vous oubliez votre phrase secrète.", - "en": "Your Recovery Code is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase." - }, - "Set up with a Security Key": { - "fr": "Configurer avec un Code de Récupération", - "en": "Set up with a Recovery Code" - }, - "If you've forgotten your Security Key you can ": { - "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez ", - "en": "If you've forgotten your Recovery Code you can " - }, - "Access your secure message history and set up secure messaging by entering your Security Key.": { - "fr": "Accédez à votre historique de messages chiffrés et mettez en place la messagerie sécurisée en entrant votre Code de Récupération.", - "en": "Access your secure message history and set up secure messaging by entering your Recovery Code." - }, - "Enter Security Key": { - "fr": "Saisir le Code de Récupération", - "en": "Enter Recovery Code" - }, - "If you've forgotten your Security Phrase you can use your Security Key or set up new recovery options": { - "fr": "Si vous avez oublié votre phrase secrète vous pouvez utiliser votre Code de Récupération ou définir de nouvelles options de récupération", - "en": "If you've forgotten your Security Phrase you can use your Recovery Code or set up new recovery options" - }, - "Incorrect Security Phrase": { - "fr": "Code de récupération non reconnu", - "en": "Recovery code not recognized" - }, - "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { - "fr": "Merci d'essayer à nouveau avec votre code de récupération.", - "en": "Please try again with your recovery code." - }, - "Verify with Security Key or Phrase": { - "fr": "Vérifier avec un Code de Récupération ou une phrase", - "en": "Verify with Recovery Code or Phrase" - }, - "

The Tchap team is working on the deployment of a new feature to prevent encryption key loss.

You can access it in the section :

Security and privacy > Secure Backup

": { - "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

", - "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

" - }, - "Enter your Security Phrase or to continue.": { - "fr": "Saisissez votre phrase de sécurité ou pour continuer.", - "en": "Enter your Security Phrase or to continue." - }, - "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre.", - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe." - }, - "Invite someone using their name, email address, username (like ) or share this room.": { - "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", - "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." - }, - "Invite someone using their name, email address, username (like ) or share this space.": { - "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne.", - "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break." - }, - "User is already in the room": { - "fr": "Cette personne est déjà dans le salon.", - "en": "User is already in the room." - }, - "Set up": { - "fr": "Activer", - "en": "Activate" - }, - "Connect this session to Key Backup": { - "fr": "Vérifier cet appareil", - "en": "Verify this device" - }, - "Forgotten or lost all recovery methods? Reset all": { - "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code", - "en": "You have lost your Recovery Code? Create a new code" - }, - "Unable to verify this device": { - "fr": "Vous vous connectez à un nouvel appareil", - "en": "You are logging into a new device" - }, - "Reset your keys to prevent future decryption errors": { - "fr": "Activez la sauvegarde automatique des messages", - "en": "Enable automatic secure backup" - }, - "You will not be able to access old undecryptable messages, but resetting your keys will allow you to receive new messages.": { - "fr": "Pour éviter la perte de vos messages, vous pouvez désormais activer cette nouvelle fonctionnalité Tchap dans les paramètres de sécurité", - "en": "To prevent the loss of your messages, you can now activate this new Tchap feature in the security settings" - }, - "Resend key requests": { - "fr": "Renvoyer une demande", - "en": "Resend key requests" - }, - "Open another device to load encrypted messages": { - "fr": "Utiliser un autre appareil pour déverrouiller vos messages.", - "en": "Use another device to unlock your messages." - }, - "Or if that doesn't work, please follow these steps.": { - "fr": "Ou si cela ne fonctionne pas, veuillez suivre ces étapes.", - "en": "Or if that doesn't work, please follow these steps." - }, - "threads": { - "unable_to_decrypt": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while." - } - }, - "Unable to decrypt message": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while.", - "comment": "replaced by threads|unable_to_decrypt ?" - }, - "Waiting for this message. This could take a while. Find out more": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus", - "en": "Waiting for this message. This could take a while. Find out more" - }, - "Decrypting messages…": { - "fr": "Déverrouillage des messages…", - "end": "Unlocking messages…" - }, - "Please wait as we try to decrypt your messages. This may take a few moments.": { - "fr": "Veuillez patienter pendant que nous essayons de déverrouiller vos messages. Cela peut prendre un peu de temps.", - "en": "Please wait as we try to unlock your messages. This may take a few moments." - }, - "Some messages could not be decrypted": { - "fr": "Certains messages n’ont pas pu être déverrouillés", - "en": "Some messages could not be unlocked" - }, - "Unfortunately, there are no other verified devices to request decryption keys from. Signing in and verifying other devices may help avoid this situation in the future.": { - "fr": "Malheureusement, il n’y a aucun autre appareil vérifié qui puisse déverrouiller vos messages. La connexion et la vérification depuis d’autres appareils pourraient éviter ce genre de souci à l’avenir.", - "en": "Unfortunately, there are no other verified devices to unlock your messages. Signing in and verifying other devices may help avoid this situation in the future." - }, - "These keys only apply to the current session.": { - "fr": "Ces clés ne concernent que la session en cours.", - "en": "These keys only apply to the current session." - }, - "Please note this is not your recovery code for your automatic backup.": { - "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique.", - "en": "Please note this is not your Recovery Code for your automatic backup." - }, - "Tchap keys": { - "fr": "Clés Tchap", - "en": "Tchap keys" - }, - "Tchap keys:": { - "fr": "Clés Tchap :", - "en": "Tchap keys:" - }, - "That email is not allowed on Tchap": { - "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire", - "en": "Your email adress is not allowed on Tchap. Make an autorization request here" - }, - "Generate a new code": { - "fr": "Générer un nouveau code", - "en": "Generate a new code" - }, - "Failed to join": { - "fr": "Impossible de rejoindre ce salon", - "en": "Failed to join this room." - }, - "Access possible only by invitation of a member of the room.": { - "fr": "Accès possible uniquement sur invitation d'un membre du salon.", - "en": "Access possible only by invitation of a member of the room." - }, - "Restore from Backup": { - "fr": "Récupérer mes messages", - "en": "Retrieve my messages" - }, - "This session is backing up your keys.": { - "fr": "Cet appareil sauvegarde automatiquement vos messages.", - "en": "This device automatically backs up your messages." - }, - "Cross-signing is not set up.": { - "fr": "La signature croisée n’est pas active", - "en": "Cross-signing is not active." - }, - "Cross-signing is ready but keys are not backed up.": { - "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages.", - "en": "Cross-signing is ready but not the secure backup." - }, - "Cross-signing is ready for use.": { - "fr": "La signature croisée est activée sur cet appareil.", - "en": "Cross-signing is activated on this device." - }, - "Your keys are not being backed up from this session.": { - "fr": "Cet appareil ne sauvegarde pas vos messages.", - "en": "This device is not backing up your messages." - }, - "Secure Backup successful": { - "fr": "Sauvegarde automatique activée avec succès", - "en": "Secure backup successfully enabled." - }, - "Your keys are now being backed up from this device.": { - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil.", - "en": "Your messages are now automatically backed up on this device." - }, - "Wrong Security Key": { - "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent.", - "en": "The Recovery Code is not valid. Check that it is the latest one." - }, - "Keys restored": { - "fr": "Messages récupérés", - "en": "Messages restored" - }, - "Successfully restored %(sessionCount)s keys": { - "fr": "%(sessionCount)s messages ont été récupérés avec succès.", - "en": "%(sessionCount)s messages have been successfully restored." - }, - "Setting up keys": { - "fr": "Configuration du Code de Récupération", - "en": "Setting up your Recovery Code" - }, - "Restoring keys from backup": { - "fr": "Restauration des messages depuis la sauvegarde", - "en": "Restoring messages from backup" - }, - "Fetching keys from server…": { - "fr": "Récupération des messages depuis le serveur…", - "en": "Fetching messages from server…" - }, - "Generate a new password. Note that your locked messages will remain locked.": { - "fr": "Générer un nouveau mot de passe. Attention, vos messages verrouillés le resteront.", - "en": "Generate a new password. Note that your locked messages will remain locked." - }, - "Where you're signed in": { - "fr": "Appareils connectés", - "en": "Connected devices" - }, - "Activate on this device": { - "fr": "Activer sur cet appareil", - "en": "Activate on this device" - }, - "Verify this session": { - "fr": "Vérifier cet appareil", - "en": "Verify this device" - }, - "Other users may not trust it": { - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages.", - "en": "You may not be able to recover your messages." - }, - "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { - "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités.", - "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back." - }, - "Upgrade private room": { - "fr": "Ce salon va être mis à jour", - "en": "This room will be updated" - }, - "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { - "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon.", - "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room." - }, - "Upgrade room": { - "fr": "Mettre à jour le salon", - "en": "Upgrade room" - }, - "Verify your identity to access encrypted messages and prove your identity to others.": { - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres.", - "en": "Verify your identity to access locked messages and prove your identity to others." - }, - "Really reset verification keys?": { - "fr": "Réinitialiser le Code de Récupération, c’est certain ?", - "en": "Really reset Recovery Code?" - }, - "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés.", - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages." - }, - "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération.", - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code." - }, - "Export room members": { - "fr": "Exporter les membres du salon", - "en": "Export room members" - }, - "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { - "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon.", - "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room." - }, - "members_of_%(roomName)s.txt": { - "fr": "membres_de_%(roomName)s.txt", - "en": "members_of_%(roomName)s.txt" - }, - "Destroy cross-signing keys?": { - "fr": "Réinitialiser les clés de signature croisée ?", - "en": "Reset cross-signing keys?" - }, - "Deleting cross-signing keys is permanent. Anyone you have verified with will see security alerts. You almost certainly don't want to do this, unless you've lost every device you can cross-sign from.": { - "fr": "Réinitialiser les clés de signature croisée est permanent. Utiliser cette procédure uniquement si vous avez perdu tous les appareils vous permettant d’effectuer une signature croisée.", - "en": "Resetting your Recovery Code is permanent. Please use this procedure only if you have lost all devices that allow you to perform cross-signing." - }, - "Clear cross-signing keys": { - "fr": "Réinitialiser les clés de signature croisée", - "en": "Reset Recovery Code" - }, - "General Conditions of Use (CGU)": { - "en": "General Conditions of Use (CGU)", - "fr": "Conditions Générales d'Utilisation (CGU)" - }, - "Read the CGU": { - "en": "Read the CGU", - "fr": "Consultez les CGU" - }, - "Privacy Policy": { - "en": "Privacy Policy", - "fr": "Politique de Confidentialité" - }, - "Read the Privacy Policy": { - "en": "Read the Privacy Policy", - "fr": "Lire la Politique de Confidentialité" - }, - "la messagerie instantanée de l'Administration": { - "en": "The instant messaging app of the French Administration", - "fr": "la messagerie instantanée de l'Administration" - }, - "Conçue et gérée par l'Administration française": { - "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", - "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." - }, - "En savoir plus": { - "en": "Learn more", - "fr": "En savoir plus" - }, - "Your %(brand)s is misconfigured": { - "fr": "", - "en": "" - }, - "You can also ask your homeserver admin to upgrade the server to change this behaviour.": { - "fr": "", - "en": "" - }, - "Ask your %(brand)s admin to check your config for incorrect or duplicate entries.": { - "fr": "", - "en": "" - }, - "Server may be unavailable, overloaded, or you hit a bug.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr", - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr" - }, - "Server unavailable, overloaded, or something else went wrong.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr", - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr" - }, - "Connectivity to the server has been lost.": { - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service", - "en": "Tchap is not available at the moment. View the status of services." - }, - "Review Tchap services status : url": { - "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service", - "en": "Tchap is not available at the moment %(errCode)s. View the status of services." - }, - "Sent messages will be stored until your connection has returned.": { - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie.", - "en": "Messages will be sent when your connection returns." - }, - "Sessions": { - "fr": "Mes appareils", - "en": "My devices" - }, - "Current session": { - "fr": "Cet appareil", - "en": "This device" - }, - "Verified session": { - "fr": "Appareil vérifié", - "en": "Verified device" - }, - "Other sessions": { - "fr": "Autres appareils", - "en": "Other devices" - }, - "Verify your current session for enhanced secure messaging.": { - "fr": "Vérifier cet appareil afin de visualiser vos messages", - "en": "Verify your current device to get your messages." - }, - "Verify session": { - "fr": "Vérifier l'appareil", - "en": "Verify device" - }, - "Sign out of this session": { - "fr": "Se déconnecter de cet appareil", - "en": "Sign out of this device" - }, - "Receive push notifications on this session.": { - "fr": "Recevoir les notifications push sur cet appareil", - "en": "Receive push notifications on this device." - }, - "Unverified": { - "fr": "Non vérifié", - "en": "Unverified" - }, - "Verified": { - "fr": "Vérifié", - "en": "Verified " - }, - "Your current session is ready for secure messaging.": { - "fr": "", - "en": "" - }, - "%(count)s sessions selected|one": { - "fr": "%(count)s appareil sélectionné", - "en": "%(count)s device selected" - }, - "%(count)s sessions selected|other": { - "fr": "%(count)s appareils sélectionnés", - "en": "%(count)s devices selected" - }, - "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages", - "en": "Verify your devices to unlock your messages" - }, - "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil.", - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device." - }, - "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { - "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié.", - "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device." - }, - "Verified sessions": { - "fr": "Appareils vérifiés", - "en": "Verified devices" - }, - "Unverified sessions": { - "fr": "Appareils non vérifiés", - "en": "Unverified devices" - }, - "Unverified session": { - "fr": "Appareil non vérifié", - "en": "Unverified device" - }, - "Sign out of %(count)s sessions|one": { - "fr": "Déconnecter %(count)s appareil", - "en": "Sign out of %(count)s device" - }, - "Sign out of %(count)s sessions|other": { - "fr": "Déconnecter %(count)s appareils", - "en": "Sign out of %(count)s devices" - }, - "Sign out of all other sessions (%(otherSessionsCount)s)": { - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)", - "en": "Sign out of all other devices (%(otherSessionsCount)s)" - }, - "Are you sure you want to sign out of %(count)s sessions?|one": { - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?", - "en": "Are you sure you want to sign out of %(count)s device?" - }, - "Are you sure you want to sign out of %(count)s sessions?|other": { - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?", - "en": "Are you sure you want to sign out of %(count)s devices?" - }, - "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte.", - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account." - }, - "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération).", - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code)." - }, - "onboarding_free_e2ee_messaging_tchap_limited_voip": { - "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", - "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." - }, - "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { - "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", - "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre.", - "comment": "2023-11-08: remove once the string is translated in element" - }, - "You can close this disconnected tab, and go to the other %(brand)s tab.": { - "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", - "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." - } -} From 059ba06fa145e4731b468c1e1b5bb86664541849 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Mon, 22 Jan 2024 17:17:04 +0100 Subject: [PATCH 64/86] Upgrade patch display-call-button-anyway --- ....81.0.patch => matrix-react-sdk+3.82.0.patch} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename patches/display-call-button-anyway/{matrix-react-sdk+3.81.0.patch => matrix-react-sdk+3.82.0.patch} (51%) diff --git a/patches/display-call-button-anyway/matrix-react-sdk+3.81.0.patch b/patches/display-call-button-anyway/matrix-react-sdk+3.82.0.patch similarity index 51% rename from patches/display-call-button-anyway/matrix-react-sdk+3.81.0.patch rename to patches/display-call-button-anyway/matrix-react-sdk+3.82.0.patch index 71a5e2c8b4..34c2e71cd6 100644 --- a/patches/display-call-button-anyway/matrix-react-sdk+3.81.0.patch +++ b/patches/display-call-button-anyway/matrix-react-sdk+3.82.0.patch @@ -1,19 +1,19 @@ diff --git a/node_modules/matrix-react-sdk/src/hooks/room/useRoomCall.ts b/node_modules/matrix-react-sdk/src/hooks/room/useRoomCall.ts -index c369f5a..78b0781 100644 +index c1438ea..e53d147 100644 --- a/node_modules/matrix-react-sdk/src/hooks/room/useRoomCall.ts +++ b/node_modules/matrix-react-sdk/src/hooks/room/useRoomCall.ts @@ -190,8 +190,12 @@ export const useRoomCall = ( let videoCallDisabledReason: string | null; switch (state) { case State.NoPermission: -- voiceCallDisabledReason = _t("You do not have permission to start voice calls"); -- videoCallDisabledReason = _t("You do not have permission to start video calls"); -+ //:tchap: disable noPermission -+ //voiceCallDisabledReason = _t("You do not have permission to start voice calls"); -+ //ideoCallDisabledReason = _t("You do not have permission to start video calls"); +- voiceCallDisabledReason = _t("voip|disabled_no_perms_start_voice_call"); +- videoCallDisabledReason = _t("voip|disabled_no_perms_start_video_call"); ++ // :tchap: disable noPermission ++ // voiceCallDisabledReason = _t("voip|disabled_no_perms_start_voice_call"); ++ // videoCallDisabledReason = _t("voip|disabled_no_perms_start_video_call"); + voiceCallDisabledReason = null; + videoCallDisabledReason = null; -+ //:tchap end ++ // end :TCHAP: break; case State.Ongoing: - voiceCallDisabledReason = _t("Ongoing call"); + voiceCallDisabledReason = _t("voip|disabled_ongoing_call"); From 5d25efe5559d8e7a6943d755d85fa782954006b6 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Mon, 22 Jan 2024 17:30:39 +0100 Subject: [PATCH 65/86] Rename string to unable_to_decrypt_with_info_message --- modules/tchap-translations/tchap_translations.json | 8 ++++---- .../matrix-react-sdk+3.82.0.patch | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 7cd2695388..6c8387cf04 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -815,10 +815,6 @@ "en": "Wait for at least %(wait)s seconds between two emails", "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" }, - "Waiting for this message. This could take a while. Find out more": { - "en": "Waiting for this message. This could take a while. Find out more", - "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" - }, "Warning: this is the only time this code will be displayed!": { "en": "Warning: this is the only time this code will be displayed!", "fr": "Attention: c’est la seule fois que ce code sera affiché !" @@ -998,6 +994,10 @@ "unable_to_decrypt": { "fr": "En attente de ce message. Ceci pourrait prendre un moment.", "en": "Waiting for this message. This could take a while." + }, + "unable_to_decrypt_with_info_message": { + "en": "Waiting for this message. This could take a while. Find out more", + "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" } }, "widget": { diff --git a/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch index b5d8ac1229..dca9caaee0 100644 --- a/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch +++ b/patches/better-text-for-locked-messages/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx -index 1a68e58..162588c 100644 +index 1a68e58..a32b4ea 100644 --- a/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/messages/DecryptionFailureBody.tsx @@ -19,11 +19,25 @@ import { MatrixEvent } from "matrix-js-sdk/src/matrix"; @@ -15,7 +15,7 @@ index 1a68e58..162588c 100644 - : _t("threads|unable_to_decrypt"); + // :TCHAP: : _t("threads|unable_to_decrypt"); + : _t( -+ "Waiting for this message. This could take a while. Find out more", ++ "threads|unable_to_decrypt_with_info_message", + {}, + { + a: (sub) => ( @@ -30,7 +30,7 @@ index 1a68e58..162588c 100644 // A placeholder element for messages that could not be decrypted diff --git a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx -index ad79b47..dc1d79a 100644 +index ad79b47..716830e 100644 --- a/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/rooms/ThreadSummary.tsx @@ -30,6 +30,8 @@ import MatrixClientContext from "../../../contexts/MatrixClientContext"; @@ -48,7 +48,7 @@ index ad79b47..dc1d79a 100644 + // :TCHAP: + const undecryptedText = _t( -+ "threads|unable_to_decrypt", ++ "threads|unable_to_decrypt_with_info_message", + {}, + { + a: (sub) => ( @@ -70,7 +70,7 @@ index ad79b47..dc1d79a 100644 - {_t("threads|unable_to_decrypt")} + { /* :TCHAP: {_t("threads|unable_to_decrypt")}*/} + -+ {_t("Waiting for this message. This could take a while. Find out more", {}, ++ {_t("threads|unable_to_decrypt_with_info_message", {}, + { + a: (sub) => ( + From d9368ca911e745dbd8f667f79cb83b421666184c Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Mon, 22 Jan 2024 18:08:20 +0100 Subject: [PATCH 66/86] Migrate translations from old keys to new. (More coming) --- .../tchap_translations.json | 176 ++++++++++-------- .../tchap_translations_removed.json | 4 +- 2 files changed, 97 insertions(+), 83 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 6c8387cf04..edf22ca7d0 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -1,23 +1,4 @@ { - "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": { - "en": "Currently %(brand)s does not support searching into messages.", - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." - }, - "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.": { - "comment": "2023-11-08: remove once the string is translated in element", - "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", - "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." - }, - "%(count)s sessions selected": { - "one": { - "en": "%(count)s device selected", - "fr": "%(count)s appareil sélectionné" - }, - "other": { - "en": "%(count)s devices selected", - "fr": "%(count)s appareils sélectionnés" - } - }, "Please note upgrading will make a new version of the room. All current messages will stay in this archived room.": { "en": "A new version of this room will be created. All current messages will remain accessible in this room. All members will be invited back.", "fr": "Une nouvelle version de ce salon va être créée. Tous les messages actuels resteront accessibles dans ce salon. Tous les membres vont être réinvités." @@ -26,10 +7,6 @@ "en": "

This device is not verified.

To ensure this device is always verified and you can always retrieve your messages, turn on Automatic Message Backup

", "fr": "

Cet appareil n'est pas vérifié.

Pour que cet appareil soit toujours vérifié et que vous puissiez toujours récupérer vos messages, activez la Sauvegarde Automatique des messages.

" }, - "A new Security Phrase and key for Secure Messages have been detected.": { - "en": "A new Recovery Code for Secure Messages has been detected.", - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." - }, "A new email has been sent": { "en": "A new email has been sent", "fr": "Un nouvel email de renouvellement vous a été adressé" @@ -58,10 +35,6 @@ "en": "Activate on this device", "fr": "Activer sur cet appareil" }, - "Add Email Address": { - "en": "Add Email Address", - "fr": "Ajouter une adresse mail" - }, "Allow access to this room to all users, even outside \"%(domain)s\" domain": { "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" @@ -78,20 +51,6 @@ "en": "Are you sure you want to allow the externals to join this room ?", "fr": "Voulez-vous vraiment autoriser l’accès aux externes à ce salon ?" }, - "Are you sure you want to sign out of %(count)s sessions?": { - "one": { - "en": "Are you sure you want to sign out of %(count)s device?", - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" - }, - "other": { - "en": "Are you sure you want to sign out of %(count)s devices?", - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" - } - }, - "Back up your encryption keys with your account data in case you lose access to your sessions. Your keys will be secured with a unique Security Key.": { - "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", - "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." - }, "Backup could not be decrypted with this Security Key: please verify that you entered the correct Security Key.": { "en": "Please try again with your recovery code.", "fr": "Merci d'essayer à nouveau avec votre code de récupération." @@ -132,10 +91,6 @@ "en": "Reset Recovery Code", "fr": "Réinitialiser les clés de signature croisée" }, - "Confirm the emoji below are displayed on both devices, in the same order:": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." - }, "Confirm your Tchap Key password": { "en": "Confirm your Tchap Key password", "fr": "Confirmer votre mot de passe Clés Tchap" @@ -144,10 +99,6 @@ "en": "Congratulations, your account has been renewed", "fr": "Félicitations, votre compte a été renouvelé" }, - "Connect this session to Key Backup": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" - }, "Connectivity to the server has been lost": { "en": "Tchap is not available at the moment. View the status of services.", "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" @@ -176,22 +127,6 @@ "en": "Create your Tchap Key password (minimum 8 characters)", "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" }, - "Cross-signing is not set up.": { - "en": "Cross-signing is not active.", - "fr": "La signature croisée n’est pas active" - }, - "Cross-signing is ready but keys are not backed up.": { - "en": "Cross-signing is ready but not the secure backup.", - "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." - }, - "Cross-signing is ready for use.": { - "en": "Cross-signing is activated on this device.", - "fr": "La signature croisée est activée sur cet appareil." - }, - "Current session": { - "en": "This device", - "fr": "Cet appareil" - }, "Decryption fail: Please open Tchap on an other connected device to allow key sharing.": { "en": "Decryption fail: Please open Tchap on an other connected device to allow key sharing.", "fr": "Message verrouillé par sécurité. Récupérez vos clés Tchap pour déverrouiller vos messages." @@ -240,18 +175,6 @@ "en": "Enter your Security Phrase or to continue.", "fr": "Saisissez votre phrase de sécurité ou pour continuer." }, - "Explore public rooms": { - "en": "Explore public rooms", - "fr": "Rejoindre un forum" - }, - "Explore rooms": { - "en": "Explore space rooms", - "fr": "Explorer les salons" - }, - "Export E2E room keys": { - "en": "Save your Tchap keys", - "fr": "Sauvegardez vos clés Tchap" - }, "Export room members": { "en": "Export room members", "fr": "Exporter les membres du salon" @@ -268,10 +191,6 @@ "en": "Eye", "fr": "OEil" }, - "Failed to join": { - "en": "Failed to join this room.", - "fr": "Impossible de rejoindre ce salon" - }, "Fetching keys from server…": { "en": "Fetching messages from server…", "fr": "Récupération des messages depuis le serveur…" @@ -908,6 +827,10 @@ "fr": "un caractère spécial" }, "action": { + "explore_public_rooms": { + "en": "Explore public rooms", + "fr": "Rejoindre un forum" + }, "start_chat": { "en": "New direct message", "fr": "Nouveau message direct" @@ -966,6 +889,31 @@ "fr": "Vérifié" } }, + "encryption": { + "cross_signing_not_ready": { + "en": "Cross-signing is not active.", + "fr": "La signature croisée n’est pas active" + }, + "cross_signing_ready": { + "en": "Cross-signing is activated on this device.", + "fr": "La signature croisée est activée sur cet appareil." + }, + "cross_signing_ready_no_backup": { + "en": "Cross-signing is ready but not the secure backup.", + "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." + }, + "verification": { + "sas_emoji_caption_self": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + } + } + }, + "error_app_opened_in_another_window": { + "comment": "2023-11-08: remove once the string is translated in element", + "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", + "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." + }, "la messagerie instantanée de l'Administration": { "en": "The instant messaging app of the French Administration", "fr": "la messagerie instantanée de l'Administration" @@ -974,10 +922,32 @@ "en": "members_of_%(roomName)s.txt", "fr": "membres_de_%(roomName)s.txt" }, + "n_sessions_selected": { + "one": { + "en": "%(count)s device selected", + "fr": "%(count)s appareil sélectionné" + }, + "other": { + "en": "%(count)s devices selected", + "fr": "%(count)s appareils sélectionnés" + } + }, + "new_recovery_method_detected": { + "description_1": { + "en": "A new Recovery Code for Secure Messages has been detected.", + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." + } + }, "onboarding_free_e2ee_messaging_tchap_limited_voip": { "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." }, + "room": { + "error_join_title": { + "en": "Failed to join this room.", + "fr": "Impossible de rejoindre ce salon" + } + }, "room_settings": { "permissions": { "ban": { @@ -990,6 +960,50 @@ } } }, + "sessions": { + "sign_out_confirm_description": { + "one": { + "en": "Are you sure you want to sign out of %(count)s device?", + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" + }, + "other": { + "en": "Are you sure you want to sign out of %(count)s devices?", + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" + } + } + }, + "settings": { + "general": { + "add_email_dialog_title": { + "en": "Add Email Address", + "fr": "Ajouter une adresse mail" + } + }, + "security": { + "backup_keys_description": { + "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", + "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." + }, + "export_megolm_keys": { + "en": "Save your Tchap keys", + "fr": "Sauvegardez vos clés Tchap" + }, + "key_backup_connect": { + "en": "Verify this device", + "fr": "Vérifier cet appareil" + }, + "message_search_unsupported_web": { + "en": "Currently %(brand)s does not support searching into messages.", + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." + } + }, + "sessions": { + "current_session": { + "en": "This device", + "fr": "Cet appareil" + } + } + }, "threads": { "unable_to_decrypt": { "fr": "En attente de ce message. Ceci pourrait prendre un moment.", diff --git a/modules/tchap-translations/tchap_translations_removed.json b/modules/tchap-translations/tchap_translations_removed.json index 4a3c0d4602..46ec4c7597 100644 --- a/modules/tchap-translations/tchap_translations_removed.json +++ b/modules/tchap-translations/tchap_translations_removed.json @@ -7,7 +7,6 @@ "There was a problem communicating with the homeserver, please try again later.", "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.", "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.", - "Connectivity to the server has been lost.", "Server may be unavailable, overloaded, or search timed out :(", "Cryptography", "Enter email address (required on this homeserver)", @@ -35,5 +34,6 @@ "onboarding|download_f_droid", "encryption|verification|complete_title", "powered_by_matrix_with_logo", - "welcome_to_element" + "welcome_to_element", + "room|status_bar|server_connectivity_lost_title" ] From cb7a951651d5b85343d0ed20c96dd4acb5ded5d6 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 10:48:18 +0100 Subject: [PATCH 67/86] Fix strings in two tchap components --- .../views/settings/TchapJoinRuleSettings.tsx | 45 ++++++++----------- .../tabs/user/TchapHelpUserSettingsTab.tsx | 2 +- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/tchap/components/views/settings/TchapJoinRuleSettings.tsx b/src/tchap/components/views/settings/TchapJoinRuleSettings.tsx index 57868c3892..a14c9179ca 100644 --- a/src/tchap/components/views/settings/TchapJoinRuleSettings.tsx +++ b/src/tchap/components/views/settings/TchapJoinRuleSettings.tsx @@ -105,7 +105,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh const definitions: IDefinition[] = [{ value: JoinRule.Invite, label: _t("Private (invite only)"), - description: _t("Only invited people can join."), + description: _t("room_settings|security|join_rule_invite_description"), checked: joinRule === JoinRule.Invite || (joinRule === JoinRule.Restricted && !restrictedAllowRoomIds?.length), }, { value: JoinRule.Public, @@ -121,7 +121,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh // :TCHAP: do we need to add the following condition as well (joinRule === JoinRule.Restricted && !restrictedAllowRoomIds?.length)? if (joinRule === JoinRule.Invite) { - let privateRoomDescription =
{_t("Only invited people can join.")}
; + let privateRoomDescription =
{_t("room_settings|security|join_rule_invite_description")}
; // :TCHAP: We could add functions in 'TchapUtils' to determine the type of room and rely on this logic to display components as we did in Android : // :TCHAP: https://github.com/tchapgouv/tchap-android/blob/develop/vector/src/main/java/fr/gouv/tchap/core/utils/RoomUtils.kt#L31 if (accessRule) { @@ -142,7 +142,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh }; privateRoomDescription = (
-
{_t("Only invited people can join.")}
+
{_t("room_settings|security|join_rule_invite_description")}
- {_t("Anyone can find and join.")} + {_t("room_settings|security|join_rule_public_description")} {aliasWarning} ), @@ -183,7 +183,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh let upgradeRequiredPill; if (preferredRestrictionVersion) { upgradeRequiredPill = ( - {_t("Upgrade required")} + {_t("room_settings|security|join_rule_upgrade_required")} ); } @@ -198,11 +198,11 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh let moreText; if (shownSpaces.length < restrictedAllowRoomIds.length) { if (shownSpaces.length > 0) { - moreText = _t("& %(count)s more", { + moreText = _t("room_settings|security|join_rule_restricted_n_more", { count: restrictedAllowRoomIds.length - shownSpaces.length, }); } else { - moreText = _t("Currently, %(count)s spaces have access", { + moreText = _t("room_settings|security|join_rule_restricted_summary", { count: restrictedAllowRoomIds.length, }); } @@ -241,7 +241,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh
{_t( - "Anyone in a space can find and join. Edit which spaces can access here.", + "room_settings|security|join_rule_restricted_description", {}, { a: (sub) => ( @@ -258,7 +258,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh
-

{_t("Spaces with access")}

+

{_t("room_settings|security|join_rule_restricted_description_spaces")}

{shownSpaces.map((room) => { return ( @@ -273,21 +273,21 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh ); } else if (SpaceStore.instance.activeSpaceRoom) { description = _t( - "Anyone in can find and join. You can select other spaces too.", + "room_settings|security|join_rule_restricted_description_active_space", {}, { spaceName: () => {SpaceStore.instance.activeSpaceRoom.name}, }, ); } else { - description = _t("Anyone in a space can find and join. You can select multiple spaces."); + description = _t("room_settings|security|join_rule_restricted_description_prompt"); } definitions.splice(1, 0, { value: JoinRule.Restricted, label: ( <> - {_t("Space members")} + {_t("room_settings|security|join_rule_restricted")} {/* :tchap: do not show the pill upgrade room as it is not user friendly https://github.com/tchapgouv/tchap-web-v4/issues/578 @@ -323,11 +323,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh if (unableToUpdateSomeParents) { warning = ( - {_t( - "This room is in some spaces you're not an admin of. " + - "In those spaces, the old room will still be shown, " + - "but people will be prompted to join the new one.", - )} + {_t("room_settings|security|join_rule_restricted_upgrade_warning")} ); } @@ -337,10 +333,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh targetVersion, description: ( <> - {_t( - "This upgrade will allow members of selected spaces " + - "access to this room without an invite.", - )} + {_t("room_settings|security|join_rule_restricted_upgrade_description")} {warning} ), @@ -358,12 +351,12 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh (progress) => { const total = 2 + progress.updateSpacesTotal + progress.inviteUsersTotal; if (!progress.roomUpgraded) { - fn(_t("Upgrading room"), 0, total); + fn(_t("room_settings|security|join_rule_upgrade_upgrading_room"), 0, total); } else if (!progress.roomSynced) { - fn(_t("Loading new room"), 1, total); + fn(_t("room_settings|security|join_rule_upgrade_awaiting_room"), 1, total); } else if (progress.inviteUsersProgress < progress.inviteUsersTotal) { fn( - _t("Sending invites... (%(progress)s out of %(count)s)", { + _t("room_settings|security|join_rule_upgrade_sending_invites", { progress: progress.inviteUsersProgress, count: progress.inviteUsersTotal, }), @@ -372,7 +365,7 @@ const JoinRuleSettings = ({ room, promptUpgrade, aliasWarning, onError, beforeCh ); } else if (progress.updateSpacesProgress < progress.updateSpacesTotal) { fn( - _t("Updating spaces... (%(progress)s out of %(count)s)", { + _t("room_settings|security|join_rule_upgrade_sending_invites", { progress: progress.updateSpacesProgress, count: progress.updateSpacesTotal, }), diff --git a/src/tchap/components/views/settings/tabs/user/TchapHelpUserSettingsTab.tsx b/src/tchap/components/views/settings/tabs/user/TchapHelpUserSettingsTab.tsx index cc254cd342..ea5ed376fe 100644 --- a/src/tchap/components/views/settings/tabs/user/TchapHelpUserSettingsTab.tsx +++ b/src/tchap/components/views/settings/tabs/user/TchapHelpUserSettingsTab.tsx @@ -410,7 +410,7 @@ export default class HelpUserSettingsTab extends React.Component {this.renderLegal()} {this.renderCredits()}
- {_t("Advanced")} + {_t("common|advanced")}
{_t( From 6ed73438ad47794887e6d1b140943798418ce562 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 12:02:34 +0100 Subject: [PATCH 68/86] More fixed translations --- .../tchap_translations.json | 21 ++++++++----------- .../matrix-react-sdk+3.82.0.patch | 4 ++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index edf22ca7d0..15fd83ec53 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -55,35 +55,31 @@ "en": "Please try again with your recovery code.", "fr": "Merci d'essayer à nouveau avec votre code de récupération." }, - "Ban from %(roomName)s": { + "user_info|ban_room_confirm_title": { "en": "Ban from %(roomName)s", "fr": "Interdire l’accès à %(roomName)s (définitif)" }, - "Ban from room": { + "user_info|ban_button_room": { "en": "Ban from room", "fr": "Interdire l’accès au salon (définitif)" }, - "Ban from space": { + "user_info|ban_button_space": { "en": "Ban from space", "fr": "Interdire l’accès à l'espace (définitif)" }, - "Ban them from everything I'm able to": { + "user_info|ban_space_everything": { "en": "Ban them from everything I'm able to", "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" }, - "Ban them from specific things I'm able to": { + "user_info|ban_space_specific": { "en": "Ban them from specific things I'm able to", "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" }, - "Banned users": { + "room_settings|permissions|banned_users_section": { "en": "Banned users", "fr": "Membres bannis" }, - "Chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - }, - "Check your email to continue": { + "auth|uia|email_auth_header": { "en": "Check your email to continue", "fr": "Vérifiez vos mails avant de continuer" }, @@ -99,7 +95,8 @@ "en": "Congratulations, your account has been renewed", "fr": "Félicitations, votre compte a été renouvelé" }, - "Connectivity to the server has been lost": { + "voip|connection_lost": { + "comment": "the element string does not have . Where is this used?", "en": "Tchap is not available at the moment. View the status of services.", "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" }, diff --git a/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch index aa65cb4d0f..6df1ce386f 100644 --- a/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch +++ b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx -index f4e8ff1..4f3372e 100644 +index f4e8ff1..9ee93e1 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/Registration.tsx @@ -50,8 +50,11 @@ import InteractiveAuth, { InteractiveAuthCallback } from "../InteractiveAuth"; @@ -68,7 +68,7 @@ index f4e8ff1..4f3372e 100644 + { /* :TCHAP: remove the serverpicker, using AuthHeaderModifier. Inspired by InteractiveAuthEntryComponents. */} + + { /* end :TCHAP: */} From 9a8d397d8cb26302da839bd03af6dc2546675383 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 12:11:01 +0100 Subject: [PATCH 69/86] More translations --- modules/tchap-translations/tchap_translations.json | 6 +++--- .../matrix-react-sdk+3.82.0.patch | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 15fd83ec53..5ae77f31d7 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -144,7 +144,7 @@ "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room.", "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon." }, - "Email": { + "auth|email_field_label": { "en": "Email", "fr": "Adresse mail" }, @@ -152,7 +152,7 @@ "en": "Email (optional)", "fr": "Adresse mail (facultatif)" }, - "Email Address": { + "settings|general|email_address_label": { "en": "Email Address", "fr": "Adresse mail" }, @@ -160,7 +160,7 @@ "en": "Email address", "fr": "Adresse mail" }, - "Email addresses": { + "settings|general|emails_heading": { "en": "Email addresses", "fr": "Adresses mail" }, diff --git a/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch index 6df1ce386f..466cf8159e 100644 --- a/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch +++ b/patches/registration-for-mainlining/matrix-react-sdk+3.82.0.patch @@ -76,7 +76,7 @@ index f4e8ff1..9ee93e1 100644
diff --git a/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx b/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx -index 41a2aed..d428627 100644 +index 41a2aed..0e19925 100644 --- a/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/auth/RegistrationForm.tsx @@ -267,7 +267,7 @@ export default class RegistrationForm extends React.PureComponent _t("auth|reset_password_email_field_required_invalid"), + // :TCHAP: don't mention homeserver, Tchap hides the concept from users. + //invalid: () => _t("auth|reset_password_email_field_required_invalid"), -+ invalid: () => _t("Enter email address"), ++ invalid: () => _t("auth|email_field_label_required"), + // end :TCHAP: }, { From 2733e10f1cc084acace06856645604b63620a032 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 14:32:24 +0100 Subject: [PATCH 70/86] More translation migrations --- .../tchap_translations.json | 96 +++++++++---------- 1 file changed, 44 insertions(+), 52 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 5ae77f31d7..a8a80fbd38 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -196,7 +196,7 @@ "en": "Finish", "fr": "Terminer" }, - "For best security, verify your sessions and sign out from any session that you don't recognize or use anymore.": { + "settings|sessions|best_security_note": { "en": "Verify your devices to unlock your messages", "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" }, @@ -212,7 +212,7 @@ "en": "Frequently Asked Questions (FAQ)", "fr": "Foire Aux Questions (FAQ)" }, - "Generate a Security Key": { + "settings|key_backup|setup_secure_backup|generate_security_key_title": { "en": "Generate a Recovery Code", "fr": "Générer un Code de Récupération" }, @@ -220,11 +220,11 @@ "en": "Generate a new code", "fr": "Générer un nouveau code" }, - "Group all your favourite rooms and people in one place.": { + "settings|sidebar|metaspaces_favourites_description": { "en": "Group all your favourite rooms in one place.", "fr": "Regroupe tous vos salons favoris au même endroit." }, - "Group all your people in one place.": { + "settings|sidebar|metaspaces_people_description": { "en": "Group all your direct message room in one place.", "fr": "Regroupe tous vos salons de message directs au même endroit." }, @@ -248,7 +248,7 @@ "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" }, - "If you want to retain access to your chat history in encrypted rooms, set up Key Backup or export your message keys from one of your other devices before proceeding.": { + "auth|reset_password|other_devices_logout_warning_2": { "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" }, @@ -264,11 +264,11 @@ "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." }, - "Ignored users": { + "settings|security|ignore_users_section": { "en": "Ignored users", "fr": "Membres ignorés" }, - "Import E2E room keys": { + "settings|security|import_megolm_keys": { "en": "Import your Tchap keys from the downloaded file", "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" }, @@ -280,7 +280,7 @@ "en": "Recovery code not recognized", "fr": "Code de récupération non reconnu" }, - "Invalid Email Address": { + "settings|general|error_invalid_email": { "en": "Invalid Email Address", "fr": "Adresse mail non valide" }, @@ -292,7 +292,7 @@ "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." }, - "Join public room": { + "room_list|join_public_room_label": { "en": "Join a public room", "fr": "Rejoindre un forum" }, @@ -312,7 +312,7 @@ "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" }, - "Muted Users": { + "room_settings|permissions|muted_users_section": { "en": "Muted Users", "fr": "Membres en sourdine" }, @@ -320,11 +320,11 @@ "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." }, - "Other sessions": { + "settings|sessions|other_sessions_heading": { "en": "Other devices", "fr": "Autres appareils" }, - "Other users may not trust it": { + "encryption|verify_toast_description": { "en": "You may not be able to recover your messages.", "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." }, @@ -340,7 +340,7 @@ "en": "Please note this is not your Recovery Code for your automatic backup.", "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique." }, - "Please only proceed if you're sure you've lost all of your other devices and your Security Key.": { + "encryption|verification|verify_reset_warning_2": { "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." }, @@ -364,7 +364,7 @@ "en": "Private room open to external users", "fr": "Salon ouvert aux externes" }, - "Privileged Users": { + "room_settings|permissions|privileged_users_section": { "en": "Privileged Users", "fr": "Membres privilégiés" }, @@ -372,7 +372,7 @@ "en": "Public discussion accessible to all users of this space or from a shared link.", "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." }, - "Public room": { + "common|public_room": { "en": "Public room", "fr": "Forum" }, @@ -392,11 +392,11 @@ "en": "Read the Privacy Policy", "fr": "Lire la Politique de Confidentialité" }, - "Really reset verification keys?": { + "encryption|verification|after_new_login|reset_confirmation": { "en": "Really reset Recovery Code?", "fr": "Réinitialiser le Code de Récupération, c’est certain ?" }, - "Receive push notifications on this session.": { + "settings|sessions|push_subheading": { "en": "Receive push notifications on this device.", "fr": "Recevoir les notifications push sur cet appareil" }, @@ -412,19 +412,19 @@ "en": "Reload page", "fr": "Rafraîchir la page" }, - "Remove from %(roomName)s": { + "user_info|kick_button_room_name": { "en": "Remove from %(roomName)s", "fr": "Retirer de %(roomName)s (réversible)" }, - "Remove from room": { + "user_info|kick_button_room": { "en": "Remove from room", "fr": "Retirer du salon (réversible)" }, - "Remove them from everything I'm able to": { + "user_info|kick_button_space_everything": { "en": "Remove them from everything I'm able to", "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" }, - "Remove them from specific things I'm able to": { + "user_info|kick_space_specific": { "en": "Remove them from specific things I'm able to", "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" }, @@ -432,11 +432,11 @@ "en": "Request a renewal email", "fr": "Demander l’envoi d’un nouvel email" }, - "Resetting your verification keys cannot be undone. After resetting, you won't have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them.": { + "encryption|verification|verify_reset_warning_1": { "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." }, - "Restore from Backup": { + "settings|security|restore_key_backup": { "en": "Retrieve my messages", "fr": "Récupérer mes messages" }, @@ -444,11 +444,7 @@ "en": "Restoring messages from backup", "fr": "Restauration des messages depuis la sauvegarde" }, - "Room members": { - "en": "Room members", - "fr": "Membres du salon" - }, - "Safeguard against losing access to encrypted messages & data": { + "encryption|set_up_toast_description": { "en": "Activate your Recovery Code to never lose your messages", "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" }, @@ -456,7 +452,7 @@ "en": "Save my Tchap keys", "fr": "Sauvegarder mes clés Tchap" }, - "Save your Security Key": { + "settings|key_backup|setup_secure_backup|title_save_key": { "en": "Write down your Recovery Code", "fr": "Notez votre Code de Récupération" }, @@ -472,7 +468,7 @@ "en": "Scanning", "fr": "Scanning" }, - "Secure Backup successful": { + "settings|key_backup|setup_secure_backup|backup_setup_success_title": { "en": "Secure backup successfully enabled.", "fr": "Sauvegarde automatique activée avec succès" }, @@ -480,23 +476,23 @@ "en": "Recovery Code", "fr": "Code de Récupération" }, - "Send email": { + "auth|forgot_password_send_email": { "en": "Send email", "fr": "Envoyer le mail" }, - "Sent messages will be stored until your connection has returned.": { + "room|status_bar|server_connectivity_lost_description": { "en": "Messages will be sent when your connection returns.", "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." }, - "Server may be unavailable, overloaded, or you hit a bug.": { + "create_room|generic_error": { "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" }, - "Server unavailable, overloaded, or something else went wrong.": { + "slash_command|server_error_detail": { "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" }, - "Sessions": { + "settings|sessions|title": { "en": "My devices", "fr": "Mes appareils" }, @@ -504,19 +500,19 @@ "en": "Activate", "fr": "Activer" }, - "Set up Secure Backup": { + "encryption|set_up_toast_title": { "en": "Activate message Secure Backup", "fr": "Activer la sauvegarde automatique des messages" }, - "Setting up keys": { + "encryption|bootstrap_title": { "en": "Setting up your Recovery Code", "fr": "Configuration du Code de Récupération" }, - "Show all your rooms in Home, even if they're in a space.": { + "settings|sidebar|metaspaces_home_all_rooms_description": { "en": "Show all your rooms in Home", "fr": "Affiche tous vos salons dans l’accueil" }, - "Sign out of %(count)s sessions": { + "settings|sessions|sign_out_n_sessions": { "one": { "en": "Sign out of %(count)s device", "fr": "Déconnecter %(count)s appareil" @@ -526,19 +522,19 @@ "fr": "Déconnecter %(count)s appareils" } }, - "Sign out of all other sessions (%(otherSessionsCount)s)": { + "settings|sessions|sign_out_all_other_sessions": { "en": "Sign out of all other devices (%(otherSessionsCount)s)", "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" }, - "Sign out of this session": { + "settings|sessions|sign_out": { "en": "Sign out of this device", "fr": "Se déconnecter de cet appareil" }, - "Signing out your devices will delete the message encryption keys stored on them, making encrypted chat history unreadable.": { + "auth|reset_password|other_devices_logout_warning_1": { "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." }, - "Spaces are ways to group rooms and people. Alongside the spaces you're in, you can use some pre-built ones too.": { + "settings|sidebar|spaces_explainer": { "en": "Spaces are ways to group rooms and direct messages.", "fr": "Les espaces permettent de regrouper des salons et des messages directs." }, @@ -546,7 +542,7 @@ "en": "Use automatic Backup", "fr": "Utiliser la sauvegarde automatique" }, - "Store your Security Key somewhere safe, like a password manager or a safe, as it's used to safeguard your encrypted data.": { + "settings|key_backup|setup_secure_backup|security_key_safety_reminder": { "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." }, @@ -611,7 +607,7 @@ "en": "This code will allow you to always restore your messages.", "fr": "Ce code vous permettra de toujours récupérer vos messages." }, - "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.": { + "settings|sessions|verified_sessions_explainer_2": { "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." }, @@ -627,11 +623,11 @@ "en": "This room is private and open to external users", "fr": "Ce salon est privé et ouvert aux externes" }, - "This session has detected that your Security Phrase and key for Secure Messages have been removed.": { + "encryption|recovery_method_removed|description_1": { "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." }, - "This session is backing up your keys.": { + "settings|security|key_backup_active": { "en": "This device automatically backs up your messages.", "fr": "Cet appareil sauvegarde automatiquement vos messages." }, @@ -647,11 +643,7 @@ "en": "Type of room", "fr": "Type de salon" }, - "Unable to decrypt message": { - "en": "Waiting for this message. This could take a while.", - "fr": "En attente de ce message. Ceci pourrait prendre un moment." - }, - "Unable to verify this device": { + "encryption|verification|after_new_login|unable_to_verify": { "en": "You are logging into a new device", "fr": "Vous vous connectez à un nouvel appareil" }, From 7c3ddbac5dad9a71159f5cdbf47ab55b589c69a7 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 14:41:59 +0100 Subject: [PATCH 71/86] Migrate more strings --- .../tchap_translations.json | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index a8a80fbd38..99f735b886 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -647,15 +647,15 @@ "en": "You are logging into a new device", "fr": "Vous vous connectez à un nouvel appareil" }, - "Unverified session": { + "settings|sessions|unverified_session": { "en": "Unverified device", "fr": "Appareil non vérifié" }, - "Unverified sessions": { + "settings|sessions|unverified_sessions": { "en": "Unverified devices", "fr": "Appareils non vérifiés" }, - "Unverified sessions are sessions that have logged in with your credentials but have not been cross-verified.": { + "settings|sessions|unverified_sessions_explainer_1": { "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." }, @@ -667,7 +667,7 @@ "en": "Upgrade room", "fr": "Mettre à jour le salon" }, - "Use a secret phrase only you know, and optionally save a Security Key to use for backup.": { + "settings|key_backup|setup_secure_backup|use_phrase_only_you_know": { "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." }, @@ -675,15 +675,15 @@ "en": "Use your Recovery Code to continue.", "fr": "Utilisez votre Code de Récupération pour continuer." }, - "User is already in the room": { + "invite|error_already_joined_room": { "en": "User is already in the room.", "fr": "Cette personne est déjà dans le salon." }, - "Verified session": { + "settings|sessions|verified_session": { "en": "Verified device", "fr": "Appareil vérifié" }, - "Verified sessions": { + "settings|sessions|verified_sessions": { "en": "Verified devices", "fr": "Appareils vérifiés" }, @@ -703,7 +703,7 @@ "en": "Verify this device", "fr": "Vérifier cet appareil" }, - "Verify with Security Key": { + "encryption|verification|verify_using_key": { "en": "Verify with Recovery Code", "fr": "Vérifier avec un Code de Récupération" }, @@ -711,11 +711,11 @@ "en": "Verify with Recovery Code or Phrase", "fr": "Vérifier avec un Code de Récupération ou une phrase" }, - "Verify your current session for enhanced secure messaging.": { + "settings|sessions|device_unverified_description_current": { "en": "Verify your current device to get your messages.", "fr": "Vérifier cet appareil afin de visualiser vos messages" }, - "Verify your identity to access encrypted messages and prove your identity to others.": { + "encryption|verification|verification_description": { "en": "Verify your identity to access locked messages and prove your identity to others.", "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." }, @@ -731,7 +731,7 @@ "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." }, - "We'll generate a Security Key for you to store somewhere safe, like a password manager or a safe.": { + "settings|key_backup|setup_secure_backup|generate_security_key_description": { "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." }, @@ -743,7 +743,7 @@ "en": "The Recovery Code is not valid. Check that it is the latest one.", "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent." }, - "You can also set up Secure Backup & manage your keys in Settings.": { + "settings|key_backup|setup_secure_backup|settings_reminder": { "en": "You can also set up Secure Backup & manage your keys in Settings.", "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." }, @@ -751,15 +751,15 @@ "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." }, - "You need to be able to kick users to do that.": { + "widget|error_need_kick_permission": { "en": "You need to be able to kick users to do that.", "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." }, - "You should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.": { + "settings|sessions|unverified_sessions_explainer_2": { "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." }, - "Your %(brand)s is misconfigured": { + "auth|misconfigured_title": { "en": " ", "fr": " " }, @@ -775,15 +775,15 @@ "en": "Your account is still expired, please follow the link in the email you should have received to renew it", "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" }, - "Your current session is ready for secure messaging.": { + "settings|sessions|device_verified_description_current": { "en": "Your device is ready for secure messaging.", "fr": "Votre appareil est prêt à envoyer des messages." }, - "Your keys are not being backed up from this session.": { + "settings|security|key_backup_inactive_warning": { "en": "This device is not backing up your messages.", "fr": "Cet appareil ne sauvegarde pas vos messages." }, - "Your keys are now being backed up from this device.": { + "settings|key_backup|setup_secure_backup|backup_setup_success_description": { "en": "Your messages are now automatically backed up on this device.", "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." }, @@ -791,7 +791,7 @@ "en": "Your last three login attempts have failed. Please try again in a few minutes.", "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." }, - "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.": { + "encryption|verification|verification_success_with_backup": { "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." }, From a219aad819d4f34a677dbc489bd3da622e34e841 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 14:43:19 +0100 Subject: [PATCH 72/86] Format translation file --- .../tchap_translations.json | 610 +++++++++--------- 1 file changed, 305 insertions(+), 305 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 99f735b886..60ffe175a9 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -55,34 +55,6 @@ "en": "Please try again with your recovery code.", "fr": "Merci d'essayer à nouveau avec votre code de récupération." }, - "user_info|ban_room_confirm_title": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" - }, - "user_info|ban_button_room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" - }, - "user_info|ban_button_space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" - }, - "user_info|ban_space_everything": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" - }, - "user_info|ban_space_specific": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" - }, - "room_settings|permissions|banned_users_section": { - "en": "Banned users", - "fr": "Membres bannis" - }, - "auth|uia|email_auth_header": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, "Clear cross-signing keys": { "en": "Reset Recovery Code", "fr": "Réinitialiser les clés de signature croisée" @@ -95,11 +67,6 @@ "en": "Congratulations, your account has been renewed", "fr": "Félicitations, votre compte a été renouvelé" }, - "voip|connection_lost": { - "comment": "the element string does not have . Where is this used?", - "en": "Tchap is not available at the moment. View the status of services.", - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" - }, "Contact us": { "en": "Contact us", "fr": "Contactez-nous" @@ -144,26 +111,14 @@ "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room.", "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon." }, - "auth|email_field_label": { - "en": "Email", - "fr": "Adresse mail" - }, "Email (optional)": { "en": "Email (optional)", "fr": "Adresse mail (facultatif)" }, - "settings|general|email_address_label": { - "en": "Email Address", - "fr": "Adresse mail" - }, "Email address": { "en": "Email address", "fr": "Adresse mail" }, - "settings|general|emails_heading": { - "en": "Email addresses", - "fr": "Adresses mail" - }, "Enter Security Key": { "en": "Enter Recovery Code", "fr": "Saisir le Code de Récupération" @@ -196,10 +151,6 @@ "en": "Finish", "fr": "Terminer" }, - "settings|sessions|best_security_note": { - "en": "Verify your devices to unlock your messages", - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" - }, "Forgotten or lost all recovery methods? Reset all": { "en": "You have lost your Recovery Code? Create a new code", "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code" @@ -212,22 +163,10 @@ "en": "Frequently Asked Questions (FAQ)", "fr": "Foire Aux Questions (FAQ)" }, - "settings|key_backup|setup_secure_backup|generate_security_key_title": { - "en": "Generate a Recovery Code", - "fr": "Générer un Code de Récupération" - }, "Generate a new code": { "en": "Generate a new code", "fr": "Générer un nouveau code" }, - "settings|sidebar|metaspaces_favourites_description": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." - }, - "settings|sidebar|metaspaces_people_description": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." - }, "I don't want my encrypted messages": { "en": "Log out still", "fr": "Se déconnecter quand-même" @@ -248,10 +187,6 @@ "en": "If you have any difficulties with using Tchap, please contact us by email at %(supportEmail)s", "fr": "Si vous rencontrez des difficultés dans votre utilisation de Tchap, contactez-nous par email à %(supportEmail)s" }, - "auth|reset_password|other_devices_logout_warning_2": { - "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", - "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" - }, "If you've forgotten your Security Key you can ": { "en": "If you've forgotten your Recovery Code you can ", "fr": "Si vous avez oublié votre Code de Récupération, vous pouvez " @@ -264,14 +199,6 @@ "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." }, - "settings|security|ignore_users_section": { - "en": "Ignored users", - "fr": "Membres ignorés" - }, - "settings|security|import_megolm_keys": { - "en": "Import your Tchap keys from the downloaded file", - "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" - }, "Incoming Verification Request": { "en": "Incoming Verification Request", "fr": "Partage de vos Clés Tchap" @@ -280,10 +207,6 @@ "en": "Recovery code not recognized", "fr": "Code de récupération non reconnu" }, - "settings|general|error_invalid_email": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" - }, "Invite someone using their name, email address, username (like ) or share this room.": { "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." @@ -292,10 +215,6 @@ "en": "Invite someone using their name, email address, username (like ) or share this space. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", "fr": "Invitez quelqu’un grâce à son nom, adresse mail, nom d’utilisateur (tel que ) ou partagez cet espace. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." }, - "room_list|join_public_room_label": { - "en": "Join a public room", - "fr": "Rejoindre un forum" - }, "Just want to get your own logs, without sharing them with the Tchap team?": { "en": "Just want to get your own logs, without sharing them with the Tchap team?", "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" @@ -312,22 +231,10 @@ "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" }, - "room_settings|permissions|muted_users_section": { - "en": "Muted Users", - "fr": "Membres en sourdine" - }, "One of your devices wants to check your Tchap Keys to unlock your messages.": { "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." }, - "settings|sessions|other_sessions_heading": { - "en": "Other devices", - "fr": "Autres appareils" - }, - "encryption|verify_toast_description": { - "en": "You may not be able to recover your messages.", - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." - }, "Passphrase must be at least 8 character long": { "en": "Passphrase must be at least 8 character long", "fr": "Le mot de passe doit minimum faire 8 caractères" @@ -340,10 +247,6 @@ "en": "Please note this is not your Recovery Code for your automatic backup.", "fr": "Attention ceci n’est pas votre Code de Récupération pour votre sauvegarde automatique." }, - "encryption|verification|verify_reset_warning_2": { - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." - }, "Please tell us what went wrong in the \"Notes\" field.": { "en": "Please tell us what went wrong in the \"Notes\" field.", "fr": "Veuillez nous expliquer le problème dans le champ \"Notes\"." @@ -364,18 +267,10 @@ "en": "Private room open to external users", "fr": "Salon ouvert aux externes" }, - "room_settings|permissions|privileged_users_section": { - "en": "Privileged Users", - "fr": "Membres privilégiés" - }, "Public discussion accessible to all users of this space or from a shared link.": { "en": "Public discussion accessible to all users of this space or from a shared link.", "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." }, - "common|public_room": { - "en": "Public room", - "fr": "Forum" - }, "Read the CGU": { "en": "Read the CGU", "fr": "Consultez les CGU" @@ -392,14 +287,6 @@ "en": "Read the Privacy Policy", "fr": "Lire la Politique de Confidentialité" }, - "encryption|verification|after_new_login|reset_confirmation": { - "en": "Really reset Recovery Code?", - "fr": "Réinitialiser le Code de Récupération, c’est certain ?" - }, - "settings|sessions|push_subheading": { - "en": "Receive push notifications on this device.", - "fr": "Recevoir les notifications push sur cet appareil" - }, "Recent Conversations": { "en": "Recents chats", "fr": "Messages directs récents" @@ -412,50 +299,18 @@ "en": "Reload page", "fr": "Rafraîchir la page" }, - "user_info|kick_button_room_name": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" - }, - "user_info|kick_button_room": { - "en": "Remove from room", - "fr": "Retirer du salon (réversible)" - }, - "user_info|kick_button_space_everything": { - "en": "Remove them from everything I'm able to", - "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" - }, - "user_info|kick_space_specific": { - "en": "Remove them from specific things I'm able to", - "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" - }, "Request a renewal email": { "en": "Request a renewal email", "fr": "Demander l’envoi d’un nouvel email" }, - "encryption|verification|verify_reset_warning_1": { - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." - }, - "settings|security|restore_key_backup": { - "en": "Retrieve my messages", - "fr": "Récupérer mes messages" - }, "Restoring keys from backup": { "en": "Restoring messages from backup", "fr": "Restauration des messages depuis la sauvegarde" }, - "encryption|set_up_toast_description": { - "en": "Activate your Recovery Code to never lose your messages", - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" - }, "Save my keys": { "en": "Save my Tchap keys", "fr": "Sauvegarder mes clés Tchap" }, - "settings|key_backup|setup_secure_backup|title_save_key": { - "en": "Write down your Recovery Code", - "fr": "Notez votre Code de Récupération" - }, "Save your Tchap Keys (encryption keys)": { "en": "Save your Tchap Keys (encryption keys)", "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" @@ -468,84 +323,18 @@ "en": "Scanning", "fr": "Scanning" }, - "settings|key_backup|setup_secure_backup|backup_setup_success_title": { - "en": "Secure backup successfully enabled.", - "fr": "Sauvegarde automatique activée avec succès" - }, "Security Key": { "en": "Recovery Code", "fr": "Code de Récupération" }, - "auth|forgot_password_send_email": { - "en": "Send email", - "fr": "Envoyer le mail" - }, - "room|status_bar|server_connectivity_lost_description": { - "en": "Messages will be sent when your connection returns.", - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." - }, - "create_room|generic_error": { - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" - }, - "slash_command|server_error_detail": { - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" - }, - "settings|sessions|title": { - "en": "My devices", - "fr": "Mes appareils" - }, "Set up": { "en": "Activate", "fr": "Activer" }, - "encryption|set_up_toast_title": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" - }, - "encryption|bootstrap_title": { - "en": "Setting up your Recovery Code", - "fr": "Configuration du Code de Récupération" - }, - "settings|sidebar|metaspaces_home_all_rooms_description": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" - }, - "settings|sessions|sign_out_n_sessions": { - "one": { - "en": "Sign out of %(count)s device", - "fr": "Déconnecter %(count)s appareil" - }, - "other": { - "en": "Sign out of %(count)s devices", - "fr": "Déconnecter %(count)s appareils" - } - }, - "settings|sessions|sign_out_all_other_sessions": { - "en": "Sign out of all other devices (%(otherSessionsCount)s)", - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" - }, - "settings|sessions|sign_out": { - "en": "Sign out of this device", - "fr": "Se déconnecter de cet appareil" - }, - "auth|reset_password|other_devices_logout_warning_1": { - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." - }, - "settings|sidebar|spaces_explainer": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." - }, "Start using Key Backup": { "en": "Use automatic Backup", "fr": "Utiliser la sauvegarde automatique" }, - "settings|key_backup|setup_secure_backup|security_key_safety_reminder": { - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." - }, "Submit debug logs to Tchap support team": { "comment": "The title of BugReportDialog is unclear, specify it", "en": "Submit debug logs to Tchap support team", @@ -607,10 +396,6 @@ "en": "This code will allow you to always restore your messages.", "fr": "Ce code vous permettra de toujours récupérer vos messages." }, - "settings|sessions|verified_sessions_explainer_2": { - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." - }, "This room is a public forum": { "en": "This room is a public forum", "fr": "Ce salon est un forum public" @@ -623,14 +408,6 @@ "en": "This room is private and open to external users", "fr": "Ce salon est privé et ouvert aux externes" }, - "encryption|recovery_method_removed|description_1": { - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." - }, - "settings|security|key_backup_active": { - "en": "This device automatically backs up your messages.", - "fr": "Cet appareil sauvegarde automatiquement vos messages." - }, "This version of Tchap Web is currently in development. There are known issues that will be solved soon.": { "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." @@ -643,22 +420,6 @@ "en": "Type of room", "fr": "Type de salon" }, - "encryption|verification|after_new_login|unable_to_verify": { - "en": "You are logging into a new device", - "fr": "Vous vous connectez à un nouvel appareil" - }, - "settings|sessions|unverified_session": { - "en": "Unverified device", - "fr": "Appareil non vérifié" - }, - "settings|sessions|unverified_sessions": { - "en": "Unverified devices", - "fr": "Appareils non vérifiés" - }, - "settings|sessions|unverified_sessions_explainer_1": { - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." - }, "Upgrade private room": { "en": "This room will be updated", "fr": "Ce salon va être mis à jour" @@ -667,26 +428,10 @@ "en": "Upgrade room", "fr": "Mettre à jour le salon" }, - "settings|key_backup|setup_secure_backup|use_phrase_only_you_know": { - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." - }, "Use your Security Key to continue.": { "en": "Use your Recovery Code to continue.", "fr": "Utilisez votre Code de Récupération pour continuer." }, - "invite|error_already_joined_room": { - "en": "User is already in the room.", - "fr": "Cette personne est déjà dans le salon." - }, - "settings|sessions|verified_session": { - "en": "Verified device", - "fr": "Appareil vérifié" - }, - "settings|sessions|verified_sessions": { - "en": "Verified devices", - "fr": "Appareils vérifiés" - }, "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." @@ -703,22 +448,10 @@ "en": "Verify this device", "fr": "Vérifier cet appareil" }, - "encryption|verification|verify_using_key": { - "en": "Verify with Recovery Code", - "fr": "Vérifier avec un Code de Récupération" - }, "Verify with Security Key or Phrase": { "en": "Verify with Recovery Code or Phrase", "fr": "Vérifier avec un Code de Récupération ou une phrase" }, - "settings|sessions|device_unverified_description_current": { - "en": "Verify your current device to get your messages.", - "fr": "Vérifier cet appareil afin de visualiser vos messages" - }, - "encryption|verification|verification_description": { - "en": "Verify your identity to access locked messages and prove your identity to others.", - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." - }, "Wait for at least %(wait)s seconds between two emails": { "en": "Wait for at least %(wait)s seconds between two emails", "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" @@ -731,10 +464,6 @@ "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." }, - "settings|key_backup|setup_secure_backup|generate_security_key_description": { - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." - }, "Welcome to Tchap": { "en": "Welcome to Tchap", "fr": "Bienvenue sur Tchap" @@ -743,26 +472,10 @@ "en": "The Recovery Code is not valid. Check that it is the latest one.", "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent." }, - "settings|key_backup|setup_secure_backup|settings_reminder": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." - }, "You can close this disconnected tab, and go to the other %(brand)s tab.": { "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." }, - "widget|error_need_kick_permission": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." - }, - "settings|sessions|unverified_sessions_explainer_2": { - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." - }, - "auth|misconfigured_title": { - "en": " ", - "fr": " " - }, "Your Tchap Key password": { "en": "Your Tchap Key password", "fr": "Votre mot de passe Clés Tchap" @@ -775,26 +488,10 @@ "en": "Your account is still expired, please follow the link in the email you should have received to renew it", "fr": "Votre compte est toujours expiré, merci de cliquer sur le lien reçu dans le mail de renouvellement" }, - "settings|sessions|device_verified_description_current": { - "en": "Your device is ready for secure messaging.", - "fr": "Votre appareil est prêt à envoyer des messages." - }, - "settings|security|key_backup_inactive_warning": { - "en": "This device is not backing up your messages.", - "fr": "Cet appareil ne sauvegarde pas vos messages." - }, - "settings|key_backup|setup_secure_backup|backup_setup_success_description": { - "en": "Your messages are now automatically backed up on this device.", - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." - }, "Your last three login attempts have failed. Please try again in a few minutes.": { "en": "Your last three login attempts have failed. Please try again in a few minutes.", "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." }, - "encryption|verification|verification_success_with_backup": { - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." - }, "Your password must include:": { "en": "Your password must include:", "fr": "Votre mot de passe doit comporter :" @@ -864,6 +561,30 @@ } } }, + "auth|email_field_label": { + "en": "Email", + "fr": "Adresse mail" + }, + "auth|forgot_password_send_email": { + "en": "Send email", + "fr": "Envoyer le mail" + }, + "auth|misconfigured_title": { + "en": " ", + "fr": " " + }, + "auth|reset_password|other_devices_logout_warning_1": { + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." + }, + "auth|reset_password|other_devices_logout_warning_2": { + "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", + "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" + }, + "auth|uia|email_auth_header": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, "common": { "secure_backup": { "en": "Automatic Backup of Messages", @@ -878,6 +599,14 @@ "fr": "Vérifié" } }, + "common|public_room": { + "en": "Public room", + "fr": "Forum" + }, + "create_room|generic_error": { + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + }, "encryption": { "cross_signing_not_ready": { "en": "Cross-signing is not active.", @@ -898,11 +627,63 @@ } } }, + "encryption|bootstrap_title": { + "en": "Setting up your Recovery Code", + "fr": "Configuration du Code de Récupération" + }, + "encryption|recovery_method_removed|description_1": { + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." + }, + "encryption|set_up_toast_description": { + "en": "Activate your Recovery Code to never lose your messages", + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" + }, + "encryption|set_up_toast_title": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" + }, + "encryption|verification|after_new_login|reset_confirmation": { + "en": "Really reset Recovery Code?", + "fr": "Réinitialiser le Code de Récupération, c’est certain ?" + }, + "encryption|verification|after_new_login|unable_to_verify": { + "en": "You are logging into a new device", + "fr": "Vous vous connectez à un nouvel appareil" + }, + "encryption|verification|verification_description": { + "en": "Verify your identity to access locked messages and prove your identity to others.", + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." + }, + "encryption|verification|verification_success_with_backup": { + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." + }, + "encryption|verification|verify_reset_warning_1": { + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." + }, + "encryption|verification|verify_reset_warning_2": { + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." + }, + "encryption|verification|verify_using_key": { + "en": "Verify with Recovery Code", + "fr": "Vérifier avec un Code de Récupération" + }, + "encryption|verify_toast_description": { + "en": "You may not be able to recover your messages.", + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." + }, "error_app_opened_in_another_window": { "comment": "2023-11-08: remove once the string is translated in element", "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." }, + "invite|error_already_joined_room": { + "en": "User is already in the room.", + "fr": "Cette personne est déjà dans le salon." + }, "la messagerie instantanée de l'Administration": { "en": "The instant messaging app of the French Administration", "fr": "la messagerie instantanée de l'Administration" @@ -937,6 +718,10 @@ "fr": "Impossible de rejoindre ce salon" } }, + "room_list|join_public_room_label": { + "en": "Join a public room", + "fr": "Rejoindre un forum" + }, "room_settings": { "permissions": { "ban": { @@ -949,6 +734,22 @@ } } }, + "room_settings|permissions|banned_users_section": { + "en": "Banned users", + "fr": "Membres bannis" + }, + "room_settings|permissions|muted_users_section": { + "en": "Muted Users", + "fr": "Membres en sourdine" + }, + "room_settings|permissions|privileged_users_section": { + "en": "Privileged Users", + "fr": "Membres privilégiés" + }, + "room|status_bar|server_connectivity_lost_description": { + "en": "Messages will be sent when your connection returns.", + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." + }, "sessions": { "sign_out_confirm_description": { "one": { @@ -993,16 +794,211 @@ } } }, + "settings|general|email_address_label": { + "en": "Email Address", + "fr": "Adresse mail" + }, + "settings|general|emails_heading": { + "en": "Email addresses", + "fr": "Adresses mail" + }, + "settings|general|error_invalid_email": { + "en": "Invalid Email Address", + "fr": "Adresse mail non valide" + }, + "settings|key_backup|setup_secure_backup|backup_setup_success_description": { + "en": "Your messages are now automatically backed up on this device.", + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." + }, + "settings|key_backup|setup_secure_backup|backup_setup_success_title": { + "en": "Secure backup successfully enabled.", + "fr": "Sauvegarde automatique activée avec succès" + }, + "settings|key_backup|setup_secure_backup|generate_security_key_description": { + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." + }, + "settings|key_backup|setup_secure_backup|generate_security_key_title": { + "en": "Generate a Recovery Code", + "fr": "Générer un Code de Récupération" + }, + "settings|key_backup|setup_secure_backup|security_key_safety_reminder": { + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." + }, + "settings|key_backup|setup_secure_backup|settings_reminder": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + }, + "settings|key_backup|setup_secure_backup|title_save_key": { + "en": "Write down your Recovery Code", + "fr": "Notez votre Code de Récupération" + }, + "settings|key_backup|setup_secure_backup|use_phrase_only_you_know": { + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." + }, + "settings|security|ignore_users_section": { + "en": "Ignored users", + "fr": "Membres ignorés" + }, + "settings|security|import_megolm_keys": { + "en": "Import your Tchap keys from the downloaded file", + "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" + }, + "settings|security|key_backup_active": { + "en": "This device automatically backs up your messages.", + "fr": "Cet appareil sauvegarde automatiquement vos messages." + }, + "settings|security|key_backup_inactive_warning": { + "en": "This device is not backing up your messages.", + "fr": "Cet appareil ne sauvegarde pas vos messages." + }, + "settings|security|restore_key_backup": { + "en": "Retrieve my messages", + "fr": "Récupérer mes messages" + }, + "settings|sessions|best_security_note": { + "en": "Verify your devices to unlock your messages", + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" + }, + "settings|sessions|device_unverified_description_current": { + "en": "Verify your current device to get your messages.", + "fr": "Vérifier cet appareil afin de visualiser vos messages" + }, + "settings|sessions|device_verified_description_current": { + "en": "Your device is ready for secure messaging.", + "fr": "Votre appareil est prêt à envoyer des messages." + }, + "settings|sessions|other_sessions_heading": { + "en": "Other devices", + "fr": "Autres appareils" + }, + "settings|sessions|push_subheading": { + "en": "Receive push notifications on this device.", + "fr": "Recevoir les notifications push sur cet appareil" + }, + "settings|sessions|sign_out": { + "en": "Sign out of this device", + "fr": "Se déconnecter de cet appareil" + }, + "settings|sessions|sign_out_all_other_sessions": { + "en": "Sign out of all other devices (%(otherSessionsCount)s)", + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" + }, + "settings|sessions|sign_out_n_sessions": { + "one": { + "en": "Sign out of %(count)s device", + "fr": "Déconnecter %(count)s appareil" + }, + "other": { + "en": "Sign out of %(count)s devices", + "fr": "Déconnecter %(count)s appareils" + } + }, + "settings|sessions|title": { + "en": "My devices", + "fr": "Mes appareils" + }, + "settings|sessions|unverified_session": { + "en": "Unverified device", + "fr": "Appareil non vérifié" + }, + "settings|sessions|unverified_sessions": { + "en": "Unverified devices", + "fr": "Appareils non vérifiés" + }, + "settings|sessions|unverified_sessions_explainer_1": { + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." + }, + "settings|sessions|unverified_sessions_explainer_2": { + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." + }, + "settings|sessions|verified_session": { + "en": "Verified device", + "fr": "Appareil vérifié" + }, + "settings|sessions|verified_sessions": { + "en": "Verified devices", + "fr": "Appareils vérifiés" + }, + "settings|sessions|verified_sessions_explainer_2": { + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." + }, + "settings|sidebar|metaspaces_favourites_description": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." + }, + "settings|sidebar|metaspaces_home_all_rooms_description": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" + }, + "settings|sidebar|metaspaces_people_description": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." + }, + "settings|sidebar|spaces_explainer": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." + }, + "slash_command|server_error_detail": { + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + }, "threads": { "unable_to_decrypt": { - "fr": "En attente de ce message. Ceci pourrait prendre un moment.", - "en": "Waiting for this message. This could take a while." + "en": "Waiting for this message. This could take a while.", + "fr": "En attente de ce message. Ceci pourrait prendre un moment." }, "unable_to_decrypt_with_info_message": { "en": "Waiting for this message. This could take a while. Find out more", "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" } }, + "user_info|ban_button_room": { + "en": "Ban from room", + "fr": "Interdire l’accès au salon (définitif)" + }, + "user_info|ban_button_space": { + "en": "Ban from space", + "fr": "Interdire l’accès à l'espace (définitif)" + }, + "user_info|ban_room_confirm_title": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" + }, + "user_info|ban_space_everything": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + }, + "user_info|ban_space_specific": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" + }, + "user_info|kick_button_room": { + "en": "Remove from room", + "fr": "Retirer du salon (réversible)" + }, + "user_info|kick_button_room_name": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" + }, + "user_info|kick_button_space_everything": { + "en": "Remove them from everything I'm able to", + "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" + }, + "user_info|kick_space_specific": { + "en": "Remove them from specific things I'm able to", + "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + }, + "voip|connection_lost": { + "comment": "the element string does not have . Where is this used?", + "en": "Tchap is not available at the moment. View the status of services.", + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + }, "widget": { "capability": { "remove_ban_invite_leave_active_room": { @@ -1014,5 +1010,9 @@ "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" } } + }, + "widget|error_need_kick_permission": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." } } From a10346366df7329584d3fd97ce2bcc4f665769bb Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 14:53:38 +0100 Subject: [PATCH 73/86] Segment keys in translation file --- .../tchap_translations.json | 444 +++++++++--------- 1 file changed, 230 insertions(+), 214 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 60ffe175a9..e563bc06c3 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -716,11 +716,19 @@ "error_join_title": { "en": "Failed to join this room.", "fr": "Impossible de rejoindre ce salon" + }, + "status_bar": { + "server_connectivity_lost_description": { + "en": "Messages will be sent when your connection returns.", + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." + } } }, - "room_list|join_public_room_label": { - "en": "Join a public room", - "fr": "Rejoindre un forum" + "room_list": { + "join_public_room_label": { + "en": "Join a public room", + "fr": "Rejoindre un forum" + } }, "room_settings": { "permissions": { @@ -728,28 +736,24 @@ "en": "Ban users", "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" }, + "banned_users_section": { + "en": "Banned users", + "fr": "Membres bannis" + }, "kick": { "en": "Remove users", "fr": "Retirer des utilisateurs (réversible)" + }, + "muted_users_section": { + "en": "Muted Users", + "fr": "Membres en sourdine" + }, + "privileged_users_section": { + "en": "Privileged Users", + "fr": "Membres privilégiés" } } }, - "room_settings|permissions|banned_users_section": { - "en": "Banned users", - "fr": "Membres bannis" - }, - "room_settings|permissions|muted_users_section": { - "en": "Muted Users", - "fr": "Membres en sourdine" - }, - "room_settings|permissions|privileged_users_section": { - "en": "Privileged Users", - "fr": "Membres privilégiés" - }, - "room|status_bar|server_connectivity_lost_description": { - "en": "Messages will be sent when your connection returns.", - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." - }, "sessions": { "sign_out_confirm_description": { "one": { @@ -767,6 +771,54 @@ "add_email_dialog_title": { "en": "Add Email Address", "fr": "Ajouter une adresse mail" + }, + "email_address_label": { + "en": "Email Address", + "fr": "Adresse mail" + }, + "emails_heading": { + "en": "Email addresses", + "fr": "Adresses mail" + }, + "error_invalid_email": { + "en": "Invalid Email Address", + "fr": "Adresse mail non valide" + } + }, + "key_backup": { + "setup_secure_backup": { + "backup_setup_success_description": { + "en": "Your messages are now automatically backed up on this device.", + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." + }, + "backup_setup_success_title": { + "en": "Secure backup successfully enabled.", + "fr": "Sauvegarde automatique activée avec succès" + }, + "generate_security_key_description": { + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." + }, + "generate_security_key_title": { + "en": "Generate a Recovery Code", + "fr": "Générer un Code de Récupération" + }, + "security_key_safety_reminder": { + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." + }, + "settings_reminder": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + }, + "title_save_key": { + "en": "Write down your Recovery Code", + "fr": "Notez votre Code de Récupération" + }, + "use_phrase_only_you_know": { + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." + } } }, "security": { @@ -778,175 +830,135 @@ "en": "Save your Tchap keys", "fr": "Sauvegardez vos clés Tchap" }, + "ignore_users_section": { + "en": "Ignored users", + "fr": "Membres ignorés" + }, + "import_megolm_keys": { + "en": "Import your Tchap keys from the downloaded file", + "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" + }, + "key_backup_active": { + "en": "This device automatically backs up your messages.", + "fr": "Cet appareil sauvegarde automatiquement vos messages." + }, "key_backup_connect": { "en": "Verify this device", "fr": "Vérifier cet appareil" }, + "key_backup_inactive_warning": { + "en": "This device is not backing up your messages.", + "fr": "Cet appareil ne sauvegarde pas vos messages." + }, "message_search_unsupported_web": { "en": "Currently %(brand)s does not support searching into messages.", "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." + }, + "restore_key_backup": { + "en": "Retrieve my messages", + "fr": "Récupérer mes messages" } }, "sessions": { + "best_security_note": { + "en": "Verify your devices to unlock your messages", + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" + }, "current_session": { "en": "This device", "fr": "Cet appareil" + }, + "device_unverified_description_current": { + "en": "Verify your current device to get your messages.", + "fr": "Vérifier cet appareil afin de visualiser vos messages" + }, + "device_verified_description_current": { + "en": "Your device is ready for secure messaging.", + "fr": "Votre appareil est prêt à envoyer des messages." + }, + "other_sessions_heading": { + "en": "Other devices", + "fr": "Autres appareils" + }, + "push_subheading": { + "en": "Receive push notifications on this device.", + "fr": "Recevoir les notifications push sur cet appareil" + }, + "sign_out": { + "en": "Sign out of this device", + "fr": "Se déconnecter de cet appareil" + }, + "sign_out_all_other_sessions": { + "en": "Sign out of all other devices (%(otherSessionsCount)s)", + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" + }, + "sign_out_n_sessions": { + "one": { + "en": "Sign out of %(count)s device", + "fr": "Déconnecter %(count)s appareil" + }, + "other": { + "en": "Sign out of %(count)s devices", + "fr": "Déconnecter %(count)s appareils" + } + }, + "title": { + "en": "My devices", + "fr": "Mes appareils" + }, + "unverified_session": { + "en": "Unverified device", + "fr": "Appareil non vérifié" + }, + "unverified_sessions": { + "en": "Unverified devices", + "fr": "Appareils non vérifiés" + }, + "unverified_sessions_explainer_1": { + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." + }, + "unverified_sessions_explainer_2": { + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." + }, + "verified_session": { + "en": "Verified device", + "fr": "Appareil vérifié" + }, + "verified_sessions": { + "en": "Verified devices", + "fr": "Appareils vérifiés" + }, + "verified_sessions_explainer_2": { + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." } - } - }, - "settings|general|email_address_label": { - "en": "Email Address", - "fr": "Adresse mail" - }, - "settings|general|emails_heading": { - "en": "Email addresses", - "fr": "Adresses mail" - }, - "settings|general|error_invalid_email": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" - }, - "settings|key_backup|setup_secure_backup|backup_setup_success_description": { - "en": "Your messages are now automatically backed up on this device.", - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." - }, - "settings|key_backup|setup_secure_backup|backup_setup_success_title": { - "en": "Secure backup successfully enabled.", - "fr": "Sauvegarde automatique activée avec succès" - }, - "settings|key_backup|setup_secure_backup|generate_security_key_description": { - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." - }, - "settings|key_backup|setup_secure_backup|generate_security_key_title": { - "en": "Generate a Recovery Code", - "fr": "Générer un Code de Récupération" - }, - "settings|key_backup|setup_secure_backup|security_key_safety_reminder": { - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." - }, - "settings|key_backup|setup_secure_backup|settings_reminder": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." - }, - "settings|key_backup|setup_secure_backup|title_save_key": { - "en": "Write down your Recovery Code", - "fr": "Notez votre Code de Récupération" - }, - "settings|key_backup|setup_secure_backup|use_phrase_only_you_know": { - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." - }, - "settings|security|ignore_users_section": { - "en": "Ignored users", - "fr": "Membres ignorés" - }, - "settings|security|import_megolm_keys": { - "en": "Import your Tchap keys from the downloaded file", - "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" - }, - "settings|security|key_backup_active": { - "en": "This device automatically backs up your messages.", - "fr": "Cet appareil sauvegarde automatiquement vos messages." - }, - "settings|security|key_backup_inactive_warning": { - "en": "This device is not backing up your messages.", - "fr": "Cet appareil ne sauvegarde pas vos messages." - }, - "settings|security|restore_key_backup": { - "en": "Retrieve my messages", - "fr": "Récupérer mes messages" - }, - "settings|sessions|best_security_note": { - "en": "Verify your devices to unlock your messages", - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" - }, - "settings|sessions|device_unverified_description_current": { - "en": "Verify your current device to get your messages.", - "fr": "Vérifier cet appareil afin de visualiser vos messages" - }, - "settings|sessions|device_verified_description_current": { - "en": "Your device is ready for secure messaging.", - "fr": "Votre appareil est prêt à envoyer des messages." - }, - "settings|sessions|other_sessions_heading": { - "en": "Other devices", - "fr": "Autres appareils" - }, - "settings|sessions|push_subheading": { - "en": "Receive push notifications on this device.", - "fr": "Recevoir les notifications push sur cet appareil" - }, - "settings|sessions|sign_out": { - "en": "Sign out of this device", - "fr": "Se déconnecter de cet appareil" - }, - "settings|sessions|sign_out_all_other_sessions": { - "en": "Sign out of all other devices (%(otherSessionsCount)s)", - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" - }, - "settings|sessions|sign_out_n_sessions": { - "one": { - "en": "Sign out of %(count)s device", - "fr": "Déconnecter %(count)s appareil" }, - "other": { - "en": "Sign out of %(count)s devices", - "fr": "Déconnecter %(count)s appareils" + "sidebar": { + "metaspaces_favourites_description": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." + }, + "metaspaces_home_all_rooms_description": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" + }, + "metaspaces_people_description": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." + }, + "spaces_explainer": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." + } } }, - "settings|sessions|title": { - "en": "My devices", - "fr": "Mes appareils" - }, - "settings|sessions|unverified_session": { - "en": "Unverified device", - "fr": "Appareil non vérifié" - }, - "settings|sessions|unverified_sessions": { - "en": "Unverified devices", - "fr": "Appareils non vérifiés" - }, - "settings|sessions|unverified_sessions_explainer_1": { - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." - }, - "settings|sessions|unverified_sessions_explainer_2": { - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." - }, - "settings|sessions|verified_session": { - "en": "Verified device", - "fr": "Appareil vérifié" - }, - "settings|sessions|verified_sessions": { - "en": "Verified devices", - "fr": "Appareils vérifiés" - }, - "settings|sessions|verified_sessions_explainer_2": { - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." - }, - "settings|sidebar|metaspaces_favourites_description": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." - }, - "settings|sidebar|metaspaces_home_all_rooms_description": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" - }, - "settings|sidebar|metaspaces_people_description": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." - }, - "settings|sidebar|spaces_explainer": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." - }, - "slash_command|server_error_detail": { - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + "slash_command": { + "server_error_detail": { + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + } }, "threads": { "unable_to_decrypt": { @@ -958,46 +970,50 @@ "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" } }, - "user_info|ban_button_room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" - }, - "user_info|ban_button_space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" - }, - "user_info|ban_room_confirm_title": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" - }, - "user_info|ban_space_everything": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" - }, - "user_info|ban_space_specific": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" - }, - "user_info|kick_button_room": { - "en": "Remove from room", - "fr": "Retirer du salon (réversible)" - }, - "user_info|kick_button_room_name": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" - }, - "user_info|kick_button_space_everything": { - "en": "Remove them from everything I'm able to", - "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" - }, - "user_info|kick_space_specific": { - "en": "Remove them from specific things I'm able to", - "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + "user_info": { + "ban_button_room": { + "en": "Ban from room", + "fr": "Interdire l’accès au salon (définitif)" + }, + "ban_button_space": { + "en": "Ban from space", + "fr": "Interdire l’accès à l'espace (définitif)" + }, + "ban_room_confirm_title": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" + }, + "ban_space_everything": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + }, + "ban_space_specific": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" + }, + "kick_button_room": { + "en": "Remove from room", + "fr": "Retirer du salon (réversible)" + }, + "kick_button_room_name": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" + }, + "kick_button_space_everything": { + "en": "Remove them from everything I'm able to", + "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" + }, + "kick_space_specific": { + "en": "Remove them from specific things I'm able to", + "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + } }, - "voip|connection_lost": { - "comment": "the element string does not have . Where is this used?", - "en": "Tchap is not available at the moment. View the status of services.", - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + "voip": { + "connection_lost": { + "comment": "the element string does not have . Where is this used?", + "en": "Tchap is not available at the moment. View the status of services.", + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + } }, "widget": { "capability": { @@ -1009,10 +1025,10 @@ "en": "Remove, ban, or invite people to this room, and make you leave", "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" } + }, + "error_need_kick_permission": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." } - }, - "widget|error_need_kick_permission": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." } } From 43bb1082a841c9e86548a2460ae9df781fb49786 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 15:02:00 +0100 Subject: [PATCH 74/86] Clean up translation file --- .../tchap_translations.json | 90 ++++++++++--------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index e563bc06c3..650e079906 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -432,26 +432,10 @@ "en": "Use your Recovery Code to continue.", "fr": "Utilisez votre Code de Récupération pour continuer." }, - "Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.": { - "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", - "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." - }, "Verified!": { "en": "Verified!", "fr": "Vérifié !" }, - "Verify session": { - "en": "Verify device", - "fr": "Vérifier l'appareil" - }, - "Verify this session": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" - }, - "Verify with Security Key or Phrase": { - "en": "Verify with Recovery Code or Phrase", - "fr": "Vérifier avec un Code de Récupération ou une phrase" - }, "Wait for at least %(wait)s seconds between two emails": { "en": "Wait for at least %(wait)s seconds between two emails", "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" @@ -624,7 +608,45 @@ "sas_emoji_caption_self": { "en": "Confirm the emoji below are displayed on both devices, in the same order:", "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + }, + "verify_using_key_or_phrase": { + "en": "Verify with Recovery Code or Phrase", + "fr": "Vérifier avec un Code de Récupération ou une phrase" + }, + "after_new_login": { + "reset_confirmation": { + "en": "Really reset Recovery Code?", + "fr": "Réinitialiser le Code de Récupération, c’est certain ?" + }, + "unable_to_verify": { + "en": "You are logging into a new device", + "fr": "Vous vous connectez à un nouvel appareil" + } + }, + "verification_description": { + "en": "Verify your identity to access locked messages and prove your identity to others.", + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." + }, + "verification_success_with_backup": { + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." + }, + "verify_reset_warning_1": { + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." + }, + "verify_reset_warning_2": { + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." + }, + "verify_using_key": { + "en": "Verify with Recovery Code", + "fr": "Vérifier avec un Code de Récupération" } + }, + "verify_toast_title": { + "en": "Verify this device", + "fr": "Vérifier cet appareil" } }, "encryption|bootstrap_title": { @@ -643,34 +665,6 @@ "en": "Activate message Secure Backup", "fr": "Activer la sauvegarde automatique des messages" }, - "encryption|verification|after_new_login|reset_confirmation": { - "en": "Really reset Recovery Code?", - "fr": "Réinitialiser le Code de Récupération, c’est certain ?" - }, - "encryption|verification|after_new_login|unable_to_verify": { - "en": "You are logging into a new device", - "fr": "Vous vous connectez à un nouvel appareil" - }, - "encryption|verification|verification_description": { - "en": "Verify your identity to access locked messages and prove your identity to others.", - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." - }, - "encryption|verification|verification_success_with_backup": { - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." - }, - "encryption|verification|verify_reset_warning_1": { - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." - }, - "encryption|verification|verify_reset_warning_2": { - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." - }, - "encryption|verification|verify_using_key": { - "en": "Verify with Recovery Code", - "fr": "Vérifier avec un Code de Récupération" - }, "encryption|verify_toast_description": { "en": "You may not be able to recover your messages.", "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." @@ -930,9 +924,17 @@ "en": "Verified devices", "fr": "Appareils vérifiés" }, + "verified_sessions_explainer_1": { + "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", + "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." + }, "verified_sessions_explainer_2": { "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." + }, + "verify_session": { + "en": "Verify device", + "fr": "Vérifier l'appareil" } }, "sidebar": { From 5da3627a2b5f16013e29830aa23432a3ede2cfdc Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 15:30:16 +0100 Subject: [PATCH 75/86] Clean up translation file --- .../tchap_translations.json | 140 +++++++++--------- 1 file changed, 74 insertions(+), 66 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 650e079906..a6e6d257b3 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -520,10 +520,32 @@ "en": "Wrong email address?", "fr": "Mauvaise adresse mail ?" }, + "email_field_label": { + "en": "Email", + "fr": "Adresse mail" + }, "enter_email_heading": { "en": "Enter your email to reset password", "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" }, + "forgot_password_send_email": { + "en": "Send email", + "fr": "Envoyer le mail" + }, + "misconfigured_title": { + "en": " ", + "fr": " " + }, + "reset_password": { + "other_devices_logout_warning_1": { + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." + }, + "other_devices_logout_warning_2": { + "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", + "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" + } + }, "reset_password_title": { "comment": "TODO contribute to element translations", "en": "Reset your password", @@ -534,42 +556,26 @@ "en": "Sign in instead", "fr": "ou connectez-vous" }, + "uia": { + "email_auth_header": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + } + }, "verify_email_explainer": { "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" }, "verify_email_heading": { - "Verify your email to continue": { - "en": "Verify your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - } + "en": "Verify your email to continue", + "fr": "Vérifiez vos mails avant de continuer" } }, - "auth|email_field_label": { - "en": "Email", - "fr": "Adresse mail" - }, - "auth|forgot_password_send_email": { - "en": "Send email", - "fr": "Envoyer le mail" - }, - "auth|misconfigured_title": { - "en": " ", - "fr": " " - }, - "auth|reset_password|other_devices_logout_warning_1": { - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." - }, - "auth|reset_password|other_devices_logout_warning_2": { - "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", - "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" - }, - "auth|uia|email_auth_header": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - }, "common": { + "public_room": { + "en": "Public room", + "fr": "Forum" + }, "secure_backup": { "en": "Automatic Backup of Messages", "fr": "Sauvegarde automatique des messages" @@ -583,15 +589,17 @@ "fr": "Vérifié" } }, - "common|public_room": { - "en": "Public room", - "fr": "Forum" - }, - "create_room|generic_error": { - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + "create_room": { + "generic_error": { + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + } }, "encryption": { + "bootstrap_title": { + "en": "Setting up your Recovery Code", + "fr": "Configuration du Code de Récupération" + }, "cross_signing_not_ready": { "en": "Cross-signing is not active.", "fr": "La signature croisée n’est pas active" @@ -604,15 +612,21 @@ "en": "Cross-signing is ready but not the secure backup.", "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." }, + "recovery_method_removed": { + "description_1": { + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." + } + }, + "set_up_toast_description": { + "en": "Activate your Recovery Code to never lose your messages", + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" + }, + "set_up_toast_title": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" + }, "verification": { - "sas_emoji_caption_self": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." - }, - "verify_using_key_or_phrase": { - "en": "Verify with Recovery Code or Phrase", - "fr": "Vérifier avec un Code de Récupération ou une phrase" - }, "after_new_login": { "reset_confirmation": { "en": "Really reset Recovery Code?", @@ -623,6 +637,10 @@ "fr": "Vous vous connectez à un nouvel appareil" } }, + "sas_emoji_caption_self": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + }, "verification_description": { "en": "Verify your identity to access locked messages and prove your identity to others.", "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." @@ -642,41 +660,31 @@ "verify_using_key": { "en": "Verify with Recovery Code", "fr": "Vérifier avec un Code de Récupération" + }, + "verify_using_key_or_phrase": { + "en": "Verify with Recovery Code or Phrase", + "fr": "Vérifier avec un Code de Récupération ou une phrase" } }, + "verify_toast_description": { + "en": "You may not be able to recover your messages.", + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." + }, "verify_toast_title": { "en": "Verify this device", "fr": "Vérifier cet appareil" } }, - "encryption|bootstrap_title": { - "en": "Setting up your Recovery Code", - "fr": "Configuration du Code de Récupération" - }, - "encryption|recovery_method_removed|description_1": { - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." - }, - "encryption|set_up_toast_description": { - "en": "Activate your Recovery Code to never lose your messages", - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" - }, - "encryption|set_up_toast_title": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" - }, - "encryption|verify_toast_description": { - "en": "You may not be able to recover your messages.", - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." - }, "error_app_opened_in_another_window": { "comment": "2023-11-08: remove once the string is translated in element", "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." }, - "invite|error_already_joined_room": { - "en": "User is already in the room.", - "fr": "Cette personne est déjà dans le salon." + "invite": { + "error_already_joined_room": { + "en": "User is already in the room.", + "fr": "Cette personne est déjà dans le salon." + } }, "la messagerie instantanée de l'Administration": { "en": "The instant messaging app of the French Administration", From 07931a03a295beb05e4a0943bee73796dd059462 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 15:50:46 +0100 Subject: [PATCH 76/86] Fix broken strings with missing html tags --- modules/tchap-translations/tchap_translations.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index a6e6d257b3..f95c35ab07 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -849,12 +849,13 @@ "fr": "Vérifier cet appareil" }, "key_backup_inactive_warning": { - "en": "This device is not backing up your messages.", - "fr": "Cet appareil ne sauvegarde pas vos messages." + "en": "This device is not backing up your messages.", + "fr": "Cet appareil ne sauvegarde pas vos messages." }, "message_search_unsupported_web": { - "en": "Currently %(brand)s does not support searching into messages.", - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." + "comment": "We have to include a < otherwise the i18n checker crashes. So add an empty one.", + "en": "Currently %(brand)s does not support searching into messages.", + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." }, "restore_key_backup": { "en": "Retrieve my messages", From 4ef5582aa2825f9c1a68b62b9d66ac88d97351b3 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 15:55:34 +0100 Subject: [PATCH 77/86] Remove a custom key and reuse the element one --- modules/tchap-translations/tchap_translations.json | 8 ++++---- .../forgot-password/matrix-react-sdk+3.82.0.patch | 13 +------------ 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index f95c35ab07..7d3cc57a2c 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -227,10 +227,6 @@ "en": "Known issues", "fr": "Problèmes connus" }, - "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)": { - "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", - "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" - }, "One of your devices wants to check your Tchap Keys to unlock your messages.": { "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." @@ -544,6 +540,10 @@ "other_devices_logout_warning_2": { "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" + }, + "sign_out_other_devices": { + "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", + "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" } }, "reset_password_title": { diff --git a/patches/forgot-password/matrix-react-sdk+3.82.0.patch b/patches/forgot-password/matrix-react-sdk+3.82.0.patch index c32408ad87..c98f610fe6 100644 --- a/patches/forgot-password/matrix-react-sdk+3.82.0.patch +++ b/patches/forgot-password/matrix-react-sdk+3.82.0.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx -index 9487fc5..dd1ca5e 100644 +index 9487fc5..0177f0a 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx +++ b/node_modules/matrix-react-sdk/src/components/structures/auth/ForgotPassword.tsx @@ -42,6 +42,8 @@ import { VerifyEmailModal } from "./forgot-password/VerifyEmailModal"; @@ -102,17 +102,6 @@ index 9487fc5..dd1ca5e 100644 loading={this.state.phase === Phase.SendingEmail} onInputChanged={this.onInputChanged} onLoginClick={this.props.onLoginClick!} // set by default props -@@ -409,7 +446,9 @@ export default class ForgotPassword extends React.Component { - onChange={() => this.setState({ logoutDevices: !this.state.logoutDevices })} - checked={this.state.logoutDevices} - > -- {_t("auth|reset_password|sign_out_other_devices")} -+ {/* :TCHAP: _t("auth|reset_password|sign_out_other_devices") */ -+ _t('Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)') -+ /*end :TCHAP: */} - -
- {this.state.errorText && } diff --git a/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx b/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx index fbb08c7..f1a53f2 100644 --- a/node_modules/matrix-react-sdk/src/components/structures/auth/forgot-password/EnterEmail.tsx From efb39c5d860bf790d4b94e199e4724639efc16f7 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 16:18:23 +0100 Subject: [PATCH 78/86] More translation fixes and a patch simplification --- .../tchap_translations.json | 62 ++++++----- .../tchap_translations_removed.json | 18 +++- .../matrix-react-sdk+3.82.0.patch | 101 +++++++++--------- 3 files changed, 94 insertions(+), 87 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 7d3cc57a2c..03a68b6acf 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -348,10 +348,6 @@ "en": "Tchap is not available at the moment %(errCode)s. View the status of services.", "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service" }, - "Tchap keys": { - "en": "Tchap keys", - "fr": "Clés Tchap" - }, "That email is not allowed on Tchap": { "en": "Your email adress is not allowed on Tchap. Make an autorization request here", "fr": "Votre adresse mail n'est pas autorisée sur Tchap. Demandez l'accès à Tchap pour votre administration via ce formulaire" @@ -612,6 +608,12 @@ "en": "Cross-signing is ready but not the secure backup.", "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." }, + "new_recovery_method_detected": { + "description_1": { + "en": "A new Recovery Code for Secure Messages has been detected.", + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." + } + }, "recovery_method_removed": { "description_1": { "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", @@ -694,22 +696,6 @@ "en": "members_of_%(roomName)s.txt", "fr": "membres_de_%(roomName)s.txt" }, - "n_sessions_selected": { - "one": { - "en": "%(count)s device selected", - "fr": "%(count)s appareil sélectionné" - }, - "other": { - "en": "%(count)s devices selected", - "fr": "%(count)s appareils sélectionnés" - } - }, - "new_recovery_method_detected": { - "description_1": { - "en": "A new Recovery Code for Secure Messages has been detected.", - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." - } - }, "onboarding_free_e2ee_messaging_tchap_limited_voip": { "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." @@ -756,18 +742,6 @@ } } }, - "sessions": { - "sign_out_confirm_description": { - "one": { - "en": "Are you sure you want to sign out of %(count)s device?", - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" - }, - "other": { - "en": "Are you sure you want to sign out of %(count)s devices?", - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" - } - } - }, "settings": { "general": { "add_email_dialog_title": { @@ -828,6 +802,10 @@ "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." }, + "cryptography_section": { + "en": "Tchap keys", + "fr": "Clés Tchap" + }, "export_megolm_keys": { "en": "Save your Tchap keys", "fr": "Sauvegardez vos clés Tchap" @@ -879,6 +857,16 @@ "en": "Your device is ready for secure messaging.", "fr": "Votre appareil est prêt à envoyer des messages." }, + "n_sessions_selected": { + "one": { + "en": "%(count)s device selected", + "fr": "%(count)s appareil sélectionné" + }, + "other": { + "en": "%(count)s devices selected", + "fr": "%(count)s appareils sélectionnés" + } + }, "other_sessions_heading": { "en": "Other devices", "fr": "Autres appareils" @@ -895,6 +883,16 @@ "en": "Sign out of all other devices (%(otherSessionsCount)s)", "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" }, + "sign_out_confirm_description": { + "one": { + "en": "Are you sure you want to sign out of %(count)s device?", + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" + }, + "other": { + "en": "Are you sure you want to sign out of %(count)s devices?", + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" + } + }, "sign_out_n_sessions": { "one": { "en": "Sign out of %(count)s device", diff --git a/modules/tchap-translations/tchap_translations_removed.json b/modules/tchap-translations/tchap_translations_removed.json index 46ec4c7597..a4916aa486 100644 --- a/modules/tchap-translations/tchap_translations_removed.json +++ b/modules/tchap-translations/tchap_translations_removed.json @@ -27,13 +27,25 @@ "Waiting for partner to confirm…", "You've successfully verified %(deviceName)s (%(deviceId)s)!", "auth|enter_email_explainer", + "auth|reset_password_email_field_description", + "auth|reset_password_email_field_required_invalid", "bug_reporting|before_submitting", "bug_reporting|github_issue", "common|matrix", "encryption|verification|complete_description", - "onboarding|download_f_droid", "encryption|verification|complete_title", + "encryption|verification|explainer", + "encryption|verification|no_key_or_device", + "encryption|verification|successful_device", + "error|connection", + "error|mixed_content", + "error|tls", + "error_dialog|search_failed|server_unavailable", + "onboarding|download_f_droid", "powered_by_matrix_with_logo", - "welcome_to_element", - "room|status_bar|server_connectivity_lost_title" + "settings|key_backup|setup_secure_backup|download_or_copy", + "room|status_bar|server_connectivity_lost_title", + "room_settings|general|aliases_section", + "room_settings|security|public_without_alias_warning", + "welcome_to_element" ] diff --git a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch index af8dab818f..fecd0d3986 100644 --- a/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch +++ b/patches/change-sections-order-in-security-privacy-settings/matrix-react-sdk+3.82.0.patch @@ -1,63 +1,60 @@ diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx -index 0cb0485..a7603db 100644 +index 0cb0485..6dadcf5 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/CryptographyPanel.tsx -@@ -73,25 +73,36 @@ export default class CryptographyPanel extends React.Component { +@@ -72,6 +72,7 @@ export default class CryptographyPanel extends React.Component { + ); } ++ /* :TCHAP: redesign the returned component return ( -- -- -- -- -- -- -- -- -- -- -- --
{_t("settings|security|session_id")} -- {deviceId} --
{_t("settings|security|session_key")} -- -- {identityKey} -- --
--
-+ {/* :TCHAP: change vocabulary and layout */} -+
-+
-+ {_t("These keys only apply to the current session.")} -+
-+
-+ {_t("Please note this is not your recovery code for your automatic backup.")} -+
-+
-+
-+ {_t("common|advanced")} -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
{_t("settings|security|session_id")} -+ {deviceId} -+
{_t("settings|security|session_key")} -+ -+ {identityKey} -+ -+
-+
-+
{/** end :TCHAP: */} - {importExportButtons} + + +@@ -96,7 +97,44 @@ export default class CryptographyPanel extends React.Component { {noSendUnverifiedSetting} + ); ++ */ ++ return ( ++ {/* :TCHAP: name changed in translations */} ++
++
++ {_t("These keys only apply to the current session.")} ++
++
++ {_t("Please note this is not your recovery code for your automatic backup.")} ++
++
++
++ {_t("common|advanced")} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
{_t("settings|security|session_id")} ++ {deviceId} ++
{_t("settings|security|session_key")} ++ ++ {identityKey} ++ ++
++
++
++ {importExportButtons} ++ {noSendUnverifiedSetting} ++
++ ); + } ++ // end :TCHAP: + + private onExportE2eKeysClicked = (): void => { + Modal.createDialogAsync( diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx index 74511df..5b124a1 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/tabs/user/SecurityUserSettingsTab.tsx From d3a174252cf1516583e8397512f5724e8175e041 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 16:22:01 +0100 Subject: [PATCH 79/86] More translation fixes --- modules/tchap-translations/tchap_translations_removed.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/tchap-translations/tchap_translations_removed.json b/modules/tchap-translations/tchap_translations_removed.json index a4916aa486..b027899108 100644 --- a/modules/tchap-translations/tchap_translations_removed.json +++ b/modules/tchap-translations/tchap_translations_removed.json @@ -43,9 +43,11 @@ "error_dialog|search_failed|server_unavailable", "onboarding|download_f_droid", "powered_by_matrix_with_logo", - "settings|key_backup|setup_secure_backup|download_or_copy", "room|status_bar|server_connectivity_lost_title", "room_settings|general|aliases_section", "room_settings|security|public_without_alias_warning", + "settings|key_backup|setup_secure_backup|download_or_copy", + "settings|security|key_backup_connect_prompt", + "settings|security|key_backup_inactive", "welcome_to_element" ] From 93d5e773c748461a8076e72d99af0e2cadf4f1e2 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Tue, 23 Jan 2024 16:26:09 +0100 Subject: [PATCH 80/86] Fixes to TchapExportE2eKeysDialog.tsx, use new keys --- .../views/dialogs/security/TchapExportE2eKeysDialog.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tchap/async-components/views/dialogs/security/TchapExportE2eKeysDialog.tsx b/src/tchap/async-components/views/dialogs/security/TchapExportE2eKeysDialog.tsx index b130a0fb25..47aafcf984 100644 --- a/src/tchap/async-components/views/dialogs/security/TchapExportE2eKeysDialog.tsx +++ b/src/tchap/async-components/views/dialogs/security/TchapExportE2eKeysDialog.tsx @@ -104,7 +104,7 @@ export default class TchapExportE2eKeysDialog extends React.Component Date: Tue, 23 Jan 2024 16:34:13 +0100 Subject: [PATCH 81/86] Remove old-style duplicate keys in removed_translations --- .../tchap_translations_removed.json | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/modules/tchap-translations/tchap_translations_removed.json b/modules/tchap-translations/tchap_translations_removed.json index b027899108..7f119119e3 100644 --- a/modules/tchap-translations/tchap_translations_removed.json +++ b/modules/tchap-translations/tchap_translations_removed.json @@ -1,23 +1,10 @@ [ "%(brand)s has been opened in another tab.", - "%(downloadButton)s or %(copyButton)s", "%(securityKey)s or %(recoveryFile)s", - "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.", - "There was a problem communicating with the homeserver, please try again later.", - "This session is not backing up your keys, but you do have an existing backup you can restore from and add to going forward.", - "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.", - "Server may be unavailable, overloaded, or search timed out :(", "Cryptography", - "Enter email address (required on this homeserver)", - "It looks like you don't have a Security Key or any other devices you can verify against. This device will not be able to access old encrypted messages. In order to verify your identity on this device, you'll need to reset your verification keys.", "Not encrypted", "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.", - "Room Addresses", - "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.", "Sign out of all devices", - "To link to this room, please add an address.", - "Use an email address to recover your account", "Verification Request", "Verify other device", "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.", @@ -25,7 +12,6 @@ "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.", "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.", "Waiting for partner to confirm…", - "You've successfully verified %(deviceName)s (%(deviceId)s)!", "auth|enter_email_explainer", "auth|reset_password_email_field_description", "auth|reset_password_email_field_required_invalid", From 42601d6d1d40adabca21754157ca0bf7424da441 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 24 Jan 2024 10:46:30 +0100 Subject: [PATCH 82/86] Reformat translations file to aa|bb|cc format instead of nesting --- .../tchap_translations.json | 1158 ++++++----------- 1 file changed, 405 insertions(+), 753 deletions(-) diff --git a/modules/tchap-translations/tchap_translations.json b/modules/tchap-translations/tchap_translations.json index 03a68b6acf..3585f5dc02 100644 --- a/modules/tchap-translations/tchap_translations.json +++ b/modules/tchap-translations/tchap_translations.json @@ -31,10 +31,7 @@ "en": "Accessible to all users from the forum directory or from a shared link.", "fr": "Accessible à tous les utilisateurs à partir de la liste des forums ou d'un lien partagé." }, - "Activate on this device": { - "en": "Activate on this device", - "fr": "Activer sur cet appareil" - }, + "Activate on this device": { "en": "Activate on this device", "fr": "Activer sur cet appareil" }, "Allow access to this room to all users, even outside \"%(domain)s\" domain": { "en": "Allow access to this room to all users, even outside \"%(domain)s\" domain", "fr": "Autoriser l'accès à tous les utilisateurs, même ceux qui ne sont pas membres du domaine \"%(domain)s\"" @@ -55,10 +52,7 @@ "en": "Please try again with your recovery code.", "fr": "Merci d'essayer à nouveau avec votre code de récupération." }, - "Clear cross-signing keys": { - "en": "Reset Recovery Code", - "fr": "Réinitialiser les clés de signature croisée" - }, + "Clear cross-signing keys": { "en": "Reset Recovery Code", "fr": "Réinitialiser les clés de signature croisée" }, "Confirm your Tchap Key password": { "en": "Confirm your Tchap Key password", "fr": "Confirmer votre mot de passe Clés Tchap" @@ -67,26 +61,14 @@ "en": "Congratulations, your account has been renewed", "fr": "Félicitations, votre compte a été renouvelé" }, - "Contact us": { - "en": "Contact us", - "fr": "Contactez-nous" - }, - "Content blocked": { - "en": "Content blocked", - "fr": "Contenu bloqué" - }, + "Contact us": { "en": "Contact us", "fr": "Contactez-nous" }, + "Content blocked": { "en": "Content blocked", "fr": "Contenu bloqué" }, "Conçue et gérée par l'Administration française": { "en": "Designed and managed by the French Administration, for agents of the three public functions,
to communicate easily with high security standards. Used by over 400,000 public officials.", "fr": "Conçue et gérée par l'Administration française, pour les agents des trois fonctions publiques,
pour communiquer facilement en toute sécurité. Utilisée par plus de 400 000 agents publics." }, - "Create Room": { - "en": "Create New Room", - "fr": "Créer un nouveau salon" - }, - "Create a room in this space": { - "en": "Create a room in this space", - "fr": "Créer un salon dans cet espace" - }, + "Create Room": { "en": "Create New Room", "fr": "Créer un nouveau salon" }, + "Create a room in this space": { "en": "Create a room in this space", "fr": "Créer un salon dans cet espace" }, "Create your Tchap Key password (minimum 8 characters)": { "en": "Create your Tchap Key password (minimum 8 characters)", "fr": "Créez votre mot de passe Clé Tchap (minimum 8 caractères)" @@ -103,82 +85,40 @@ "en": "Reset cross-signing keys?", "fr": "Réinitialiser les clés de signature croisée ?" }, - "Direct Messages": { - "en": "Direct Messages", - "fr": "Messages directs" - }, + "Direct Messages": { "en": "Direct Messages", "fr": "Messages directs" }, "Download the list of all this room's members, in a text file. Useful for adding them all to another room.": { "en": "Download the list of all this room's members, in a text file. Useful for adding them all to another room.", "fr": "Récupérer la liste des membres de ce salon, dans un fichier texte. Utile pour inviter toutes ces personnes à un autre salon." }, - "Email (optional)": { - "en": "Email (optional)", - "fr": "Adresse mail (facultatif)" - }, - "Email address": { - "en": "Email address", - "fr": "Adresse mail" - }, - "Enter Security Key": { - "en": "Enter Recovery Code", - "fr": "Saisir le Code de Récupération" - }, + "Email (optional)": { "en": "Email (optional)", "fr": "Adresse mail (facultatif)" }, + "Email address": { "en": "Email address", "fr": "Adresse mail" }, + "Enter Security Key": { "en": "Enter Recovery Code", "fr": "Saisir le Code de Récupération" }, "Enter your Security Phrase or to continue.": { "en": "Enter your Security Phrase or to continue.", "fr": "Saisissez votre phrase de sécurité ou pour continuer." }, - "Export room members": { - "en": "Export room members", - "fr": "Exporter les membres du salon" - }, + "Export room members": { "en": "Export room members", "fr": "Exporter les membres du salon" }, "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room": { "en": "External members cannot be re-invited. If you need to give access to externals, you will have to create a new room.", "fr": "Les membres externes ne pourront pas être réinvités. Si vous avez besoin de donner accès aux externes, il faudra créer un nouveau salon." }, - "External users allowed": { - "en": "external users allowed", - "fr": "ouvert aux externes" - }, - "Eye": { - "en": "Eye", - "fr": "OEil" - }, + "External users allowed": { "en": "external users allowed", "fr": "ouvert aux externes" }, + "Eye": { "en": "Eye", "fr": "OEil" }, "Fetching keys from server…": { "en": "Fetching messages from server…", "fr": "Récupération des messages depuis le serveur…" }, - "Finish": { - "en": "Finish", - "fr": "Terminer" - }, + "Finish": { "en": "Finish", "fr": "Terminer" }, "Forgotten or lost all recovery methods? Reset all": { "en": "You have lost your Recovery Code? Create a new code", "fr": "Vous avez perdu votre Code de Récupération ? Générer un nouveau code" }, - "Forum room": { - "en": "Public room", - "fr": "Forum" - }, - "Frequently Asked Questions (FAQ)": { - "en": "Frequently Asked Questions (FAQ)", - "fr": "Foire Aux Questions (FAQ)" - }, - "Generate a new code": { - "en": "Generate a new code", - "fr": "Générer un nouveau code" - }, - "I don't want my encrypted messages": { - "en": "Log out still", - "fr": "Se déconnecter quand-même" - }, - "I renewed the validity of my account": { - "en": "I renewed my account", - "fr": "J’ai renouvelé mon compte" - }, - "I wrote down my code": { - "en": "I wrote down my code", - "fr": "J'ai noté mon code" - }, + "Forum room": { "en": "Public room", "fr": "Forum" }, + "Frequently Asked Questions (FAQ)": { "en": "Frequently Asked Questions (FAQ)", "fr": "Foire Aux Questions (FAQ)" }, + "Generate a new code": { "en": "Generate a new code", "fr": "Générer un nouveau code" }, + "I don't want my encrypted messages": { "en": "Log out still", "fr": "Se déconnecter quand-même" }, + "I renewed the validity of my account": { "en": "I renewed my account", "fr": "J’ai renouvelé mon compte" }, + "I wrote down my code": { "en": "I wrote down my code", "fr": "J'ai noté mon code" }, "If you do not have another connected device, we advise you to save your keys in a file on your device.": { "en": "If you do not have another connected device, we advise you to save your keys in a file on your device.", "fr": "Si vous n'avez pas d'autre appareil connecté, il est conseillé de sauvegarder vos clés sous forme de fichier sur votre appareil." @@ -199,14 +139,8 @@ "en": "If you've submitted a bug to the Tchap team (via support or GitHub), debug logs can help us track down the problem.", "fr": "Si vous avez signalé une anomalie à l'équipe Tchap (via le support ou GitHub), les journaux de débogage peuvent nous aider à cibler le problème." }, - "Incoming Verification Request": { - "en": "Incoming Verification Request", - "fr": "Partage de vos Clés Tchap" - }, - "Incorrect Security Phrase": { - "en": "Recovery code not recognized", - "fr": "Code de récupération non reconnu" - }, + "Incoming Verification Request": { "en": "Incoming Verification Request", "fr": "Partage de vos Clés Tchap" }, + "Incorrect Security Phrase": { "en": "Recovery code not recognized", "fr": "Code de récupération non reconnu" }, "Invite someone using their name, email address, username (like ) or share this room.": { "en": "Invite someone using their name, email or username (like ) or share this room. It is possible to invite multiple people by copy-pasting an email list separated by a comma (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) or separated by a line break.", "fr": "Invitez quelqu’un via son nom, mail ou pseudo (p. ex. ) ou partagez ce salon. Il est possible d'inviter en masse en copiant et collant une liste de mails séparés par une virgule (prenom1.nom1@beta.gouv.fr, prenom2.nom2@beta.gouv.fr, prenom3.nom3@beta.gouv.fr) ou séparés par un saut à la ligne." @@ -219,14 +153,8 @@ "en": "Just want to get your own logs, without sharing them with the Tchap team?", "fr": "Vous voulez juste obtenir vos journaux sans les partager avec l'équipe Tchap ?" }, - "Keys restored": { - "en": "Messages restored", - "fr": "Messages récupérés" - }, - "Known issues": { - "en": "Known issues", - "fr": "Problèmes connus" - }, + "Keys restored": { "en": "Messages restored", "fr": "Messages récupérés" }, + "Known issues": { "en": "Known issues", "fr": "Problèmes connus" }, "One of your devices wants to check your Tchap Keys to unlock your messages.": { "en": "One of your devices wants to check your Tchap Keys to unlock your messages.", "fr": "L'un de vos appareils demande à partager vos Clés Tchap pour déverrouiller vos messages." @@ -255,10 +183,7 @@ "en": "Private discussions accessible to all users of this space.", "fr": "Discussions privées accessibles à tous les membres de cet espace" }, - "Private room": { - "en": "Private room", - "fr": "Salon" - }, + "Private room": { "en": "Private room", "fr": "Salon" }, "Private room open to external users": { "en": "Private room open to external users", "fr": "Salon ouvert aux externes" @@ -267,70 +192,28 @@ "en": "Public discussion accessible to all users of this space or from a shared link.", "fr": "Discussions publiques accessibles à tous les membres de cet espace ou depuis un lien de partage." }, - "Read the CGU": { - "en": "Read the CGU", - "fr": "Consultez les CGU" - }, - "Read the FAQ": { - "en": "Read the FAQ", - "fr": "Consultez la FAQ" - }, - "Read the Known Issues": { - "en": "Read the Known Issues", - "fr": "Consultez les problèmes connus" - }, - "Read the Privacy Policy": { - "en": "Read the Privacy Policy", - "fr": "Lire la Politique de Confidentialité" - }, - "Recent Conversations": { - "en": "Recents chats", - "fr": "Messages directs récents" - }, - "Recently Direct Messaged": { - "en": "Recents chats", - "fr": "Messages directs récents" - }, - "Reload the app": { - "en": "Reload page", - "fr": "Rafraîchir la page" - }, - "Request a renewal email": { - "en": "Request a renewal email", - "fr": "Demander l’envoi d’un nouvel email" - }, + "Read the CGU": { "en": "Read the CGU", "fr": "Consultez les CGU" }, + "Read the FAQ": { "en": "Read the FAQ", "fr": "Consultez la FAQ" }, + "Read the Known Issues": { "en": "Read the Known Issues", "fr": "Consultez les problèmes connus" }, + "Read the Privacy Policy": { "en": "Read the Privacy Policy", "fr": "Lire la Politique de Confidentialité" }, + "Recent Conversations": { "en": "Recents chats", "fr": "Messages directs récents" }, + "Recently Direct Messaged": { "en": "Recents chats", "fr": "Messages directs récents" }, + "Reload the app": { "en": "Reload page", "fr": "Rafraîchir la page" }, + "Request a renewal email": { "en": "Request a renewal email", "fr": "Demander l’envoi d’un nouvel email" }, "Restoring keys from backup": { "en": "Restoring messages from backup", "fr": "Restauration des messages depuis la sauvegarde" }, - "Save my keys": { - "en": "Save my Tchap keys", - "fr": "Sauvegarder mes clés Tchap" - }, + "Save my keys": { "en": "Save my Tchap keys", "fr": "Sauvegarder mes clés Tchap" }, "Save your Tchap Keys (encryption keys)": { "en": "Save your Tchap Keys (encryption keys)", "fr": "Sauvegardez vos Clés Tchap (clés de chiffrement)" }, - "Scan unavailable": { - "en": "Scan unavailable", - "fr": "Scan unavailable" - }, - "Scanning": { - "en": "Scanning", - "fr": "Scanning" - }, - "Security Key": { - "en": "Recovery Code", - "fr": "Code de Récupération" - }, - "Set up": { - "en": "Activate", - "fr": "Activer" - }, - "Start using Key Backup": { - "en": "Use automatic Backup", - "fr": "Utiliser la sauvegarde automatique" - }, + "Scan unavailable": { "en": "Scan unavailable", "fr": "Scan unavailable" }, + "Scanning": { "en": "Scanning", "fr": "Scanning" }, + "Security Key": { "en": "Recovery Code", "fr": "Code de Récupération" }, + "Set up": { "en": "Activate", "fr": "Activer" }, + "Start using Key Backup": { "en": "Use automatic Backup", "fr": "Utiliser la sauvegarde automatique" }, "Submit debug logs to Tchap support team": { "comment": "The title of BugReportDialog is unclear, specify it", "en": "Submit debug logs to Tchap support team", @@ -340,10 +223,7 @@ "en": "%(sessionCount)s messages have been successfully restored.", "fr": "%(sessionCount)s messages ont été récupérés avec succès." }, - "Tchap Keys saved!": { - "en": "Tchap Keys saved!", - "fr": "Clés Tchap sauvegardées !" - }, + "Tchap Keys saved!": { "en": "Tchap Keys saved!", "fr": "Clés Tchap sauvegardées !" }, "Tchap is not available at the moment %(errCode)s. View the status of services.": { "en": "Tchap is not available at the moment %(errCode)s. View the status of services.", "fr": "La connexion à Tchap n'est pas possible pour le moment %(errCode)s. Voir l'état du service" @@ -372,10 +252,7 @@ "en": "These keys only apply to the current session.", "fr": "Ces clés ne concernent que la session en cours." }, - "This action is irreversible.": { - "en": "This action is irreversible.", - "fr": "Cette action est irréversible." - }, + "This action is irreversible.": { "en": "This action is irreversible.", "fr": "Cette action est irréversible." }, "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.": { "en": "This file will be protected by a password, which will be asked next time you log in, when you will import the keys to unlock your messages.", "fr": "Ce fichier sera protégé par un mot de passe, qui vous sera demandé à votre prochaine connexion, lorsque vous importerez les clés pour déverrouiller vos messages." @@ -388,14 +265,8 @@ "en": "This code will allow you to always restore your messages.", "fr": "Ce code vous permettra de toujours récupérer vos messages." }, - "This room is a public forum": { - "en": "This room is a public forum", - "fr": "Ce salon est un forum public" - }, - "This room is private": { - "en": "This room is private", - "fr": "Ce salon est privé" - }, + "This room is a public forum": { "en": "This room is a public forum", "fr": "Ce salon est un forum public" }, + "This room is private": { "en": "This room is private", "fr": "Ce salon est privé" }, "This room is private and open to external users": { "en": "This room is private and open to external users", "fr": "Ce salon est privé et ouvert aux externes" @@ -404,30 +275,15 @@ "en": "This version of Tchap Web is currently in development. There are known issues that will be solved soon.", "fr": "Cette version de Tchap Web est en cours de développement. Il y a des problèmes connus qui seront bientôt résolus." }, - "Trusted": { - "en": "Trusted", - "fr": "Vérifié" - }, - "Type of room": { - "en": "Type of room", - "fr": "Type de salon" - }, - "Upgrade private room": { - "en": "This room will be updated", - "fr": "Ce salon va être mis à jour" - }, - "Upgrade room": { - "en": "Upgrade room", - "fr": "Mettre à jour le salon" - }, + "Trusted": { "en": "Trusted", "fr": "Vérifié" }, + "Type of room": { "en": "Type of room", "fr": "Type de salon" }, + "Upgrade private room": { "en": "This room will be updated", "fr": "Ce salon va être mis à jour" }, + "Upgrade room": { "en": "Upgrade room", "fr": "Mettre à jour le salon" }, "Use your Security Key to continue.": { "en": "Use your Recovery Code to continue.", "fr": "Utilisez votre Code de Récupération pour continuer." }, - "Verified!": { - "en": "Verified!", - "fr": "Vérifié !" - }, + "Verified!": { "en": "Verified!", "fr": "Vérifié !" }, "Wait for at least %(wait)s seconds between two emails": { "en": "Wait for at least %(wait)s seconds between two emails", "fr": "Attendez au moins %(wait)s secondes entre l'envoi de deux mails" @@ -440,10 +296,7 @@ "en": "We have compiled a list of the questions our users ask the most frequently. Your question may be answered there.", "fr": "Nous avons constitué une liste des question les plus fréquentes posées par nos utilisateurs. Votre question a peut-être déjà une solution." }, - "Welcome to Tchap": { - "en": "Welcome to Tchap", - "fr": "Bienvenue sur Tchap" - }, + "Welcome to Tchap": { "en": "Welcome to Tchap", "fr": "Bienvenue sur Tchap" }, "Wrong Security Key": { "en": "The Recovery Code is not valid. Check that it is the latest one.", "fr": "Le Code de Récupération n’est pas valide. Vérifier que c’est le plus récent." @@ -452,10 +305,7 @@ "en": "You can close this disconnected tab, and go to the other %(brand)s tab.", "fr": "Vous pouvez fermer cet onglet déconnecté, et aller à l'autre onglet %(brand)s." }, - "Your Tchap Key password": { - "en": "Your Tchap Key password", - "fr": "Votre mot de passe Clés Tchap" - }, + "Your Tchap Key password": { "en": "Your Tchap Key password", "fr": "Votre mot de passe Clés Tchap" }, "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).": { "en": "Your Tchap Keys (encryption keys) have been successful saved in the tchap-keys.txt file. You can import them when you login again to unlock your messages (find out more).", "fr": "Vos Clés Tchap (clés de chiffrement) ont été sauvegardées avec succès dans le fichier tchap-keys.txt. Vous pourrez les importer à votre prochaine connexion pour déverrouiller vos messages (en savoir plus)." @@ -468,576 +318,378 @@ "en": "Your last three login attempts have failed. Please try again in a few minutes.", "fr": "Vos trois dernières tentatives de connexion ont échoué. Veuillez réessayer dans quelques minutes." }, - "Your password must include:": { - "en": "Your password must include:", - "fr": "Votre mot de passe doit comporter :" - }, - "a lowercase letter": { - "en": "a lowercase letter", - "fr": "une lettre minuscule" - }, + "Your password must include:": { "en": "Your password must include:", "fr": "Votre mot de passe doit comporter :" }, + "a lowercase letter": { "en": "a lowercase letter", "fr": "une lettre minuscule" }, "a minimum of %(number)s characters": { "en": "a minimum of %(number)s characters", "fr": "%(number)s caractères au minimum" }, - "a number": { - "en": "a number", - "fr": "un chiffre" - }, - "a symbol": { - "en": "a symbol", - "fr": "un caractère spécial" - }, - "action": { - "explore_public_rooms": { - "en": "Explore public rooms", - "fr": "Rejoindre un forum" - }, - "start_chat": { - "en": "New direct message", - "fr": "Nouveau message direct" - } - }, - "an uppercase letter": { - "en": "an uppercase letter", - "fr": "une lettre majuscule" - }, - "auth": { - "check_email_wrong_email_button": { - "en": "Re-enter email address", - "fr": "Re-saisir l'adresse mail" - }, - "check_email_wrong_email_prompt": { - "comment": "TODO contribute to element", - "en": "Wrong email address?", - "fr": "Mauvaise adresse mail ?" - }, - "email_field_label": { - "en": "Email", - "fr": "Adresse mail" - }, - "enter_email_heading": { - "en": "Enter your email to reset password", - "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" - }, - "forgot_password_send_email": { - "en": "Send email", - "fr": "Envoyer le mail" - }, - "misconfigured_title": { - "en": " ", - "fr": " " - }, - "reset_password": { - "other_devices_logout_warning_1": { - "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", - "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." - }, - "other_devices_logout_warning_2": { - "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", - "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" - }, - "sign_out_other_devices": { - "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", - "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" - } - }, - "reset_password_title": { - "comment": "TODO contribute to element translations", - "en": "Reset your password", - "fr": "Réinitialisez votre mot de passe" - }, - "sign_in_instead": { - "comment": "TODO contribute to element translations", - "en": "Sign in instead", - "fr": "ou connectez-vous" - }, - "uia": { - "email_auth_header": { - "en": "Check your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - } - }, - "verify_email_explainer": { - "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", - "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" - }, - "verify_email_heading": { - "en": "Verify your email to continue", - "fr": "Vérifiez vos mails avant de continuer" - } - }, - "common": { - "public_room": { - "en": "Public room", - "fr": "Forum" - }, - "secure_backup": { - "en": "Automatic Backup of Messages", - "fr": "Sauvegarde automatique des messages" - }, - "unverified": { - "en": "Unverified", - "fr": "Non vérifié" - }, - "verified": { - "en": "Verified ", - "fr": "Vérifié" - } - }, - "create_room": { - "generic_error": { - "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" - } - }, - "encryption": { - "bootstrap_title": { - "en": "Setting up your Recovery Code", - "fr": "Configuration du Code de Récupération" - }, - "cross_signing_not_ready": { - "en": "Cross-signing is not active.", - "fr": "La signature croisée n’est pas active" - }, - "cross_signing_ready": { - "en": "Cross-signing is activated on this device.", - "fr": "La signature croisée est activée sur cet appareil." - }, - "cross_signing_ready_no_backup": { - "en": "Cross-signing is ready but not the secure backup.", - "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." - }, - "new_recovery_method_detected": { - "description_1": { - "en": "A new Recovery Code for Secure Messages has been detected.", - "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." - } - }, - "recovery_method_removed": { - "description_1": { - "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", - "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." - } - }, - "set_up_toast_description": { - "en": "Activate your Recovery Code to never lose your messages", - "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" - }, - "set_up_toast_title": { - "en": "Activate message Secure Backup", - "fr": "Activer la sauvegarde automatique des messages" - }, - "verification": { - "after_new_login": { - "reset_confirmation": { - "en": "Really reset Recovery Code?", - "fr": "Réinitialiser le Code de Récupération, c’est certain ?" - }, - "unable_to_verify": { - "en": "You are logging into a new device", - "fr": "Vous vous connectez à un nouvel appareil" - } - }, - "sas_emoji_caption_self": { - "en": "Confirm the emoji below are displayed on both devices, in the same order:", - "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." - }, - "verification_description": { - "en": "Verify your identity to access locked messages and prove your identity to others.", - "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." - }, - "verification_success_with_backup": { - "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", - "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." - }, - "verify_reset_warning_1": { - "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", - "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." - }, - "verify_reset_warning_2": { - "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", - "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." - }, - "verify_using_key": { - "en": "Verify with Recovery Code", - "fr": "Vérifier avec un Code de Récupération" - }, - "verify_using_key_or_phrase": { - "en": "Verify with Recovery Code or Phrase", - "fr": "Vérifier avec un Code de Récupération ou une phrase" - } - }, - "verify_toast_description": { - "en": "You may not be able to recover your messages.", - "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." - }, - "verify_toast_title": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" - } - }, + "a number": { "en": "a number", "fr": "un chiffre" }, + "a symbol": { "en": "a symbol", "fr": "un caractère spécial" }, + "action|explore_public_rooms": { "en": "Explore public rooms", "fr": "Rejoindre un forum" }, + "action|start_chat": { "en": "New direct message", "fr": "Nouveau message direct" }, + "an uppercase letter": { "en": "an uppercase letter", "fr": "une lettre majuscule" }, + "auth|check_email_wrong_email_button": { "en": "Re-enter email address", "fr": "Re-saisir l'adresse mail" }, + "auth|check_email_wrong_email_prompt": { + "comment": "TODO contribute to element", + "en": "Wrong email address?", + "fr": "Mauvaise adresse mail ?" + }, + "auth|email_field_label": { "en": "Email", "fr": "Adresse mail" }, + "auth|enter_email_heading": { + "en": "Enter your email to reset password", + "fr": "Entrez votre adresse mail pour réinitialiser votre mot de passe" + }, + "auth|forgot_password_send_email": { "en": "Send email", "fr": "Envoyer le mail" }, + "auth|misconfigured_title": { "en": " ", "fr": " " }, + "auth|reset_password|other_devices_logout_warning_1": { + "en": "We will log you out from your devices to lock the messages stored on them. This option is usefull if you think your account has been hacked or a device has been lost.", + "fr": "Nous allons vous déconnecter de vos appareils afin de verrouiller les messages qu'ils contiennent. Cette option est utile si vous pensez que votre compte a été piraté ou si vous avez perdu un de vos appareils." + }, + "auth|reset_password|other_devices_logout_warning_2": { + "en": "If you want to keep your messages, save your Tchap keys from one of your devices before proceeding. They will help to restore your messages", + "fr": "Si vous voulez garder un accès à vos messages, sauvegardez vos clés Tchap à partir de l’un de vos appareils avant de continuer. Elles vous permettront de déverrouiller vos messages" + }, + "auth|reset_password|sign_out_other_devices": { + "en": "Lock my messages and disconnect me from all my devices (in case your account is hacked or a device loss)", + "fr": "Verrouiller mes messages et me déconnecter de tous mes appareils (en cas de piratage de votre compte ou perte d'un appareil)" + }, + "auth|reset_password_title": { + "comment": "TODO contribute to element translations", + "en": "Reset your password", + "fr": "Réinitialisez votre mot de passe" + }, + "auth|sign_in_instead": { + "comment": "TODO contribute to element translations", + "en": "Sign in instead", + "fr": "ou connectez-vous" + }, + "auth|uia|email_auth_header": { + "en": "Check your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, + "auth|verify_email_explainer": { + "en": "We need to know it’s you before resetting your password.\n Click the link in the email we just sent to %(email)s", + "fr": "Nous avons besoin de savoir que c’est vous avant de réinitialiser votre mot de passe.\n Cliquer sur le lien dans le mail que nous venons juste d’envoyer à %(email)s" + }, + "auth|verify_email_heading": { + "en": "Verify your email to continue", + "fr": "Vérifiez vos mails avant de continuer" + }, + "common|public_room": { "en": "Public room", "fr": "Forum" }, + "common|secure_backup": { "en": "Automatic Backup of Messages", "fr": "Sauvegarde automatique des messages" }, + "common|unverified": { "en": "Unverified", "fr": "Non vérifié" }, + "common|verified": { "en": "Verified ", "fr": "Vérifié" }, + "create_room|generic_error": { + "en": "Tchap is not available at the moment (err:04). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:04). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + }, + "encryption|bootstrap_title": { + "en": "Setting up your Recovery Code", + "fr": "Configuration du Code de Récupération" + }, + "encryption|cross_signing_not_ready": { + "en": "Cross-signing is not active.", + "fr": "La signature croisée n’est pas active" + }, + "encryption|cross_signing_ready": { + "en": "Cross-signing is activated on this device.", + "fr": "La signature croisée est activée sur cet appareil." + }, + "encryption|cross_signing_ready_no_backup": { + "en": "Cross-signing is ready but not the secure backup.", + "fr": "La signature croisée est activée mais pas la sauvegarde automatique des messages." + }, + "encryption|new_recovery_method_detected|description_1": { + "en": "A new Recovery Code for Secure Messages has been detected.", + "fr": "Un nouveau Code de Récupération pour les messages sécurisés a été détecté." + }, + "encryption|recovery_method_removed|description_1": { + "en": "This session has detected that your Security Phrase and code for Secure Messages have been removed.", + "fr": "Cette session a détecté que votre phrase secrète et Code de Récupération pour les messages sécurisés ont été supprimés." + }, + "encryption|set_up_toast_description": { + "en": "Activate your Recovery Code to never lose your messages", + "fr": "Activez votre Code de Récupération pour ne jamais perdre vos messages" + }, + "encryption|set_up_toast_title": { + "en": "Activate message Secure Backup", + "fr": "Activer la sauvegarde automatique des messages" + }, + "encryption|verification|after_new_login|reset_confirmation": { + "en": "Really reset Recovery Code?", + "fr": "Réinitialiser le Code de Récupération, c’est certain ?" + }, + "encryption|verification|after_new_login|unable_to_verify": { + "en": "You are logging into a new device", + "fr": "Vous vous connectez à un nouvel appareil" + }, + "encryption|verification|sas_emoji_caption_self": { + "en": "Confirm the emoji below are displayed on both devices, in the same order:", + "fr": "Confirmez si les objets sont les mêmes sur vos 2 appareils." + }, + "encryption|verification|verification_description": { + "en": "Verify your identity to access locked messages and prove your identity to others.", + "fr": "Vérifiez votre identité pour accéder aux messages verrouillés et prouver votre identité aux autres." + }, + "encryption|verification|verification_success_with_backup": { + "en": "Your new device is now verified. It has access to your encrypted messages, and other users will see it as trusted.", + "fr": "Votre nouvel appareil est maintenant vérifié. Il a accès à vos messages chiffrés et les autres utilisateurs le verront comme fiable." + }, + "encryption|verification|verify_reset_warning_1": { + "en": "Resetting your Recovery Code cannot be undone. After resetting, you will no longer have access to your previous locked messages.", + "fr": "La réinitialisation de votre Code de Récupération ne peut pas être annulée. Après la réinitialisation, vous n’aurez plus accès à vos anciens messages verrouillés." + }, + "encryption|verification|verify_reset_warning_2": { + "en": "Please only proceed if you're sure you've lost all of your other devices and your Recovery Code.", + "fr": "Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération." + }, + "encryption|verification|verify_using_key": { + "en": "Verify with Recovery Code", + "fr": "Vérifier avec un Code de Récupération" + }, + "encryption|verification|verify_using_key_or_phrase": { + "en": "Verify with Recovery Code or Phrase", + "fr": "Vérifier avec un Code de Récupération ou une phrase" + }, + "encryption|verify_toast_description": { + "en": "You may not be able to recover your messages.", + "fr": "Vous risquez de ne pas pouvoir récupérer vos messages." + }, + "encryption|verify_toast_title": { "en": "Verify this device", "fr": "Vérifier cet appareil" }, "error_app_opened_in_another_window": { "comment": "2023-11-08: remove once the string is translated in element", "en": "%(brand)s is open in another window. Click \"%(label)s\" to use %(brand)s here and disconnect the other window.", "fr": "%(brand)s est ouvert dans une autre fenêtre. Cliquez \"%(label)s\" pour utiliser %(brand)s ici et déconnecter l'autre fenêtre." }, - "invite": { - "error_already_joined_room": { - "en": "User is already in the room.", - "fr": "Cette personne est déjà dans le salon." - } + "invite|error_already_joined_room": { + "en": "User is already in the room.", + "fr": "Cette personne est déjà dans le salon." }, "la messagerie instantanée de l'Administration": { "en": "The instant messaging app of the French Administration", "fr": "la messagerie instantanée de l'Administration" }, - "members_of_%(roomName)s.txt": { - "en": "members_of_%(roomName)s.txt", - "fr": "membres_de_%(roomName)s.txt" - }, + "members_of_%(roomName)s.txt": { "en": "members_of_%(roomName)s.txt", "fr": "membres_de_%(roomName)s.txt" }, "onboarding_free_e2ee_messaging_tchap_limited_voip": { "en": "With free end-to-end encrypted messaging, %(brand)s is a great way to stay in touch.", "fr": "Grâce à la messagerie chiffrée de bout en bout gratuite, %(brand)s est un excellent moyen de rester en contact." }, - "room": { - "error_join_title": { - "en": "Failed to join this room.", - "fr": "Impossible de rejoindre ce salon" - }, - "status_bar": { - "server_connectivity_lost_description": { - "en": "Messages will be sent when your connection returns.", - "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." - } - } - }, - "room_list": { - "join_public_room_label": { - "en": "Join a public room", - "fr": "Rejoindre un forum" - } - }, - "room_settings": { - "permissions": { - "ban": { - "en": "Ban users", - "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" - }, - "banned_users_section": { - "en": "Banned users", - "fr": "Membres bannis" - }, - "kick": { - "en": "Remove users", - "fr": "Retirer des utilisateurs (réversible)" - }, - "muted_users_section": { - "en": "Muted Users", - "fr": "Membres en sourdine" - }, - "privileged_users_section": { - "en": "Privileged Users", - "fr": "Membres privilégiés" - } - } - }, - "settings": { - "general": { - "add_email_dialog_title": { - "en": "Add Email Address", - "fr": "Ajouter une adresse mail" - }, - "email_address_label": { - "en": "Email Address", - "fr": "Adresse mail" - }, - "emails_heading": { - "en": "Email addresses", - "fr": "Adresses mail" - }, - "error_invalid_email": { - "en": "Invalid Email Address", - "fr": "Adresse mail non valide" - } - }, - "key_backup": { - "setup_secure_backup": { - "backup_setup_success_description": { - "en": "Your messages are now automatically backed up on this device.", - "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." - }, - "backup_setup_success_title": { - "en": "Secure backup successfully enabled.", - "fr": "Sauvegarde automatique activée avec succès" - }, - "generate_security_key_description": { - "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", - "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." - }, - "generate_security_key_title": { - "en": "Generate a Recovery Code", - "fr": "Générer un Code de Récupération" - }, - "security_key_safety_reminder": { - "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", - "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." - }, - "settings_reminder": { - "en": "You can also set up Secure Backup & manage your keys in Settings.", - "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." - }, - "title_save_key": { - "en": "Write down your Recovery Code", - "fr": "Notez votre Code de Récupération" - }, - "use_phrase_only_you_know": { - "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", - "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." - } - } - }, - "security": { - "backup_keys_description": { - "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", - "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." - }, - "cryptography_section": { - "en": "Tchap keys", - "fr": "Clés Tchap" - }, - "export_megolm_keys": { - "en": "Save your Tchap keys", - "fr": "Sauvegardez vos clés Tchap" - }, - "ignore_users_section": { - "en": "Ignored users", - "fr": "Membres ignorés" - }, - "import_megolm_keys": { - "en": "Import your Tchap keys from the downloaded file", - "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" - }, - "key_backup_active": { - "en": "This device automatically backs up your messages.", - "fr": "Cet appareil sauvegarde automatiquement vos messages." - }, - "key_backup_connect": { - "en": "Verify this device", - "fr": "Vérifier cet appareil" - }, - "key_backup_inactive_warning": { - "en": "This device is not backing up your messages.", - "fr": "Cet appareil ne sauvegarde pas vos messages." - }, - "message_search_unsupported_web": { - "comment": "We have to include a < otherwise the i18n checker crashes. So add an empty one.", - "en": "Currently %(brand)s does not support searching into messages.", - "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." - }, - "restore_key_backup": { - "en": "Retrieve my messages", - "fr": "Récupérer mes messages" - } - }, - "sessions": { - "best_security_note": { - "en": "Verify your devices to unlock your messages", - "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" - }, - "current_session": { - "en": "This device", - "fr": "Cet appareil" - }, - "device_unverified_description_current": { - "en": "Verify your current device to get your messages.", - "fr": "Vérifier cet appareil afin de visualiser vos messages" - }, - "device_verified_description_current": { - "en": "Your device is ready for secure messaging.", - "fr": "Votre appareil est prêt à envoyer des messages." - }, - "n_sessions_selected": { - "one": { - "en": "%(count)s device selected", - "fr": "%(count)s appareil sélectionné" - }, - "other": { - "en": "%(count)s devices selected", - "fr": "%(count)s appareils sélectionnés" - } - }, - "other_sessions_heading": { - "en": "Other devices", - "fr": "Autres appareils" - }, - "push_subheading": { - "en": "Receive push notifications on this device.", - "fr": "Recevoir les notifications push sur cet appareil" - }, - "sign_out": { - "en": "Sign out of this device", - "fr": "Se déconnecter de cet appareil" - }, - "sign_out_all_other_sessions": { - "en": "Sign out of all other devices (%(otherSessionsCount)s)", - "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" - }, - "sign_out_confirm_description": { - "one": { - "en": "Are you sure you want to sign out of %(count)s device?", - "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" - }, - "other": { - "en": "Are you sure you want to sign out of %(count)s devices?", - "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" - } - }, - "sign_out_n_sessions": { - "one": { - "en": "Sign out of %(count)s device", - "fr": "Déconnecter %(count)s appareil" - }, - "other": { - "en": "Sign out of %(count)s devices", - "fr": "Déconnecter %(count)s appareils" - } - }, - "title": { - "en": "My devices", - "fr": "Mes appareils" - }, - "unverified_session": { - "en": "Unverified device", - "fr": "Appareil non vérifié" - }, - "unverified_sessions": { - "en": "Unverified devices", - "fr": "Appareils non vérifiés" - }, - "unverified_sessions_explainer_1": { - "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", - "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." - }, - "unverified_sessions_explainer_2": { - "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", - "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." - }, - "verified_session": { - "en": "Verified device", - "fr": "Appareil vérifié" - }, - "verified_sessions": { - "en": "Verified devices", - "fr": "Appareils vérifiés" - }, - "verified_sessions_explainer_1": { - "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", - "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." - }, - "verified_sessions_explainer_2": { - "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", - "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." - }, - "verify_session": { - "en": "Verify device", - "fr": "Vérifier l'appareil" - } - }, - "sidebar": { - "metaspaces_favourites_description": { - "en": "Group all your favourite rooms in one place.", - "fr": "Regroupe tous vos salons favoris au même endroit." - }, - "metaspaces_home_all_rooms_description": { - "en": "Show all your rooms in Home", - "fr": "Affiche tous vos salons dans l’accueil" - }, - "metaspaces_people_description": { - "en": "Group all your direct message room in one place.", - "fr": "Regroupe tous vos salons de message directs au même endroit." - }, - "spaces_explainer": { - "en": "Spaces are ways to group rooms and direct messages.", - "fr": "Les espaces permettent de regrouper des salons et des messages directs." - } - } - }, - "slash_command": { - "server_error_detail": { - "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", - "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" - } - }, - "threads": { - "unable_to_decrypt": { - "en": "Waiting for this message. This could take a while.", - "fr": "En attente de ce message. Ceci pourrait prendre un moment." - }, - "unable_to_decrypt_with_info_message": { - "en": "Waiting for this message. This could take a while. Find out more", - "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" - } - }, - "user_info": { - "ban_button_room": { - "en": "Ban from room", - "fr": "Interdire l’accès au salon (définitif)" - }, - "ban_button_space": { - "en": "Ban from space", - "fr": "Interdire l’accès à l'espace (définitif)" - }, - "ban_room_confirm_title": { - "en": "Ban from %(roomName)s", - "fr": "Interdire l’accès à %(roomName)s (définitif)" - }, - "ban_space_everything": { - "en": "Ban them from everything I'm able to", - "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" - }, - "ban_space_specific": { - "en": "Ban them from specific things I'm able to", - "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" - }, - "kick_button_room": { - "en": "Remove from room", - "fr": "Retirer du salon (réversible)" - }, - "kick_button_room_name": { - "en": "Remove from %(roomName)s", - "fr": "Retirer de %(roomName)s (réversible)" - }, - "kick_button_space_everything": { - "en": "Remove them from everything I'm able to", - "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" - }, - "kick_space_specific": { - "en": "Remove them from specific things I'm able to", - "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" - } - }, - "voip": { - "connection_lost": { - "comment": "the element string does not have . Where is this used?", - "en": "Tchap is not available at the moment. View the status of services.", - "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" - } - }, - "widget": { - "capability": { - "remove_ban_invite_leave_active_room": { - "en": "Remove, ban, or invite people to your active room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" - }, - "remove_ban_invite_leave_this_room": { - "en": "Remove, ban, or invite people to this room, and make you leave", - "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" - } - }, - "error_need_kick_permission": { - "en": "You need to be able to kick users to do that.", - "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." - } + "room|error_join_title": { "en": "Failed to join this room.", "fr": "Impossible de rejoindre ce salon" }, + "room|status_bar|server_connectivity_lost_description": { + "en": "Messages will be sent when your connection returns.", + "fr": "Les messages seront envoyés automatiquement dès que la connexion sera rétablie." + }, + "room_list|join_public_room_label": { "en": "Join a public room", "fr": "Rejoindre un forum" }, + "room_settings|permissions|ban": { + "en": "Ban users", + "fr": "Interdire aux utilisateurs l’accès au salon (définitif)" + }, + "room_settings|permissions|banned_users_section": { "en": "Banned users", "fr": "Membres bannis" }, + "room_settings|permissions|kick": { "en": "Remove users", "fr": "Retirer des utilisateurs (réversible)" }, + "room_settings|permissions|muted_users_section": { "en": "Muted Users", "fr": "Membres en sourdine" }, + "room_settings|permissions|privileged_users_section": { "en": "Privileged Users", "fr": "Membres privilégiés" }, + "settings|general|add_email_dialog_title": { "en": "Add Email Address", "fr": "Ajouter une adresse mail" }, + "settings|general|email_address_label": { "en": "Email Address", "fr": "Adresse mail" }, + "settings|general|emails_heading": { "en": "Email addresses", "fr": "Adresses mail" }, + "settings|general|error_invalid_email": { "en": "Invalid Email Address", "fr": "Adresse mail non valide" }, + "settings|key_backup|setup_secure_backup|backup_setup_success_description": { + "en": "Your messages are now automatically backed up on this device.", + "fr": "Vos messages sont maintenant automatiquement sauvegardés sur cet appareil." + }, + "settings|key_backup|setup_secure_backup|backup_setup_success_title": { + "en": "Secure backup successfully enabled.", + "fr": "Sauvegarde automatique activée avec succès" + }, + "settings|key_backup|setup_secure_backup|generate_security_key_description": { + "en": "We'll generate your unique Recovery Code for you to store somewhere safe, like a password manager or a safe.", + "fr": "Nous génèrerons votre Code de Récupération unique que vous devrez stocker dans un endroit sûr, comme un gestionnaire de mots de passe ou un coffre." + }, + "settings|key_backup|setup_secure_backup|generate_security_key_title": { + "en": "Generate a Recovery Code", + "fr": "Générer un Code de Récupération" + }, + "settings|key_backup|setup_secure_backup|security_key_safety_reminder": { + "en": "Keep it in a safe place, such as your password manager or a protected document on your computer. You will need to copy/paste it to retrieve your messages, so avoid taking screenshots.", + "fr": "Conservez-le dans un endroit sûr, comme votre gestionnaire de mot de passe ou un document protégé sur votre ordinateur. Vous aurez à le copier / coller pour récupérer vos messages, donc évitez la capture d’écran." + }, + "settings|key_backup|setup_secure_backup|settings_reminder": { + "en": "You can also set up Secure Backup & manage your keys in Settings.", + "fr": "Vous pouvez aussi configurer la sauvegarde automatique des messages et gérer vos clés depuis les paramètres." + }, + "settings|key_backup|setup_secure_backup|title_save_key": { + "en": "Write down your Recovery Code", + "fr": "Notez votre Code de Récupération" + }, + "settings|key_backup|setup_secure_backup|use_phrase_only_you_know": { + "en": "Use a secret phrase only you know, and optionally save a Recovery Code to use for backup.", + "fr": "Utilisez une phrase secrète que vous êtes seul à connaître et enregistrez éventuellement un Code de Récupération à utiliser pour la sauvegarde." + }, + "settings|security|backup_keys_description": { + "en": "Automatically back up your messages and retrieve them at any time using the Recovery Code.", + "fr": "Sauvegardez automatiquement vos messages et récupérez-les à tout moment à l’aide du Code de Récupération." + }, + "settings|security|cryptography_section": { "en": "Tchap keys", "fr": "Clés Tchap" }, + "settings|security|export_megolm_keys": { "en": "Save your Tchap keys", "fr": "Sauvegardez vos clés Tchap" }, + "settings|security|ignore_users_section": { "en": "Ignored users", "fr": "Membres ignorés" }, + "settings|security|import_megolm_keys": { + "en": "Import your Tchap keys from the downloaded file", + "fr": "Importez vos clés Tchap depuis le fichier sauvegardé" + }, + "settings|security|key_backup_active": { + "en": "This device automatically backs up your messages.", + "fr": "Cet appareil sauvegarde automatiquement vos messages." + }, + "settings|security|key_backup_connect": { "en": "Verify this device", "fr": "Vérifier cet appareil" }, + "settings|security|key_backup_inactive_warning": { + "en": "This device is not backing up your messages.", + "fr": "Cet appareil ne sauvegarde pas vos messages." + }, + "settings|security|message_search_unsupported_web": { + "comment": "We have to include a < otherwise the i18n checker crashes. So add an empty one.", + "en": "Currently %(brand)s does not support searching into messages.", + "fr": "Actuellement %(brand)s ne supporte pas la recherche dans les messages." + }, + "settings|security|restore_key_backup": { "en": "Retrieve my messages", "fr": "Récupérer mes messages" }, + "settings|sessions|best_security_note": { + "en": "Verify your devices to unlock your messages", + "fr": "Vérifier tous vos appareils pour déverrouiller tous vos messages" + }, + "settings|sessions|current_session": { "en": "This device", "fr": "Cet appareil" }, + "settings|sessions|device_unverified_description_current": { + "en": "Verify your current device to get your messages.", + "fr": "Vérifier cet appareil afin de visualiser vos messages" + }, + "settings|sessions|device_verified_description_current": { + "en": "Your device is ready for secure messaging.", + "fr": "Votre appareil est prêt à envoyer des messages." + }, + "settings|sessions|n_sessions_selected|one": { + "en": "%(count)s device selected", + "fr": "%(count)s appareil sélectionné" + }, + "settings|sessions|n_sessions_selected|other": { + "en": "%(count)s devices selected", + "fr": "%(count)s appareils sélectionnés" + }, + "settings|sessions|other_sessions_heading": { "en": "Other devices", "fr": "Autres appareils" }, + "settings|sessions|push_subheading": { + "en": "Receive push notifications on this device.", + "fr": "Recevoir les notifications push sur cet appareil" + }, + "settings|sessions|sign_out": { "en": "Sign out of this device", "fr": "Se déconnecter de cet appareil" }, + "settings|sessions|sign_out_all_other_sessions": { + "en": "Sign out of all other devices (%(otherSessionsCount)s)", + "fr": "Déconnecter tous les autres appareils (%(otherSessionsCount)s)" + }, + "settings|sessions|sign_out_confirm_description|one": { + "en": "Are you sure you want to sign out of %(count)s device?", + "fr": "Voulez-vous vraiment déconnecter %(count)s appareil ?" + }, + "settings|sessions|sign_out_confirm_description|other": { + "en": "Are you sure you want to sign out of %(count)s devices?", + "fr": "Voulez-vous vraiment déconnecter %(count)s de vos appareils ?" + }, + "settings|sessions|sign_out_n_sessions|one": { + "en": "Sign out of %(count)s device", + "fr": "Déconnecter %(count)s appareil" + }, + "settings|sessions|sign_out_n_sessions|other": { + "en": "Sign out of %(count)s devices", + "fr": "Déconnecter %(count)s appareils" + }, + "settings|sessions|title": { "en": "My devices", "fr": "Mes appareils" }, + "settings|sessions|unverified_session": { "en": "Unverified device", "fr": "Appareil non vérifié" }, + "settings|sessions|unverified_sessions": { "en": "Unverified devices", "fr": "Appareils non vérifiés" }, + "settings|sessions|unverified_sessions_explainer_1": { + "en": "Unverified devices are devices that have logged in with your credentials but have not been cross-verified (emoji exchange or ou Recovery Code).", + "fr": "Les appareils non vérifiés sont identifiés avec vos identifiants mais n’ont pas fait de vérification croisée (échange d'emojis ou Code de Récupération)." + }, + "settings|sessions|unverified_sessions_explainer_2": { + "en": "You should make especially certain that you recognise these devices as they could represent an unauthorised use of your account.", + "fr": "Vous devriez vous assurer que vous connaissez ces appareils, car ils pourraient représenter un usage frauduleux de votre compte." + }, + "settings|sessions|verified_session": { "en": "Verified device", "fr": "Appareil vérifié" }, + "settings|sessions|verified_sessions": { "en": "Verified devices", "fr": "Appareils vérifiés" }, + "settings|sessions|verified_sessions_explainer_1": { + "en": "Verified devices are anywhere you are using this account after entering your passphrase or confirming your identity with another verified device.", + "fr": "Les appareils vérifiés sont ceux qui utilisent ce compte après avoir saisi la phrase de sécurité ou confirmé votre identité à l’aide d’un autre appareil vérifié." + }, + "settings|sessions|verified_sessions_explainer_2": { + "en": "This means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this device.", + "fr": "Cela veut dire qu'ils disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cet appareil." + }, + "settings|sessions|verify_session": { "en": "Verify device", "fr": "Vérifier l'appareil" }, + "settings|sidebar|metaspaces_favourites_description": { + "en": "Group all your favourite rooms in one place.", + "fr": "Regroupe tous vos salons favoris au même endroit." + }, + "settings|sidebar|metaspaces_home_all_rooms_description": { + "en": "Show all your rooms in Home", + "fr": "Affiche tous vos salons dans l’accueil" + }, + "settings|sidebar|metaspaces_people_description": { + "en": "Group all your direct message room in one place.", + "fr": "Regroupe tous vos salons de message directs au même endroit." + }, + "settings|sidebar|spaces_explainer": { + "en": "Spaces are ways to group rooms and direct messages.", + "fr": "Les espaces permettent de regrouper des salons et des messages directs." + }, + "slash_command|server_error_detail": { + "en": "Tchap is not available at the moment (err:03). View the status of services: https://status.tchap.numerique.gouv.fr", + "fr": "La connexion à Tchap n'est pas possible pour le moment (err:03). Voir l'état du service: https://status.tchap.numerique.gouv.fr" + }, + "threads|unable_to_decrypt": { + "en": "Waiting for this message. This could take a while.", + "fr": "En attente de ce message. Ceci pourrait prendre un moment." + }, + "threads|unable_to_decrypt_with_info_message": { + "en": "Waiting for this message. This could take a while. Find out more", + "fr": "En attente de ce message. Ceci pourrait prendre un moment. En savoir plus" + }, + "user_info|ban_button_room": { "en": "Ban from room", "fr": "Interdire l’accès au salon (définitif)" }, + "user_info|ban_button_space": { "en": "Ban from space", "fr": "Interdire l’accès à l'espace (définitif)" }, + "user_info|ban_room_confirm_title": { + "en": "Ban from %(roomName)s", + "fr": "Interdire l’accès à %(roomName)s (définitif)" + }, + "user_info|ban_space_everything": { + "en": "Ban them from everything I'm able to", + "fr": "Interdire l’accès partout où j’ai le droit de le faire (définitif)" + }, + "user_info|ban_space_specific": { + "en": "Ban them from specific things I'm able to", + "fr": "Interdire l’accès à certains endroits où j’ai le droit de le faire (définitif)" + }, + "user_info|kick_button_room": { "en": "Remove from room", "fr": "Retirer du salon (réversible)" }, + "user_info|kick_button_room_name": { + "en": "Remove from %(roomName)s", + "fr": "Retirer de %(roomName)s (réversible)" + }, + "user_info|kick_button_space_everything": { + "en": "Remove them from everything I'm able to", + "fr": "Retirer de partout où j’ai le droit de le faire (réversible)" + }, + "user_info|kick_space_specific": { + "en": "Remove them from specific things I'm able to", + "fr": "Retirer de certains endroits où j’ai le droit de le faire (réversible)" + }, + "voip|connection_lost": { + "comment": "the element string does not have . Where is this used?", + "en": "Tchap is not available at the moment. View the status of services.", + "fr": "La connexion à Tchap n'est pas possible pour le moment. Voir l'état du service" + }, + "widget|capability|remove_ban_invite_leave_active_room": { + "en": "Remove, ban, or invite people to your active room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter des personnes dans votre salon actif et en partir" + }, + "widget|capability|remove_ban_invite_leave_this_room": { + "en": "Remove, ban, or invite people to this room, and make you leave", + "fr": "Retirer, interdire l'accès ou inviter une personne dans ce salon et vous permettre de partir" + }, + "widget|error_need_kick_permission": { + "en": "You need to be able to kick users to do that.", + "fr": "Vous devez avoir l’autorisation de retirer des utilisateurs pour faire ceci." } } From 6d3ecef2f816795e415f20eef8b6e7c6fe37f2be Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 24 Jan 2024 11:26:55 +0100 Subject: [PATCH 83/86] Scripts to change from piped to nested format and back --- .../tchap/translations/reformatToNested.js | 49 +++++++++++++++++++ scripts/tchap/translations/reformatToPiped.js | 41 ++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 scripts/tchap/translations/reformatToNested.js create mode 100644 scripts/tchap/translations/reformatToPiped.js diff --git a/scripts/tchap/translations/reformatToNested.js b/scripts/tchap/translations/reformatToNested.js new file mode 100644 index 0000000000..fc58267bc3 --- /dev/null +++ b/scripts/tchap/translations/reformatToNested.js @@ -0,0 +1,49 @@ +/* + Change format from piped format ("aa|bb|cc") to nested format. Output result to stdout. + Usage : node scripts/tchap/translations/reformatToNested.js --file=$TCHAP_TRANSLATION_FILE > $OUTFILE + + aa|bb|cc format (piped format): + { + "security|backup_keys": { + "en": "Hello", + "fr": "Coucou" + } + } + + Nested format : + { + "security": { + "backup_keys": { + "en": "Hello", + "fr": "Coucou" + } + } + } +*/ + +const parseArgs = require("minimist"); + +const argv = parseArgs(process.argv.slice(2), {}); +const tchapTranslations = require(argv.file); + +const reformat = (translations) => { + for (const [key, value] of Object.entries(translations)) { + // Split "aa|bb|cc" into "aa" and "bb|cc" + let [parentKey, ...restOfKey] = key.split('|'); + restOfKey = restOfKey.join('|'); + if (restOfKey === '') { // no "|" in key + // do nothing, it's already in the right format. + } else { + // initialize translations[parentKey] if not exist + if (!(parentKey in translations)) { + translations[parentKey] = {}; + } + translations[parentKey][restOfKey] = value; + delete translations[key]; + reformat(translations[parentKey]); + } + } +} + +reformat(tchapTranslations); +console.log(JSON.stringify(tchapTranslations, null, 4)); diff --git a/scripts/tchap/translations/reformatToPiped.js b/scripts/tchap/translations/reformatToPiped.js new file mode 100644 index 0000000000..1a042da23a --- /dev/null +++ b/scripts/tchap/translations/reformatToPiped.js @@ -0,0 +1,41 @@ +/* + Change format from nested format to piped format ("aa|bb|cc"). Output result to stdout. + Usage : node scripts/tchap/translations/reformatToPiped.js --file=$TCHAP_TRANSLATION_FILE > $OUTFILE + + Nested format : + { + "security": { + "backup_keys": { + "en": "Hello", + "fr": "Coucou" + } + } + } + + aa|bb|cc format (piped format): + { + "security|backup_keys": { + "en": "Hello", + "fr": "Coucou" + } + } + */ + +const parseArgs = require("minimist"); + +const argv = parseArgs(process.argv.slice(2), {}); +const tchapTranslations = require(argv.file); + +const output = {}; +const reformat = (translations, parentKey) => { + for (const key of Object.keys(translations)) { + if ('en' in translations[key]) { + output[parentKey + key] = translations[key]; + } else { + reformat(translations[key], parentKey + key + '|'); + } + } +} + +reformat(tchapTranslations, ""); +console.log(JSON.stringify(output, null, 4)); \ No newline at end of file From dd1a8a36843d2f59b8069dbe228aeac71cd00e39 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 24 Jan 2024 11:29:57 +0100 Subject: [PATCH 84/86] Add the format change step in script --- .../tchap/translations/collect-reference-translations.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/tchap/translations/collect-reference-translations.sh b/scripts/tchap/translations/collect-reference-translations.sh index 7346aa4330..4178dbf29e 100755 --- a/scripts/tchap/translations/collect-reference-translations.sh +++ b/scripts/tchap/translations/collect-reference-translations.sh @@ -8,10 +8,13 @@ source scripts/tchap/translations/helpers.sh mkdir -p `realpath modules/tchap-translations/tmp` export OUTPUT_FILE=$1 -# Extract EN translations from tchap translations. +# Convert tchap translations from piped format ("aa|bb|cc") to nested format. TCHAP_TRANSLATION_FILE=`realpath modules/tchap-translations/tchap_translations.json` +TCHAP_TRANSLATION_NESTED_FILE=`realpath modules/tchap-translations/tchap_translations_nested.json` + +# Extract EN translations from tchap translations. TCHAP_TRANSLATION_EN_FILE=`realpath modules/tchap-translations/tmp/tchap_EN.json` -node scripts/tchap/translations/extractENTranslations.js --file=$TCHAP_TRANSLATION_FILE > $TCHAP_TRANSLATION_EN_FILE +node scripts/tchap/translations/extractENTranslations.js --file=$TCHAP_TRANSLATION_NESTED_FILE > $TCHAP_TRANSLATION_EN_FILE # Merge element translations from both web and react-sdk repos, into OUTPUT_FILE export ELEMENT_WEB_TRANSLATION_FILE=`realpath src/i18n/strings/en_EN.json` From b732abd92811aa826f662a94529617724314182e Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Wed, 24 Jan 2024 11:36:50 +0100 Subject: [PATCH 85/86] Add the format change in script, for real this time --- scripts/tchap/translations/collect-reference-translations.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/tchap/translations/collect-reference-translations.sh b/scripts/tchap/translations/collect-reference-translations.sh index 4178dbf29e..be1dfe5b3c 100755 --- a/scripts/tchap/translations/collect-reference-translations.sh +++ b/scripts/tchap/translations/collect-reference-translations.sh @@ -10,7 +10,8 @@ export OUTPUT_FILE=$1 # Convert tchap translations from piped format ("aa|bb|cc") to nested format. TCHAP_TRANSLATION_FILE=`realpath modules/tchap-translations/tchap_translations.json` -TCHAP_TRANSLATION_NESTED_FILE=`realpath modules/tchap-translations/tchap_translations_nested.json` +TCHAP_TRANSLATION_NESTED_FILE=`realpath modules/tchap-translations/tmp/tchap_translations_nested.json` + node scripts/tchap/translations/reformatToNested.js --file=$TCHAP_TRANSLATION_FILE > $TCHAP_TRANSLATION_NESTED_FILE # Extract EN translations from tchap translations. TCHAP_TRANSLATION_EN_FILE=`realpath modules/tchap-translations/tmp/tchap_EN.json` From 85997504412efe0ab94c31f77b206eb074325208 Mon Sep 17 00:00:00 2001 From: Estelle Comment Date: Fri, 26 Jan 2024 11:01:06 +0100 Subject: [PATCH 86/86] Fix patch, one modif had been lost --- .../matrix-react-sdk+3.82.0+001+initial.patch | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch b/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch index 2c2df2f79a..ec47e6655a 100644 --- a/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch +++ b/patches/activate-cross-signing-and-secure-storage-react/matrix-react-sdk+3.82.0+001+initial.patch @@ -27,7 +27,7 @@ index 7ce7ae2..0e66b0f 100644 dis.dispatch({ action: "start_registration", diff --git a/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx b/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx -index 93b1333..b90acd0 100644 +index 93b1333..2570ba2 100644 --- a/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx +++ b/node_modules/matrix-react-sdk/src/components/views/settings/CrossSigningPanel.tsx @@ -227,14 +227,21 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { @@ -54,7 +54,18 @@ index 93b1333..b90acd0 100644 {buttonCaption} , -@@ -254,6 +261,13 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { +@@ -242,7 +249,9 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { + } + + if (keysExistAnywhere) { +- actions.push( ++ // :TCHAP actions.push( ++ advancedActions.push( ++ // end :TCHAP: + + {_t("action|reset")} + , +@@ -254,6 +263,13 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { actionRow =
{actions}
; } @@ -68,7 +79,7 @@ index 93b1333..b90acd0 100644 return ( <> {summarisedStatus} -@@ -309,6 +323,7 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> { +@@ -309,6 +325,7 @@ export default class CrossSigningPanel extends React.PureComponent<{}, IState> {