diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6d7619dfd8..acc55c2e25 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,3 +2,4 @@ /.github/workflows/** @vector-im/element-web-app-team /package.json @vector-im/element-web-app-team /yarn.lock @vector-im/element-web-app-team +/src/i18n/strings diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000000..397303b467 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,3 @@ +_extends: matrix-org/matrix-react-sdk +version-resolver: + default: patch diff --git a/.github/workflows/build_debian.yaml b/.github/workflows/build_debian.yaml index 7ab28ff7ca..0b157dfae1 100644 --- a/.github/workflows/build_debian.yaml +++ b/.github/workflows/build_debian.yaml @@ -57,7 +57,7 @@ jobs: - name: Build deb package run: | VERSION=$(cat package.json | jq -r .version) - chmod -R u=rw,go=r debian/tmp/usr/share/element-web/ + sudo chmod -R u=rw,go=r debian/tmp/usr/share/element-web/ dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb diff --git a/.github/workflows/dockerhub.yaml b/.github/workflows/dockerhub.yaml index c2f904f13b..54413d4f4c 100644 --- a/.github/workflows/dockerhub.yaml +++ b/.github/workflows/dockerhub.yaml @@ -67,6 +67,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Update repo description + if: matrix.variant == 'vanilla' uses: peter-evans/dockerhub-description@dc67fad7001ef9e8e3c124cb7a64e16d0a63d864 # v3 continue-on-error: true with: diff --git a/.github/workflows/localazy_download.yaml b/.github/workflows/localazy_download.yaml index 081070dd01..a880c3b2e4 100644 --- a/.github/workflows/localazy_download.yaml +++ b/.github/workflows/localazy_download.yaml @@ -1,6 +1,8 @@ name: Localazy Download on: workflow_dispatch: {} + schedule: + - cron: "0 6 * * 1,3,5" # Every Monday, Wednesday and Friday at 6am UTC jobs: download: uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_download.yaml@main diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000000..3ce2b5a2af --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,14 @@ +name: Release Drafter +on: + push: + branches: [staging] +concurrency: ${{ github.workflow }} +jobs: + draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@dabcf3767562210392d862070ed2ef6434b9bc6f # v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + disable-autolabeler: true diff --git a/.github/workflows/release-gitflow.yml b/.github/workflows/release-gitflow.yml new file mode 100644 index 0000000000..3602bf4cd9 --- /dev/null +++ b/.github/workflows/release-gitflow.yml @@ -0,0 +1,14 @@ +# Gitflow merge-back master->develop +name: Merge master -> develop +on: + push: + branches: [master] +concurrency: ${{ github.repository }}-${{ github.workflow }} +jobs: + merge: + uses: matrix-org/matrix-js-sdk/.github/workflows/release-gitflow.yml@develop + secrets: inherit + with: + dependencies: | + matrix-react-sdk + matrix-js-sdk diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..cc3ef4851a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,36 @@ +name: Release Process +on: + workflow_dispatch: + inputs: + mode: + description: What type of release + required: true + default: rc + type: choice + options: + - rc + - final + matrix-react-sdk: + description: React SDK version to use (current|X.Y.Z) + required: false + default: current + type: string + matrix-js-sdk: + description: JS SDK version to use (current|X.Y.Z) + required: false + default: current + type: string +concurrency: ${{ github.workflow }} +jobs: + release: + uses: matrix-org/matrix-js-sdk/.github/workflows/release-action.yml@develop + secrets: inherit + with: + final: ${{ inputs.mode == 'final' }} + include-changes: matrix-react-sdk + gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} + asset-path: dist/*.tar.gz + expected-asset-count: 3 + dependencies: | + matrix-react-sdk=${{ inputs.matrix-react-sdk }} + matrix-js-sdk=${{ inputs.matrix-js-sdk }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f4c059afd..9d2e6b189f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Changes in [1.11.49](https://github.com/vector-im/element-web/releases/tag/v1.11.49) (2023-11-13) +================================================================================================= + +## ✨ Features + * Ship element-web as a debian package ([\#26533](https://github.com/vector-im/element-web/pull/26533)). Fixes #2777. + +## 🐛 Bug Fixes + * Ensure `setUserCreator` is called when a store is assigned ([\#3867](https://github.com/matrix-org/matrix-js-sdk/pull/3867)). Fixes vector-im/element-web#26520. Contributed by @MidhunSureshR. + Changes in [1.11.48](https://github.com/vector-im/element-web/releases/tag/v1.11.48) (2023-11-07) ================================================================================================= diff --git a/docs/translating-dev.md b/docs/translating-dev.md index 847054600c..35d6e59c5d 100644 --- a/docs/translating-dev.md +++ b/docs/translating-dev.md @@ -47,10 +47,6 @@ We are aiming for a set of common strings to be shared then some more localised 4. Otherwise, try to group keys logically and nest where appropriate, such as `keyboard_` for strings relating to keyboard shortcuts. 5. Ensure your translation keys do not include `.` or `|` or ` `. Try to balance string length against descriptiveness. -## matrix-react-sdk is still undergoing migration to translation keys - -If you are fortunate enough to be modifying not yet migrated strings please treat them as a new string using instructions below. - ## Adding new strings 1. Check if the import `import { _t } from 'matrix-react-sdk/src/languageHandler';` is present. If not add it to the other import statements. Also import `_td` if needed. diff --git a/docs/translating.md b/docs/translating.md index 2eb4038255..a16ce9dbb9 100644 --- a/docs/translating.md +++ b/docs/translating.md @@ -29,3 +29,8 @@ A special case is `%(count)s` as this is also used to determine which pluralisat These things are markup tags, they encapsulate sections of translations to be marked up, with links, buttons, emphasis and such. You must keep these markers surrounding the equivalent string in your language that needs to be marked up. + +### When will my translations be available? + +We automatically pull changes from Localazy 3 times a week, so your translations should be available at https://develop.element.io +within a few days of you submitting them and them being approved. They will then also be included in the following release cycle. diff --git a/package.json b/package.json index eabfaf76aa..5029c764a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.11.48", + "version": "1.11.49", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { @@ -76,8 +76,8 @@ "jsrsasign": "^10.5.25", "katex": "^0.16.0", "lodash": "^4.17.21", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", - "matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop", + "matrix-js-sdk": "30.0.1", + "matrix-react-sdk": "3.84.1", "matrix-widget-api": "^1.3.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/src/i18n/strings/cs.json b/src/i18n/strings/cs.json index ec9067840f..58314d3fe8 100644 --- a/src/i18n/strings/cs.json +++ b/src/i18n/strings/cs.json @@ -9,6 +9,7 @@ "auth": { "sso_complete_in_browser_dialog_title": "Přejděte do prohlížeče a dokončete přihlášení" }, + "desktop_default_device_name": "%(brand)s Desktop: %(platformName)s", "download_completed": "Stahování dokončeno", "error": { "app_launch_unexpected_error": "Neočekávaná chyba při přípravě aplikace. Podrobnosti najdete v konzoli.", diff --git a/src/i18n/strings/et.json b/src/i18n/strings/et.json index 943803e869..552e784d56 100644 --- a/src/i18n/strings/et.json +++ b/src/i18n/strings/et.json @@ -9,6 +9,7 @@ "auth": { "sso_complete_in_browser_dialog_title": "Sisselogimiseks ava oma brauser" }, + "desktop_default_device_name": "%(brand)s töölaud: %(platformName)s", "download_completed": "Allalaadimine on lõpetatud", "error": { "app_launch_unexpected_error": "Rakenduse ettevalmistamisel tekkis ootamatu viga. Täpsema teabe leiad konsoolist.", diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 1334fc6be1..03f14a39f2 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -14,6 +14,7 @@ "error": { "app_launch_unexpected_error": "Váratlan hiba történt az alkalmazás előkészítésénél. A részletekért lásd a konzolt.", "cannot_load_config": "A konfigurációs fájlt nem sikerült betölteni: frissítse az oldalt és próbálja meg újra.", + "invalid_configuration_mixed_server": "Érvénytelen konfiguráció: a default_hs_url nem adható meg a default_server_name vagy a default_server_config kulcsokkal együtt", "invalid_configuration_no_server": "Érvénytelen konfiguráció: nincs megadva alapértelmezett kiszolgáló.", "invalid_json": "Az Element érvénytelen JSON-t tartalmazó konfigurációval rendelkezik. Javítsa és töltse újra az oldalt.", "invalid_json_detail": "A feldolgozó algoritmus üzenete: %(message)s", diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 6dfe7f3f19..7dad3d664d 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -9,6 +9,7 @@ "auth": { "sso_complete_in_browser_dialog_title": "Vai nel tuo browser per completare l'accesso" }, + "desktop_default_device_name": "%(brand)s Desktop: %(platformName)s", "download_completed": "Scaricamento completato", "error": { "app_launch_unexpected_error": "Errore inaspettato preparando l'app. Vedi la console per i dettagli.", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 8bad762097..fa36484a07 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -14,6 +14,7 @@ "error": { "app_launch_unexpected_error": "Неожиданная ошибка при подготовке приложения. Подробности см. в консоли.", "cannot_load_config": "Не удалось загрузить файл конфигурации. Попробуйте обновить страницу.", + "invalid_configuration_mixed_server": "Неверная конфигурация: нельзя указать default_hs_url вместе с default_server_name или default_server_config", "invalid_configuration_no_server": "Неверная конфигурация: сервер по умолчанию не указан.", "invalid_json": "Конфигурация Element содержит неверный JSON. Исправьте проблему и обновите страницу.", "invalid_json_detail": "Сообщение из парсера: %(message)s", diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 3ce159c6e1..a479392bee 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -14,6 +14,7 @@ "error": { "app_launch_unexpected_error": "准备软件时出现意外错误,详细信息请查看控制台。", "cannot_load_config": "无法加载配置文件:请刷新页面以重试。", + "invalid_configuration_mixed_server": "配置无效:无法与 default_server_name 或 default_server_config 一起指定 default_hs_url", "invalid_configuration_no_server": "配置无效:没有指定默认服务器。", "invalid_json": "Element 配置文件中包含无效的 JSON。请改正错误并重新加载页面。", "invalid_json_detail": "来自解析器的消息:%(message)s", diff --git a/yarn.lock b/yarn.lock index 53d194e5f4..0db6e0a656 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8390,9 +8390,10 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "30.0.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/107e28e1145c8b2667701e1f75b9f09b5d2ac3d6" +matrix-js-sdk@30.0.1: + version "30.0.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-30.0.1.tgz#33a1fb2d9a9a8875f51f48a1b3124c1e82457472" + integrity sha512-/yefRQ7e8xU0Aox8w6lYUDjYdK+9Wmpz59K1SJZX3E1KE1SUvIo4rkPkGojN3RkRFqXXBBP4ciJiy5vH6OodAg== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/matrix-sdk-crypto-wasm" "^2.2.0" @@ -8416,9 +8417,10 @@ matrix-mock-request@^2.5.0: dependencies: expect "^28.1.0" -"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop": - version "3.84.0" - resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/5ae461989d3a32b04421891918ae2b66ae0d7bea" +matrix-react-sdk@3.84.1: + version "3.84.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.84.1.tgz#2e915c3b6253a2157dadcde33deed1240a1acb12" + integrity sha512-yVL+vevxQxxZwN1gcOjEqz+I0RN6Ou6dXMxkO1zjTQdplJyVhOmePM0P8gH13ZLpsnLEc0ut9tFphPQdpoRypw== dependencies: "@babel/runtime" "^7.12.5" "@matrix-org/analytics-events" "^0.8.0" @@ -8461,7 +8463,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 "30.0.1" matrix-widget-api "^1.5.0" memoize-one "^6.0.0" minimist "^1.2.5"