Compare commits

...

1154 Commits

Author SHA1 Message Date
RiotRobot
38dd45a51c v1.11.50 2023-11-21 11:21:42 +00:00
RiotRobot
af3f25eb4d Upgrade matrix-js-sdk to 30.1.0 2023-11-21 11:21:41 +00:00
RiotRobot
c8b916fdff Upgrade matrix-react-sdk to 3.85.0 2023-11-21 11:21:32 +00:00
RiotRobot
eb31e39f9e v1.11.50-rc.1 2023-11-16 09:29:09 +00:00
Michael Telatynski
ccaef6f14b Update build_debian.yaml 2023-11-16 09:18:24 +00:00
RiotRobot
2a26d39867 v1.11.50-rc.0 2023-11-14 16:23:38 +00:00
RiotRobot
613b50a4c6 Upgrade matrix-js-sdk to 30.1.0-rc.1 2023-11-14 16:23:37 +00:00
RiotRobot
4bb0cdf298 Upgrade matrix-react-sdk to 3.85.0-rc.1 2023-11-14 16:23:27 +00:00
Michael Telatynski
781a067772 New release automations (#26495) 2023-11-13 10:49:01 +00:00
Michael Telatynski
fc28d15c07 Update build_debian.yaml 2023-11-13 10:46:09 +00:00
ElementRobot
6a79993019 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2023-11-13 10:32:03 +00:00
ElementRobot
5b1b7acc62 v1.11.49 2023-11-13 10:28:08 +00:00
ElementRobot
3f2dea5b6b Prepare changelog for v1.11.49 2023-11-13 10:28:08 +00:00
ElementRobot
5928fb9735 Upgrade matrix-js-sdk to 30.0.1 2023-11-13 10:26:44 +00:00
ElementRobot
f69b58e797 Upgrade matrix-react-sdk to 3.84.1 2023-11-13 10:26:32 +00:00
ElementRobot
db2ab2f07d [Backport staging] Ship element-web as a debian package (#26563)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-13 09:49:27 +00:00
ElementRobot
b42c1cfeb3 Merge pull request #26562 from vector-im/actions/localazy-download
Localazy Download
2023-11-13 10:43:20 +01:00
t3chguy
3d29596e6e [create-pull-request] automated change 2023-11-13 09:31:14 +00:00
Michael Telatynski
e4b0429c0e Update CODEOWNERS 2023-11-13 09:20:57 +00:00
Michael Telatynski
c6e5280ae8 Run Localazy Download on a schedule 3 times a week instead of during release process (#26550) 2023-11-10 17:30:24 +00:00
Michael Telatynski
2bc514357d Update translating-dev.md 2023-11-10 12:27:02 +00:00
Michael Telatynski
ac16b9cfad Only update repo description once (#26517) 2023-11-09 16:27:01 +00:00
Johannes Marbach
de9def13b3 Merge pull request #26534 from nordeck/charlynguyen/update-react-sdk-module-api 2023-11-09 12:24:00 +01:00
Charly Nguyen
99c10cb422 Update @matrix-org/react-sdk-module-api 2023-11-09 11:28:16 +01:00
Michael Telatynski
edeaf8065e Ship element-web as a debian package (#26533) 2023-11-09 09:56:26 +00:00
ElementRobot
8b01798bd6 Reset matrix-js-sdk back to develop branch 2023-11-07 15:26:48 +00:00
ElementRobot
740bf8ae70 Reset matrix-react-sdk back to develop branch 2023-11-07 15:26:41 +00:00
ElementRobot
51f9e52538 Merge branch 'master' into develop 2023-11-07 15:26:26 +00:00
ElementRobot
2c1304c3bf v1.11.48 2023-11-07 15:23:24 +00:00
ElementRobot
ba11a5d68f Prepare changelog for v1.11.48 2023-11-07 15:23:23 +00:00
ElementRobot
a582cec412 Upgrade matrix-js-sdk to 30.0.0 2023-11-07 15:20:22 +00:00
ElementRobot
b2387c3027 Upgrade matrix-react-sdk to 3.84.0 2023-11-07 15:19:34 +00:00
Johannes Marbach
b350d2211c Merge pull request #26511 from vector-im/Johennes-patch-1 2023-11-07 09:40:38 +01:00
Johannes Marbach
11f46a0d11 Add input parameter for ELEMENT_BOT_TOKEN 2023-11-06 15:55:50 +01:00
Johannes Marbach
8769dbb3f7 Merge pull request #26509 from vector-im/Johennes-patch-1 2023-11-06 14:23:53 +01:00
Johannes Marbach
222cf5cb67 Make triage-labelled workflow reusable 2023-11-06 14:09:13 +01:00
Michael Telatynski
019a7cc02d Ship OpenCoDE variant to Dockerhub (#26399) 2023-11-06 16:31:02 +05:30
Michael Telatynski
7e370909da Update build_debian.yaml 2023-11-01 08:49:56 +00:00
renovate[bot]
61cfe56774 Update all non-major dependencies (#26482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 08:28:54 +00:00
renovate[bot]
5ae434d90d Update dependency eslint-plugin-unicorn to v49 (#26485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:42:32 +00:00
renovate[bot]
ecb557dff2 Update actions/setup-node action to v4 (#26484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:42:07 +00:00
renovate[bot]
c4c759c951 Update dependency @types/jest to v29.5.7 (#26480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:27:58 +00:00
renovate[bot]
8447c77d95 Update definitelyTyped (#26479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:15:36 +00:00
renovate[bot]
b3037c73d1 Update titoportas/update-project-fields digest to 421a544 (#26478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 17:42:46 +00:00
ElementRobot
e8b09f3d8a v1.11.48-rc.1 2023-10-31 15:09:10 +00:00
ElementRobot
be82347b2a Prepare changelog for v1.11.48-rc.1 2023-10-31 15:09:09 +00:00
ElementRobot
7ec7fb5d98 Upgrade matrix-js-sdk to 30.0.0-rc.1 2023-10-31 15:05:28 +00:00
ElementRobot
12da7c2773 Upgrade matrix-react-sdk to 3.84.0-rc.1 2023-10-31 14:59:24 +00:00
Michael Telatynski
718f3bb4bc Update release_prepare.yml 2023-10-31 14:12:10 +00:00
Michael Telatynski
1ed1a4e25a Release prep script for cutting branches (#26392) 2023-10-31 14:06:55 +00:00
Hubert Chathi
56bdaaf2f2 Use olm from default npm registry, since it's there now (#26461) 2023-10-27 22:37:23 +01:00
Michael Telatynski
a2a60a4aa2 Fix docs workflow
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-27 15:51:59 +01:00
Michael Telatynski
2207828333 prettierignore
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-27 15:43:07 +01:00
Michael Telatynski
3eaa4fb22d Fix path issues
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-27 15:42:27 +01:00
Michael Telatynski
0fdbbeecf5 Vendor in Mermaid v10 for frontmatter title support
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-27 15:34:45 +01:00
Michael Telatynski
197c985332 Update docs.yml 2023-10-27 15:04:20 +01:00
Michael Telatynski
fc824dc540 Update docs.yml 2023-10-27 15:00:15 +01:00
dependabot[bot]
1bf3200fc1 Bump browserify-sign from 4.2.1 to 4.2.2 (#26459)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-27 13:40:14 +00:00
Michael Telatynski
1151a3b20f Update docs.yml 2023-10-27 14:25:38 +01:00
Michael Telatynski
e5d4d5108d Add script to generate mermaid graph of automations (#26432) 2023-10-27 14:03:30 +01:00
Michael Telatynski
bce8207293 Remove mermaid config section
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-26 08:53:43 +01:00
Michael Telatynski
e462d7e894 Update docs.yml 2023-10-26 08:51:01 +01:00
Michael Telatynski
588e056699 Add mdbook-mermaid (#26426) 2023-10-26 08:40:33 +01:00
Johannes Marbach
de2d3ff204 Merge pull request #26216 from vector-im/johannes/webpack-cli-4.10.0 2023-10-25 16:47:28 +02:00
Michael Telatynski
413c50f503 Update config.md 2023-10-25 15:34:31 +01:00
Michael Telatynski
16ec8edd58 Iterate build_debian.yaml workflow (#26434) 2023-10-25 13:39:44 +00:00
Michael Telatynski
6fa6c6517c Update update-topics.yaml 2023-10-25 14:09:28 +01:00
Michael Telatynski
875657eb45 Update update-topics.yaml 2023-10-25 14:00:06 +01:00
Michael Telatynski
54820501f3 Document feedback.new_issue_url & feedback.existing_issues_url (#26446) 2023-10-25 13:18:31 +01:00
Johannes Marbach
ca24cde34d Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-10-25 08:26:55 +02:00
ElementRobot
5eb399276d Reset matrix-js-sdk back to develop branch 2023-10-24 15:47:18 +01:00
ElementRobot
aab9e5de01 Reset matrix-react-sdk back to develop branch 2023-10-24 15:47:03 +01:00
ElementRobot
b8775f48f7 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2023-10-24 15:46:10 +01:00
ElementRobot
c22670db77 v1.11.47 2023-10-24 15:42:21 +01:00
ElementRobot
30a370644d Prepare changelog for v1.11.47 2023-10-24 15:42:21 +01:00
ElementRobot
51cd6cc9e6 Upgrade matrix-js-sdk to 29.1.0 2023-10-24 15:39:33 +01:00
ElementRobot
bd151bf42c Upgrade matrix-react-sdk to 3.83.0 2023-10-24 15:39:25 +01:00
Richard van der Hoff
06e034519b Enable rust cryptography on develop.element.io (#26291)
Once this lands, *existing* sessions will continue to use legacy crypto, but
*new* logins will use rust crypto.
2023-10-24 13:34:24 +00:00
Johannes Marbach
9fce52bf5f Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-10-24 13:43:58 +02:00
Johannes Marbach
33893809ed Merge pull request #26430 from vector-im/Johennes-patch-1 2023-10-24 13:23:39 +02:00
Johannes Marbach
bf0a3ef57e Update triage-assigned.yml
Update user name
2023-10-24 13:02:49 +02:00
Michael Telatynski
0796b3d088 Delete .github/workflows/upgrade_dependencies.yml 2023-10-24 00:48:09 +01:00
Kerry
80ba22aba2 OIDC: document config (#26400)
* document OIDC config

* tidy
2023-10-19 23:56:18 +00:00
Subash-Lamichhane
b93db38a70 docs: fixed multiple typos (#26403) 2023-10-19 13:04:36 +00:00
Richard van der Hoff
6860714572 Revert "triage-labelled: also set "Status" on ER issues"
This reverts commit e4d365a1ab.

This is better done through the project board automation, otherwise we risk
moving items out of "In Progress" back to "Qualification".
2023-10-19 13:29:21 +01:00
Richard van der Hoff
e4d365a1ab triage-labelled: also set "Status" on ER issues 2023-10-19 12:39:46 +01:00
Richard van der Hoff
6c017ab936 triage-labelled: Fix step input names 2023-10-19 12:14:31 +01:00
Germain
73e2d1dbe4 Adds labs label to Element R issues (#26324) 2023-10-19 11:06:34 +00:00
Richard van der Hoff
1265ed47aa triage-labelled: Fix workflow 2023-10-19 12:04:14 +01:00
Richard van der Hoff
b24a25b8b9 Add automation to move Element-R issues to crypto board (#26398) 2023-10-19 09:06:37 +00:00
renovate[bot]
f8b6364694 Update react-types (#26124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 08:56:39 +01:00
Dominik Henneke
0040181489 Correctly fill window.matrixChat even when a Wrapper module is active (#26395)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-10-18 21:13:30 -04:00
renovate[bot]
f1a39b3e4d Update dependency typescript to v5.2.2 (#26390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 17:02:17 +00:00
renovate[bot]
f3bf750bf3 Lock file maintenance (#26205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 17:54:00 +01:00
Michael Telatynski
bfb071f24f Update build.yml 2023-10-18 17:26:21 +01:00
renovate[bot]
775c4d335e Update all non-major dependencies (#26201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 17:18:45 +01:00
dependabot[bot]
3930c6cb04 Bump @babel/traverse from 7.22.15 to 7.23.2 (#26381)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 09:09:29 +00:00
renovate[bot]
0ebfa4174b Update babel monorepo to v7.23.2 (#26290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 17:38:03 +00:00
Michael Telatynski
c27aca4977 Remove @types/modernizr from package.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 18:22:12 +01:00
renovate[bot]
76adf57d1d Update definitelyTyped (#26198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 17:10:41 +00:00
renovate[bot]
7279b05ee4 Update dependency fake-indexeddb to v5 (#26391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 17:00:32 +00:00
ElementRobot
8862bcda29 v1.11.47-rc.1 2023-10-17 15:40:36 +01:00
ElementRobot
64d596ad26 Prepare changelog for v1.11.47-rc.1 2023-10-17 15:40:36 +01:00
ElementRobot
0cd55e1f1b Upgrade matrix-js-sdk to 29.1.0-rc.1 2023-10-17 15:33:37 +01:00
ElementRobot
8419ac62be Upgrade matrix-react-sdk to 3.83.0-rc.1 2023-10-17 15:30:52 +01:00
ElementRobot
22e35c385d Localazy Download (#26389)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-17 15:05:46 +01:00
Michael Telatynski
92a3976837 Update localazy_upload.yaml 2023-10-17 10:48:52 +01:00
Michael Telatynski
9b560e8303 Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 10:25:27 +01:00
Michael Telatynski
0325273a68 Add matrix-js-sdk docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 10:01:56 +01:00
Michael Telatynski
5262c2d195 Revert
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:42:55 +01:00
Michael Telatynski
3279c44197 Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:34:51 +01:00
Michael Telatynski
39ae3ccfc6 Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:30:21 +01:00
Michael Telatynski
9d3a39905b Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:16:32 +01:00
Michael Telatynski
9b2960a2ff Update docs.yml 2023-10-17 08:58:27 +01:00
Michael Telatynski
3f81241e20 Update docs.yml 2023-10-17 08:48:19 +01:00
dependabot[bot]
3b23cb8bff Bump postcss from 8.4.29 to 8.4.31 (#26306)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Germain <germain@souquet.com>
2023-10-17 07:44:23 +00:00
Michael Telatynski
9696e099eb Update docs.yml 2023-10-17 08:36:22 +01:00
Michael Telatynski
9a688e8202 Set up mdbook in github pages (#26367) 2023-10-17 11:57:03 +13:00
Johannes Marbach
5b4eea4e09 Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-10-16 07:53:29 +02:00
Robin
b206e0cea0 Update the Element Call unstable URL (#26368)
We've switched from Netlify to an in-house Kubernetes deployment with a new URL.
2023-10-13 16:41:13 +00:00
Michael Telatynski
7bfb1cd79c Run build workflow in CI on the windows & macos also (#26362) 2023-10-13 14:38:51 +01:00
Michael Telatynski
82cb30373c Remove hardcoded defaults and update manifest.json (#26359) 2023-10-13 12:24:54 +01:00
RiotRobot
b9ea639f9d Reset matrix-react-sdk back to develop branch 2023-10-10 09:36:24 +01:00
RiotRobot
9832921d0d Reset matrix-js-sdk back to develop branch 2023-10-10 09:36:11 +01:00
RiotRobot
ce2e1f7058 Merge branch 'master' into develop 2023-10-10 09:35:58 +01:00
RiotRobot
d072737463 v1.11.46 2023-10-10 09:31:47 +01:00
RiotRobot
3abaee07e8 Prepare changelog for v1.11.46 2023-10-10 09:31:47 +01:00
RiotRobot
27733c364f Upgrade matrix-react-sdk to 3.82.0 2023-10-10 09:28:03 +01:00
RiotRobot
20ad51994a Upgrade matrix-js-sdk to 29.0.0 2023-10-10 09:27:40 +01:00
David Baker
aae59b93e6 Re-write the rule about casting to be clearer (#26317)
This is the proposal from the comments on https://github.com/vector-im/element-web/pull/26220
(so effectively an alternative to that PR, if you like).
2023-10-09 14:34:36 +01:00
Dharshan
d74186d7ad Update Linux Kernel link in CONTRIBUTING.md (#26336) 2023-10-09 06:23:49 +00:00
Johannes Marbach
f49b37d06a Merge pull request #26329 from vector-im/Johennes-patch-1 2023-10-06 16:21:00 +02:00
Johannes Marbach
6e57af0f1c Remove trailing || 2023-10-06 16:15:14 +02:00
Johannes Marbach
8e39de4c75 Merge pull request #26328 from vector-im/Johennes-patch-1 2023-10-06 16:08:56 +02:00
Johannes Marbach
471e6a9e94 Automatically add labeled issues to tech debt project 2023-10-06 16:01:11 +02:00
Johannes Marbach
f7f0cf1c61 Merge pull request #26325 from vector-im/Johennes-patch-1 2023-10-06 15:41:38 +02:00
Johannes Marbach
473ec02aa2 Remove former PS teams from issue automation 2023-10-06 15:32:56 +02:00
Stefan Ceriu
22f2b1f9e9 vector-im/element-x-ios/issues/1824 - Convert the apple-app-site-association file to a newer format… (#26307) 2023-10-05 09:17:40 +01:00
Michael Telatynski
73c77069f6 Update docs to remove temporary TMS freeze note
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-03 19:50:07 +01:00
RiotRobot
b45e72c227 v1.11.46-rc.2 2023-10-03 14:52:36 +01:00
RiotRobot
5c36d20b48 Prepare changelog for v1.11.46-rc.2 2023-10-03 14:52:36 +01:00
Andy Balaam
24da65701c Bump matrix-web-i18n to 3.1.3 for KEY_SEPARATOR (#26287) 2023-10-03 14:44:55 +01:00
RiotRobot
796e60c284 v1.11.46-rc.1 2023-10-03 12:10:40 +01:00
RiotRobot
5aa6d0bc6a Prepare changelog for v1.11.46-rc.1 2023-10-03 12:10:39 +01:00
RiotRobot
3b47b1b523 Upgrade matrix-react-sdk to 3.82.0-rc.1 2023-10-03 12:08:27 +01:00
RiotRobot
fcb961d0ea Upgrade matrix-js-sdk to 29.0.0-rc.1 2023-10-03 12:08:01 +01:00
Michael Telatynski
c6e1a3d59d Improve config.md docs on custom_translations_url (#26262) 2023-10-02 11:42:41 +01:00
RiotRobot
260e0fc8ac Reset matrix-react-sdk back to develop branch 2023-09-29 11:31:48 +01:00
RiotRobot
6c305121f4 Reset matrix-js-sdk back to develop branch 2023-09-29 11:31:22 +01:00
RiotRobot
b7cca93ceb Merge branch 'master' into develop 2023-09-29 11:30:11 +01:00
RiotRobot
ae98e3a593 v1.11.45 2023-09-29 11:24:44 +01:00
RiotRobot
e4ecf42a8c Prepare changelog for v1.11.45 2023-09-29 11:24:44 +01:00
RiotRobot
c47c598c0b Upgrade matrix-react-sdk to 3.81.1 2023-09-29 11:20:23 +01:00
Johannes Marbach
bb04097912 Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-09-29 10:56:13 +02:00
R Midhun Suresh
47677c8415 Fix broken tsc from localazy changes (#26255) 2023-09-28 14:07:29 +01:00
RiotRobot
1707ecd8b6 Reset matrix-react-sdk back to develop branch 2023-09-26 14:10:03 +01:00
RiotRobot
b4cc35b2da Reset matrix-js-sdk back to develop branch 2023-09-26 14:09:47 +01:00
RiotRobot
8492c22b55 Merge branch 'master' into develop 2023-09-26 14:09:32 +01:00
RiotRobot
e0dc62f7b1 v1.11.44 2023-09-26 14:05:16 +01:00
RiotRobot
d6cf0c7be2 Prepare changelog for v1.11.44 2023-09-26 14:05:16 +01:00
RiotRobot
09291a9cf5 Upgrade matrix-react-sdk to 3.81.0 2023-09-26 13:32:57 +01:00
RiotRobot
9ac837068f Upgrade matrix-js-sdk to 28.2.0 2023-09-26 13:26:28 +01:00
Michael Telatynski
29d5309430 Merge remote-tracking branch 'origin/develop' into develop 2023-09-26 12:28:52 +01:00
Michael Telatynski
7fe11a6026 Make tests happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-26 12:28:31 +01:00
Michael Telatynski
21f915ffd2 Update tsconfig.json 2023-09-26 09:25:53 +01:00
Johannes Marbach
3d65ff06e9 Fix spaces 2023-09-22 21:03:33 +02:00
Johannes Marbach
e0954f330a Update webpack-dev-server to 4.15.1 2023-09-22 20:57:00 +02:00
renovate[bot]
4367299885 Update jest to v29.5.5 (#26200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:00:55 +00:00
renovate[bot]
c59d0a924b Update babel monorepo to v7.22.20 (#26199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 00:33:54 +00:00
renovate[bot]
8a927e5120 Update SimenB/github-actions-cpu-cores action to v2 (#26203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:24:03 +01:00
renovate[bot]
eb40bc940a Update docker (#26204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:23:41 +01:00
Johannes Marbach
218a3b478d Update webpack to 4.47.0 / webpack-cli to 4.10.0 2023-09-21 20:47:58 +02:00
Germain
dcc0f9fbf6 Document feature_notifications_panel labs flag (#25924) 2023-09-20 08:21:37 +01:00
RiotRobot
ce616caf99 v1.11.44-rc.1 2023-09-19 12:51:48 +01:00
RiotRobot
e288bf6ae3 Prepare changelog for v1.11.44-rc.1 2023-09-19 12:51:48 +01:00
RiotRobot
0285eab20c Upgrade matrix-react-sdk to 3.81.0-rc.1 2023-09-19 12:49:42 +01:00
RiotRobot
baacd4ca8c Upgrade matrix-js-sdk to 28.2.0-rc.1 2023-09-19 12:49:19 +01:00
Johannes Marbach
29bd206f85 Merge pull request #26186 from vector-im/johannes/undefault-new-room-header 2023-09-18 12:09:22 +02:00
Johannes Marbach
5d04a2adc3 Turn off new room header by default 2023-09-18 09:47:08 +02:00
Johannes Marbach
df6b106b26 Merge pull request #26089 from vector-im/germain-gg/room-ui-develop 2023-09-15 15:22:32 +02:00
RiotRobot
e456ca1b20 Reset matrix-react-sdk back to develop branch 2023-09-15 12:13:45 +01:00
RiotRobot
744ff5ca9a Reset matrix-js-sdk back to develop branch 2023-09-15 12:13:30 +01:00
RiotRobot
0c0f4cfdbd Merge branch 'master' into develop 2023-09-15 12:13:08 +01:00
RiotRobot
8436c91279 v1.11.43 2023-09-15 12:09:01 +01:00
RiotRobot
c52c62ebc0 Prepare changelog for v1.11.43 2023-09-15 12:09:00 +01:00
Johannes Marbach
1e303652cc Merge branch 'develop' into germain-gg/room-ui-develop 2023-09-15 09:14:50 +02:00
RiotRobot
361941e5d4 Reset matrix-js-sdk back to develop branch 2023-09-13 13:00:58 +01:00
RiotRobot
dc6c7022fc Merge branch 'master' into develop 2023-09-13 12:59:06 +01:00
RiotRobot
60585cce94 v1.11.42 2023-09-13 12:47:26 +01:00
RiotRobot
3a6a603778 Prepare changelog for v1.11.42 2023-09-13 12:47:25 +01:00
RiotRobot
28a8c1cd1e Upgrade matrix-react-sdk to 3.80.1 2023-09-13 12:44:38 +01:00
ElementRobot
b9be840291 Reset matrix-react-sdk back to develop branch 2023-09-12 17:17:24 +01:00
ElementRobot
81b6320595 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2023-09-12 17:16:37 +01:00
ElementRobot
189fa14c29 v1.11.41 2023-09-12 17:12:42 +01:00
ElementRobot
ee254efcf3 Prepare changelog for v1.11.41 2023-09-12 17:12:42 +01:00
ElementRobot
c9e5df4aa0 Upgrade matrix-js-sdk to 28.1.0 2023-09-12 17:06:29 +01:00
ElementRobot
eec8b37c49 Upgrade matrix-react-sdk to 3.80.0 2023-09-12 17:06:18 +01:00
renovate[bot]
14746004b5 Update babel monorepo to v7.22.17 (#26121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-12 10:11:23 +01:00
ElementRobot
be3cb55f7d v1.11.41-rc.2 2023-09-08 12:08:13 +01:00
ElementRobot
0aa7368e5d Prepare changelog for v1.11.41-rc.2 2023-09-08 12:08:13 +01:00
ElementRobot
24d5457518 Upgrade matrix-react-sdk to 3.80.0-rc.2 2023-09-08 12:07:00 +01:00
Michael Telatynski
badff8cae5 Fix copy-res
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 11:24:22 +01:00
ElementRobot
6dc6c80cc5 Merge pull request #26141 from vector-im/actions/localazy-download
Localazy Download
2023-09-08 11:59:10 +02:00
Michael Telatynski
e84e161034 yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:51:22 +01:00
Michael Telatynski
5a534e4010 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:49:41 +01:00
Michael Telatynski
34d7eca8f3 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:45:32 +01:00
Michael Telatynski
472c07c0a8 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:43:44 +01:00
Michael Telatynski
c944a273d0 Convert copy-res to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:33:57 +01:00
Michael Telatynski
501f01cdd5 Remove hardcoded INCLUDE_LANGS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:14:31 +01:00
t3chguy
e93a12d1fa [create-pull-request] automated change 2023-09-08 09:06:12 +00:00
Michael Telatynski
8c83307371 Update package.json 2023-09-08 09:54:14 +01:00
Michael Telatynski
7ede4b783d prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-07 17:54:24 +01:00
Michael Telatynski
50afd46c79 Update translating-dev.md 2023-09-07 17:50:55 +01:00
renovate[bot]
f93a7c0ffe Update all non-major dependencies (#26036)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-07 08:14:15 +00:00
renovate[bot]
54fd7a9872 Lock file maintenance (#26126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 20:37:35 +01:00
ElementRobot
a189fab5d4 Merge pull request #26132 from vector-im/actions/localazy-download
Localazy Download
2023-09-06 19:22:18 +02:00
Michael Telatynski
f659c47a61 Update loading-test.tsx 2023-09-06 18:14:38 +01:00
t3chguy
b0d5eb906f [create-pull-request] automated change 2023-09-06 17:04:01 +00:00
renovate[bot]
adcf635f59 Update docker/setup-buildx-action digest to 885d146 (#26120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-06 13:01:01 +01:00
renovate[bot]
ee3c1192bc Update jest to v29.6.4 (#26123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 13:00:34 +01:00
renovate[bot]
e94b80b9e5 Update definitelyTyped (#26122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 10:48:36 +01:00
renovate[bot]
cef2df4b0b Update actions/checkout action to v4 (#26125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-05 17:31:32 +00:00
Michael Telatynski
c525b633bd Migrate translations to keys and switch to Localazy (#26106) 2023-09-05 17:17:25 +01:00
ElementRobot
d429e69d35 v1.11.41-rc.1 2023-09-05 17:05:42 +01:00
ElementRobot
26e5cfc4fa Prepare changelog for v1.11.41-rc.1 2023-09-05 17:05:42 +01:00
ElementRobot
2bfe31e242 Upgrade matrix-js-sdk to 28.1.0-rc.1 2023-09-05 17:02:56 +01:00
ElementRobot
c577b95e5e Upgrade matrix-react-sdk to 3.80.0-rc.1 2023-09-05 17:02:45 +01:00
Richard van der Hoff
00803950bf Move the unhomoglyph data to its own file (#26095)
This solves problems wherein the javascript debugger would get confused and
show the execution point two lines away from the source.
2023-09-01 15:37:09 +01:00
Element Translate Bot
bff5b6e8e2 Translations update from Weblate (#26093)
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Weblate <translate@riot.im>
2023-09-01 12:26:50 +01:00
Germain
cbe24e2531 Enable new room UI by default on develop 2023-08-31 22:29:53 +01:00
Germain
1ada110fed Make SVGR icons use forward ref (#26082) 2023-08-30 13:09:29 -04:00
Germain
19b2eded16 Fix compound external assets path in bundle (#26069) 2023-08-30 12:47:49 +01:00
maheichyk
3fd6b62254 Add support for rendering a custom wrapper around Element (#25537)
Co-authored-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-08-30 07:52:41 +01:00
RiotRobot
2ad80c8fcf Reset matrix-react-sdk back to develop branch 2023-08-29 11:25:41 +01:00
RiotRobot
c5a90f03d9 Reset matrix-js-sdk back to develop branch 2023-08-29 11:25:23 +01:00
RiotRobot
25460bd8b7 Merge branch 'master' into develop 2023-08-29 11:23:26 +01:00
RiotRobot
5ee16a9db1 v1.11.40 2023-08-29 11:12:08 +01:00
RiotRobot
61669e5cbf Prepare changelog for v1.11.40 2023-08-29 11:12:07 +01:00
RiotRobot
61fba2c32c Upgrade matrix-react-sdk to 3.79.0 2023-08-29 11:09:15 +01:00
RiotRobot
e870fe2048 Upgrade matrix-js-sdk to 28.0.0 2023-08-29 11:08:30 +01:00
Andy Balaam
fcd805255c Revert "Update react-types (#25256)" (#26048)
This reverts commit 83b940605e.
because it breaks the build.
2023-08-24 14:10:26 +00:00
renovate[bot]
83b940605e Update react-types (#25256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 13:34:21 +00:00
renovate[bot]
a3c0324dc6 Lock file maintenance (#26038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-24 14:15:17 +01:00
renovate[bot]
780da23c70 Update jest to v29.5.4 (#26035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-23 14:25:12 +00:00
renovate[bot]
b464a7e106 Update dependency @types/node to v16.18.41 (#26034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-23 15:24:10 +01:00
RiotRobot
ba5f9767f3 v1.11.40-rc.1 2023-08-23 12:02:01 +01:00
RiotRobot
60a8dc592a Prepare changelog for v1.11.40-rc.1 2023-08-23 12:02:00 +01:00
RiotRobot
50f7c1edfb Upgrade matrix-react-sdk to 3.79.0-rc.2 2023-08-23 11:59:58 +01:00
RiotRobot
9c06e33e78 Upgrade matrix-js-sdk to 28.0.0-rc.1 2023-08-23 11:55:44 +01:00
Michael Telatynski
469d11ffcb Guard translation methods with typescript to protect against invalid usage (#26021) 2023-08-22 16:32:03 +01:00
Michael Telatynski
86c563cd29 Simplify languages.json file and grab language names from Intl (#26001) 2023-08-22 15:07:17 +01:00
Element Translate Bot
c13816dce4 Translated using Weblate (Georgian) (#26029)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ka/

Co-authored-by: Nicholas Winterhalter <gewinum@gmail.com>
Co-authored-by: Weblate <translate@riot.im>
2023-08-22 13:13:19 +00:00
Michael Telatynski
7f3d85c0c5 Remove Exploring public spaces from labs.md (#25991) 2023-08-21 10:39:16 +01:00
Dominik Henneke
65f7545ba5 Bump @matrix-org/react-sdk-module-api from 1.0.0 to 2.0.0 (#25986) 2023-08-18 12:03:28 +00:00
Germain
c026879237 Fix path separator for Windows based systems (#25997) 2023-08-18 11:56:07 +01:00
Germain
d9b4e531b0 Allow external assets loading (#25998) 2023-08-18 09:45:32 +01:00
Michael Telatynski
062e93a5d2 Tidy and improve dev scripts (#25978) 2023-08-18 08:34:56 +01:00
Michael Telatynski
96c652ef08 Switch to nested object pluralisation format for i18n files (#25970) 2023-08-17 09:37:59 +01:00
Michael Telatynski
017fbb3793 Remove redundant makeRegistrationUrl prop (#25953) 2023-08-15 16:18:55 +01:00
ElementRobot
6bce017823 Reset matrix-js-sdk back to develop branch 2023-08-15 13:38:45 +01:00
ElementRobot
f9b7372883 Reset matrix-react-sdk back to develop branch 2023-08-15 13:38:23 +01:00
ElementRobot
6755448e86 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2023-08-15 13:37:44 +01:00
ElementRobot
9a650bd12a v1.11.39 2023-08-15 13:33:32 +01:00
ElementRobot
7dabb3ce9a Prepare changelog for v1.11.39 2023-08-15 13:33:31 +01:00
ElementRobot
8c33ebfd52 Upgrade matrix-js-sdk to 27.2.0 2023-08-15 13:29:15 +01:00
ElementRobot
70742e0432 Upgrade matrix-react-sdk to 3.78.0 2023-08-15 13:28:41 +01:00
renovate[bot]
fb984abf12 Update all non-major dependencies (#25938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 09:16:12 +01:00
Michael Telatynski
7351c722be Fix tests for Matrix v1.1 requirement (#25898) 2023-08-14 09:07:43 +01:00
Michael Telatynski
d1f7b0898a Update setupFilesAfterEnv to TS (#25928) 2023-08-09 09:39:45 +01:00
renovate[bot]
a61ab7c033 Lock file maintenance (#25940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 15:18:01 +00:00
renovate[bot]
424cbdd47b Update dependency eslint-config-prettier to v9 (#25939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 14:42:50 +00:00
renovate[bot]
f58b122850 Update babel monorepo to v7.22.10 (#25937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 14:32:54 +00:00
ElementRobot
f676406fb2 v1.11.39-rc.1 2023-08-08 15:24:25 +01:00
ElementRobot
f77d968da9 Prepare changelog for v1.11.39-rc.1 2023-08-08 15:24:24 +01:00
ElementRobot
3cce4de454 Upgrade matrix-js-sdk to 27.2.0-rc.1 2023-08-08 15:21:49 +01:00
ElementRobot
84fe974606 Upgrade matrix-react-sdk to 3.78.0-rc.1 2023-08-08 15:20:55 +01:00
renovate[bot]
e3bc5f45f5 Update tibdex/backport digest to 9565281 (#25936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 14:17:41 +00:00
Element Translate Bot
b1129e4d28 Translations update from Weblate (#25935)
Co-authored-by: Jan Schönfeld <jan.schoenfeld@tutanota.de>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Weblate <translate@riot.im>
2023-08-08 14:48:24 +01:00
Charly Nguyen
15836ac5df Update labs.md for knock rooms (#25923) 2023-08-04 15:56:13 +01:00
Michael Telatynski
1093b41d70 Update build_debian.yaml 2023-08-04 09:46:10 +01:00
RiotRobot
030b1fb339 Reset matrix-react-sdk back to develop branch 2023-08-04 09:41:37 +01:00
RiotRobot
7a3e36d434 Reset matrix-js-sdk back to develop branch 2023-08-04 09:41:15 +01:00
RiotRobot
595ddc316e Merge branch 'master' into develop 2023-08-04 09:39:44 +01:00
RiotRobot
e059524f6e v1.11.38 2023-08-04 09:33:32 +01:00
RiotRobot
ab7536d220 Prepare changelog for v1.11.38 2023-08-04 09:33:31 +01:00
RiotRobot
0b72e925d5 Upgrade matrix-react-sdk to 3.77.1 2023-08-04 09:31:06 +01:00
ElementRobot
bb223eedd5 [Backport staging] Package release builds of element-web in package.element.io debs (#25921)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-04 09:23:11 +01:00
Germain
8fc0763391 Remove feature_right_panel_default_open (#25915) 2023-08-03 09:34:00 +00:00
Michael Telatynski
e395178b2b Package release builds of element-web in package.element.io debs (#25198) 2023-08-02 14:40:40 +01:00
Germain
c6756ea52a Transpile @vector-im/compound-web with babel (#25906) 2023-08-02 10:07:40 +00:00
ElementRobot
4f790eb134 Reset matrix-js-sdk back to develop branch 2023-08-01 12:53:01 +01:00
ElementRobot
50ca01f8d0 Reset matrix-react-sdk back to develop branch 2023-08-01 12:52:44 +01:00
ElementRobot
3b37081818 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2023-08-01 12:51:00 +01:00
ElementRobot
a0e0df32af v1.11.37 2023-08-01 12:46:38 +01:00
ElementRobot
fc94e9b6d4 Prepare changelog for v1.11.37 2023-08-01 12:46:38 +01:00
ElementRobot
69c43bb142 Upgrade matrix-js-sdk to 27.1.0 2023-08-01 12:45:16 +01:00
ElementRobot
2abff92b7b Upgrade matrix-react-sdk to 3.77.0 2023-08-01 12:44:18 +01:00
Germain
a0558a8287 Document 'feature_new_room_decoration_ui' (#25890) 2023-08-01 08:32:59 +01:00
renovate[bot]
b404d2d014 Lock file maintenance (#25886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 12:05:54 +00:00
renovate[bot]
5644c4e175 Lock file maintenance (#25860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 12:23:15 +01:00
renovate[bot]
790ff16701 Update all non-major dependencies (#25858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-27 11:33:18 +01:00
renovate[bot]
a19c3f5da6 Update dependency @types/node to v16.18.39 (#25857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 09:22:47 +00:00
renovate[bot]
58e40c597d Update dependency eslint-plugin-unicorn to v48 (#25859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 10:19:44 +01:00
ElementRobot
7018f78510 v1.11.37-rc.1 2023-07-27 09:49:13 +01:00
ElementRobot
4eae1d4bcf Prepare changelog for v1.11.37-rc.1 2023-07-27 09:49:13 +01:00
ElementRobot
a618f95369 Upgrade matrix-js-sdk to 27.1.0-rc.1 2023-07-27 09:47:40 +01:00
ElementRobot
fef081c77b Upgrade matrix-react-sdk to 3.77.0-rc.1 2023-07-27 09:47:24 +01:00
Element Translate Bot
6406ae1a88 Translations update from Weblate (#25856)
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: James Choi <tienipia@gmail.com>
Co-authored-by: Srebrni <kiborg@novko.si>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: raspin0 <marcinekk13@interia.pl>
Co-authored-by: Edgars Andersons <Edgars+Element-translations@gaitenis.id.lv>
2023-07-27 08:57:15 +01:00
Michael Telatynski
cc8afed196 Avoid using deprecated config.json key casing (#25833)
* Avoid using deprecated config.json key casing

* Fix configs s'more
2023-07-24 07:51:51 +00:00
RiotRobot
2753bc9f8e Reset matrix-react-sdk back to develop branch 2023-07-18 15:22:06 +01:00
RiotRobot
1c420b436d Reset matrix-js-sdk back to develop branch 2023-07-18 15:21:32 +01:00
RiotRobot
19d663d052 Merge branch 'master' into develop 2023-07-18 15:19:24 +01:00
RiotRobot
494cb39984 v1.11.36 2023-07-18 15:13:04 +01:00
RiotRobot
29ca7a4bd9 Prepare changelog for v1.11.36 2023-07-18 15:13:03 +01:00
RiotRobot
af929fcf0d Upgrade matrix-react-sdk to 3.76.0 2023-07-18 15:09:36 +01:00
RiotRobot
9be4fcf7d2 Upgrade matrix-js-sdk to 27.0.0 2023-07-18 15:09:16 +01:00
Germain
c1bbaf6c02 Removing stale labs flag (#25823) 2023-07-18 09:37:09 +01:00
renovate[bot]
4cf4dc9a3d Lock file maintenance (#25145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-17 18:11:39 +00:00
renovate[bot]
44dde72950 Update docker/setup-buildx-action digest to 4c0219f (#25757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-17 19:01:38 +01:00
Michael Telatynski
048d8c417d Remove redundant dependencies (#25814) 2023-07-17 13:15:03 +01:00
Ben Banfield-Zanin
42afb0199f Correct Jitsi preferred_domain property (#25813) 2023-07-17 10:20:40 +00:00
Kerry
e68583a6e2 Test: don't unmount MatrixChat before setup is finished (#25783) 2023-07-17 08:50:13 +12:00
renovate[bot]
48044f3847 Update all non-major dependencies (#25759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-16 15:44:56 +00:00
Šimon Brandner
93e6ee11ab Switch to the new session API for screen-sharing (#25802) 2023-07-14 22:05:23 +02:00
RiotRobot
dd9678d97c v1.11.36-rc.2 2023-07-14 16:36:25 +01:00
RiotRobot
49c78214f5 Prepare changelog for v1.11.36-rc.2 2023-07-14 16:36:24 +01:00
RiotRobot
3ee4cbd992 Upgrade matrix-react-sdk to 3.76.0-rc.2 2023-07-14 16:34:14 +01:00
RiotRobot
d77877dc20 Upgrade matrix-js-sdk to 27.0.0-rc.2 2023-07-14 16:33:43 +01:00
Michael Telatynski
a84349f969 Deprecate camelCase config options (#25800) 2023-07-14 11:16:41 +01:00
Michael Telatynski
b89b000f05 Update update-topics.yaml 2023-07-13 12:31:39 +01:00
Michael Telatynski
0e97a178e3 Fix regex not handling rc versions 2023-07-13 12:30:27 +01:00
Michael Telatynski
767c30f2ee Update update-topics.yaml 2023-07-13 12:26:02 +01:00
Michael Telatynski
fe3d7f3fa9 Update update-topics.yaml 2023-07-13 12:23:30 +01:00
Michael Telatynski
9856863b03 Update update-topics.yaml 2023-07-13 12:21:41 +01:00
renovate[bot]
231d3387e6 Update typescript-eslint monorepo to v5.61.0 (#25761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 09:21:37 +00:00
renovate[bot]
d67db02eea Update dependency stylelint-config-standard to v34 (#25765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 10:18:30 +01:00
renovate[bot]
6508aca804 Update jest (#25760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 09:09:04 +00:00
renovate[bot]
30aff46e40 Update dependency @types/node to v16.18.38 (#25758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-13 08:53:29 +00:00
renovate[bot]
da0b6580e5 Update babel monorepo (#25505)
* Update babel monorepo

* Add missing @babel/plugin-proposal-logical-assignment-operators dependency

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-12 14:59:32 +00:00
Michael Telatynski
453a361017 Remove rageshake server from config.sample.json (#25772) 2023-07-12 13:11:49 +01:00
Michael Telatynski
5a701c418f Update logging ignore list comment (#25769) 2023-07-11 23:39:16 +01:00
Michael Telatynski
abc559388e Update update-topics.yaml 2023-07-11 16:29:28 +01:00
RiotRobot
98f0735784 v1.11.36-rc.1 2023-07-11 16:01:18 +01:00
RiotRobot
ea0edf75f7 Prepare changelog for v1.11.36-rc.1 2023-07-11 16:01:17 +01:00
RiotRobot
137f5c96d3 Upgrade matrix-react-sdk to 3.76.0-rc.1 2023-07-11 15:59:29 +01:00
RiotRobot
f859db9054 Upgrade matrix-js-sdk to 27.0.0-rc.1 2023-07-11 15:58:50 +01:00
renovate[bot]
3b3f12fb97 Update dependency @matrix-org/react-sdk-module-api to v1 (#25754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-11 14:17:22 +00:00
Element Translate Bot
a952f258be Translations update from Weblate (#25750)
* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Added translation using Weblate (Swahili)

* Translated using Weblate (Swahili)

Currently translated at 3.3% (1 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sw/

* Translated using Weblate (Swahili)

Currently translated at 3.3% (1 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sw/

* Translated using Weblate (Swahili)

Currently translated at 3.3% (1 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sw/

* Translated using Weblate (Latvian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lv/

* Translated using Weblate (Latvian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lv/

* Translated using Weblate (Swahili)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sw/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (French)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

---------

Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: walito-arch <walitogama@gmail.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Edgars Andersons <Edgars+Element-translations@gaitenis.id.lv>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Glandos <bugs-github@antipoul.fr>
2023-07-11 11:52:31 +01:00
Kerry
ef30662c04 store fragmentafterlogin in sesison storage for oidc login (#25688) 2023-07-11 02:19:15 +00:00
Michael Telatynski
311c5fec66 Delete redundant make-icons.sh (#25747) 2023-07-10 16:48:06 +01:00
Michael Telatynski
80075ee2cf Update update-topics.yaml 2023-07-10 11:49:38 +01:00
Michael Telatynski
77db00cef1 Update update-topics.yaml 2023-07-10 11:36:28 +01:00
Michael Telatynski
29037c8543 Update update-topics.yaml 2023-07-10 11:33:00 +01:00
Michael Telatynski
4c9baa60ec Update update-topics.yaml 2023-07-10 11:27:41 +01:00
Michael Telatynski
cb2d5efa4e Update update-topics.yaml 2023-07-10 11:18:28 +01:00
Michael Telatynski
71ab30432b Update update-topics.yaml 2023-07-10 11:16:18 +01:00
Michael Telatynski
96103269c7 Update update-topics.yaml 2023-07-10 11:14:03 +01:00
Aaron Raimist
98e36ffd0e Add default_server_config fallback to element.io configs (#19695)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-10 10:12:53 +00:00
Michael Telatynski
a4eb2f40bb Update update-topics.yaml 2023-07-10 11:12:17 +01:00
Michael Telatynski
ccb0a306c8 Utility automation for updating topics as part of release process (#25725) 2023-07-10 11:06:05 +01:00
夜坂雅
93c17104f1 Allow default_server_config as a fallback config (#25682) 2023-07-10 09:56:24 +01:00
dependabot[bot]
9ec3f79198 Bump tough-cookie from 4.1.2 to 4.1.3 (#25743)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 09:24:21 +01:00
dependabot[bot]
d18c69eb65 Bump stylelint from 15.9.0 to 15.10.1 (#25739)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.9.0 to 15.10.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.9.0...15.10.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 09:18:16 +01:00
Michael Telatynski
bac0da3fe9 Deprecate customisations in favour of Module API (#25736) 2023-07-07 15:25:22 +01:00
Michael Telatynski
0a4a205fbe Enable strictPropertyInitialization (#25735) 2023-07-07 14:46:14 +01:00
Michael Telatynski
6726b93cb4 Enable strictFunctionTypes (#25730) 2023-07-07 12:44:33 +00:00
Michael Telatynski
fad458d8c5 Enable strictPropertyInitialization (#25729) 2023-07-07 12:40:41 +01:00
Michael Telatynski
658e282929 Enable strictNullChecks and noImplicitAny (#25724) 2023-07-06 16:03:52 +01:00
Michael Telatynski
01a234aafa Update matrix-react-sdk yarn.lock 2023-07-04 17:19:09 +01:00
Michael Telatynski
d31a498457 Tweak branch matching to allow not applying outside of PRs for matrix-analytics-events (#25712) 2023-07-04 17:14:31 +01:00
ElementRobot
faa602d73a Reset matrix-js-sdk back to develop branch 2023-07-04 15:26:57 +01:00
ElementRobot
210a8eee7f Reset matrix-react-sdk back to develop branch 2023-07-04 15:26:50 +01:00
ElementRobot
ab158ceae0 Merge branch 'master' into develop 2023-07-04 15:26:32 +01:00
ElementRobot
c286617959 v1.11.35 2023-07-04 15:23:54 +01:00
ElementRobot
aa55a2ffa0 Prepare changelog for v1.11.35 2023-07-04 15:23:53 +01:00
ElementRobot
eec95438de Upgrade matrix-js-sdk to 26.2.0 2023-07-04 15:22:26 +01:00
ElementRobot
53ac1d1808 Upgrade matrix-react-sdk to 3.75.0 2023-07-04 15:21:06 +01:00
Michael Telatynski
7164aeb65b Align develop.e.io cloudflare pages headers with other deploys (#25700) 2023-07-03 15:30:28 +01:00
renovate[bot]
4f1ce3c39a Update all non-major dependencies (#25588)
* Update all non-major dependencies

* Roll back typescript

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-06-28 14:35:27 +00:00
Michael Telatynski
0299aef79d Conform more of the codebase to strictNullChecks & noImplicitAny (#25680) 2023-06-28 15:09:36 +01:00
Kerry
6bbc2b8238 remove auth params from url after login attempt (#25664) 2023-06-27 23:27:45 +00:00
renovate[bot]
51baaf6667 Update peter-evans/dockerhub-description digest to dc67fad (#25671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 18:12:11 +01:00
renovate[bot]
cd3a88eb0d Update docker/setup-qemu-action digest to 2b82ce8 (#25587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-06-27 12:32:40 +00:00
renovate[bot]
9be30a892f Update docker/login-action digest to 465a078 (#25584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 11:40:08 +00:00
renovate[bot]
8b481fdef2 Update docker/setup-buildx-action digest to ecf9528 (#25586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 12:26:21 +01:00
renovate[bot]
f35bbf0173 Update typescript-eslint monorepo to v5.60.0 (#25591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 12:21:31 +01:00
renovate[bot]
6113541b5f Update dependency @types/jest to v29.5.2 (#25589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 12:21:12 +01:00
renovate[bot]
4ab85cb569 Update dependency @types/node to v16.18.35 (#25590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 12:21:01 +01:00
ElementRobot
30bff44cf9 v1.11.35-rc.1 2023-06-27 12:12:54 +01:00
ElementRobot
b64cf2e51c Prepare changelog for v1.11.35-rc.1 2023-06-27 12:12:53 +01:00
ElementRobot
9c8027d03c Upgrade matrix-js-sdk to 26.2.0-rc.1 2023-06-27 12:11:19 +01:00
ElementRobot
a0ca53554f Upgrade matrix-react-sdk to 3.75.0-rc.1 2023-06-27 12:10:43 +01:00
Element Translate Bot
727ed6f94e Translations update from Weblate (#25669)
Co-authored-by: AcidAntOnAMinefield <nuno.martins@catraxx.org>
Co-authored-by: Tmpod <tom@tmpod.dev>
Co-authored-by: rofyobilte <rofyobilte@gufum.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Makkkkus <nygardboi@protonmail.com>
Co-authored-by: Nils Haugen <nils@gaupne.net>
2023-06-27 10:43:59 +01:00
Kerry
e4bf321e65 document io.element.e2ee.force_disable (#25662) 2023-06-27 03:34:58 +00:00
renovate[bot]
bdbae36f5e Update docker/metadata-action digest to 818d4b7 (#25585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-26 15:32:46 +01:00
dependabot[bot]
1e67eb2ca6 Bump semver from 7.5.1 to 7.5.2 (#25661)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 09:29:13 +01:00
Robin
130ea1853f Point develop.element.io to our Element Call + LiveKit experiment (#25660)
This reintroduces 278c494eb3, now that we've made that deployment work in widget mode once again.
2023-06-24 12:41:38 -04:00
renovate[bot]
33eb055f24 Update docker/build-push-action digest to 2eb1c19 (#25583)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-22 15:41:00 +02:00
Timo
0b6e028ade Revert "Point develop.element.io to our Element Call + LiveKit experiment" (#25651) 2023-06-22 11:25:51 +00:00
Laurence Gill
86be392f44 Remove the ACAO header which is added by default on Cloudflare Pages (#25644) 2023-06-21 16:27:05 +01:00
Robin
278c494eb3 Point develop.element.io to our Element Call + LiveKit experiment (#25636)
This is an experimental version of Element Call using a LiveKit SFU that we'd like to start dogfooding and gaining confidence on internally, so the current plan is to trial it on develop.element.io and Nightly for a while.
2023-06-20 16:11:04 +00:00
RiotRobot
3609ab8003 Reset matrix-react-sdk back to develop branch 2023-06-20 10:31:42 +01:00
RiotRobot
41aa36e6b4 Reset matrix-js-sdk back to develop branch 2023-06-20 10:31:26 +01:00
RiotRobot
f699c6fbe6 Merge branch 'master' into develop 2023-06-20 10:31:14 +01:00
RiotRobot
2cacd89408 v1.11.34 2023-06-20 10:27:20 +01:00
RiotRobot
1c403b7a63 Prepare changelog for v1.11.34 2023-06-20 10:27:20 +01:00
RiotRobot
b73a01abd4 Upgrade matrix-react-sdk to 3.74.0 2023-06-20 10:25:37 +01:00
RiotRobot
104dcad7dd Upgrade matrix-js-sdk to 26.1.0 2023-06-20 10:25:18 +01:00
Germain
041747391c Deprecate new breadcrumbs (#25617) 2023-06-19 09:19:00 +01:00
Michael Telatynski
2b31b8d9d8 Fix error when generating error for polling for updates (#25609) 2023-06-15 13:25:04 +01:00
Michael Telatynski
2d09b826d1 Remove feature_favourite_messages as it is has been abandoned for now (#25605) 2023-06-15 11:03:44 +01:00
Michael Telatynski
37203d193a Document help_url and help_encryption_url (#25549) 2023-06-14 08:45:20 +01:00
RiotRobot
15192b976e v1.11.34-rc1 2023-06-13 12:54:02 +01:00
RiotRobot
89a28b1ae5 Prepare changelog for v1.11.34-rc1 2023-06-13 12:54:02 +01:00
RiotRobot
5ba75a32f7 Upgrade matrix-react-sdk to 3.74.0-rc1 2023-06-13 12:52:04 +01:00
RiotRobot
1a0a15a671 Upgrade matrix-js-sdk to 26.1.0-rc1 2023-06-13 12:48:16 +01:00
Element Translate Bot
081706435d Translations update from Weblate (#25577)
* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

---------

Co-authored-by: someone1611 <hahahahacker2009@outlook.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: luy dinilta <luydinilta@gufum.com>
2023-06-13 10:27:58 +01:00
RiotRobot
4ef9a60713 Reset matrix-react-sdk back to develop branch 2023-06-09 10:18:48 +01:00
RiotRobot
f8b8f17c4b Reset matrix-js-sdk back to develop branch 2023-06-09 10:18:16 +01:00
RiotRobot
b5b584d616 Merge branch 'master' into develop 2023-06-09 09:59:26 +01:00
RiotRobot
322dab0b58 v1.11.33 2023-06-09 09:53:51 +01:00
RiotRobot
2ec33e8e41 Prepare changelog for v1.11.33 2023-06-09 09:53:50 +01:00
RiotRobot
9358c41aad Upgrade matrix-react-sdk to 3.73.1 2023-06-09 09:50:01 +01:00
RiotRobot
fa21a0ee17 Upgrade matrix-js-sdk to 26.0.1 2023-06-09 09:48:49 +01:00
Michael Telatynski
569c9044e4 Add documentation for config to skip widget_build_url for DM rooms (#25518)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-06-06 22:51:18 +01:00
RiotRobot
0504c8260e Reset matrix-react-sdk back to develop branch 2023-06-06 14:44:37 +01:00
RiotRobot
a7208cc07b Reset matrix-js-sdk back to develop branch 2023-06-06 14:44:23 +01:00
RiotRobot
69ad6c3993 Merge branch 'master' into develop 2023-06-06 14:44:05 +01:00
RiotRobot
e918170dc3 v1.11.32 2023-06-06 14:40:11 +01:00
RiotRobot
8fe89f2182 Prepare changelog for v1.11.32 2023-06-06 14:40:10 +01:00
RiotRobot
c1273590f3 Upgrade matrix-react-sdk to 3.73.0 2023-06-06 14:35:37 +01:00
RiotRobot
bd8fabc70b Upgrade matrix-js-sdk to 26.0.0 2023-06-06 14:35:01 +01:00
renovate[bot]
945c0793b9 Update dependency @sentry/webpack-plugin to v2 (#25507)
* Update dependency @sentry/webpack-plugin to v2

* Follow migration guide

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-06-02 14:21:49 +01:00
renovate[bot]
2a078dd713 Update dependency @types/node to v16.18.34 (#25502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 17:22:07 +00:00
renovate[bot]
50bfa7e86c Update cloudflare/pages-action digest to f0a1cd5 (#25501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 17:21:45 +00:00
renovate[bot]
f965f2064e Update dependency jest-canvas-mock to v2.5.1 (#25506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 17:20:48 +00:00
renovate[bot]
82f231d7b1 Update all non-major dependencies (#25504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 17:20:40 +00:00
renovate[bot]
fea43b7997 Update typescript-eslint monorepo to v5.59.7 (#25503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-01 17:20:09 +00:00
ElementRobot
df6423b2b8 v1.11.32-rc.3 2023-06-01 17:08:09 +01:00
ElementRobot
0a26b57789 Prepare changelog for v1.11.32-rc.3 2023-06-01 17:08:09 +01:00
ElementRobot
86eaa5787b Upgrade matrix-js-sdk to 26.0.0-rc.1 2023-06-01 17:04:33 +01:00
ElementRobot
5b904c08c8 Upgrade matrix-react-sdk to 3.73.0-rc.3 2023-06-01 17:03:44 +01:00
ElementRobot
faf626e5a6 Merge branch 'develop' into staging 2023-06-01 16:45:48 +01:00
Dominik Henneke
71800ba28c Redirect to the SSO page if sso_redirect_options.on_welcome_page is enabled and the URL hash is empty (#25495) 2023-06-01 11:56:30 +01:00
Michael Telatynski
8997b84f24 Update build_develop.yml 2023-05-31 16:54:34 +01:00
Michael Telatynski
ee4679f0f7 Update build_develop.yml 2023-05-31 16:33:29 +01:00
Michael Telatynski
8c97de47a3 Update build_develop.yml 2023-05-31 16:01:12 +01:00
Michael Telatynski
4296005408 Update pending-reviews.yaml 2023-05-30 12:22:17 +01:00
Michael Telatynski
22b96e0679 Update pending-reviews.yaml 2023-05-30 11:59:33 +01:00
Michael Telatynski
6ab7a2855b Update pending-reviews.yaml 2023-05-30 11:08:39 +01:00
Michael Telatynski
3c7a9933b9 Track release blockers in Matrix room header (#25427) 2023-05-30 10:56:19 +01:00
许煜恒
6b7f71f973 vector/index.html: Allow fetching blob urls (#25336) 2023-05-25 09:40:50 +01:00
ElementRobot
e526bfd44c v1.11.32-rc.2 2023-05-19 17:10:12 +01:00
ElementRobot
6b5c792aad Prepare changelog for v1.11.32-rc.2 2023-05-19 17:10:11 +01:00
ElementRobot
ed1eaf6549 Upgrade matrix-js-sdk to 25.2.0-rc.5 2023-05-19 17:06:47 +01:00
ElementRobot
0bdc59ac41 Upgrade matrix-react-sdk to 3.73.0-rc.2 2023-05-19 17:04:11 +01:00
renovate[bot]
0a5173f258 Update all non-major dependencies (#25387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 16:39:15 +01:00
renovate[bot]
a68c535eb8 Update dependency @types/node to v16.18.30 (#25385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 16:23:14 +01:00
renovate[bot]
11a8fb31a4 Update dependency eslint-plugin-unicorn to v47 (#25389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 15:59:32 +01:00
renovate[bot]
bb52c1311a Update typescript-eslint monorepo to v5.59.5 (#25386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 15:59:10 +01:00
ElementRobot
fa103b7ba8 v1.11.32-rc.1 2023-05-16 15:11:01 +01:00
ElementRobot
e16f1248da Prepare changelog for v1.11.32-rc.1 2023-05-16 15:11:00 +01:00
ElementRobot
41322984a6 Upgrade matrix-js-sdk to 25.2.0-rc.4 2023-05-16 15:09:45 +01:00
ElementRobot
0fe50e099c Upgrade matrix-react-sdk to 3.73.0-rc.1 2023-05-16 15:07:11 +01:00
Element Translate Bot
23bfce81a4 Translations update from Weblate (#25382)
Co-authored-by: raspin0 <marcinekk13@interia.pl>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: someone1611 <hahahahacker2009@outlook.com>
2023-05-16 12:10:38 +01:00
Michael Telatynski
122d4d3503 Increase yarn timeout (#25377) 2023-05-16 09:43:02 +01:00
Michael Telatynski
88c5395349 Fix analyse:webpack-bundles script (#25353) 2023-05-15 09:12:45 +01:00
Michael Telatynski
d01eabd340 Remove old ansible comments (#25352) 2023-05-12 12:48:36 +00:00
Michael Telatynski
d7a98fe392 Handle trailing dot FQDNs for domain-specific config.json files (#25351) 2023-05-12 13:46:49 +01:00
Michael Telatynski
9457af27f6 Improve bundle size and add webpack-bundle-analyzer (#25337) 2023-05-12 12:13:10 +01:00
Michael Telatynski
cc5914a7dc Allow welcome.html logo to be replaced by config (#25339) 2023-05-12 09:44:47 +01:00
RiotRobot
1e7d001cd3 Reset matrix-react-sdk back to develop branch 2023-05-10 14:15:37 +01:00
RiotRobot
6e73a2b01c Reset matrix-js-sdk back to develop branch 2023-05-10 14:15:18 +01:00
RiotRobot
8274ad6394 Merge branch 'master' into develop 2023-05-10 14:14:43 +01:00
RiotRobot
df8f8415bf v1.11.31 2023-05-10 14:10:42 +01:00
RiotRobot
e902a0bd59 Prepare changelog for v1.11.31 2023-05-10 14:10:42 +01:00
RiotRobot
81397ffbf4 Upgrade matrix-react-sdk to 3.72.0 2023-05-10 14:06:03 +01:00
RiotRobot
96cf7053bc Upgrade matrix-js-sdk to 25.1.0 2023-05-10 14:05:17 +01:00
Michael Weimann
b25a7ef505 Add error notification audio (#25312) 2023-05-10 08:02:55 +02:00
renovate[bot]
99b68eedae Update peter-evans/dockerhub-description digest to 579f64c (#25137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-10 12:54:59 +12:00
renovate[bot]
aa1538ea09 Update babel monorepo (#25254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-10 12:53:47 +12:00
Michael Telatynski
1941097fed Fix _redirects file for develop.element.io going over 100 entries (#25286) 2023-05-09 08:51:02 +01:00
renovate[bot]
b633be382e Update dependency stylelint-config-standard to v33 (#25144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-09 17:53:58 +12:00
RiotRobot
9860f4befc v1.11.31-rc.2 2023-05-05 15:27:49 +01:00
RiotRobot
349f7ee27a Prepare changelog for v1.11.31-rc.2 2023-05-05 15:27:48 +01:00
RiotRobot
17c65f1a0c Upgrade matrix-react-sdk to 3.72.0-rc.2 2023-05-05 15:26:18 +01:00
Andy Balaam
1fb03c82fe Ensure we actually wait for the login form to appear in loading-test (#25287) 2023-05-05 12:53:12 +01:00
Andy Balaam
f00c742ebc Wait for login screen to appear in loading-test (#25276) 2023-05-05 11:56:35 +01:00
Michael Telatynski
9e6467c684 Improve quality of Typescripting (#25232) 2023-05-05 09:08:36 +01:00
renovate[bot]
c0e070934a Update typescript-eslint monorepo to v5.59.1 (#25257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-04 09:36:09 +12:00
renovate[bot]
5f9baed93e Update all non-major dependencies (#25253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-04 09:29:30 +12:00
renovate[bot]
2bcfb257ea Update Node.js to v20 (#25258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-03 12:11:57 +00:00
renovate[bot]
87a2060282 Update jest (#25140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-03 08:04:21 +00:00
renovate[bot]
09bfb8ad2a Update dependency stylelint-scss to v5 (#25259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kerry <kerrya@element.io>
2023-05-02 21:00:28 +00:00
renovate[bot]
024ad5311f Update dependency @types/node to v16.18.25 (#25255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 14:58:05 +01:00
RiotRobot
71c491db62 v1.11.31-rc.1 2023-05-02 11:45:49 +01:00
RiotRobot
0ae3cfdcdd Prepare changelog for v1.11.31-rc.1 2023-05-02 11:45:48 +01:00
RiotRobot
15ef05791f Upgrade matrix-react-sdk to 3.72.0-rc.1 2023-05-02 11:44:06 +01:00
RiotRobot
152923306f Upgrade matrix-js-sdk to 25.1.0-rc.1 2023-05-02 11:43:41 +01:00
Element Translate Bot
86ab757571 Translations update from Weblate (#25251)
* Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nb_NO/

* Translated using Weblate (Portuguese)

Currently translated at 93.3% (28 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt/

---------

Co-authored-by: Thor Arne Johansen <tajcon@gmail.com>
Co-authored-by: Pedro costa <c.pedro@live.com.pt>
2023-05-02 11:22:43 +01:00
Michael Telatynski
a722b71b6c Remove unused property (#25213) 2023-04-28 10:07:48 +01:00
Michael Telatynski
6e8f76e93c Document UIFeature.locationSharing to hide location sharing (#25219) 2023-04-28 08:46:31 +01:00
Michael Telatynski
ed15578eed Enable ES2020 to match matrix-react-sdk (#25223) 2023-04-28 08:44:10 +01:00
Michael Telatynski
f5452fb097 Delabs reaction message previews (#25109) 2023-04-27 15:29:55 +01:00
Kat Gerasimova
2b17090855 Update issue automation (#25209)
Move from using GraphQL to actions

Remove automation for Delight, voice messages, polls, WTFs and FTUEs
2023-04-26 18:16:50 +00:00
Michael Telatynski
afab95288e Improve Content-Security-Policy (#25210) 2023-04-26 14:49:35 +01:00
renovate[bot]
59b6285458 Update typescript-eslint monorepo to v5.59.0 (#25141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2023-04-26 12:41:55 +00:00
renovate[bot]
1709b3e9ba Update docker/metadata-action digest to c4ee3ad (#25136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2023-04-26 12:41:42 +00:00
Michael Telatynski
3eddc939ce s/unset/reset/ 2023-04-26 11:12:57 +01:00
RiotRobot
e558661a77 Reset matrix-react-sdk back to develop branch 2023-04-25 11:12:06 +01:00
RiotRobot
506a1b6dc7 Reset matrix-js-sdk back to develop branch 2023-04-25 11:11:52 +01:00
RiotRobot
0035580aef Merge branch 'master' into develop 2023-04-25 11:11:36 +01:00
RiotRobot
f59d4c9574 v1.11.30 2023-04-25 11:07:44 +01:00
RiotRobot
ba5e8670a4 Prepare changelog for v1.11.30 2023-04-25 11:07:43 +01:00
RiotRobot
50d44864b0 Upgrade matrix-react-sdk to 3.71.1 2023-04-25 11:04:42 +01:00
RiotRobot
2dc54ec80b Upgrade matrix-js-sdk to 25.0.0 2023-04-25 11:04:07 +01:00
Michael Telatynski
f5b8bccb65 Conform more of the codebase with noImplicitAny and strictNullChecks (#25174
* Conform more of the codebase with `noImplicitAny` and `strictNullChecks`

* Fix tests

* Update src/vector/app.tsx
2023-04-25 09:36:17 +01:00
dependabot[bot]
a2da1eb79d Bump yaml from 2.2.1 to 2.2.2 (#25200)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 09:35:44 +01:00
Richard van der Hoff
40f95a6c06 Deprecate $spacing variables (#25175)
Per https://github.com/matrix-org/matrix-react-sdk/pull/10686, these don't make
much sense at the moment.
2023-04-21 15:12:08 +01:00
Michael Weimann
ece117b33f Improve CSS class naming style guide (#25173) 2023-04-21 12:54:57 +02:00
Michael Telatynski
66c86a6397 Revert "Strip data-testid in production builds" (#25163
This reverts commit a0791ff48f.
2023-04-20 08:58:07 +01:00
Michael Telatynski
a0791ff48f Strip data-testid in production builds (#25152) 2023-04-19 16:30:41 +01:00
Michael Telatynski
1a04705960 Update config.yml 2023-04-19 15:11:10 +01:00
renovate[bot]
2dc3f523aa Update all non-major dependencies (#25139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kerry <kerrya@element.io>
2023-04-19 03:12:35 +00:00
renovate[bot]
ac33b4a428 Update dependency rimraf to v5 (#25143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-19 09:32:19 +12:00
renovate[bot]
5557487ef2 Update dependency mkdirp to v3 (#25142)
* Update dependency mkdirp to v3

* Iterate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-18 16:01:10 +00:00
renovate[bot]
fa4d1addd3 Update dependency @types/react to v17.0.58 (#25138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-18 13:05:20 +00:00
RiotRobot
77074cce44 v1.11.30-rc.1 2023-04-18 12:04:48 +01:00
RiotRobot
e447f6d6dd Prepare changelog for v1.11.30-rc.1 2023-04-18 12:04:47 +01:00
RiotRobot
22996fd55a Upgrade matrix-react-sdk to 3.71.0-rc.1 2023-04-18 12:03:16 +01:00
RiotRobot
b3b834cab2 Upgrade matrix-js-sdk to 25.0.0-rc.1 2023-04-18 12:02:51 +01:00
Andy Balaam
b31aa17253 Merge pull request #25133 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2023-04-18 10:49:21 +01:00
Weblate
f7c9bdcd97 Merge branch 'origin/develop' into Weblate. 2023-04-17 12:51:37 +00:00
Michael Telatynski
fc49190efe Add missing rel noreferrer noopener attributes (#25125) 2023-04-17 13:51:30 +01:00
Bjørn I.Svindseth
acc9b4c1d4 Translated using Weblate (Norwegian Nynorsk)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nn/
2023-04-15 09:33:52 +00:00
Weblate
447b9dc661 Merge branch 'origin/develop' into Weblate. 2023-04-12 10:48:33 +00:00
Michael Telatynski
38dbd66474 Fix github actions deprecations warnings (#25096) 2023-04-12 10:48:28 +00:00
Weblate
3015b90a6e Merge branch 'origin/develop' into Weblate. 2023-04-12 09:47:34 +00:00
Richard van der Hoff
a1176ce66d Improve output in github actions for jest tests (#25084)
Configure the Github Actions Reporter with silent: false, keeping it from swallowing failure reasons.

Much the same as matrix-org/matrix-js-sdk#3269.
2023-04-12 10:47:27 +01:00
Weblate
c0ba077d06 Merge branch 'origin/develop' into Weblate. 2023-04-11 17:59:02 +00:00
Michael Telatynski
586309e851 Update build_develop.yml 2023-04-11 18:58:55 +01:00
Weblate
decbd0aa04 Merge branch 'origin/develop' into Weblate. 2023-04-11 13:26:47 +00:00
RiotRobot
cdabefa285 Reset matrix-js-sdk back to develop branch 2023-04-11 14:26:21 +01:00
RiotRobot
8b1d3a1265 Reset matrix-react-sdk back to develop branch 2023-04-11 14:25:55 +01:00
Weblate
dcb9dec749 Merge branch 'origin/develop' into Weblate. 2023-04-11 13:24:20 +00:00
RiotRobot
b9fd456bf4 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2023-04-11 14:21:47 +01:00
RiotRobot
c1371fee27 v1.11.29 2023-04-11 14:13:24 +01:00
RiotRobot
a4b10a8766 Prepare changelog for v1.11.29 2023-04-11 14:13:23 +01:00
RiotRobot
80b9f7baab Upgrade matrix-react-sdk to 3.70.0 2023-04-11 14:11:26 +01:00
RiotRobot
d26d56e579 Upgrade matrix-js-sdk to 24.1.0 2023-04-11 14:11:08 +01:00
Weblate
ddc65d5cff Merge branch 'origin/develop' into Weblate. 2023-04-11 11:22:55 +00:00
renovate[bot]
22e3ebd89a Lock file maintenance (#25075)
* Lock file maintenance

* Lock file maintenance

* Pin jest-canvas-mock

* Pin jest-canvas-mock

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-11 12:22:49 +01:00
Weblate
8a54f74589 Merge branch 'origin/develop' into Weblate. 2023-04-06 12:17:55 +00:00
renovate[bot]
1ebe574ab1 Update dependency typescript to v5 (#25050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-06 13:17:51 +01:00
Weblate
0714d74956 Merge branch 'origin/develop' into Weblate. 2023-04-06 11:45:44 +00:00
renovate[bot]
6cfa1eea7b Update all non-major dependencies (#25045)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-06 11:45:39 +00:00
Weblate
892ee3a707 Merge branch 'origin/develop' into Weblate. 2023-04-06 11:18:41 +00:00
renovate[bot]
2df33458a1 Update dependency stylelint-config-standard to v32 (#25049)
* Update dependency stylelint-config-standard to v32

* Iterate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-06 12:18:35 +01:00
Weblate
27dc1fb1ef Merge branch 'origin/develop' into Weblate. 2023-04-06 10:44:07 +00:00
renovate[bot]
88ade4a995 Update dependency @types/react to v17.0.55 (#25044)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-06 10:44:01 +00:00
Weblate
7899cd3077 Merge branch 'origin/develop' into Weblate. 2023-04-06 09:57:15 +00:00
renovate[bot]
3182508238 Update definitelyTyped (#25043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-06 09:57:10 +00:00
Weblate
1237e73c1b Merge branch 'origin/develop' into Weblate. 2023-04-06 09:41:36 +00:00
Michael Telatynski
04f2a55500 Update pull_request.yaml 2023-04-06 10:41:32 +01:00
Weblate
04cf98d0e5 Merge branch 'origin/develop' into Weblate. 2023-04-06 09:13:22 +00:00
renovate[bot]
1a34ded0a1 Update typescript-eslint monorepo to v5.57.0 (#25046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-06 10:13:16 +01:00
Weblate
79de2f6262 Merge branch 'origin/develop' into Weblate. 2023-04-06 09:11:49 +00:00
Christian Phyo
508d562040 Translated using Weblate (Burmese)
Currently translated at 3.3% (1 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/my/
2023-04-06 09:11:49 +00:00
renovate[bot]
12a380a08e Update babel monorepo (#25042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-06 10:11:43 +01:00
Christian Phyo
407891073d Added translation using Weblate (Burmese) 2023-04-06 04:02:19 +00:00
renovate[bot]
8df1d67a83 Update dependency concurrently to v8 (#25048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-05 17:18:20 +01:00
RiotRobot
6d241c8ce0 v1.11.29-rc.1 2023-04-04 12:11:33 +01:00
RiotRobot
34662d13c8 Prepare changelog for v1.11.29-rc.1 2023-04-04 12:11:32 +01:00
RiotRobot
a79fba39de Upgrade matrix-react-sdk to 3.70.0-rc.1 2023-04-04 12:08:43 +01:00
RiotRobot
7b191b90df Upgrade matrix-js-sdk to 24.1.0-rc.1 2023-04-04 12:08:22 +01:00
Andy Balaam
472518fcc9 Merge pull request #25029 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2023-04-04 11:25:18 +01:00
Weblate
4cf671d005 Merge branch 'origin/develop' into Weblate. 2023-03-31 14:52:34 +00:00
Michael Telatynski
ddc2932541 Use frozen lockfile instead of pure lockfile on yarn install (#25009) 2023-03-31 14:52:29 +00:00
Weblate
ea6056fa59 Merge branch 'origin/develop' into Weblate. 2023-03-31 14:27:33 +00:00
RiotRobot
b3c88f7a16 Reset matrix-react-sdk back to develop branch 2023-03-31 15:27:26 +01:00
RiotRobot
95f166ad61 Reset matrix-js-sdk back to develop branch 2023-03-31 15:27:12 +01:00
Weblate
1a7c5a294b Merge branch 'origin/develop' into Weblate. 2023-03-31 14:27:02 +00:00
RiotRobot
569e5cb0c1 Merge branch 'master' into develop 2023-03-31 15:26:56 +01:00
RiotRobot
f2160391c2 v1.11.28 2023-03-31 15:23:07 +01:00
RiotRobot
62fa62dc3a Prepare changelog for v1.11.28 2023-03-31 15:23:06 +01:00
Weblate
e0aa7754b1 Merge branch 'origin/develop' into Weblate. 2023-03-31 10:41:23 +00:00
Janne Mareike Koschinski
89054a50ac Replace newTranslatableError with UserFriendlyError (#25002)
* Apply user-friendly-error changes to element-web as well
* Update i18n library
2023-03-31 12:41:15 +02:00
Weblate
f833c57348 Merge branch 'origin/develop' into Weblate. 2023-03-31 09:50:07 +00:00
RiotRobot
1a63a7ff2e Reset matrix-react-sdk back to develop branch 2023-03-31 10:49:42 +01:00
RiotRobot
a66df9d434 Reset matrix-js-sdk back to develop branch 2023-03-31 10:49:21 +01:00
Weblate
c0cd678542 Merge branch 'origin/develop' into Weblate. 2023-03-31 09:48:45 +00:00
RiotRobot
b9837cc771 Merge branch 'master' into develop 2023-03-31 10:48:17 +01:00
RiotRobot
9faa625551 v1.11.27 2023-03-31 10:27:10 +01:00
RiotRobot
ebda5f4d31 Prepare changelog for v1.11.27 2023-03-31 10:27:09 +01:00
RiotRobot
145564719f Upgrade matrix-react-sdk to 3.69.1 2023-03-31 10:23:03 +01:00
Weblate
166d88058c Merge branch 'origin/develop' into Weblate. 2023-03-30 12:55:17 +00:00
Michael Telatynski
60d5ab427a Fix concurrency conflict (#24989) 2023-03-30 13:55:09 +01:00
Weblate
bcc5bd8e54 Merge branch 'origin/develop' into Weblate. 2023-03-30 11:28:27 +00:00
Richard van der Hoff
b9b52c8c06 code_style.md: Add notes on comments (#24990) 2023-03-30 12:28:22 +01:00
Weblate
3210ff2e9c Merge branch 'origin/develop' into Weblate. 2023-03-29 14:32:10 +00:00
Andy Balaam
7cbd8e04c2 Update changelog for v1.11.26 now the security issue is public (#24975) 2023-03-29 15:32:02 +01:00
Weblate
86c2cb7649 Merge branch 'origin/develop' into Weblate. 2023-03-29 14:08:05 +00:00
Michael Telatynski
84242fc81f Delete .sentryclirc (#24978) 2023-03-29 15:07:56 +01:00
Weblate
48e845575a Merge branch 'origin/develop' into Weblate. 2023-03-29 07:30:22 +00:00
Michael Telatynski
39061f9b8c Update docker base images (#24966) 2023-03-29 08:30:16 +01:00
Weblate
41d025bf48 Merge branch 'origin/develop' into Weblate. 2023-03-28 13:48:14 +00:00
Weblate
581beee0b2 Merge branch 'origin/develop' into Weblate. 2023-03-28 13:47:22 +00:00
RiotRobot
9ec10a274e Reset matrix-react-sdk back to develop branch 2023-03-28 14:47:11 +01:00
RiotRobot
c848295b8b Reset matrix-js-sdk back to develop branch 2023-03-28 14:46:52 +01:00
RiotRobot
b472f34d63 Merge branch 'master' into develop 2023-03-28 14:45:38 +01:00
RiotRobot
7a002341f4 v1.11.26 2023-03-28 14:40:55 +01:00
RiotRobot
4969a80c06 Prepare changelog for v1.11.26 2023-03-28 14:40:54 +01:00
RiotRobot
21fa0887bd Upgrade matrix-react-sdk to 3.69.0 2023-03-28 14:37:43 +01:00
RiotRobot
11f56b06bf Upgrade matrix-js-sdk to 24.0.0 2023-03-28 14:37:24 +01:00
Weblate
dfaeb6368b Merge branch 'origin/develop' into Weblate. 2023-03-27 20:01:42 +00:00
Kerry
f033becebb remove makeType utility from loading-test (#24958) 2023-03-28 09:01:33 +13:00
Weblate
f10171b6bc Merge branch 'origin/develop' into Weblate. 2023-03-22 16:49:51 +00:00
Johannes Marbach
dcc0cb74fe Merge pull request #24895 from vector-im/Johennes-patch-1 2023-03-22 17:49:46 +01:00
Johannes Marbach
389f55c261 Update config.yml 2023-03-22 16:25:20 +01:00
Weblate
1716a7f9ca Merge branch 'origin/develop' into Weblate. 2023-03-22 14:05:16 +00:00
emrah
2575322360 Use a newly generated access_token while joining Jitsi (#24646)
Fixes: #24687
Signed-off-by: Emrah Eryilmaz emrah.com@gmail.com
2023-03-22 14:05:10 +00:00
Weblate
ab19f5654c Merge branch 'origin/develop' into Weblate. 2023-03-22 09:22:57 +00:00
Michael Telatynski
b9b0b096a4 Allow desktop app to expose recent rooms in UI integrations (#16940) 2023-03-22 09:22:51 +00:00
Weblate
b391109469 Merge branch 'origin/develop' into Weblate. 2023-03-21 10:25:35 +00:00
Robin
50f8be4a62 Update matrix-widget-api (#24872) 2023-03-21 10:25:26 +00:00
Weblate
d35f3df621 Merge branch 'origin/develop' into Weblate. 2023-03-20 08:21:23 +00:00
renovate[bot]
4121f72593 Update typescript-eslint monorepo to v5.55.0 (#24788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 09:21:14 +01:00
Weblate
6a1a47aae1 Merge branch 'origin/develop' into Weblate. 2023-03-17 09:04:59 +00:00
Michael Telatynski
4440315cfb Update apple-app-site-association (#24847) 2023-03-17 09:04:52 +00:00
Weblate
b2a7d65fc9 Merge branch 'origin/develop' into Weblate. 2023-03-16 11:32:46 +00:00
Germain
c8b3f5d512 Update safari support policy (#24842) 2023-03-16 11:32:39 +00:00
Weblate
21a2a028a5 Merge branch 'origin/develop' into Weblate. 2023-03-15 15:53:11 +00:00
Michael Telatynski
77e7bad4f1 Clear electron data when logging out (#24827) 2023-03-15 15:53:02 +00:00
Weblate
292449369e Merge branch 'origin/develop' into Weblate. 2023-03-15 13:04:24 +00:00
RiotRobot
e7be53fe85 Reset matrix-react-sdk back to develop branch 2023-03-15 13:04:17 +00:00
RiotRobot
310b478b75 Reset matrix-js-sdk back to develop branch 2023-03-15 13:04:04 +00:00
Weblate
86ab455b54 Merge branch 'origin/develop' into Weblate. 2023-03-15 13:03:59 +00:00
RiotRobot
a66f5e7530 Merge branch 'master' into develop 2023-03-15 13:03:52 +00:00
RiotRobot
e300d45831 v1.11.25 2023-03-15 13:00:08 +00:00
RiotRobot
1046920b6c Prepare changelog for v1.11.25 2023-03-15 13:00:08 +00:00
RiotRobot
db501e8e2d Upgrade matrix-react-sdk to 3.68.0 2023-03-15 12:56:12 +00:00
RiotRobot
22a1fee04b Upgrade matrix-js-sdk to 23.5.0 2023-03-15 12:55:11 +00:00
Weblate
7059420be8 Merge branch 'origin/develop' into Weblate. 2023-03-15 12:50:47 +00:00
Dominik Henneke
afe2ac2ae6 Add API params to mute audio and/or video in Jitsi calls by default (#24820)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-03-15 13:50:39 +01:00
RiotRobot
4fed510631 v1.11.25-rc.3 2023-03-14 11:43:56 +00:00
RiotRobot
43e516227e Prepare changelog for v1.11.25-rc.3 2023-03-14 11:43:55 +00:00
RiotRobot
11babeeed5 Upgrade matrix-react-sdk to 3.68.0-rc.3 2023-03-14 11:41:43 +00:00
Weblate
8122b85567 Merge branch 'origin/develop' into Weblate. 2023-03-14 11:27:13 +00:00
Michael Telatynski
4a18ab6d1b Update README.md 2023-03-14 11:27:05 +00:00
Weblate
714ba20b41 Merge branch 'origin/develop' into Weblate. 2023-03-14 08:25:43 +00:00
Michael Telatynski
93d2112bfe Update build_develop.yml 2023-03-14 08:25:40 +00:00
Weblate
e8bfd38865 Merge branch 'origin/develop' into Weblate. 2023-03-14 08:19:27 +00:00
Michael Telatynski
f43e6fddfc Use forked wait-on-check-action (#24809) 2023-03-14 08:19:19 +00:00
Weblate
b2f8875175 Merge branch 'origin/develop' into Weblate. 2023-03-13 12:23:42 +00:00
renovate[bot]
eb31df7d1d Update all non-major dependencies (#24791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 12:23:36 +00:00
Weblate
2b8a819d3d Merge branch 'origin/develop' into Weblate. 2023-03-13 11:51:20 +00:00
renovate[bot]
a36b76faf0 Update definitelyTyped (#24787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 11:51:16 +00:00
Weblate
f9edd3668f Merge branch 'origin/develop' into Weblate. 2023-03-13 11:42:25 +00:00
Open Culture Foundation
f5bb7a2513 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/
2023-03-13 11:42:24 +00:00
renovate[bot]
9371737104 Update cloudflare/pages-action digest to 61eafe7 (#24801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 11:42:16 +00:00
Weblate
764e1a01cc Merge branch 'origin/develop' into Weblate. 2023-03-12 19:42:47 +00:00
renovate[bot]
3d7d82ab2a Update dependency eslint-plugin-unicorn to v46 (#24794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 08:42:39 +13:00
Open Culture Foundation
9b571e12a7 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/
2023-03-12 16:33:41 +00:00
Peter Chen
bc785e9860 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/
2023-03-11 01:33:41 +00:00
lunarna-gh
e2a9da1020 Translated using Weblate (Polish)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/
2023-03-11 01:33:41 +00:00
RiotRobot
9bca5175e5 v1.11.25-rc.2 2023-03-10 15:12:02 +00:00
RiotRobot
691f4aa6f1 Prepare changelog for v1.11.25-rc.2 2023-03-10 15:12:01 +00:00
RiotRobot
c2d21d02ab Upgrade matrix-react-sdk to 3.68.0-rc.2 2023-03-10 15:10:08 +00:00
Janne Mareike Koschinski
c85eb81ed0 Pin versions of third-party github actions (#24786) 2023-03-10 13:56:30 +01:00
Michael Telatynski
23d496d0e8 Remove unused dev dependency (#24766) 2023-03-10 10:21:35 +13:00
Janne Mareike Koschinski
6a4986ee06 Use full commit hashes for third party actions (#24777) 2023-03-09 11:53:52 +01:00
Michael Telatynski
296d1e2b75 Enable some tsc strict flags (#24772) 2023-03-08 16:38:56 +00:00
Michael Telatynski
2bfa2edd60 Remove deprecated stylelint rules which are handled by prettier (#24767) 2023-03-08 14:18:21 +00:00
RiotRobot
f8a844fd83 v1.11.25-rc.1 2023-03-07 11:48:28 +00:00
RiotRobot
8e317bd130 Prepare changelog for v1.11.25-rc.1 2023-03-07 11:48:27 +00:00
RiotRobot
af7cfe74f1 Upgrade matrix-react-sdk to 3.68.0-rc.1 2023-03-07 11:46:07 +00:00
RiotRobot
d5122566ea Upgrade matrix-js-sdk to 23.5.0-rc.1 2023-03-07 11:45:25 +00:00
Andy Balaam
5ae88eb30b Merge pull request #24760 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2023-03-07 10:30:05 +00:00
Weblate
fb3e71d457 Merge branch 'origin/develop' into Weblate. 2023-03-06 12:04:50 +00:00
Val Lorentz
3c4d25d6c2 package.json: Remove --host override (#24736)
Most people probably only want the dev server to listen on localhost.

Additionally, overriding with `--host 0.0.0.0` here prevents passing a different
value for `--host` to yarn. For example:

```
$ yarnpkg start:js --host=::
yarn run v1.22.19
$ webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot --host=::
Unset VERSION variable - this may affect build output
✖ 「wds」: webpack Dev Server Invalid Options

options.host should be {String|Null} (https://webpack.js.org/configuration/dev-server/#devserverhost)

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
```
2023-03-06 13:04:42 +01:00
Open Culture Foundation
467f097071 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/
2023-03-05 12:33:40 +00:00
Weblate
cdbddedbdb Merge branch 'origin/develop' into Weblate. 2023-03-03 15:07:50 +00:00
Andy Balaam
209a08b291 Remove items incorrectly included in changelog for 1.11.24 (#24732) 2023-03-03 15:07:45 +00:00
Weblate
4c809b5de5 Merge branch 'origin/develop' into Weblate. 2023-03-03 15:05:04 +00:00
Will Hunt
2386aa2e38 Merge pull request #24721 from vector-im/hs/ehome-config-drop
Remove hosting link provider from Element (documentation)
2023-03-03 15:04:58 +00:00
Will Hunt
4d9ec5d63b Merge branch 'develop' into hs/ehome-config-drop 2023-03-03 14:59:25 +00:00
Weblate
aa321ca5b8 Merge branch 'origin/develop' into Weblate. 2023-03-02 23:16:49 +00:00
renovate[bot]
a82c989328 Update all non-major dependencies (#24005)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-02 23:16:42 +00:00
Weblate
edf1a44a79 Merge branch 'origin/develop' into Weblate. 2023-03-02 20:32:23 +00:00
renovate[bot]
43c630108e Update dependency stylelint to v15 (#24607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 09:32:18 +13:00
Will Hunt
2f4b3d4ce3 Merge branch 'develop' into hs/ehome-config-drop 2023-03-02 17:36:32 +00:00
Weblate
b9aaee0009 Merge branch 'origin/develop' into Weblate. 2023-03-02 16:24:24 +00:00
Andy Balaam
9e5ed112e8 Bump @matrix-org/react-sdk-module-api to 0.0.4 (#24642)
* Bump @matrix-org/react-sdk-module-api to 0.0.4

* Move to latest matrix-react-sdk and yarn install to change react-sdk-module-api version

* Undo accidental change to matrix-react-sdk version

* One more yarn install
2023-03-02 16:24:15 +00:00
Half-Shot
2a1bbdb38a Drop hosting docs 2023-03-02 12:01:23 +00:00
Weblate
57f45286d9 Merge branch 'origin/develop' into Weblate. 2023-03-01 14:44:08 +00:00
Andy Balaam
3903e86d9c Upgrade our eslint config to the latest (#24647)
* Fix lint error in test-utils.ts

* Upgrade eslint config (and separate projects to support it)

* Handle possibility that req.error could be null
2023-03-01 14:44:03 +00:00
Weblate
3095ec01cd Merge branch 'origin/develop' into Weblate. 2023-03-01 14:05:20 +00:00
Andy Balaam
460f3d2a22 Depend on a non-broken version of matrix-react-sdk (#24708) 2023-03-01 14:05:11 +00:00
Weblate
5d050d8d60 Merge branch 'origin/develop' into Weblate. 2023-03-01 09:12:32 +00:00
Michael Telatynski
6bd7966e88 Update yarn.lock (#24696)
* Update yarn.lock

* iterate

* Iterate

* Resolutions

* Iterate

* Apply resolution for @types/react
2023-03-01 09:12:23 +00:00
Weblate
f3353eea1b Merge branch 'origin/develop' into Weblate. 2023-02-28 15:21:37 +00:00
renovate[bot]
760cb78280 Update typescript-eslint monorepo to v5.53.0 (#24634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-28 15:21:28 +00:00
Weblate
b9ba84979d Merge branch 'origin/develop' into Weblate. 2023-02-28 11:21:07 +00:00
RiotRobot
f23cc0cb4e Reset matrix-react-sdk back to develop branch 2023-02-28 11:20:57 +00:00
RiotRobot
8f34ea462d Reset matrix-js-sdk back to develop branch 2023-02-28 11:20:42 +00:00
Weblate
e90cc1d72a Merge branch 'origin/develop' into Weblate. 2023-02-28 11:20:32 +00:00
RiotRobot
bfc672c580 Merge branch 'master' into develop 2023-02-28 11:20:25 +00:00
RiotRobot
e442920292 v1.11.24 2023-02-28 11:16:35 +00:00
RiotRobot
641ef3725b Prepare changelog for v1.11.24 2023-02-28 11:16:34 +00:00
RiotRobot
6bc25ee59c Upgrade matrix-react-sdk to 3.67.0 2023-02-28 11:12:30 +00:00
RiotRobot
37a8190dc1 Upgrade matrix-js-sdk to 23.4.0 2023-02-28 11:11:17 +00:00
Weblate
b9b6c1ace3 Merge branch 'origin/develop' into Weblate. 2023-02-27 12:39:15 +00:00
Michael Telatyński
e83b8633b1 Pull reviews bot automation for Web App Team room (#24679) 2023-02-27 12:39:09 +00:00
Dragonidze
16e31fd36d Translated using Weblate (Georgian)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ka/
2023-02-24 16:33:37 +00:00
Andy Balaam
8303e66e80 Merge pull request #24570 from vector-im/andybalaam/yarn-upgrade-jest
yarn upgrade all jest packages
2023-02-24 11:28:36 +00:00
Andy Balaam
7a1d08faad yarn upgrade jest 2023-02-24 11:01:00 +00:00
Michael Weimann
4f8f7f65a9 Remove Firefox and Safari from experimental PWA support (#24630) 2023-02-24 08:00:28 +01:00
renovate[bot]
3d414d7f07 Update babel monorepo to v7.21.0 (#24633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 17:57:40 +00:00
Michael Telatynski
ed60c90081 Fix frame-ancestors docs from none to self to not break Jitsi (#21128) 2023-02-23 14:09:21 +00:00
renovate[bot]
1d0c8351ec Update definitelyTyped (#24562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 09:39:21 +00:00
Oliver Sand
5de1b0a012 Pass current language into Jitsi (#24609
* Pass current language into Jitsi

Jitsi itself now uses the current language of the user. However, this does not yet apply to the welcome page of the Jitsi widget that says "Join conference", which is only hard-coded to
english for now.

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>

* Map between Element and Jitsi language codes

---------

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2023-02-22 18:21:05 +00:00
David Langley
9f673fdb04 Add issue automation for the Verticals Team (#24610)
* send verticals team issues to their project
2023-02-22 15:18:32 +00:00
renovate[bot]
957c299299 Update jest monorepo to v29.4.3 (#24603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 13:25:05 +00:00
RiotRobot
d5ddb5eea1 v1.11.24-rc.2 2023-02-22 11:34:48 +00:00
RiotRobot
1a21fdf4db Prepare changelog for v1.11.24-rc.2 2023-02-22 11:34:47 +00:00
RiotRobot
9a08d36443 Upgrade matrix-react-sdk to 3.67.0-rc.2 2023-02-22 11:32:51 +00:00
RiotRobot
ccd7cf8144 Upgrade matrix-js-sdk to 23.4.0-rc.2 2023-02-22 11:32:31 +00:00
RiotRobot
c31562dffd Merge branch 'develop' into staging 2023-02-22 10:59:21 +00:00
renovate[bot]
64b8bd480b Update dependency stylelint-config-standard to v30 (#24608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 10:19:35 +00:00
RiotRobot
6db1e0bc35 v1.11.24-rc.1 2023-02-21 13:15:43 +00:00
RiotRobot
0933038cb4 Prepare changelog for v1.11.24-rc.1 2023-02-21 13:15:42 +00:00
RiotRobot
0a3fc2b7ff Upgrade matrix-react-sdk to 3.67.0-rc.1 2023-02-21 13:13:51 +00:00
RiotRobot
efe7e12c90 Upgrade matrix-js-sdk to 23.4.0-rc.1 2023-02-21 13:13:30 +00:00
Michael Telatynski
77f8e4d822 Update pull_request.yaml 2023-02-21 12:24:49 +00:00
Andy Balaam
b7455b2ccc Merge pull request #24599 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2023-02-21 10:24:52 +00:00
Weblate
754adef302 Merge branch 'origin/develop' into Weblate. 2023-02-20 18:19:29 +00:00
Germain
6c3268ac84 Remove reference to threads in labs (#24591) 2023-02-21 07:19:22 +13:00
Weblate
3f55d9ad06 Merge branch 'origin/develop' into Weblate. 2023-02-20 17:23:45 +00:00
kojedra
128e0e3047 Translated using Weblate (Hebrew)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/
2023-02-20 17:23:45 +00:00
Andy Balaam
70de3e4729 Merge pull request #24564 from andybalaam/andybalaam/yarn-upgrade-eslint
yarn upgrade all eslint packages
2023-02-20 17:23:37 +00:00
Weblate
7107d83357 Merge branch 'origin/develop' into Weblate. 2023-02-20 10:59:49 +00:00
Michael Telatynski
d42799dc62 Update webpack hash function for greater OSSL compat (#24584) 2023-02-20 10:59:44 +00:00
Andy Balaam
cd02510ccc yarn upgrade all eslint packages 2023-02-17 14:43:44 +00:00
Weblate
69742e5118 Merge branch 'origin/develop' into Weblate. 2023-02-17 12:27:41 +00:00
renovate[bot]
c463a50159 Update dependency @babel/runtime to v7.20.13 (#24458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 12:27:33 +00:00
Weblate
86430da9ac Merge branch 'origin/develop' into Weblate. 2023-02-17 09:11:42 +00:00
Kat Gerasimova
5aa694e232 Update issue automation for A-Jump-To-Date (#24553)
* Don't remove Z-Labs from A-Jump-To-Date
* A-Jump-To-Date should get Z-Labs
2023-02-17 09:11:34 +00:00
Weblate
bb296802b0 Merge branch 'origin/develop' into Weblate. 2023-02-16 14:19:52 +00:00
renovate[bot]
537bf993cd Update dependency mkdirp to v2 (#24462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 14:19:47 +00:00
Weblate
b7ef6738f1 Merge branch 'origin/develop' into Weblate. 2023-02-16 13:42:03 +00:00
Will Hunt
570aba57b5 Merge pull request #24542 from vector-im/hs/no-more-ehome
Remove Element Home ad links
2023-02-16 13:41:55 +00:00
Half-Shot
0ab29bd483 Remove element home ad links 2023-02-15 18:09:30 +00:00
Weblate
519eed91b5 Merge branch 'origin/develop' into Weblate. 2023-02-14 10:43:27 +00:00
RiotRobot
dfe2a21b58 Reset matrix-react-sdk back to develop branch 2023-02-14 10:43:20 +00:00
RiotRobot
6bdb5cf7c3 Reset matrix-js-sdk back to develop branch 2023-02-14 10:43:06 +00:00
Weblate
0e41e53d70 Merge branch 'origin/develop' into Weblate. 2023-02-14 10:42:56 +00:00
RiotRobot
75cb68159d Merge branch 'master' into develop 2023-02-14 10:42:50 +00:00
RiotRobot
0909eb46ca v1.11.23 2023-02-14 10:38:58 +00:00
RiotRobot
40475f864d Prepare changelog for v1.11.23 2023-02-14 10:38:57 +00:00
RiotRobot
6a9547797d Upgrade matrix-react-sdk to 3.66.0 2023-02-14 10:36:24 +00:00
RiotRobot
1e1fd225e1 Upgrade matrix-js-sdk to 23.3.0 2023-02-14 10:36:04 +00:00
Weblate
df729f48f6 Merge branch 'origin/develop' into Weblate. 2023-02-13 10:20:55 +00:00
renovate[bot]
2b779e5e4a Update docker/build-push-action action to v4 (#24497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 10:20:49 +00:00
Weblate
f76bdf8932 Merge branch 'origin/develop' into Weblate. 2023-02-13 10:04:22 +00:00
Richard van der Hoff
deb1197503 labs.md: add notes about feature_rust_crypto (#24488) 2023-02-13 10:04:17 +00:00
Weblate
e7b97402b5 Merge branch 'origin/develop' into Weblate. 2023-02-13 10:04:09 +00:00
renovate[bot]
5f92373db2 Update alex-page/github-project-automation-plus digest to 7ffb872 (#24496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 10:04:04 +00:00
Walter Bulbazor
73b290995c Translated using Weblate (Occitan)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/oc/
2023-02-11 23:33:33 +00:00
David Baker
c19728dc20 Add some advice on good PR titles (#24483)
* Add some advice on good PR titles

* Extra 'the'

Co-authored-by: Germain <germains@element.io>

---------

Co-authored-by: Germain <germains@element.io>
2023-02-10 18:31:25 +00:00
renovate[bot]
087ecc8538 Update jest monorepo to v29.4.0 (#24460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-10 11:46:58 +01:00
renovate[bot]
1e02b57ceb Update typescript-eslint monorepo to v5.51.0 (#24461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-10 10:08:12 +00:00
RiotRobot
b6ad059c60 v1.11.23-rc.1 2023-02-07 12:20:17 +00:00
RiotRobot
e79d3352f8 Prepare changelog for v1.11.23-rc.1 2023-02-07 12:20:16 +00:00
RiotRobot
adf7085adf Upgrade matrix-react-sdk to 3.66.0-rc.1 2023-02-07 12:17:45 +00:00
RiotRobot
6a29ebbcfb Upgrade matrix-js-sdk to 23.3.0-rc.1 2023-02-07 12:17:14 +00:00
Andy Balaam
a26be2665f Merge pull request #24454 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2023-02-07 11:28:00 +00:00
Weblate
cb02527f7d Merge branch 'origin/develop' into Weblate. 2023-02-06 10:51:43 +00:00
Michael Telatynski
27f1d999a0 Update config.md - these UIFeature flags died with communities (#24428) 2023-02-06 10:51:35 +00:00
Suguru Hirahara
cfe4a779f2 Translated using Weblate (Japanese)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/
2023-02-05 09:33:30 +00:00
Weblate
7a4563d6ef Merge branch 'origin/develop' into Weblate. 2023-02-01 18:43:54 +00:00
Hugh Nimmo-Smith
e047e5d803 Description of QR code sign in labs feature (#23513) 2023-02-01 18:43:45 +00:00
Weblate
e5bdb724c4 Merge branch 'origin/develop' into Weblate. 2023-02-01 09:42:00 +00:00
Michael Telatynski
a479f86952 Update build_develop.yml 2023-02-01 09:41:54 +00:00
Weblate
de2e0782d7 Merge branch 'origin/develop' into Weblate. 2023-01-31 15:04:03 +00:00
RiotRobot
934eb22d3a Merge branch 'master' into develop 2023-01-31 15:03:56 +00:00
RiotRobot
32d8db588f v1.11.22 2023-01-31 14:59:36 +00:00
RiotRobot
4a1a563daa Prepare changelog for v1.11.22 2023-01-31 14:59:36 +00:00
Weblate
ff6feb7bcd Merge branch 'origin/develop' into Weblate. 2023-01-31 11:17:05 +00:00
RiotRobot
4c19d2bd02 Reset matrix-react-sdk back to develop branch 2023-01-31 11:16:59 +00:00
RiotRobot
f868289959 Reset matrix-js-sdk back to develop branch 2023-01-31 11:16:44 +00:00
Weblate
dcdc8c6e10 Merge branch 'origin/develop' into Weblate. 2023-01-31 11:16:37 +00:00
RiotRobot
f3e1569ec2 Merge branch 'master' into develop 2023-01-31 11:16:30 +00:00
RiotRobot
43c0b67505 v1.11.21 2023-01-31 11:12:38 +00:00
RiotRobot
87650aaf84 Prepare changelog for v1.11.21 2023-01-31 11:12:38 +00:00
RiotRobot
8b0c530a99 Upgrade matrix-react-sdk to 3.65.0 2023-01-31 11:08:54 +00:00
RiotRobot
1803ae57c5 Upgrade matrix-js-sdk to 23.2.0 2023-01-31 11:06:37 +00:00
Weblate
f4cf3a27b3 Merge branch 'origin/develop' into Weblate. 2023-01-31 10:59:25 +00:00
maheichyk
583ac3de96 Jitsi requests 'requires_client' capability if auth token is provided (#24294)
* Jitsi requests 'io.element.requires_client' capability if auth token is provided

* Added a comment that Jitsi should request 'requires_client' capability to hide the popup icon in the Element if auth token is provided.

---------

Co-authored-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-01-31 10:59:17 +00:00
Weblate
40b4e82802 Merge branch 'origin/develop' into Weblate. 2023-01-30 14:08:19 +00:00
Michael Telatynski
50f2b532e9 Update build_develop.yml 2023-01-30 14:08:15 +00:00
Weblate
a92eb3ddce Merge branch 'origin/develop' into Weblate. 2023-01-30 14:01:34 +00:00
Johannes Marbach
9db99f6412 Merge pull request #24368 from vector-im/Johennes-patch-1
Include Janne in WAT assignment automation
2023-01-30 15:01:26 +01:00
Johannes Marbach
ee80d1b963 Include Janne in WAT assignment automation 2023-01-30 14:35:56 +01:00
theamazing0
2ef14d322b Translated using Weblate (English (United States))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/en_US/
2023-01-29 17:33:28 +00:00
Weblate
f081b628f0 Merge branch 'origin/develop' into Weblate. 2023-01-26 15:43:07 +00:00
David Baker
1bb354e96d Document the decoder ring (#24317)
* Document the decoder ring

Also a few little tidy-ups.

* Prettier
2023-01-26 15:43:02 +00:00
Weblate
5bdb1bc417 Merge branch 'origin/develop' into Weblate. 2023-01-25 12:35:14 +00:00
renovate[bot]
bd26775dcb Update dependency ua-parser-js to v1.0.33 [SECURITY] (#24311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-25 12:35:07 +00:00
RiotRobot
1ea3e2ea3a v1.11.21-rc.1 2023-01-24 11:41:48 +00:00
RiotRobot
a1680a0fa5 Prepare changelog for v1.11.21-rc.1 2023-01-24 11:41:47 +00:00
RiotRobot
f8ad575dfa Upgrade matrix-react-sdk to 3.65.0-rc.1 2023-01-24 11:39:39 +00:00
RiotRobot
22c0b4e4df Upgrade matrix-js-sdk to 23.2.0-rc.1 2023-01-24 11:39:20 +00:00
Weblate
b1c9bb02b2 Merge branch 'origin/develop' into Weblate. 2023-01-24 10:28:55 +00:00
Element Translate Bot
89564accb6 Translations update from Weblate (#24307)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ar/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

Co-authored-by: Feroli <feroli@tuta.io>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Ali-x98 <ahj696@hotmail.com>
Co-authored-by: Balázs Meskó <meskobalazs@gmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
2023-01-24 10:28:50 +00:00
Weblate
d4556045dd Merge branch 'origin/develop' into Weblate. 2023-01-23 13:24:08 +00:00
Sveinn í Felli
2e6ecc832e Translated using Weblate (Icelandic)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/
2023-01-23 13:24:08 +00:00
Andy Balaam
53c98baa6d Merge pull request #22993 from Johennes/feature/default-pin-drop
Move pin drop out of labs (PSG-664)
2023-01-23 13:24:00 +00:00
Johannes Marbach
c614c5bf13 Merge branch 'develop' into feature/default-pin-drop 2023-01-23 13:34:29 +01:00
Weblate
2084ef4bbc Merge branch 'origin/develop' into Weblate. 2023-01-20 13:03:37 +00:00
Richard van der Hoff
0990a0dcdd Delete triage-priority-bugs.yml (#24266)
This was moving issues to a non-existent board
2023-01-20 13:03:32 +00:00
RiotRobot
022a269e99 Reset matrix-react-sdk back to develop branch 2023-01-20 13:02:45 +00:00
Weblate
665b5d05ae Merge branch 'origin/develop' into Weblate. 2023-01-20 12:59:18 +00:00
RiotRobot
138957dc4e Reset matrix-js-sdk back to develop branch 2023-01-20 12:58:38 +00:00
RiotRobot
bf515ea265 Reset matrix-react-sdk back to develop branch 2023-01-20 12:58:14 +00:00
RiotRobot
ae638d2643 Merge branch 'master' into develop 2023-01-20 12:56:49 +00:00
Weblate
31816f859b Merge branch 'origin/develop' into Weblate. 2023-01-20 12:55:22 +00:00
Weblate
b339ac565f Merge branch 'origin/develop' into Weblate. 2023-01-20 12:53:26 +00:00
RiotRobot
54e6faca7c v1.11.20 2023-01-20 12:52:01 +00:00
RiotRobot
0edd42b9fc Prepare changelog for v1.11.20 2023-01-20 12:52:01 +00:00
RiotRobot
5438709be3 Upgrade matrix-react-sdk to 3.64.2 2023-01-20 12:47:27 +00:00
RiotRobot
28b14c62ce Upgrade matrix-js-sdk to 23.1.1 2023-01-20 12:46:31 +00:00
Balázs Meskó
55afed3897 Translated using Weblate (Hungarian)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/
2023-01-20 11:33:25 +00:00
RiotRobot
eaace937b8 Reset matrix-js-sdk back to develop branch 2023-01-18 22:35:18 +00:00
RiotRobot
a8cbb03218 Reset matrix-react-sdk back to develop branch 2023-01-18 22:34:43 +00:00
Weblate
1619fc62e0 Merge branch 'origin/develop' into Weblate. 2023-01-18 22:31:57 +00:00
RiotRobot
33e1144c81 Merge branch 'master' into develop 2023-01-18 22:27:42 +00:00
Weblate
a2b40942e2 Merge branch 'origin/develop' into Weblate. 2023-01-18 22:24:34 +00:00
Ali-x98
03c2a101f3 Translated using Weblate (Arabic)
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ar/
2023-01-18 22:24:34 +00:00
RiotRobot
a38661f9cb v1.11.19 2023-01-18 22:08:01 +00:00
RiotRobot
0065c6c082 Prepare changelog for v1.11.19 2023-01-18 22:08:01 +00:00
RiotRobot
106c01f1a7 Upgrade matrix-react-sdk to 3.64.1 2023-01-18 22:05:56 +00:00
RiotRobot
cdc94a6370 Reset matrix-react-sdk back to develop branch 2023-01-18 14:02:01 +00:00
RiotRobot
c4cdeb0335 Reset matrix-js-sdk back to develop branch 2023-01-18 14:01:45 +00:00
RiotRobot
11662d5fbb Merge branch 'master' into develop 2023-01-18 14:01:29 +00:00
Weblate
a9c24c1a08 Merge branch 'origin/develop' into Weblate. 2023-01-18 13:58:27 +00:00
Weblate
27aa653e9d Merge branch 'origin/develop' into Weblate. 2023-01-18 13:57:56 +00:00
RiotRobot
7196614a96 v1.11.18 2023-01-18 13:57:49 +00:00
RiotRobot
86c5042563 Prepare changelog for v1.11.18 2023-01-18 13:57:48 +00:00
RiotRobot
8a632832f8 Upgrade matrix-react-sdk to 3.64.0 2023-01-18 13:53:28 +00:00
RiotRobot
4cdb7c8e2b Upgrade matrix-js-sdk to 23.1.0 2023-01-18 13:53:07 +00:00
RiotRobot
b096f2296e v1.11.18-rc.4 2023-01-17 09:39:50 +00:00
RiotRobot
9412f6c161 Prepare changelog for v1.11.18-rc.4 2023-01-17 09:39:50 +00:00
RiotRobot
08280a71ea Upgrade matrix-react-sdk to 3.64.0-rc.4 2023-01-17 09:37:19 +00:00
RiotRobot
bc9e5ea410 Upgrade matrix-js-sdk to 23.1.0-rc.4 2023-01-17 09:36:26 +00:00
Weblate
f2a08072ef Merge branch 'origin/develop' into Weblate. 2023-01-16 15:05:19 +00:00
Richard van der Hoff
ffd895e1b2 Document updated default uisi_autorageshake_app (#24224)
Documentation for https://github.com/matrix-org/matrix-react-sdk/pull/9909
2023-01-16 15:05:11 +00:00
Feroli
ad092508f8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/
2023-01-13 20:33:23 +00:00
Germain
a840932500 Remove delight automation (#24225) 2023-01-13 13:10:58 +00:00
Kat Gerasimova
4aa3b0b637 Update automation for new app team board (#24219)
Old board has been archived, updating automation to move issues to the new board.
2023-01-13 11:37:04 +00:00
RiotRobot
67cc8b4860 v1.11.18-rc.3 2023-01-13 10:55:05 +00:00
RiotRobot
e95e47b954 Prepare changelog for v1.11.18-rc.3 2023-01-13 10:55:05 +00:00
RiotRobot
79c1b68f3c Upgrade matrix-react-sdk to 3.64.0-rc.3 2023-01-13 10:53:30 +00:00
RiotRobot
7c4e1ccf67 Upgrade matrix-js-sdk to 23.1.0-rc.3 2023-01-13 10:52:09 +00:00
renovate[bot]
c53ba7c07f Update dependency @types/jest to v29.2.5 (#24211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-12 14:37:49 +00:00
RiotRobot
372e7b9590 v1.11.18-rc.2 2023-01-12 14:11:24 +00:00
RiotRobot
f026aef154 Prepare changelog for v1.11.18-rc.2 2023-01-12 14:11:23 +00:00
RiotRobot
a04370b24d Upgrade matrix-react-sdk to 3.64.0-rc.2 2023-01-12 14:03:32 +00:00
RiotRobot
655d16e76e Upgrade matrix-js-sdk to 23.1.0-rc.2 2023-01-12 14:02:03 +00:00
Michael Telatynski
a359cb1730 Stow more things in element-web-develop.element.io (#23965) 2023-01-12 12:33:46 +00:00
renovate[bot]
fef0b21b2d Update typescript-eslint monorepo to v5.48.0 (#24212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-12 09:59:07 +00:00
renovate[bot]
5b6c4dd76d Update babel monorepo (#24210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-11 15:43:06 +00:00
RiotRobot
a0bb31aaf6 v1.11.18-rc.1 2023-01-11 15:10:28 +00:00
RiotRobot
c525678d7e Prepare changelog for v1.11.18-rc.1 2023-01-11 15:10:27 +00:00
RiotRobot
9f76afaac8 Upgrade matrix-react-sdk to 3.64.0-rc.1 2023-01-11 15:07:59 +00:00
RiotRobot
02d0c092b2 Upgrade matrix-js-sdk to 23.1.0-rc.1 2023-01-11 15:05:43 +00:00
Element Translate Bot
06b79a2785 Translations update from Weblate (#24208)
* Added translation using Weblate (Breton)

* Translated using Weblate (Thai)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/th/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/eo/

* Translated using Weblate (Breton)

Currently translated at 3.3% (1 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/br/

* Translated using Weblate (Armenian)

Currently translated at 63.3% (19 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

Co-authored-by: jmguyader <jeanmarie.guyader@gmail.com>
Co-authored-by: pk'Mysickz <kokoloman001@gmail.com>
Co-authored-by: Christian Paul <info@jaller.de>
Co-authored-by: Aramayis Hovhannisyan <aramayis.hovhannisyan@gmail.com>
Co-authored-by: Weblate <translate@riot.im>
2023-01-11 13:19:42 +00:00
dependabot[bot]
68a3bdc412 Bump decode-uri-component from 0.2.0 to 0.2.2 (#23895)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 10:26:12 +00:00
Richard van der Hoff
5b730f4b07 Configure babel to transform logical assignment (#24160)
This should fix any future problems along the lines of
https://github.com/matrix-org/matrix-js-sdk/pull/3022.
2023-01-04 15:15:49 +00:00
Andy Balaam
6ff0524260 Merge pull request #24159 from andybalaam/andybalaam/allow-upgrading-worker-loader-to-v3
Upgrade worker loader to v3 (with config fix to prevent bundling)
2023-01-04 14:41:56 +00:00
Andy Balaam
8d4215557a Specify the filename for worker-loader to avoid bundling workers 2023-01-04 13:36:18 +00:00
Andy Balaam
d684f7f336 Re-update dependency worker-loader to v3 (#24033)
This reverts commit 211de2b4c8.
2023-01-04 11:41:09 +00:00
Andy Balaam
411b40a59c Merge pull request #24156 from andybalaam/andybalaam/fix-wrong-worker-path
Revert "Explicitly set worker-loader's publicPath to webapp"
2023-01-04 11:18:54 +00:00
Andy Balaam
9aa23980ba Revert "Explicitly set worker-loader's publicPath to webapp"
This reverts commit f5fea0be04.
2023-01-04 11:17:16 +00:00
Andy Balaam
c39bbb5b85 Merge pull request #24154 from andybalaam/andybalaam/worker-loader-v3-fix
Explicitly set worker-loader's publicPath to webapp
2023-01-04 11:02:37 +00:00
Andy Balaam
f5fea0be04 Explicitly set worker-loader's publicPath to webapp 2023-01-04 10:42:19 +00:00
dependabot[bot]
c49e8ed76c Bump json5 from 1.0.1 to 1.0.2 (#24148)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-04 10:22:30 +00:00
Andy Balaam
f8a847d3db Merge pull request #24152 from vector-im/gsouquet/worker-loader
Revert "Update dependency worker-loader to v3 (#24033)"
2023-01-04 10:07:02 +00:00
Germain
211de2b4c8 Revert "Update dependency worker-loader to v3 (#24033)"
This reverts commit 07bd0f180c.
2023-01-04 09:56:20 +00:00
Robin
63cb001c1d Downgrade to style-loader 2 to regain Webpack 4 compatibility (#24150) 2023-01-03 19:14:50 -07:00
renovate[bot]
50b17aa357 Update dependency optimize-css-assets-webpack-plugin to v6 (#24010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 13:35:20 -07:00
renovate[bot]
3c3230d28c Update dependency style-loader to v3 (#24027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 13:34:41 -07:00
renovate[bot]
07bd0f180c Update dependency worker-loader to v3 (#24033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-03 13:34:21 -07:00
Travis Ralston
805c90ade7 Use Identity Server v2 API for tests (#24086) 2023-01-03 00:59:00 -07:00
Michael Weimann
9a55019d65 Align code_style.md with prettier (#24124) 2023-01-02 14:32:33 +01:00
RiotRobot
85e2f063ac Reset matrix-react-sdk back to develop branch 2022-12-21 17:29:00 +00:00
RiotRobot
1f3516a474 Reset matrix-js-sdk back to develop branch 2022-12-21 17:28:46 +00:00
RiotRobot
212bbf18f5 Merge branch 'master' into develop 2022-12-21 17:28:30 +00:00
RiotRobot
193eb51d09 v1.11.17 2022-12-21 17:24:50 +00:00
RiotRobot
25283a8ed1 Prepare changelog for v1.11.17 2022-12-21 17:24:50 +00:00
RiotRobot
08095f5e01 Upgrade matrix-react-sdk to 3.63.0 2022-12-21 17:20:59 +00:00
RiotRobot
ebd71f89e0 Upgrade matrix-js-sdk to 23.0.0 2022-12-21 17:20:31 +00:00
renovate[bot]
a7124c935e Update dependency @types/node to v16.18.8 (#23994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 13:24:20 +00:00
renovate[bot]
7f067903bf Update dependency @types/jest to v29.2.4 (#23989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 10:56:04 +00:00
renovate[bot]
60d805e4ce Update typescript-eslint monorepo to v5.46.0 (#23990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-14 10:55:01 +00:00
Andy Balaam
c4806b9c4f Merge pull request #23987 from vector-im/weeman1337/prettier-ref-ignore
Add prettier formatting to .git-blame-ignore-revs
2022-12-14 10:22:37 +00:00
RiotRobot
acbe597e32 v1.11.17-rc.1 2022-12-14 09:43:50 +00:00
RiotRobot
26c101d69a Prepare changelog for v1.11.17-rc.1 2022-12-14 09:43:49 +00:00
RiotRobot
4e9ba16101 Exclude CHANGELOG from prettier and undo what it did 2022-12-14 09:42:39 +00:00
RiotRobot
61253c3497 Upgrade matrix-react-sdk to 3.63.0-rc.2 2022-12-14 09:37:54 +00:00
RiotRobot
96c0a373e3 Upgrade matrix-js-sdk to 23.0.0-rc.1 2022-12-14 09:36:03 +00:00
Michael Weimann
7122a338ee Add prettier formatting to .git-blame-ignore-revs 2022-12-14 10:21:05 +01:00
Element Translate Bot
c736076308 Translations update from Weblate (#23979)
* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Galician)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

Co-authored-by: MomentQYC <yateam@foxmail.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: josé m <xosem@disroot.org>
2022-12-13 14:44:03 +00:00
Michael Telatynski
60d05f03a5 Update docs links (#23966)
* Update betas.md

* Update labs.md
2022-12-12 16:51:49 +00:00
Andy Balaam
e8fc433a1a Merge pull request #23964 from andybalaam/andybalaam/add-self-to-board-automation
Add andybalaam's issues to the team board
2022-12-12 10:52:31 +00:00
Andy Balaam
11572f94de Add andybalaam's issues to the team board 2022-12-12 10:25:15 +00:00
Andy Balaam
fa2e306d6e Merge pull request #23821 from vector-im/weeman1337/prettier
Add prettier
2022-12-09 14:46:39 +00:00
Michael Weimann
d4b9767586 Fix GitHub workflow code style 2022-12-09 15:31:32 +01:00
Kat Gerasimova
c6e0f0f8da Update project board IDs for automation (#23950)
"PN-" prefixed IDs are no longer working, update to new IDs
2022-12-09 14:25:20 +00:00
Michael Weimann
6710a289ff Add custom modernizr build to prettierignore 2022-12-09 13:36:07 +01:00
Michael Weimann
7921a6cbf8 Apply prettier formatting 2022-12-09 13:28:29 +01:00
Michael Weimann
a32f12c8f3 Add prettier 2022-12-09 13:27:27 +01:00
Kat Gerasimova
d8131eb5d4 Update project board IDs for automation (#23943)
"PN-" prefixed IDs are no longer working, update to new IDs
2022-12-08 13:45:33 +00:00
RiotRobot
c473cb6e77 Reset matrix-js-sdk back to develop branch 2022-12-06 13:08:59 +00:00
RiotRobot
549b0e8db2 Reset matrix-react-sdk back to develop branch 2022-12-06 13:08:01 +00:00
RiotRobot
f2787855fd Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2022-12-06 13:07:10 +00:00
RiotRobot
dd0134180c v1.11.16 2022-12-06 12:59:53 +00:00
RiotRobot
65dbfe4ae7 Prepare changelog for v1.11.16 2022-12-06 12:59:53 +00:00
RiotRobot
2bb05080f4 Upgrade matrix-react-sdk to 3.62.0 2022-12-06 12:56:23 +00:00
RiotRobot
d4a0046e7c Upgrade matrix-js-sdk to 22.0.0 2022-12-06 12:55:51 +00:00
Michael Telatynski
7defcf3957 Adding tarfile member sanitization to extractall() (#23906)
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: TrellixVulnTeam <charles.mcfarland@trellix.com>
2022-12-05 17:03:17 +00:00
renovate[bot]
2cf4c5a26f Update dependency @types/node to v16.18.4 (#23898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-05 08:52:38 +00:00
Robin
eb6d617175 Downgrade to style-loader 2 to regain Webpack 4 compatibility (#23894) 2022-12-02 18:24:30 +00:00
RiotRobot
4376a65311 v1.11.16-rc.2 2022-12-02 17:00:28 +00:00
RiotRobot
12bb305aa6 Prepare changelog for v1.11.16-rc.2 2022-12-02 17:00:28 +00:00
RiotRobot
c0c84ede5d Upgrade matrix-react-sdk to 3.62.0-rc.2 2022-12-02 16:51:36 +00:00
RiotRobot
43335ed3a1 Upgrade matrix-js-sdk to 22.0.0-rc.2 2022-12-02 16:50:35 +00:00
Kerry
6d724cb4cb add docs for UIFeature.BulkUnverifiedSessionsReminder (#23875) 2022-12-02 16:08:49 +13:00
Michael Telatynski
003fc7cdf4 Remove prop-types (#23881) 2022-12-01 11:35:19 +00:00
Šimon Brandner
76eb76f185 Add betas.md (#22734) 2022-11-30 14:02:09 -07:00
renovate[bot]
546c503914 Lock file maintenance (#23394)
* Lock file maintenance

* Hold @types/react back

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-30 12:52:06 +00:00
Michael Telatynski
c7c9d4f861 Update @types/node (#23877)
* Update all non-major dependencies

* Hold back postcss-hexrgba - they violated semver

* Update @types/node

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-30 11:32:53 +00:00
renovate[bot]
bdc112ca98 Update all non-major dependencies (#23871)
* Update all non-major dependencies

* Hold back postcss-hexrgba - they violated semver

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-30 10:27:06 +00:00
Michael Telatynski
7c4081e6fb Update CODEOWNERS (#23873) 2022-11-29 23:13:28 +00:00
renovate[bot]
22341bc996 Update typescript-eslint monorepo to v5.44.0 (#23872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 23:03:46 +00:00
renovate[bot]
40a29348da Update alex-page/github-project-automation-plus digest to 1f8873e (#23868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 18:59:32 +00:00
renovate[bot]
6c85cac1f5 Update all (major) - abandoned (#23799)
* Update all

* Hold back @types/react* & node-fetch & @testing-library/react

* Hold back webpack things, upgrading is hell

* Hold back more things

* Align deps

* Roll back @types/node

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-29 18:44:51 +00:00
RiotRobot
6ba67ea641 v1.11.16-rc.1 2022-11-29 15:48:50 +00:00
RiotRobot
293d119b36 Prepare changelog for v1.11.16-rc.1 2022-11-29 15:48:49 +00:00
RiotRobot
bff0009b83 Upgrade matrix-react-sdk to 3.62.0-rc.1 2022-11-29 15:45:28 +00:00
RiotRobot
957e93e114 Upgrade matrix-js-sdk to 22.0.0-rc.1 2022-11-29 15:43:59 +00:00
Element Translate Bot
81966e4c8c Translations update from Weblate (#23866)
* Translated using Weblate (Finnish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Lithuanian)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sl/

* Translated using Weblate (Danish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Roel ter Maat <roel.termaat@nedap.com>
Co-authored-by: mnbro <mihai.nicolae@protonmail.com>
Co-authored-by: Maros Dumitru <dimamaros@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Stnby <stnby@tuta.io>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
Co-authored-by: Filip <divaltcash@gmail.com>
Co-authored-by: Simon <simonpmt@gmail.com>
2022-11-29 15:02:40 +00:00
Michael Telatynski
c6a34ca007 Attempt to unwedge develop (#23853) 2022-11-29 08:31:32 +00:00
Michael Weimann
cbf5c43ae7 Update to eslint-plugin-matrix-org 0.8 (#23825)
* Update to eslint-plugin-matrix-org 0.8

* Exclude some eslint rules for specs

* Fix eslint tests path
2022-11-23 16:24:36 +00:00
RiotRobot
c1d4abbeb0 Reset matrix-react-sdk back to develop branch 2022-11-22 12:16:31 +00:00
RiotRobot
5cc0462c08 Reset matrix-js-sdk back to develop branch 2022-11-22 12:16:18 +00:00
RiotRobot
6a07d25b5c Merge branch 'master' into develop 2022-11-22 12:16:01 +00:00
RiotRobot
8c271f3d2d v1.11.15 2022-11-22 12:12:12 +00:00
RiotRobot
e9df9428cd Prepare changelog for v1.11.15 2022-11-22 12:12:11 +00:00
RiotRobot
1ec2155cc2 Upgrade matrix-react-sdk to 3.61.0 2022-11-22 12:02:58 +00:00
RiotRobot
c777be5102 Upgrade matrix-js-sdk to 21.2.0 2022-11-22 11:51:18 +00:00
Michael Telatynski
b34a4ed311 Delete redeploy.py (#23814) 2022-11-22 10:49:18 +00:00
renovate[bot]
4bf0dbb59c Update babel monorepo (#23797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-21 08:40:45 +00:00
renovate[bot]
5ae6b4909c Update typescript-eslint monorepo to v5.43.0 (#23798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-21 08:29:54 +00:00
renovate[bot]
ad466a2860 Update jest monorepo to v29.2.3 (#23796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-21 08:28:54 +00:00
Michael Telatynski
923120625c Add --noImplicitAny to strict CI check (#23793) 2022-11-18 16:31:05 +00:00
Michael Telatynski
6bdc8daa36 Fix branch matching for the strict tsc CI (#23789) 2022-11-18 15:05:39 +00:00
renovate[bot]
d352c78f2a Update dependency loader-utils to v2.0.4 [SECURITY] (#23785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-17 19:40:42 +00:00
Element Translate Bot
a788d3fc91 Translations update from Weblate (#23779)
* Translated using Weblate (Finnish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Lithuanian)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Roel ter Maat <roel.termaat@nedap.com>
Co-authored-by: mnbro <mihai.nicolae@protonmail.com>
Co-authored-by: Maros Dumitru <dimamaros@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Stnby <stnby@tuta.io>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
2022-11-16 10:42:31 -07:00
RiotRobot
75df90d838 v1.11.15-rc.1 2022-11-15 18:12:11 +00:00
RiotRobot
c92961097f Prepare changelog for v1.11.15-rc.1 2022-11-15 18:12:11 +00:00
RiotRobot
78bf0f6898 Upgrade matrix-react-sdk to 3.61.0-rc.1 2022-11-15 18:09:12 +00:00
RiotRobot
fe78b16789 Upgrade matrix-js-sdk to 21.2.0-rc.1 2022-11-15 18:07:51 +00:00
Element Translate Bot
5a9baf730e Translations update from Weblate (#23775)
* Translated using Weblate (Finnish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Lithuanian)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/

Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Roel ter Maat <roel.termaat@nedap.com>
Co-authored-by: mnbro <mihai.nicolae@protonmail.com>
Co-authored-by: Maros Dumitru <dimamaros@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Stnby <stnby@tuta.io>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
2022-11-15 17:47:21 +00:00
Michael Telatynski
8f8a9e1e49 Cease uploading develop.tar.gz to Github Pages (#23753) 2022-11-11 14:36:55 +00:00
Robin
46c005a5d3 Don't hardcode /bin/bash in scripts (#23740)
Some operating systems, such as NixOS, don't place binaries in /bin. The appropriate cross-platform method is to use /usr/bin/env.
2022-11-09 09:58:06 -05:00
Michael Telatynski
bc6d1c3a2b Add way to create a user notice via config.json (#23738) 2022-11-09 10:50:04 +00:00
Michael Telatynski
8ed23291c0 Update matrix-events-sdk to 0.0.1 and develop ref to matrix-js-sdk (#23731) 2022-11-08 17:48:12 +00:00
RiotRobot
14e4834009 Reset matrix-react-sdk back to develop branch 2022-11-08 15:12:36 +00:00
RiotRobot
d5041b8bd0 Reset matrix-js-sdk back to develop branch 2022-11-08 15:12:22 +00:00
RiotRobot
1cf1973e9b Merge branch 'master' into develop 2022-11-08 15:12:02 +00:00
RiotRobot
1d8e353767 v1.11.14 2022-11-08 15:05:50 +00:00
RiotRobot
500c59fee6 Prepare changelog for v1.11.14 2022-11-08 15:05:49 +00:00
RiotRobot
3fa3153a23 Upgrade matrix-react-sdk to 3.60.0 2022-11-08 14:59:57 +00:00
RiotRobot
9e624563bb Upgrade matrix-js-sdk to 21.1.0 2022-11-08 14:55:41 +00:00
dependabot[bot]
d2549263e4 Bump loader-utils from 2.0.2 to 2.0.3 (#23730)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.3/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-08 13:43:01 +00:00
RiotRobot
f77e5e713d v1.11.14-rc.2 2022-11-08 13:27:57 +00:00
RiotRobot
3bcaf75023 Prepare changelog for v1.11.14-rc.2 2022-11-08 13:27:56 +00:00
Michael Telatynski
3be527cac8 Deploy develop branch to Cloudflare Pages (#23454)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-11-08 13:27:20 +00:00
RiotRobot
fde64885ae Upgrade matrix-react-sdk to 3.60.0-rc.2 2022-11-08 13:15:00 +00:00
renovate[bot]
65b8bc196a Update dependency loader-utils to v2 [SECURITY] (#23717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-07 12:13:59 +00:00
Kat Gerasimova
778c6d68cf Update issue automation (#23686)
Stop using deprecated ProjectNext API and replace with ProjectV2
2022-11-07 10:24:59 +00:00
Michael Telatynski
577a6b7c5a Make SonarCloud happier (#23699) 2022-11-04 15:30:25 +00:00
Michael Telatynski
77d75984fa Enable tsc --strict CI to prevent gaining more errors (#23692) 2022-11-04 09:12:15 +00:00
Michael Telatynski
e21eb2505c Optimise Jest run in CI (#23693) 2022-11-03 17:58:50 +00:00
Robin
2e81324e27 Add A-Element-Call to labs automation (#23694)
and tidy up some of the inconsistencies between triage-labelled.yml and triage-unlabelled.yml.
2022-11-03 16:32:52 +00:00
Michael Telatynski
1b51456718 Update to @casualbot/jest-sonar-reporter (#23690) 2022-11-03 14:54:21 +00:00
Kat Gerasimova
9c302f303a Update PR automation (#23688)
Stop using deprecated ProjectNext API in favour of the new ProjectV2 one
2022-11-03 10:22:05 +00:00
Michael Telatynski
b92dd88303 Add eslint rule unicorn/no-instanceof-array (#23667) 2022-11-02 18:13:30 -04:00
renovate[bot]
0e36757780 Update jest monorepo to v29.2.1 (#23674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 09:25:40 +00:00
renovate[bot]
5a734685d9 Update typescript-eslint monorepo to v5.42.0 (#23678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 08:51:10 +00:00
renovate[bot]
235d6bce5d Update dependency @babel/runtime to v7.20.1 (#23675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 15:37:00 -04:00
RiotRobot
1cc06397a2 v1.11.14-rc.1 2022-11-01 14:58:45 +00:00
RiotRobot
7353853624 Prepare changelog for v1.11.14-rc.1 2022-11-01 14:58:44 +00:00
RiotRobot
b467ec1072 Upgrade matrix-react-sdk to 3.60.0-rc.1 2022-11-01 14:56:34 +00:00
RiotRobot
730c576d48 Upgrade matrix-js-sdk to 21.1.0-rc.1 2022-11-01 14:50:54 +00:00
RiotRobot
da80530cb3 Merge remote-tracking branch 'origin/develop' into develop 2022-11-01 14:35:52 +00:00
Element Translate Bot
2422d96436 Translations update from Weblate (#23672)
* Translated using Weblate (Finnish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fi/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ro/

Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Roel ter Maat <roel.termaat@nedap.com>
Co-authored-by: mnbro <mihai.nicolae@protonmail.com>
Co-authored-by: Maros Dumitru <dimamaros@gmail.com>
2022-11-01 14:32:44 +00:00
RiotRobot
1176e51b5f Reset matrix-react-sdk back to develop branch 2022-11-01 10:09:16 +00:00
RiotRobot
42b73de184 Reset matrix-js-sdk back to develop branch 2022-11-01 10:08:58 +00:00
RiotRobot
8eafb70327 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2022-11-01 10:08:19 +00:00
RiotRobot
6882e6432b v1.11.13 2022-11-01 10:01:35 +00:00
RiotRobot
e347f50700 Prepare changelog for v1.11.13 2022-11-01 10:01:34 +00:00
RiotRobot
3402b388a1 Upgrade matrix-react-sdk to 3.59.1 2022-11-01 09:38:52 +00:00
RiotRobot
8f466061c3 Upgrade matrix-js-sdk to 21.0.1 2022-11-01 09:37:16 +00:00
Kat Gerasimova
a3659d864c Add issue automation to tidy Help Wanted (#23644)
All "good first issue" and "Hacktoberfest" qualify as "Help Wanted" so the label should be added automatically
2022-10-31 12:21:58 +00:00
Richard van der Hoff
1b98601870 Constrain webpack config for olm.wasm (#23633)
I've been experimenting with loading WebAssembly into EW, for which I need to
use webpack's default wasm loader. Currently we're overriding that for *all*
files called `*.wasm`, which is too broad.

There are currently two `*.wasm` artifacts in EW: `decoderWorker.min.wasm`, and
`olm.wasm`. `decoderWorker` has its own rule, so the `*.wasm` rule is only used
for `olm.wasm`. So, let's tighten up the test for that rule so that it doesn't
catch other innocent `.wasm`s in the cross-fire.
2022-10-28 10:54:37 +01:00
David Langley
2a46122f28 Change WYSIWYG label in automation (#23630) 2022-10-27 15:16:55 +01:00
RiotRobot
5da11ae436 Reset matrix-react-sdk back to develop branch 2022-10-26 16:51:36 +01:00
RiotRobot
fe0280cbf0 Reset matrix-js-sdk back to develop branch 2022-10-26 16:51:25 +01:00
RiotRobot
3f192f927c Merge branch 'master' into develop 2022-10-26 16:51:07 +01:00
RiotRobot
271d2d7078 v1.11.12 2022-10-26 16:46:30 +01:00
RiotRobot
0b92a7fe7c Prepare changelog for v1.11.12 2022-10-26 16:46:29 +01:00
ElementRobot
446d944888 Fix config.json failing to load for Jitsi wrapper in non-root deployment (#23577) (#23615)
(cherry picked from commit a3ece528e5)

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-26 16:41:58 +01:00
Kat Gerasimova
12bde9a514 Update issue automation for labs features (#23609)
Z-Labs labels should be added to  A-Composer-WYSIWYG
2022-10-26 14:09:21 +01:00
Michael Telatynski
3366ed1af0 Run dockerhub builder stage without emulation (#23602) 2022-10-26 11:49:51 +01:00
Michael Weimann
2b3467a5d0 Add voice_broadcast.chunk_length config doc (#23410) 2022-10-26 09:27:39 +02:00
RiotRobot
2f49467152 Reset matrix-react-sdk back to develop branch 2022-10-25 18:07:27 +01:00
RiotRobot
b4399402a6 Reset matrix-js-sdk back to develop branch 2022-10-25 18:06:42 +01:00
RiotRobot
b3ed90a9b3 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2022-10-25 18:05:52 +01:00
RiotRobot
6eed898183 v1.11.11 2022-10-25 17:54:35 +01:00
RiotRobot
c67f5da4c1 Prepare changelog for v1.11.11 2022-10-25 17:54:34 +01:00
RiotRobot
5f38137734 Upgrade matrix-react-sdk to 3.59.0 2022-10-25 17:48:39 +01:00
RiotRobot
748c900dce Upgrade matrix-js-sdk to 21.0.0 2022-10-25 17:47:47 +01:00
Kat Gerasimova
a45ecef20b Add issue automation for the VoIP team (#23585) 2022-10-25 14:43:29 +02:00
Kat Gerasimova
fc0e61b666 Update issue automation for design (#23490)
Put only high priority issues in front of the design team, all of which the design team will aim to action to keep the queue at zero.
2022-10-25 10:06:24 +00:00
RiotRobot
4599cc9ca2 v1.11.11-rc.2 2022-10-24 17:19:00 +01:00
RiotRobot
bb00ad5fb0 Prepare changelog for v1.11.11-rc.2 2022-10-24 17:18:59 +01:00
RiotRobot
629341894b Upgrade matrix-react-sdk to 3.59.0-rc.2 2022-10-24 17:05:23 +01:00
RiotRobot
416ca55fa9 Upgrade matrix-js-sdk to 21.0.0-rc.2 2022-10-24 17:04:14 +01:00
Michael Telatynski
a3ece528e5 Fix config.json failing to load for Jitsi wrapper in non-root deployment (#23577) 2022-10-24 13:48:32 +01:00
renovate[bot]
b924594c19 Update jest monorepo to v29.2.0 (#23544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 12:07:56 +00:00
renovate[bot]
663754e7ed Update typescript-eslint monorepo to v5.40.1 (#23525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 12:57:51 +01:00
renovate[bot]
189f4c53b2 Update babel monorepo (#23524)
* Update babel monorepo

* Update yarn.lock

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-20 15:27:24 +00:00
RiotRobot
7af1f21d9b v1.11.11-rc.1 2022-10-18 14:26:20 +01:00
RiotRobot
d5b6f64033 Prepare changelog for v1.11.11-rc.1 2022-10-18 14:26:19 +01:00
RiotRobot
e4e2738c3c Upgrade matrix-react-sdk to 3.59.0-rc.1 2022-10-18 14:23:41 +01:00
RiotRobot
a7478f58ae Upgrade matrix-js-sdk to 21.0.0-rc.1 2022-10-18 14:21:49 +01:00
Element Translate Bot
921deab6ad Translations update from Weblate (#23519)
* Added translation using Weblate (Luxembourgish)

* Translated using Weblate (Turkish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Korean)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Czech)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (French)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Russian)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Persian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bg/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

Co-authored-by: pierrebolze <pierre.bolze@epitech.eu>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Michael Telatynski <7t3chguy@googlemail.com>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Youngbin Han <sukso96100@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Glandos <bugs-github@antipoul.fr>
Co-authored-by: DjAntony <djantony.org@yandex.ru>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Seyed Masih Sajadi <smasihsajadi@gmail.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
Co-authored-by: iaiz <git@iapellaniz.com>
2022-10-18 12:34:38 +01:00
Michael Telatynski
5d9eee8e4b Stub out crypto imports in node (#23506) 2022-10-17 17:54:56 +01:00
aceArt-GmbH
322745464c Update documentation on how to disable integration managers (#23489)
Signed-off-by: lukas <lukas.walter@aceart.de>
2022-10-15 01:01:35 +00:00
Kat Gerasimova
1e8ffe5e74 Fix typo (#23485) 2022-10-13 19:47:05 +00:00
Kat Gerasimova
8fb0147fb6 Add automation for PS feature team (#23480)
Add issue automation for PS teams
2022-10-13 16:46:10 +00:00
Kat Gerasimova
7fec677d8f Update enhancement issue template (#23472)
Add a link to discussions for cross-platform or new feature requests
2022-10-13 09:48:05 +01:00
Michael Telatynski
172f2f3993 Fix tests and convert to RTL (#23474) 2022-10-13 09:22:34 +01:00
Michael Telatynski
aa6b1d128a Fix dockerhub builds (#23477) 2022-10-13 09:00:39 +01:00
Michael Telatynski
66798c75b5 Trim /version file response (#23473) 2022-10-13 05:52:38 +01:00
Michael Telatynski
2ef6abbfb8 Move from browser-request to fetch (#23427) 2022-10-12 18:59:10 +01:00
Michael Telatynski
326a1a9056 Make ErrorView & CompatibilityView scrollable (#23468) 2022-10-12 18:14:27 +01:00
Michael Telatynski
341b0b469e Make bash scripts exit on error rather than continue (#23467) 2022-10-12 16:15:51 +01:00
Kerry
0e8e472138 Device manager - tweak string formatting of default device name (#23457)
* tweak string formatting of default device name

* cheaters path to beating quality gate

* more electronplatform test coverage

* remove test that throw errors

* cover some more window.electrons

* more coverage

* empty line
2022-10-12 15:35:52 +02:00
RiotRobot
44eeb6fddc Reset matrix-react-sdk back to develop branch 2022-10-11 18:04:37 +01:00
RiotRobot
8383c021f1 Reset matrix-js-sdk back to develop branch 2022-10-11 18:04:19 +01:00
RiotRobot
7afa416ed5 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2022-10-11 18:03:36 +01:00
RiotRobot
bd5d22d0e9 v1.11.10 2022-10-11 17:57:53 +01:00
RiotRobot
93b57b2baa Prepare changelog for v1.11.10 2022-10-11 17:57:52 +01:00
RiotRobot
e356c38948 Upgrade matrix-react-sdk to 3.58.1 2022-10-11 17:55:10 +01:00
RiotRobot
d1f7454dc0 Reset matrix-react-sdk back to develop branch 2022-10-11 14:10:12 +01:00
RiotRobot
3bf3237774 Reset matrix-js-sdk back to develop branch 2022-10-11 14:09:53 +01:00
RiotRobot
f0e6673fec Merge branch 'master' into develop 2022-10-11 14:09:34 +01:00
RiotRobot
8ac2e0100e v1.11.9 2022-10-11 14:05:22 +01:00
RiotRobot
f42c865878 Prepare changelog for v1.11.9 2022-10-11 14:05:22 +01:00
RiotRobot
2aae3de956 Upgrade matrix-react-sdk to 3.58.0 2022-10-11 14:02:50 +01:00
RiotRobot
c61556e885 Upgrade matrix-js-sdk to 20.1.0 2022-10-11 14:01:39 +01:00
Šimon Brandner
8891698745 Add Element Call participant limit (#23431) 2022-10-07 22:00:38 +02:00
Šimon Brandner
ec4cc52b7e Add Element Call brand (#23443) 2022-10-07 19:32:12 +02:00
RiotRobot
d2c2a51ce6 v1.11.9-rc.2 2022-10-05 14:18:07 +01:00
RiotRobot
3e3d7566a6 Prepare changelog for v1.11.9-rc.2 2022-10-05 14:18:06 +01:00
RiotRobot
5f355bf25e Upgrade matrix-react-sdk to 3.58.0-rc.2 2022-10-05 14:16:02 +01:00
RiotRobot
1708f7f1b8 Upgrade matrix-js-sdk to 20.1.0-rc.2 2022-10-05 13:48:58 +01:00
renovate[bot]
fb686ec5b6 Update dependency jest-mock to v29 (#23421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 22:18:56 +01:00
renovate[bot]
1d86a75a29 Update typescript-eslint monorepo to v5.39.0 (#23420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 22:18:33 +01:00
renovate[bot]
ee5b20e12e Update jest monorepo to v29.1.1 (#23418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 17:57:36 +01:00
renovate[bot]
c8184e2497 Update babel monorepo to v7.19.3 (#23417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 16:34:12 +00:00
RiotRobot
4d00249d97 v1.11.9-rc.1 2022-10-04 14:46:47 +01:00
RiotRobot
4c43daf336 Prepare changelog for v1.11.9-rc.1 2022-10-04 14:46:46 +01:00
RiotRobot
e5dcb6e8c2 Upgrade matrix-react-sdk to 3.58.0-rc.1 2022-10-04 14:44:19 +01:00
RiotRobot
db89364395 Upgrade matrix-js-sdk to 20.1.0-rc.1 2022-10-04 14:26:21 +01:00
Element Translate Bot
6bd52ff6f5 Translations update from Weblate (#23413)
* Translated using Weblate (Galician)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Added translation using Weblate (Armenian)

* Translated using Weblate (Armenian)

Currently translated at 41.9% (13 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Nepali)

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/eo/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Uzbek)

Currently translated at 12.9% (4 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uz/

* Added translation using Weblate (Bengali)

* Translated using Weblate (Bengali (Bangladesh))

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn_BD/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Bengali)

Currently translated at 6.4% (2 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Polish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Danish)

Currently translated at 96.7% (30 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Greek)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/el/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ar/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/az/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bg/

* Translated using Weblate (Sinhala)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/si/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Persian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Russian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Telugu)

Currently translated at 33.3% (10 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Telugu)

Currently translated at 40.0% (12 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Polish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Latvian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lv/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Slovenian)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

Co-authored-by: Xose M <xosem@disroot.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: oleg-fiksel <github-oleg-fiksel@spam.fiksel.info>
Co-authored-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: FIONover <overfion@protonmail.com>
Co-authored-by: Lucas <lucasdupanne@gmail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: joshua <weblate-p5yaa1sp@dc7ia.eu>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
Co-authored-by: Padam Ghimire <padamghimire2020@gmail.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Vilhelmo Bandito <willibandido@gmail.com>
Co-authored-by: anoloth <anoloth@gmail.com>
Co-authored-by: Sanjar Barakayev <sanjarbarakayev5@gmail.com>
Co-authored-by: Kominak Halalu <kominak310@svcache.com>
Co-authored-by: trongtran810 <trantrong810@gmail.com>
Co-authored-by: escix <preminik@preminik.com>
Co-authored-by: Piotr Strebski <strebski@gmail.com>
Co-authored-by: Simon <simonpmt@gmail.com>
Co-authored-by: a19901201 <a19901201@gmail.com>
Co-authored-by: Theo <tbousiou@gmail.com>
Co-authored-by: AhmedRN <APOP319@gmail.com>
Co-authored-by: NetanelHarris <harris.netanel@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Mya Rohit <element@mailbolt.com>
Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Co-authored-by: revblue <neosurpass@gmail.com>
Co-authored-by: Mine_My <me@minemy.me>
Co-authored-by: nafi3h <alireza.zarei@gmail.com>
Co-authored-by: c1bebff3 <if5c3xi6@protonmail.com>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: Corvurius <corvurius@gmail.com>
Co-authored-by: kskarthik <kskarthik@disroot.org>
Co-authored-by: Balázs Meskó <meskobalazs@gmail.com>
Co-authored-by: Oliver Gramberg <oliver.gramberg@gmx.de>
Co-authored-by: Vri <element.io@vrifox.cc>
Co-authored-by: Przemysław Romanik <github@rom4nik.pl>
Co-authored-by: Andrejs <tlpbu@droplar.com>
Co-authored-by: Anonimas <weblate@govindas.net>
Co-authored-by: Robert Eržen <robert@erzen.si>
Co-authored-by: Nui Harime <harime.nui@yandex.ru>
2022-10-04 13:54:41 +01:00
Michael Telatynski
d8124d37e4 Improve coverage (#23380) 2022-09-30 18:27:59 +01:00
RiotRobot
8e841be393 Reset matrix-react-sdk back to develop branch 2022-09-28 16:07:23 +01:00
RiotRobot
1b164dbc42 Reset matrix-js-sdk back to develop branch 2022-09-28 16:07:01 +01:00
RiotRobot
5ae4d0b8c9 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2022-09-28 16:06:22 +01:00
RiotRobot
72ca95e97d v1.11.8 2022-09-28 16:01:20 +01:00
RiotRobot
151ef4d583 Prepare changelog for v1.11.8 2022-09-28 16:01:19 +01:00
RiotRobot
2d0becc8c5 Upgrade matrix-react-sdk to 3.57.0 2022-09-28 15:59:24 +01:00
RiotRobot
a074636773 Upgrade matrix-js-sdk to 20.0.0 2022-09-28 15:59:01 +01:00
RiotRobot
9009e62cc6 Reset matrix-react-sdk back to develop branch 2022-09-28 14:29:17 +01:00
RiotRobot
dca486ca10 Reset matrix-js-sdk back to develop branch 2022-09-28 14:29:01 +01:00
RiotRobot
fa966348ee Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2022-09-28 14:27:56 +01:00
RiotRobot
981a64aac4 v1.11.7 2022-09-28 14:22:49 +01:00
RiotRobot
3eba2211ca Prepare changelog for v1.11.7 2022-09-28 14:22:49 +01:00
RiotRobot
a529afc133 Upgrade matrix-react-sdk to 3.56.0 2022-09-28 14:20:52 +01:00
RiotRobot
2ba9c13165 Upgrade matrix-js-sdk to 19.7.0 2022-09-28 14:20:28 +01:00
RiotRobot
40ba9c76b1 Reset deps back to develop branch 2022-09-27 20:15:57 +01:00
RiotRobot
958f4d6b86 Merge branch 'master' into develop 2022-09-27 20:04:30 +01:00
RiotRobot
9ea7fa0518 v1.11.6 2022-09-27 20:00:04 +01:00
RiotRobot
7eb899b780 Prepare changelog for v1.11.6 2022-09-27 20:00:03 +01:00
RiotRobot
4552cb9778 Upgrade matrix-react-sdk to 3.55.0 2022-09-27 18:21:25 +01:00
RiotRobot
51117fa11f Upgrade matrix-js-sdk to 19.6.0 2022-09-27 18:20:47 +01:00
Robin
fd40c7a24a New group call experience: Documentation (#23344)
* Document the use_exclusively Element Call config flag

* Document the new group call experience Labs flag
2022-09-25 10:57:26 -04:00
Robin
c797c06f92 Fix the lockfile, take 4 (#23349) 2022-09-24 07:55:34 +02:00
Michael Telatynski
5ec96f5abe Add test coverage (#23341) 2022-09-23 09:42:03 +01:00
Robin
31b4dae26b Fix the lockfile (#23343) 2022-09-22 15:37:17 -06:00
renovate[bot]
287a73506c Update all (#23325)
* Update all

* Hold some upgrades back

* Fix yarn.lock

* Revert @types/react

* Hold back `typescript`

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-09-21 10:59:14 +00:00
renovate[bot]
8de92bb14b Update jest monorepo to v29.0.3 (#23321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-21 08:25:25 +00:00
renovate[bot]
991fee51c5 Update babel monorepo to v7.19.1 (#23320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-21 09:13:09 +01:00
renovate[bot]
d1754559ad Update typescript-eslint monorepo to v5.38.0 (#23322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-21 08:26:38 +02:00
RiotRobot
ec4c811a98 v1.11.6-rc.1 2022-09-20 14:46:50 +01:00
RiotRobot
ac67e7220b Prepare changelog for v1.11.6-rc.1 2022-09-20 14:46:49 +01:00
RiotRobot
b87ecc3ae5 Upgrade matrix-react-sdk to 3.55.0-rc.1 2022-09-20 14:35:38 +01:00
RiotRobot
fc8920a69a Upgrade matrix-js-sdk to 19.6.0-rc.1 2022-09-20 14:24:15 +01:00
Element Translate Bot
c4a1caedae Translations update from Weblate (#23316)
* Translated using Weblate (Hindi)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hi/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Czech)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Galician)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Added translation using Weblate (Armenian)

* Translated using Weblate (Armenian)

Currently translated at 41.9% (13 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Nepali)

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/eo/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Uzbek)

Currently translated at 12.9% (4 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uz/

* Added translation using Weblate (Bengali)

* Translated using Weblate (Bengali (Bangladesh))

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn_BD/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Bengali)

Currently translated at 6.4% (2 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Polish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Danish)

Currently translated at 96.7% (30 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Greek)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/el/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ar/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/az/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bg/

* Translated using Weblate (Sinhala)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/si/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Persian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Russian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Telugu)

Currently translated at 33.3% (10 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Telugu)

Currently translated at 40.0% (12 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Polish)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Latvian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lv/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/

Co-authored-by: Arya Bhosale <arya2001bhosale@gmail.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: SPiRiT <such.a.lost.spirit@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Xose M <xosem@disroot.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: oleg-fiksel <github-oleg-fiksel@spam.fiksel.info>
Co-authored-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: FIONover <overfion@protonmail.com>
Co-authored-by: Lucas <lucasdupanne@gmail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: joshua <weblate-p5yaa1sp@dc7ia.eu>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
Co-authored-by: Padam Ghimire <padamghimire2020@gmail.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Vilhelmo Bandito <willibandido@gmail.com>
Co-authored-by: anoloth <anoloth@gmail.com>
Co-authored-by: Sanjar Barakayev <sanjarbarakayev5@gmail.com>
Co-authored-by: Kominak Halalu <kominak310@svcache.com>
Co-authored-by: trongtran810 <trantrong810@gmail.com>
Co-authored-by: escix <preminik@preminik.com>
Co-authored-by: Piotr Strebski <strebski@gmail.com>
Co-authored-by: Simon <simonpmt@gmail.com>
Co-authored-by: a19901201 <a19901201@gmail.com>
Co-authored-by: Theo <tbousiou@gmail.com>
Co-authored-by: AhmedRN <APOP319@gmail.com>
Co-authored-by: NetanelHarris <harris.netanel@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Mya Rohit <element@mailbolt.com>
Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Co-authored-by: revblue <neosurpass@gmail.com>
Co-authored-by: Mine_My <me@minemy.me>
Co-authored-by: nafi3h <alireza.zarei@gmail.com>
Co-authored-by: c1bebff3 <if5c3xi6@protonmail.com>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: Corvurius <corvurius@gmail.com>
Co-authored-by: kskarthik <kskarthik@disroot.org>
Co-authored-by: Balázs Meskó <meskobalazs@gmail.com>
Co-authored-by: Oliver Gramberg <oliver.gramberg@gmx.de>
Co-authored-by: Vri <element.io@vrifox.cc>
Co-authored-by: Przemysław Romanik <github@rom4nik.pl>
Co-authored-by: Andrejs <tlpbu@droplar.com>
Co-authored-by: Anonimas <weblate@govindas.net>
2022-09-20 13:47:37 +01:00
Robin
fed77108e6 Element Call video rooms (#23246)
* Add an element_call_url config option

* Document feature_element_call_video_rooms
2022-09-16 15:13:05 +00:00
Michael Telatynski
779f951c2f Turn off tsc --strict annotations (#23290)
* Update static_analysis.yaml

* Update static_analysis.yaml
2022-09-16 07:13:11 +00:00
Robin
48562f96f5 Fix the lockfile again (#23280) 2022-09-14 14:44:39 +00:00
Robin
461bd8c572 Update matrix-widget-api to 1.1.1 (#23236)
* Update matrix-widget-api to 1.1.0

* Upgrade matrix-widget-api to 1.1.1
2022-09-14 14:18:21 +00:00
Robin
1617ab45db Fix the lockfile (#23278) 2022-09-14 14:42:42 +01:00
Michael Telatynski
216059c2e5 Update dockerhub.yaml (#23267) 2022-09-14 14:10:12 +01:00
Dirk Klimpel
60157fffe2 Explain to load different configs depending on the domain in config.md (#23266) 2022-09-14 06:35:12 +00:00
RiotRobot
6e2f66987c Merge branch 'master' into develop
# Conflicts:
#	package.json
2022-09-13 13:11:15 +01:00
RiotRobot
75116b3361 v1.11.5 2022-09-13 13:05:08 +01:00
RiotRobot
a5e00ae57c Prepare changelog for v1.11.5 2022-09-13 13:05:08 +01:00
RiotRobot
f5ffd4dd77 Upgrade matrix-react-sdk to 3.54.0 2022-09-13 13:03:03 +01:00
RiotRobot
226e189c4a Upgrade matrix-js-sdk to 19.5.0 2022-09-13 13:02:26 +01:00
renovate[bot]
665f532301 Update all (#23223)
* Update all

* Upgrade @types

* Update lockfile

* Make typescript happier

* Make webpack happier, pin postcss-hexrgba

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-09-09 21:03:46 -06:00
Travis Ralston
db3ca10c91 Upgrade postcss-scss (#23229)
* Upgrade postcss-scss

The version conflict with the react-sdk can cause issues.

* Upgrade mini-css-extract-plugin too

* Actually add postcss as a dependency
2022-09-07 09:44:26 -06:00
Michael Telatynski
f9ee80d314 Tweak backport labels (#23233) 2022-09-07 11:50:05 +00:00
renovate[bot]
5814bcfd99 Update jest monorepo to v29 (#23231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 08:13:01 +00:00
Sebastian Wagner
993ea317d7 Readme: Add header configuration for apache (#23221)
Adds the same example as for nginx for apache to copy & paste
2022-09-07 04:10:52 +00:00
renovate[bot]
e8aa7edbdc Update babel monorepo to v7.19.0 (#23227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 22:02:54 -06:00
renovate[bot]
15f046a344 Update typescript-eslint monorepo to v5.36.2 (#23228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 22:02:27 -06:00
renovate[bot]
24947ad280 Update dependency @types/jest to v28.1.8 (#23224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 22:06:02 +01:00
Michael Telatynski
4e0c2382ff Update build_develop.yml (#23220) 2022-09-06 17:21:12 +01:00
RiotRobot
dcf41fc1a7 v1.11.5-rc.1 2022-09-06 13:37:06 +01:00
RiotRobot
b279ebe97e Prepare changelog for v1.11.5-rc.1 2022-09-06 13:37:06 +01:00
RiotRobot
c3d4bfc05e Upgrade matrix-react-sdk to 3.54.0-rc.1 2022-09-06 13:33:03 +01:00
RiotRobot
46dcd771f1 Upgrade matrix-js-sdk to 19.5.0-rc.4 2022-09-06 13:27:05 +01:00
Michael Telatynski
94efdd9f54 Simplify releases: consolidate scripts (#23145)
* Remove stale comment re dependency

* Move npm publishing from release.sh to GHA

* Consolidate release subproject upgrade management

* Update release_config.yaml
2022-09-06 12:10:31 +01:00
Element Translate Bot
04882b603c Translations update from Weblate (#23218)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ja/

* Translated using Weblate (Bosnian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bs/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hi/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Czech)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/

* Translated using Weblate (Galician)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/gl/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uk/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/et/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/it/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sv/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/id/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/es/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/sq/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/nl/

* Added translation using Weblate (Armenian)

* Translated using Weblate (Armenian)

Currently translated at 41.9% (13 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hy/

* Translated using Weblate (French)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tr/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Nepali)

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ne/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pt_BR/

* Translated using Weblate (Icelandic)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/is/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/eo/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Uzbek)

Currently translated at 12.9% (4 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/uz/

* Added translation using Weblate (Bengali)

* Translated using Weblate (Bengali (Bangladesh))

Currently translated at 3.2% (1 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn_BD/

* Translated using Weblate (Lao)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lo/

* Translated using Weblate (Bengali)

Currently translated at 6.4% (2 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bn/

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/vi/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ta/

* Translated using Weblate (Polish)

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/pl/

* Translated using Weblate (Danish)

Currently translated at 96.7% (30 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/da/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (31 of 31 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Greek)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/el/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ar/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/he/

* Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/az/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/bg/

* Translated using Weblate (Sinhala)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/si/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Korean)

Currently translated at 96.6% (29 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ko/

* Translated using Weblate (Persian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fa/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/

* Translated using Weblate (Russian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ru/

* Translated using Weblate (Telugu)

Currently translated at 33.3% (10 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Telugu)

Currently translated at 40.0% (12 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/te/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

* Translated using Weblate (German)

Currently translated at 100.0% (30 of 30 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/

Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Suguru Hirahara <ovestekona@protonmail.com>
Co-authored-by: Nermin <neercsys@gmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: Arya Bhosale <arya2001bhosale@gmail.com>
Co-authored-by: SPiRiT <such.a.lost.spirit@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Xose M <xosem@disroot.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: oleg-fiksel <github-oleg-fiksel@spam.fiksel.info>
Co-authored-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: Besnik Bleta <besnik@programeshqip.org>
Co-authored-by: Johan Smits <johan@smitsmail.net>
Co-authored-by: FIONover <overfion@protonmail.com>
Co-authored-by: Lucas <lucasdupanne@gmail.com>
Co-authored-by: Szimszon <github@oregpreshaz.eu>
Co-authored-by: joshua <weblate-p5yaa1sp@dc7ia.eu>
Co-authored-by: Metehan Özyürek <metehanc8s9@yandex.com>
Co-authored-by: Padam Ghimire <padamghimire2020@gmail.com>
Co-authored-by: lvre <7uu3qrbvm@relay.firefox.com>
Co-authored-by: Vilhelmo Bandito <willibandido@gmail.com>
Co-authored-by: anoloth <anoloth@gmail.com>
Co-authored-by: Sanjar Barakayev <sanjarbarakayev5@gmail.com>
Co-authored-by: Kominak Halalu <kominak310@svcache.com>
Co-authored-by: trongtran810 <trantrong810@gmail.com>
Co-authored-by: escix <preminik@preminik.com>
Co-authored-by: Piotr Strebski <strebski@gmail.com>
Co-authored-by: Simon <simonpmt@gmail.com>
Co-authored-by: a19901201 <a19901201@gmail.com>
Co-authored-by: Theo <tbousiou@gmail.com>
Co-authored-by: AhmedRN <APOP319@gmail.com>
Co-authored-by: NetanelHarris <harris.netanel@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Mya Rohit <element@mailbolt.com>
Co-authored-by: HelaBasa <R45XvezA@protonmail.ch>
Co-authored-by: revblue <neosurpass@gmail.com>
Co-authored-by: Mine_My <me@minemy.me>
Co-authored-by: nafi3h <alireza.zarei@gmail.com>
Co-authored-by: c1bebff3 <if5c3xi6@protonmail.com>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: Corvurius <corvurius@gmail.com>
Co-authored-by: kskarthik <kskarthik@disroot.org>
Co-authored-by: Balázs Meskó <meskobalazs@gmail.com>
Co-authored-by: Oliver Gramberg <oliver.gramberg@gmx.de>
Co-authored-by: Vri <element.io@vrifox.cc>
2022-09-06 11:11:00 +01:00
Michael Telatynski
92f6402b2a Upload latest develop.tar.gz to github pages for fetch script access (#23183) 2022-09-05 09:40:37 +01:00
Kat Gerasimova
e30eb4de12 Fix indentation in automation (#23187) 2022-09-05 08:40:11 +00:00
Michael Telatynski
ae2c163441 Fix if condition for deciding how to structure docker version file (#23186) 2022-09-05 09:35:16 +01:00
Germain
351d5faa9b Remove threads board automation (#23193) 2022-09-05 09:20:30 +01:00
Johannes Marbach
db3d10f731 Move pin drop out of labs (PSG-664)
Signed-off-by: Johannes Marbach <johannesm@element.io>
2022-08-04 15:36:17 +02:00
262 changed files with 18906 additions and 12267 deletions

View File

@@ -23,7 +23,7 @@ indent_size = 4
trim_trailing_whitespace = true
[*.{yml,yaml}]
indent_size = 2
indent_size = 4
[package.json]
indent_size = 2

View File

@@ -0,0 +1,72 @@
module.exports = {
plugins: ["matrix-org"],
extends: ["./.eslintrc.js"],
parserOptions: {
project: ["./tsconfig.module_system.json"],
},
overrides: [
{
files: ["module_system/**/*.{ts,tsx}"],
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
// NOTE: These rules are frozen and new rules should not be added here.
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",
// We disable this while we're transitioning
"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
"no-restricted-imports": [
"error",
{
paths: [
{
name: "matrix-js-sdk",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/index",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-react-sdk",
message: "Please use matrix-react-sdk/src/index instead",
},
{
name: "matrix-react-sdk/",
message: "Please use matrix-react-sdk/src/index instead",
},
],
patterns: [
{
group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
message: "Please use matrix-js-sdk/src/* instead",
},
{
group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"],
message: "Please use matrix-react-sdk/src/* instead",
},
],
},
],
},
},
],
};

View File

@@ -1,72 +1,94 @@
module.exports = {
plugins: ["matrix-org"],
extends: [
"plugin:matrix-org/babel",
"plugin:matrix-org/react",
],
extends: ["plugin:matrix-org/babel", "plugin:matrix-org/react"],
parserOptions: {
project: ["./tsconfig.json"],
},
env: {
browser: true,
node: true,
},
rules: {
// Things we do that break the ideal style
"quotes": "off",
quotes: "off",
},
settings: {
react: {
version: 'detect'
}
},
overrides: [{
files: ["src/**/*.{ts,tsx}", "module_system/**/*.{ts,tsx}"],
extends: [
"plugin:matrix-org/typescript",
"plugin:matrix-org/react",
],
// NOTE: These rules are frozen and new rules should not be added here.
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",
// We disable this while we're transitioning
"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
"no-restricted-imports": ["error", {
"paths": [{
"name": "matrix-js-sdk",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src/",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-js-sdk/src/index",
"message": "Please use matrix-js-sdk/src/matrix instead",
}, {
"name": "matrix-react-sdk",
"message": "Please use matrix-react-sdk/src/index instead",
}, {
"name": "matrix-react-sdk/",
"message": "Please use matrix-react-sdk/src/index instead",
}],
"patterns": [{
"group": ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
"message": "Please use matrix-js-sdk/src/* instead",
}, {
"group": ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"],
"message": "Please use matrix-react-sdk/src/* instead",
}],
}],
version: "detect",
},
}],
},
overrides: [
{
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}", "scripts/*.ts"],
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
// NOTE: These rules are frozen and new rules should not be added here.
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",
// We disable this while we're transitioning
"@typescript-eslint/no-explicit-any": "off",
// We're okay with assertion errors when we ask for them
"@typescript-eslint/no-non-null-assertion": "off",
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
"no-restricted-imports": [
"error",
{
paths: [
{
name: "matrix-js-sdk",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/index",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-react-sdk",
message: "Please use matrix-react-sdk/src/index instead",
},
{
name: "matrix-react-sdk/",
message: "Please use matrix-react-sdk/src/index instead",
},
],
patterns: [
{
group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
message: "Please use matrix-js-sdk/src/* instead",
},
{
group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"],
message: "Please use matrix-react-sdk/src/* instead",
},
],
},
],
},
},
{
files: ["test/**/*.{ts,tsx}"],
rules: {
// We don't need super strict typing in test utilities
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-member-accessibility": "off",
"@typescript-eslint/ban-ts-comment": "off",
},
},
],
};

2
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,2 @@
# prettier
7921a6cbf86b035d2b0c1daecb4c24beaf5a5abc

6
.github/CODEOWNERS vendored
View File

@@ -1 +1,5 @@
* @vector-im/element-web
* @vector-im/element-web
/.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

View File

@@ -2,75 +2,75 @@ name: Bug report for the Element desktop app (not in a browser)
description: File a bug report if you are using the desktop Element application.
labels: [T-Defect]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Please report security issues by email to security@matrix.org
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Please attach screenshots, videos or logs if you can.
placeholder: Tell us what you see!
value: |
1. Where are you starting? What can you see?
2. What do you click?
3. More steps…
validations:
required: true
- type: textarea
id: result
attributes:
label: Outcome
placeholder: Tell us what went wrong
value: |
#### What did you expect?
Please report security issues by email to security@matrix.org
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Please attach screenshots, videos or logs if you can.
placeholder: Tell us what you see!
value: |
1. Where are you starting? What can you see?
2. What do you click?
3. More steps…
validations:
required: true
- type: textarea
id: result
attributes:
label: Outcome
placeholder: Tell us what went wrong
value: |
#### What did you expect?
#### What happened instead?
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: Windows, macOS, Ubuntu, Arch Linux…
validations:
required: false
- type: input
id: version
attributes:
label: Application version
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element version 1.7.34, olm version 3.2.3
validations:
required: false
- type: input
id: source
attributes:
label: How did you install the app?
description: Where did you install the app from? Please give a link or a description.
placeholder: e.g. From https://element.io/get-started
validations:
required: false
- type: input
id: homeserver
attributes:
label: Homeserver
description: |
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
validations:
required: false
- type: dropdown
id: rageshake
attributes:
label: Will you send logs?
description: |
Did you know that you can send a /rageshake command from your application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers.
options:
- 'Yes'
- 'No'
validations:
required: true
#### What happened instead?
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: Windows, macOS, Ubuntu, Arch Linux…
validations:
required: false
- type: input
id: version
attributes:
label: Application version
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element version 1.7.34, olm version 3.2.3
validations:
required: false
- type: input
id: source
attributes:
label: How did you install the app?
description: Where did you install the app from? Please give a link or a description.
placeholder: e.g. From https://element.io/get-started
validations:
required: false
- type: input
id: homeserver
attributes:
label: Homeserver
description: |
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
validations:
required: false
- type: dropdown
id: rageshake
attributes:
label: Will you send logs?
description: |
Did you know that you can send a /rageshake command from your application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers.
options:
- "Yes"
- "No"
validations:
required: true

View File

@@ -2,83 +2,83 @@ name: Bug report for Element Web (in browser)
description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on.
labels: [T-Defect]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Please report security issues by email to security@matrix.org
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Please attach screenshots, videos or logs if you can.
placeholder: Tell us what you see!
value: |
1. Where are you starting? What can you see?
2. What do you click?
3. More steps…
validations:
required: true
- type: textarea
id: result
attributes:
label: Outcome
placeholder: Tell us what went wrong
value: |
#### What did you expect?
Please report security issues by email to security@matrix.org
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: Please attach screenshots, videos or logs if you can.
placeholder: Tell us what you see!
value: |
1. Where are you starting? What can you see?
2. What do you click?
3. More steps…
validations:
required: true
- type: textarea
id: result
attributes:
label: Outcome
placeholder: Tell us what went wrong
value: |
#### What did you expect?
#### What happened instead?
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: Windows, macOS, Ubuntu, Arch Linux…
validations:
required: false
- type: input
id: browser
attributes:
label: Browser information
description: Which browser are you using? Which version?
placeholder: e.g. Chromium Version 92.0.4515.131
validations:
required: false
- type: input
id: webapp-url
attributes:
label: URL for webapp
description: Which URL are you using to access the webapp? If a private server, tell us what version of Element Web you are using.
placeholder: e.g. develop.element.io, app.element.io
validations:
required: false
- type: input
id: version
attributes:
label: Application version
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element version 1.7.34, olm version 3.2.3
validations:
required: false
- type: input
id: homeserver
attributes:
label: Homeserver
description: |
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
validations:
required: false
- type: dropdown
id: rageshake
attributes:
label: Will you send logs?
description: |
Did you know that you can send a /rageshake command from the web application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers.
options:
- 'Yes'
- 'No'
validations:
required: true
#### What happened instead?
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: Windows, macOS, Ubuntu, Arch Linux…
validations:
required: false
- type: input
id: browser
attributes:
label: Browser information
description: Which browser are you using? Which version?
placeholder: e.g. Chromium Version 92.0.4515.131
validations:
required: false
- type: input
id: webapp-url
attributes:
label: URL for webapp
description: Which URL are you using to access the webapp? If a private server, tell us what version of Element Web you are using.
placeholder: e.g. develop.element.io, app.element.io
validations:
required: false
- type: input
id: version
attributes:
label: Application version
description: You can find the version information in Settings -> Help & About.
placeholder: e.g. Element version 1.7.34, olm version 3.2.3
validations:
required: false
- type: input
id: homeserver
attributes:
label: Homeserver
description: |
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
validations:
required: false
- type: dropdown
id: rageshake
attributes:
label: Will you send logs?
description: |
Did you know that you can send a /rageshake command from the web application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers.
options:
- "Yes"
- "No"
validations:
required: true

View File

@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions & support
url: https://matrix.to/#/#element-web:matrix.org
about: Please ask and answer questions here.
- name: Questions & support
url: https://matrix.to/#/#element-web:matrix.org
about: Please ask and answer questions here.

View File

@@ -2,35 +2,35 @@ name: Enhancement request
description: Do you have a suggestion or feature request?
labels: [T-Enhancement]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to propose a new feature or make a suggestion.
- type: textarea
id: usecase
attributes:
label: Your use case
description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups.
placeholder: Tell us what you would like to do!
value: |
#### What would you like to do?
- type: markdown
attributes:
value: |
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
- type: textarea
id: usecase
attributes:
label: Your use case
description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups.
placeholder: Tell us what you would like to do!
value: |
#### What would you like to do?
#### Why would you like to do it?
#### Why would you like to do it?
#### How would you like to achieve it?
validations:
required: true
- type: textarea
id: alternative
attributes:
label: Have you considered any alternatives?
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional context
placeholder: Is there anything else you'd like to add?
validations:
required: false
#### How would you like to achieve it?
validations:
required: true
- type: textarea
id: alternative
attributes:
label: Have you considered any alternatives?
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional context
placeholder: Is there anything else you'd like to add?
validations:
required: false

View File

@@ -2,9 +2,9 @@
## Checklist
* [ ] Tests written for new code (and old code if feasible)
* [ ] Linter and other CI checks pass
* [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/vector-im/element-web/blob/develop/CONTRIBUTING.md))
- [ ] Tests written for new code (and old code if feasible)
- [ ] Linter and other CI checks pass
- [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/vector-im/element-web/blob/develop/CONTRIBUTING.md))
<!--
If you would like to specify text for the changelog entry other than your PR title, add the following:

13
.github/cfp_headers vendored Normal file
View File

@@ -0,0 +1,13 @@
/*
! Access-Control-Allow-Origin
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
/version
Content-Type: text/plain
/apple-app-site-association
Content-Type: application/json

3
.github/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
_extends: matrix-org/matrix-react-sdk
version-resolver:
default: patch

View File

@@ -1,6 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"github>matrix-org/renovate-config-element-web"
]
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>matrix-org/renovate-config-element-web"]
}

View File

@@ -1,30 +1,30 @@
name: Backport
on:
pull_request_target:
types:
- closed
- labeled
branches:
- develop
pull_request_target:
types:
- closed
- labeled
branches:
- develop
jobs:
backport:
name: Backport
runs-on: ubuntu-latest
# Only react to merged PRs for security reasons.
# See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
if: >
github.event.pull_request.merged
&& (
github.event.action == 'closed'
|| (
github.event.action == 'labeled'
&& contains(github.event.label.name, 'backport')
)
)
steps:
- uses: tibdex/backport@v2
with:
labels_template: "<%= JSON.stringify(labels) %>"
# We can't use GITHUB_TOKEN here or CI won't run on the new PR
github_token: ${{ secrets.ELEMENT_BOT_TOKEN }}
backport:
name: Backport
runs-on: ubuntu-latest
# Only react to merged PRs for security reasons.
# See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
if: >
github.event.pull_request.merged
&& (
github.event.action == 'closed'
|| (
github.event.action == 'labeled'
&& contains(github.event.label.name, 'backport')
)
)
steps:
- uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2
with:
labels_template: "<%= JSON.stringify([...labels, 'X-Release-Blocker']) %>"
# We can't use GITHUB_TOKEN here or CI won't run on the new PR
github_token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,26 +1,46 @@
name: Build
on:
pull_request: { }
push:
branches: [ master ]
pull_request: {}
push:
branches: [develop, master]
# develop pushes and repository_dispatch handled in build_develop.yaml
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
build:
name: "Build"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
build:
name: "Build on ${{ matrix.image }}"
# We build on all 3 platforms to ensure we don't have any OS-specific build incompatibilities
strategy:
fail-fast: false
matrix:
image:
- ubuntu-latest
- windows-latest
- macos-latest
isDevelop:
- ${{ github.event_name == 'push' && github.ref_name == 'develop' }}
# Skip the ubuntu-latest build for the develop branch as the dedicated CD build_develop workflow handles that
exclude:
- isDevelop: true
image: ubuntu-latest
runs-on: ${{ matrix.image }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- uses: actions/setup-node@v4
with:
cache: "yarn"
- name: Install Dependencies
run: "./scripts/layered.sh"
# Workaround for yarn install timeouts, especially on Windows
- run: yarn config set network-timeout 300000
- name: Build
run: "yarn build"
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Build
run: "yarn build"

77
.github/workflows/build_debian.yaml vendored Normal file
View File

@@ -0,0 +1,77 @@
name: Build Debian package
on:
release:
types: [published]
concurrency: ${{ github.workflow }}
jobs:
build:
name: Build package
environment: packages.element.io
runs-on: ubuntu-latest
env:
R2_INCOMING_BUCKET: ${{ vars.R2_INCOMING_BUCKET }}
R2_URL: ${{ vars.CF_R2_S3_API }}
VERSION: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- name: Download package
run: |
wget "https://github.com/vector-im/element-web/releases/download/$VERSION/element-$VERSION.tar.gz"
wget "https://github.com/vector-im/element-web/releases/download/$VERSION/element-$VERSION.tar.gz.asc"
- name: Check GPG signature
run: |
wget "https://packages.element.io/element-release-key.gpg"
gpg --import element-release-key.gpg
gpg --fingerprint "$FINGERPRINT"
gpg --verify "element-$VERSION.tar.gz.asc" "element-$VERSION.tar.gz"
env:
FINGERPRINT: ${{ vars.GPG_FINGERPRINT }}
- name: Prepare
run: |
mkdir -p debian/tmp/DEBIAN
find debian -maxdepth 1 -type f -exec cp "{}" debian/tmp/DEBIAN/ \;
mkdir -p debian/tmp/usr/share/element-web/
tar -xf "element-$VERSION.tar.gz" -C debian/tmp/usr/share/element-web --strip-components=1 --no-same-owner --no-same-permissions
mv debian/tmp/usr/share/element-web/config{.sample,}.json
- name: Write changelog
run: |
VERSION=$(cat package.json | jq -r .version)
TIME=$(date -d "$PUBLISHED_AT" -R)
{
echo "element-web ($VERSION) default; urgency=medium"
echo "$BODY" | sed 's/^##/\n */g;s/^\*/ */g' | perl -pe 's/\[.+?]\((.+?)\)/\1/g'
echo ""
echo " -- $ACTOR <support@element.io> $TIME"
} > debian/tmp/DEBIAN/changelog
env:
ACTOR: ${{ github.actor }}
VERSION: ${{ github.event.release.tag_name }}
BODY: ${{ github.event.release.body }}
PUBLISHED_AT: ${{ github.event.release.published_at }}
- name: Build deb package
run: |
VERSION=$(cat package.json | jq -r .version)
dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog
dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb
- uses: actions/upload-artifact@v3
with:
name: element-web.deb
path: element-web.deb
retention-days: 14
- name: Publish to packages.element.io
if: github.event.release.prerelease == false
uses: vector-im/packages.element.io@master
with:
file: element-web.deb
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
bucket-api: ${{ vars.CF_R2_S3_API }}
bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
bucket-access-key: ${{ secrets.CF_R2_TOKEN }}

View File

@@ -1,53 +1,118 @@
# Separate to the main build workflow for access to develop
# environment secrets, largely similar to build.yaml.
name: Build and Package develop
name: Build and Deploy develop
on:
push:
branches: [ develop ]
repository_dispatch:
types: [ element-web-notify ]
push:
branches: [develop]
repository_dispatch:
types: [element-web-notify]
concurrency:
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true
group: ${{ github.repository_owner }}-${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
build:
name: "Build & Upload source maps to Sentry"
# Only respect triggers from our develop branch, ignore that of forks
if: github.repository == 'vector-im/element-web'
runs-on: ubuntu-latest
environment: develop
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Build, Package & Upload sourcemaps
run: "./scripts/ci_package.sh"
build:
name: "Build & Deploy develop.element.io"
# Only respect triggers from our develop branch, ignore that of forks
if: github.repository == 'vector-im/element-web'
runs-on: ubuntu-latest
environment: develop
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_URL: ${{ secrets.SENTRY_URL }}
SENTRY_ORG: element
SENTRY_PROJECT: riot-web
R2_BUCKET: "element-web-develop"
R2_URL: ${{ vars.CF_R2_S3_API }}
R2_PUBLIC_URL: "https://element-web-develop.element.io"
steps:
- uses: actions/checkout@v4
- run: mv dist/element-*.tar.gz webapp.tar.gz
- name: Wait for other steps to succeed
uses: lewagon/wait-on-check-action@v1.0.0
with:
ref: ${{ github.ref }}
running-workflow-name: 'Build & Upload source maps to Sentry'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
check-regexp: ^((?!SonarQube|issues|board).)*$
- uses: actions/setup-node@v4
with:
cache: "yarn"
- uses: actions/upload-artifact@v3
with:
name: webapp
path: webapp.tar.gz
retention-days: 1
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Build, Package & Upload sourcemaps
run: "./scripts/ci_package.sh"
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_URL: ${{ secrets.SENTRY_URL }}
SENTRY_ORG: element
SENTRY_PROJECT: riot-web
# We only deploy the latest bundles to Cloudflare Pages and use _redirects to fallback to R2 for
# older ones. This redirect means that 'self' is insufficient in the CSP,
# and we have to add the R2 URL.
# Once Cloudflare redirects support proxying mode we will be able to ditch this.
# See Proxying in support table at https://developers.cloudflare.com/pages/platform/redirects
CSP_EXTRA_SOURCE: ${{ env.R2_PUBLIC_URL }}
- run: mv dist/element-*.tar.gz dist/develop.tar.gz
- uses: actions/upload-artifact@v3
with:
name: webapp
path: dist/develop.tar.gz
retention-days: 1
- name: Extract webapp
run: |
mkdir _deploy
tar xf dist/develop.tar.gz -C _deploy --strip-components=1
- name: Copy config
run: cp element.io/develop/config.json _deploy/config.json
- name: Populate 404.html
run: echo "404 Not Found" > _deploy/404.html
- name: Populate _headers
run: cp .github/cfp_headers _deploy/_headers
# Redirect requests for the develop tarball and the historical bundles to R2
# We find the latest 100 bundle.css files and add their bundles to the redirects file
# S3 has no sane way to get the age of a directory as they don't really exist
- name: Populate _redirects
run: |
{
echo "/develop.tar.gz $R2_PUBLIC_URL/develop.tar.gz 301"
aws s3api --region auto --endpoint-url $R2_URL list-objects-v2 --bucket $R2_BUCKET \
--query "sort_by(Contents[?ends_with(Key, '/bundle.css')], &LastModified)[-100:].Key" \
--prefix "bundles/" | jq -r '.[]' | grep -oE '[^\"].*\/\s*' | while read -r path ; do
echo "/${path}* $R2_PUBLIC_URL/${path}:splat 301"
done
} | tee _deploy/_redirects
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
- name: Wait for other steps to succeed
uses: t3chguy/wait-on-check-action@05861d3a448898eb33dfce34153bd1ecb9422fb9 # fork
with:
ref: ${{ github.sha }}
running-workflow-name: "Build & Deploy develop.element.io"
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label).)*$
# We keep the latest develop.tar.gz on R2 instead of relying on the github artifact uploaded earlier
# as the expires after 24h and requires auth to download.
# Element Desktop's fetch script uses this tarball to fetch latest develop to build Nightlies.
- name: Deploy to R2
run: |
aws s3 cp dist/develop.tar.gz s3://$R2_BUCKET/develop.tar.gz --endpoint-url $R2_URL --region=auto
aws s3 cp _deploy/ s3://$R2_BUCKET/ --recursive --endpoint-url $R2_URL --region=auto
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
- name: Deploy to Cloudflare Pages
id: cfp
uses: cloudflare/pages-action@f0a1cd58cd66095dee69bfa18fa5efd1dde93bca # v1
with:
apiToken: ${{ secrets.CF_PAGES_TOKEN }}
accountId: ${{ secrets.CF_PAGES_ACCOUNT_ID }}
projectName: element-web-develop
directory: _deploy
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
- run: |
echo "Deployed to ${{ steps.cfp.outputs.url }}" >> $GITHUB_STEP_SUMMARY

View File

@@ -1,59 +1,76 @@
name: Dockerhub
on:
workflow_dispatch: { }
push:
tags: [ v* ]
schedule:
# This job can take a while, and we have usage limits, so just publish develop only twice a day
- cron: '0 7/12 * * *'
concurrency: ${{ github.ref_name }}
workflow_dispatch: {}
push:
tags: [v*]
schedule:
# This job can take a while, and we have usage limits, so just publish develop only twice a day
- cron: "0 7/12 * * *"
concurrency: ${{ github.workflow }}-${{ github.ref_name }}
jobs:
buildx:
name: Docker Buildx
runs-on: ubuntu-latest
environment: dockerhub
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # needed for docker-package to be able to calculate the version
buildx:
name: Docker Buildx
runs-on: ubuntu-latest
environment: dockerhub
strategy:
fail-fast: false
matrix:
include:
- variant: vanilla
# Variant we ship to aid ESS in providing a build on the OpenCoDE platform including specific modules
- variant: opendesk
flavor: suffix=-opendesk,onlatest=true
prepare: mv variants/openDesk/* .
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # needed for docker-package to be able to calculate the version
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Prepare
if: matrix.prepare
run: ${{ matrix.prepare }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3
with:
install: true
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: |
vectorim/element-web
tags: |
type=ref,event=branch
type=ref,event=tag
- name: Login to Docker Hub
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Docker meta
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5
with:
images: |
vectorim/element-web
tags: |
type=ref,event=branch
type=ref,event=tag
flavor: |
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }}
${{ matrix.flavor }}
- name: Update repo description
uses: peter-evans/dockerhub-description@v2
continue-on-error: true
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: vectorim/element-web
- name: Build and push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
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:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: vectorim/element-web

115
.github/workflows/docs.yml vendored Normal file
View File

@@ -0,0 +1,115 @@
name: Deploy documentation
on:
push:
branches: [develop]
workflow_dispatch: {}
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
name: GitHub Pages
runs-on: ubuntu-latest
steps:
- name: Fetch element-desktop
uses: actions/checkout@v4
with:
repository: vector-im/element-desktop
path: element-desktop
- name: Fetch element-web
uses: actions/checkout@v4
with:
path: element-web
- name: Fetch matrix-react-sdk
uses: actions/checkout@v4
with:
repository: matrix-org/matrix-react-sdk
path: matrix-react-sdk
- name: Fetch matrix-js-sdk
uses: actions/checkout@v4
with:
repository: matrix-org/matrix-js-sdk
path: matrix-js-sdk
- uses: actions/setup-node@v4
with:
cache: "yarn"
cache-dependency-path: element-web/yarn.lock
- name: Generate automations docs
working-directory: element-web
run: |
yarn install --frozen-lockfile
yarn ts-node ./scripts/gen-workflow-mermaid.ts ../element-desktop ../element-web ../matrix-react-sdk ../matrix-js-sdk > docs/automations.md
echo "- [Automations](automations.md)" >> docs/SUMMARY.md
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: "0.4.10"
- name: Install mdbook extensions
run: cargo install mdbook-combiner mdbook-mermaid
- name: Prepare docs
run: |
mkdir docs
mv element-desktop/README.md element-desktop/docs/
mv element-desktop/docs "docs/Element Desktop"
mv element-web/README.md element-web/docs/
mv element-web/docs/lib docs/
mv element-web/docs "docs/Element Web"
mv matrix-react-sdk/README.md matrix-react-sdk/docs/
mv matrix-react-sdk/docs "docs/Matrix React SDK"
mv matrix-js-sdk/README.md matrix-js-sdk/docs/
mv matrix-js-sdk/docs "docs/Matrix JS SDK"
sed -i -e 's/\.\.\/README.md/README.md/' docs/**/SUMMARY.md
mdbook-combiner -m docs
sed -i -E 's/^\t# (.+)$/- [\1]()/gm;t' SUMMARY.md
sed -i -E 's/^- \[(.+)]\(<>\)$/---\n# \1/gm;t' SUMMARY.md
sed -i -E 's/\t- \[Introduction]/- [Introduction]/gm;t' SUMMARY.md
cat <<EOF > docs/SUMMARY.md
# Summary
- [Introduction](<Element Web/README.md>)
EOF
cat SUMMARY.md >> docs/SUMMARY.md
mv element-web/book.toml .
- name: Build docs
run: mdbook build
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: ./book
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

View File

@@ -2,155 +2,155 @@
# For all closed (completed) issues, cascade the closure onto any referenced rageshakes
# For all closed (not planned) issues, comment on rageshakes to move them into the canonical issue if one exists
on:
issues:
types: [ closed ]
issues:
types: [closed]
jobs:
tidy:
name: Tidy closed issues
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
id: main
with:
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
script: |
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
number: context.issue.number,
};
tidy:
name: Tidy closed issues
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
id: main
with:
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
script: |
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
number: context.issue.number,
};
const query = `query($owner:String!, $name:String!, $number:Int!) {
repository(owner: $owner, name: $name) {
issue(number: $number) {
stateReason,
timelineItems(first: 100, itemTypes: [MARKED_AS_DUPLICATE_EVENT, UNMARKED_AS_DUPLICATE_EVENT, CROSS_REFERENCED_EVENT]) {
edges {
node {
__typename
... on MarkedAsDuplicateEvent {
canonical {
... on Issue {
repository {
nameWithOwner
const query = `query($owner:String!, $name:String!, $number:Int!) {
repository(owner: $owner, name: $name) {
issue(number: $number) {
stateReason,
timelineItems(first: 100, itemTypes: [MARKED_AS_DUPLICATE_EVENT, UNMARKED_AS_DUPLICATE_EVENT, CROSS_REFERENCED_EVENT]) {
edges {
node {
__typename
... on MarkedAsDuplicateEvent {
canonical {
... on Issue {
repository {
nameWithOwner
}
number
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
}
... on UnmarkedAsDuplicateEvent {
canonical {
... on Issue {
repository {
nameWithOwner
}
number
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
}
... on CrossReferencedEvent {
source {
... on Issue {
repository {
nameWithOwner
}
number
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
}
}
}
number
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
}
... on UnmarkedAsDuplicateEvent {
canonical {
... on Issue {
repository {
nameWithOwner
}
number
}`;
const result = await github.graphql(query, variables);
const { stateReason, timelineItems: { edges } } = result.repository.issue;
const RAGESHAKE_OWNER = "matrix-org";
const RAGESHAKE_REPO = "element-web-rageshakes";
const rageshakes = new Set();
const duplicateOf = new Set();
console.log("Edges: ", JSON.stringify(edges));
for (const { node } of edges) {
switch(node.__typename) {
case "MarkedAsDuplicateEvent":
duplicateOf.add(node.canonical.repository.nameWithOwner + "#" + node.canonical.number);
break;
case "UnmarkedAsDuplicateEvent":
duplicateOf.remove(node.canonical.repository.nameWithOwner + "#" + node.canonical.number);
break;
case "CrossReferencedEvent":
if (node.source.repository.nameWithOwner === (RAGESHAKE_OWNER + "/" + RAGESHAKE_REPO)) {
rageshakes.add(node.source.number);
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
}
... on CrossReferencedEvent {
source {
... on Issue {
repository {
nameWithOwner
}
number
}
... on PullRequest {
repository {
nameWithOwner
}
number
}
}
break;
}
}
}
}
}
}
}`;
const result = await github.graphql(query, variables);
const { stateReason, timelineItems: { edges } } = result.repository.issue;
console.log("Duplicate of: ", duplicateOf);
console.log("Found rageshakes: ", rageshakes);
const RAGESHAKE_OWNER = "matrix-org";
const RAGESHAKE_REPO = "element-web-rageshakes";
const rageshakes = new Set();
const duplicateOf = new Set();
if (duplicateOf.size) {
const body = Array.from(duplicateOf).join("\n");
console.log("Edges: ", JSON.stringify(edges));
// Comment on all rageshakes to create relationship to the issue this was closed as duplicate of
for (const rageshake of rageshakes) {
github.rest.issues.createComment({
owner: RAGESHAKE_OWNER,
repo: RAGESHAKE_REPO,
issue_number: rageshake,
body,
});
}
for (const { node } of edges) {
switch(node.__typename) {
case "MarkedAsDuplicateEvent":
duplicateOf.add(node.canonical.repository.nameWithOwner + "#" + node.canonical.number);
break;
case "UnmarkedAsDuplicateEvent":
duplicateOf.remove(node.canonical.repository.nameWithOwner + "#" + node.canonical.number);
break;
case "CrossReferencedEvent":
if (node.source.repository.nameWithOwner === (RAGESHAKE_OWNER + "/" + RAGESHAKE_REPO)) {
rageshakes.add(node.source.number);
}
break;
}
}
console.log("Duplicate of: ", duplicateOf);
console.log("Found rageshakes: ", rageshakes);
if (duplicateOf.size) {
const body = Array.from(duplicateOf).join("\n");
// Comment on all rageshakes to create relationship to the issue this was closed as duplicate of
for (const rageshake of rageshakes) {
github.rest.issues.createComment({
owner: RAGESHAKE_OWNER,
repo: RAGESHAKE_REPO,
issue_number: rageshake,
body,
});
}
// Duplicate was closed with wrong reason, fix it
if (stateReason === "COMPLETED") {
core.setOutput("closeAsNotPlanned", "true");
}
} else {
// This issue was closed, close all related rageshakes
for (const rageshake of rageshakes) {
github.rest.issues.update({
owner: RAGESHAKE_OWNER,
repo: RAGESHAKE_REPO,
issue_number: rageshake,
state: "closed",
});
}
}
- uses: actions/github-script@v5
name: Close duplicate as Not Planned
if: steps.main.outputs.closeAsNotPlanned
with:
# We do this step separately, and with the default token so as to not re-trigger this workflow when re-closing
script: |
await github.graphql(`mutation($id:ID!) {
closeIssue(input: { issueId:$id, stateReason:NOT_PLANNED }) {
clientMutationId
}
}`, {
id: context.payload.issue.node_id,
});
// Duplicate was closed with wrong reason, fix it
if (stateReason === "COMPLETED") {
core.setOutput("closeAsNotPlanned", "true");
}
} else {
// This issue was closed, close all related rageshakes
for (const rageshake of rageshakes) {
github.rest.issues.update({
owner: RAGESHAKE_OWNER,
repo: RAGESHAKE_REPO,
issue_number: rageshake,
state: "closed",
});
}
}
- uses: actions/github-script@v6
name: Close duplicate as Not Planned
if: steps.main.outputs.closeAsNotPlanned
with:
# We do this step separately, and with the default token so as to not re-trigger this workflow when re-closing
script: |
await github.graphql(`mutation($id:ID!) {
closeIssue(input: { issueId:$id, stateReason:NOT_PLANNED }) {
clientMutationId
}
}`, {
id: context.payload.issue.node_id,
});

View File

@@ -0,0 +1,10 @@
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
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

11
.github/workflows/localazy_upload.yaml vendored Normal file
View File

@@ -0,0 +1,11 @@
name: Localazy Upload
on:
push:
branches: [develop]
paths:
- "src/i18n/strings/en_EN.json"
jobs:
upload:
uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_upload.yaml@main
secrets:
LOCALAZY_WRITE_KEY: ${{ secrets.LOCALAZY_WRITE_KEY }}

90
.github/workflows/pending-reviews.yaml vendored Normal file
View File

@@ -0,0 +1,90 @@
name: Pending reviews automation
on:
# We run it on a schedule instead of on pull_request_* events to not create confusing messaging in the PR
schedule:
- cron: "*/10 * * * *"
concurrency: ${{ github.workflow }}
jobs:
bot:
name: Pending reviews bot
runs-on: ubuntu-latest
environment: Matrix
env:
URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+review-requested%3A%40me+sort%3Aupdated-desc+"
RELEASE_BLOCKERS_URL: "https://github.com/pulls?q=is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+sort%3Aupdated-desc+label%3AX-Release-Blocker+"
steps:
- uses: actions/github-script@v6
env:
HS_URL: ${{ secrets.BETABOT_HS_URL }}
ROOM_ID: ${{ secrets.ROOM_ID }}
TOKEN: ${{ secrets.BETABOT_ACCESS_TOKEN }}
with:
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
script: |
const { HS_URL, ROOM_ID, TOKEN, URL, RELEASE_BLOCKERS_URL } = process.env;
async function updateCounter(counter, link, severity, title, value, clearOnZero) {
const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${ROOM_ID}/state/re.jki.counter/${counter}`;
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${TOKEN}`,
};
const res = await fetch(apiUrl, {
method: "GET",
headers,
});
const data = await res.json();
if (data.value === issueCount) {
console.log("Pending review count already correct");
return;
}
let body = {};
if (issueCount || !clearOnZero) {
body = JSON.stringify({
link,
severity,
title,
value,
});
}
await fetch(apiUrl, {
method: "PUT",
body,
headers,
});
}
const repos = [
"vector-im/element-desktop",
"vector-im/element-web",
"matrix-org/matrix-react-sdk",
"matrix-org/matrix-js-sdk",
];
const teams = [
"matrix-org/element-web-app-team",
"matrix-org/element-web",
"vector-im/element-web-app-team",
"vector-im/element-web",
];
let issueCount = 0;
for (const team of teams) {
const org = team.split("/", 2)[0];
const reposInOrg = repos.filter(repo => repo.startsWith(org + "/"));
const { data } = await github.rest.search.issuesAndPullRequests({
q: `is:pr is:open review:required ${reposInOrg.map(r => `repo:${r}`).join(" ")} team-review-requested:${team}`,
});
issueCount += data.total_count;
}
await updateCounter("gh_reviews", URL, "warning", "Pending reviews", issueCount);
const { data } = await github.rest.search.issuesAndPullRequests({
q: `is:open ${repos.map(repo => `repo:${repo}`).join(" ")} label:X-Release-Blocker`,
});
const blockerCount = data.total_count;
await updateCounter("release_blockers", RELEASE_BLOCKERS_URL, "alert", "Release Blockers", blockerCount, true);

View File

@@ -1,12 +1,9 @@
name: Pull Request
on:
pull_request_target:
types: [ opened, edited, labeled, unlabeled, synchronize ]
concurrency: ${{ github.workflow }}-${{ github.event.pull_request.head.ref }}
pull_request_target:
types: [opened, edited, labeled, unlabeled, synchronize]
jobs:
action:
uses: matrix-org/matrix-js-sdk/.github/workflows/pull_request.yaml@develop
with:
labels: "T-Defect,T-Enhancement,T-Task"
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
action:
uses: matrix-org/matrix-js-sdk/.github/workflows/pull_request.yaml@develop
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

14
.github/workflows/release-drafter.yml vendored Normal file
View File

@@ -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

14
.github/workflows/release-gitflow.yml vendored Normal file
View File

@@ -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

36
.github/workflows/release.yml vendored Normal file
View File

@@ -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 }}

81
.github/workflows/release_prepare.yml vendored Normal file
View File

@@ -0,0 +1,81 @@
name: Cut branches
on:
workflow_dispatch:
inputs:
element-desktop:
description: Prepare element-desktop
required: true
type: boolean
default: true
element-web:
description: Prepare element-web
required: true
type: boolean
default: true
matrix-react-sdk:
description: Prepare matrix-react-sdk
required: true
type: boolean
default: true
matrix-js-sdk:
description: Prepare matrix-js-sdk
required: true
type: boolean
default: true
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Checkout Element Desktop
uses: actions/checkout@v4
if: inputs.element-desktop
with:
repository: vector-im/element-desktop
path: element-desktop
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Element Web
uses: actions/checkout@v4
if: inputs.element-web
with:
repository: vector-im/element-web
path: element-web
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Matrix React SDK
uses: actions/checkout@v4
if: inputs.matrix-react-sdk
with:
repository: matrix-org/matrix-react-sdk
path: matrix-react-sdk
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Matrix JS SDK
uses: actions/checkout@v4
if: inputs.matrix-js-sdk
with:
repository: matrix-org/matrix-js-sdk
path: matrix-js-sdk
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Resolve repos
run: |
echo "REPOS=$(ls . | tr '\n' ' ')" >> $GITHUB_ENV
- name: Merge develop
run: |
git config --global user.email "releases@riot.im"
git config --global user.name "RiotRobot"
for REPO in $REPOS; do git -C "$REPO" merge origin/develop; done
- name: Push staging
run: for REPO in $REPOS; do git -C "$REPO" push origin staging; done

View File

@@ -1,15 +1,15 @@
name: SonarQube
on:
workflow_run:
workflows: [ "Tests" ]
types:
- completed
workflow_run:
workflows: ["Tests"]
types:
- completed
concurrency:
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true
jobs:
sonarqube:
name: 🩻 SonarQube
uses: matrix-org/matrix-js-sdk/.github/workflows/sonarcloud.yml@develop
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
sonarqube:
name: 🩻 SonarQube
uses: matrix-org/matrix-js-sdk/.github/workflows/sonarcloud.yml@develop
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

View File

@@ -1,116 +1,81 @@
name: Static Analysis
on:
pull_request: { }
push:
branches: [ develop, master ]
repository_dispatch:
types: [ element-web-notify ]
pull_request: {}
push:
branches: [develop, master]
repository_dispatch:
types: [element-web-notify]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
ts_lint:
name: "Typescript Syntax Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
ts_lint:
name: "Typescript Syntax Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- uses: actions/setup-node@v4
with:
cache: "yarn"
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Typecheck
run: "yarn run lint:types"
- name: Typecheck
run: "yarn run lint:types"
i18n_lint:
name: "i18n Check"
uses: matrix-org/matrix-react-sdk/.github/workflows/i18n_check.yml@develop
i18n_lint:
name: "i18n Check"
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
js_lint:
name: "ESLint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
js_lint:
name: "ESLint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- uses: actions/setup-node@v4
with:
cache: "yarn"
# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install --pure-lockfile"
# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install --frozen-lockfile"
- name: Run Linter
run: "yarn run lint:js"
- name: Run Linter
run: "yarn run lint:js"
style_lint:
name: "Style Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
style_lint:
name: "Style Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- uses: actions/setup-node@v4
with:
cache: "yarn"
# Needs branch matching as it inherits .stylelintrc.js from matrix-react-sdk
- name: Install Dependencies
run: "./scripts/layered.sh"
# Needs branch matching as it inherits .stylelintrc.js from matrix-react-sdk
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Run Linter
run: "yarn run lint:style"
- name: Run Linter
run: "yarn run lint:style"
analyse_dead_code:
name: "Analyse Dead Code"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
analyse_dead_code:
name: "Analyse Dead Code"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- uses: actions/setup-node@v4
with:
cache: "yarn"
- name: Install Deps
run: "scripts/layered.sh"
- name: Install Deps
run: "scripts/layered.sh"
- name: Dead Code Analysis
run: "yarn run analyse:unused-exports"
tsc-strict:
name: Typescript Strict Error Checker
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
pull-requests: read
checks: write
steps:
- uses: actions/checkout@v3
- name: Get diff lines
id: diff
uses: Equip-Collaboration/diff-line-numbers@v1.0.0
with:
include: '["\\.tsx?$"]'
- name: Detecting files changed
id: files
uses: futuratrepadeira/changed-files@v3.2.1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pattern: '^.*\.tsx?$'
- uses: t3chguy/typescript-check-action@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
use-check: false
check-fail-mode: added
output-behaviour: annotate
ts-extra-args: '--strict'
files-changed: ${{ steps.files.outputs.files_updated }}
files-added: ${{ steps.files.outputs.files_created }}
files-deleted: ${{ steps.files.outputs.files_deleted }}
line-numbers: ${{ steps.diff.outputs.lineNumbers }}
- name: Dead Code Analysis
run: "yarn run analyse:unused-exports"

View File

@@ -1,37 +1,41 @@
name: Tests
on:
pull_request: { }
push:
branches: [ develop, master ]
repository_dispatch:
types: [ element-web-notify ]
pull_request: {}
push:
branches: [develop, master]
repository_dispatch:
types: [element-web-notify]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
jest:
name: Jest
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
jest:
name: Jest
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Yarn cache
uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Yarn cache
uses: actions/setup-node@v4
with:
cache: "yarn"
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Install Dependencies
run: "./scripts/layered.sh"
- name: Run tests with coverage
run: "yarn coverage --ci"
- name: Get number of CPU cores
id: cpu-cores
uses: SimenB/github-actions-cpu-cores@97ba232459a8e02ff6121db9362b09661c875ab8 # v2
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: coverage
path: |
coverage
!coverage/lcov-report
- name: Run tests with coverage
run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}"
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: coverage
path: |
coverage
!coverage/lcov-report

View File

@@ -1,18 +1,18 @@
name: Move issued assigned to specific team members to their boards
on:
issues:
types: [ assigned ]
issues:
types: [assigned]
jobs:
web-app-team:
runs-on: ubuntu-latest
if: |
contains(github.event.issue.assignees.*.login, 't3chguy') ||
contains(github.event.issue.assignees.*.login, 'turt2live')
steps:
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
with:
project: Web App Team
column: "In Progress"
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
web-app-team:
runs-on: ubuntu-latest
if: |
contains(github.event.issue.assignees.*.login, 't3chguy') ||
contains(github.event.issue.assignees.*.login, 'andybalaam') ||
contains(github.event.issue.assignees.*.login, 'MidhunSureshR')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/67
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,15 +1,15 @@
name: Move new issues into Issue triage board
on:
issues:
types: [ opened ]
issues:
types: [opened]
jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
with:
project: Issue triage
column: Incoming
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
with:
project: Issue triage
column: Incoming
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,255 +1,166 @@
name: Move labelled issues to correct projects
on:
issues:
types: [labeled]
issues:
types: [labeled]
workflow_call:
secrets:
ELEMENT_BOT_TOKEN:
required: true
jobs:
apply_Z-Labs_label:
name: Add Z-Labs label for features behind labs flags
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
contains(github.event.issue.labels.*.name, 'A-Video-Rooms') ||
contains(github.event.issue.labels.*.name, 'A-Message-Starring')
steps:
- uses: actions/github-script@v5
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['Z-Labs']
})
apply_Z-Labs_label:
name: Add Z-Labs label for features behind labs flags
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
contains(github.event.issue.labels.*.name, 'A-Video-Rooms') ||
contains(github.event.issue.labels.*.name, 'A-Message-Starring') ||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') ||
contains(github.event.issue.labels.*.name, 'A-Element-Call') ||
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['Z-Labs']
})
move_needs_info_issues:
name: X-Needs-Info issues to Need info column on triage board
runs-on: ubuntu-latest
steps:
- uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338
with:
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
project-url: "https://github.com/vector-im/element-web/projects/27"
column-name: "Need info"
label-name: "X-Needs-Info"
apply_Help-Wanted_label:
name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'good first issue') ||
contains(github.event.issue.labels.*.name, 'Hacktoberfest')
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['Help Wanted']
})
add_priority_design_issues_to_project:
name: P1 X-Needs-Design to Design project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'X-Needs-Design')
steps:
- uses: octokit/graphql-action@v2.x
id: add_to_project
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc0sUA"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_needs_info_issues:
name: X-Needs-Info issues to Need info column on triage board
runs-on: ubuntu-latest
steps:
- uses: konradpabjan/move-labeled-or-milestoned-issue@190352295fe309fcb113b49193bc81d9aaa9cb01
with:
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
project-url: "https://github.com/vector-im/element-web/projects/27"
column-name: "Need info"
label-name: "X-Needs-Info"
add_product_issues:
name: X-Needs-Product to Design project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'X-Needs-Product')
steps:
- uses: octokit/graphql-action@v2.x
id: add_to_project
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
add_priority_design_issues_to_project:
name: P1 X-Needs-Design to Design project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
contains(github.event.issue.labels.*.name, 'S-Major') &&
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
contains(github.event.issue.labels.*.name, 'A11y'))
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/18
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
add_product_issues:
name: X-Needs-Product to product project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'X-Needs-Product')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/28
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
Delight_issues_to_board:
name: Delight issues to project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') ||
(contains(github.event.issue.labels.*.name, 'A-Threads') &&
(contains(github.event.issue.labels.*.name, 'S-Major') ||
contains(github.event.issue.labels.*.name, 'S-Critical'))) ||
contains(github.event.issue.labels.*.name, 'Team: Delight') ||
contains(github.event.issue.labels.*.name, 'Z-NewUserJourney')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc1HvQ"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
Search_issues_to_board:
name: Search issues to project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4ADtaO"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
name: Search issues to project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/48
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_voice-message_issues:
name: A-Voice Messages to voice message board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Voice Messages')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc2KCw"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
voip:
name: Add labelled issues to VoIP project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Team: VoIP')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/41
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_threads_issues:
name: A-Threads to Thread board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Threads')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc0rRA"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
verticals_feature:
name: Add labelled issues to Verticals Feature project
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Team: Verticals Feature')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/57
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_message_bubbles_issues:
name: A-Message-Bubbles to Message bubbles board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc3m-g"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
tech_debt:
name: Add labelled issues to tech debt project
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Developer-Experience') ||
contains(github.event.issue.labels.*.name, 'A-Documentation') ||
contains(github.event.issue.labels.*.name, 'A-Packaging') ||
contains(github.event.issue.labels.*.name, 'A-Technical-Debt') ||
contains(github.event.issue.labels.*.name, 'A-Testing') ||
contains(github.event.issue.labels.*.name, 'Z-Flaky-Test')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/101
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_ftue_issues:
name: Z-FTUE issues to the FTUE project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Z-FTUE')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAqVx"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
element_r:
name: Add Element R issues to Crypto Team board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- id: add_to_project
uses: actions/add-to-project@v0.5.0
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_WTF_issues:
name: Z-WTF issues to the WTF project board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Z-WTF')
steps:
- uses: octokit/graphql-action@v2.x
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
- id: set_fields
uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step
field-keys: Workstream,module
field-values: Element-R,web
env:
PROJECT_ID: "PN_kwDOAM0swc4AArk0"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
PROJECT_URL: https://github.com/orgs/vector-im/projects/76

View File

@@ -1,139 +1,139 @@
name: Move pull requests asking for review to the relevant project
on:
pull_request_target:
types: [ review_requested ]
pull_request_target:
types: [review_requested]
jobs:
add_design_pr_to_project:
name: Move PRs asking for design review to the design board
runs-on: ubuntu-latest
steps:
- uses: octokit/graphql-action@v2.x
id: find_team_members
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
team(slug: $team) {
members {
nodes {
login
}
}
}
}
}
team: ${{ env.TEAM }}
env:
TEAM: "design"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
- id: any_matching_reviewers
run: |
# Fetch requested reviewers, and people who are on the team
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
add_design_pr_to_project:
name: Move PRs asking for design review to the design board
runs-on: ubuntu-latest
steps:
- uses: octokit/graphql-action@v2.x
id: find_team_members
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
team(slug: $team) {
members {
nodes {
login
}
}
}
}
}
team: ${{ env.TEAM }}
env:
TEAM: "design"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
- id: any_matching_reviewers
run: |
# Fetch requested reviewers, and people who are on the team
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
# Fetch requested team reviewers, and the name of the team
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
echo '${{ env.TEAM }}' | tee /tmp/team.txt
# Fetch requested team reviewers, and the name of the team
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
echo '${{ env.TEAM }}' | tee /tmp/team.txt
# If either a reviewer matches a team member, or a team matches our team, say "true"
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
echo "::set-output name=match::true"
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
echo "::set-output name=match::true"
else
echo "::set-output name=match::false"
fi
env:
TEAM: "design"
- uses: octokit/graphql-action@v2.x
id: add_to_project
if: steps.any_matching_reviewers.outputs.match == 'true'
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!, $contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc0sUA"
TEAM: "design"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
# If either a reviewer matches a team member, or a team matches our team, say "true"
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
echo "match=true" >> $GITHUB_OUTPUT
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
echo "match=true" >> $GITHUB_OUTPUT
else
echo "match=false" >> $GITHUB_OUTPUT
fi
env:
TEAM: "design"
- uses: octokit/graphql-action@v2.x
id: add_to_project
if: steps.any_matching_reviewers.outputs.match == 'true'
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!, $contentid:ID!) {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PVT_kwDOAM0swc0sUA"
TEAM: "design"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
add_product_pr_to_project:
name: Move PRs asking for design review to the design board
runs-on: ubuntu-latest
steps:
- uses: octokit/graphql-action@v2.x
id: find_team_members
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
team(slug: $team) {
members {
nodes {
login
}
}
}
}
}
team: ${{ env.TEAM }}
env:
TEAM: "product"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
- id: any_matching_reviewers
run: |
# Fetch requested reviewers, and people who are on the team
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
add_product_pr_to_project:
name: Move PRs asking for design review to the design board
runs-on: ubuntu-latest
steps:
- uses: octokit/graphql-action@v2.x
id: find_team_members
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
team(slug: $team) {
members {
nodes {
login
}
}
}
}
}
team: ${{ env.TEAM }}
env:
TEAM: "product"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
- id: any_matching_reviewers
run: |
# Fetch requested reviewers, and people who are on the team
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
# Fetch requested team reviewers, and the name of the team
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
echo '${{ env.TEAM }}' | tee /tmp/team.txt
# Fetch requested team reviewers, and the name of the team
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
echo '${{ env.TEAM }}' | tee /tmp/team.txt
# If either a reviewer matches a team member, or a team matches our team, say "true"
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
echo "::set-output name=match::true"
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
echo "::set-output name=match::true"
else
echo "::set-output name=match::false"
fi
env:
TEAM: "product"
- uses: octokit/graphql-action@v2.x
id: add_to_project
if: steps.any_matching_reviewers.outputs.match == 'true'
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!, $contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
TEAM: "product"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
# If either a reviewer matches a team member, or a team matches our team, say "true"
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
echo "match=true" >> $GITHUB_OUTPUT
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
echo "match=true" >> $GITHUB_OUTPUT
else
echo "match=false" >> $GITHUB_OUTPUT
fi
env:
TEAM: "product"
- uses: octokit/graphql-action@v2.x
id: add_to_project
if: steps.any_matching_reviewers.outputs.match == 'true'
with:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!, $contentid:ID!) {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
}
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PVT_kwDOAM0swc4AAg6N"
TEAM: "product"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,30 +0,0 @@
name: Move P1 bugs to boards
on:
issues:
types: [labeled, unlabeled]
jobs:
P1_issues_to_crypto_team_workboard:
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Z-UISI') ||
(contains(github.event.issue.labels.*.name, 'A-E2EE') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Cross-Signing') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification')) &&
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
contains(github.event.issue.labels.*.name, 'S-Critical') &&
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
contains(github.event.issue.labels.*.name, 'S-Major') &&
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
contains(github.event.issue.labels.*.name, 'A11y') &&
contains(github.event.issue.labels.*.name, 'O-Frequent'))
steps:
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
with:
project: Crypto Team
column: Ready
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,71 +1,71 @@
name: Move unlabelled from needs info columns to triaged
on:
issues:
types: [ unlabeled ]
issues:
types: [unlabeled]
jobs:
Move_Unabeled_Issue_On_Project_Board:
name: Move no longer X-Needs-Info issues to Triaged
runs-on: ubuntu-latest
if: >
${{
!contains(github.event.issue.labels.*.name, 'X-Needs-Info') }}
env:
BOARD_NAME: "Issue triage"
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
ISSUE: ${{ github.event.issue.number }}
steps:
- name: Check if issue is already in "${{ env.BOARD_NAME }}"
run: |
json=$(curl -s -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } isArchived } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql)
if echo $json | jq '.data.repository.issue.projectCards.nodes | length'; then
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].project.name') =~ "${BOARD_NAME}" ]]; then
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].isArchived') == 'true' ]]; then
echo "Issue is already in Project '$BOARD_NAME', but is archived - skipping workflow";
echo "SKIP_ACTION=true" >> $GITHUB_ENV
else
echo "Issue is already in Project '$BOARD_NAME', proceeding";
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
fi
else
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
fi
fi
- name: Move issue
uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }}
with:
project: Issue triage
column: Triaged
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
Move_Unabeled_Issue_On_Project_Board:
name: Move no longer X-Needs-Info issues to Triaged
runs-on: ubuntu-latest
if: >
${{
!contains(github.event.issue.labels.*.name, 'X-Needs-Info') }}
env:
BOARD_NAME: "Issue triage"
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
ISSUE: ${{ github.event.issue.number }}
steps:
- name: Check if issue is already in "${{ env.BOARD_NAME }}"
run: |
json=$(curl -s -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } isArchived } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql)
if echo $json | jq '.data.repository.issue.projectCards.nodes | length'; then
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].project.name') =~ "${BOARD_NAME}" ]]; then
if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].isArchived') == 'true' ]]; then
echo "Issue is already in Project '$BOARD_NAME', but is archived - skipping workflow";
echo "SKIP_ACTION=true" >> $GITHUB_ENV
else
echo "Issue is already in Project '$BOARD_NAME', proceeding";
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
fi
else
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
fi
fi
- name: Move issue
uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }}
with:
project: Issue triage
column: Triaged
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
remove_Z-Labs_label:
name: Remove Z-Labs label when features behind labs flags are removed
runs-on: ubuntu-latest
if: >
!(contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-Threads') ||
contains(github.event.issue.labels.*.name, 'A-Polls') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
contains(github.event.issue.labels.*.name, 'A-Video-Rooms') ||
contains(github.event.issue.labels.*.name, 'A-Message-Starring')) &&
contains(github.event.issue.labels.*.name, 'Z-Labs')
steps:
- uses: actions/github-script@v5
with:
script: |
github.rest.issues.removeLabel({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: ['Z-Labs']
})
remove_Z-Labs_label:
name: Remove Z-Labs label when features behind labs flags are removed
runs-on: ubuntu-latest
if: >
!(contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
contains(github.event.issue.labels.*.name, 'A-Video-Rooms') ||
contains(github.event.issue.labels.*.name, 'A-Message-Starring') ||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') ||
contains(github.event.issue.labels.*.name, 'A-Element-Call')) &&
contains(github.event.issue.labels.*.name, 'Z-Labs')
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.removeLabel({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: ['Z-Labs']
})

102
.github/workflows/update-topics.yaml vendored Normal file
View File

@@ -0,0 +1,102 @@
name: Update release topics
on:
workflow_dispatch:
inputs:
expected_status:
description: What type of release is the next expected release
required: true
default: RC
type: choice
options:
- RC
- Release
expected_date:
description: Expected release date e.g. July 11th
required: true
type: string
concurrency: ${{ github.workflow }}
jobs:
bot:
name: Release topic update
runs-on: ubuntu-latest
environment: Matrix
steps:
- uses: actions/github-script@v6
env:
HS_URL: ${{ secrets.BETABOT_HS_URL }}
LOBBY_ROOM_ID: ${{ secrets.ROOM_ID }}
PUBLIC_ROOM_ID: "!YTvKGNlinIzlkMTVRl:matrix.org"
ANNOUNCEMENT_ROOM_ID: "!bijaLdadorKgNGtHdA:matrix.org"
TOKEN: ${{ secrets.BETABOT_ACCESS_TOKEN }}
RELEASE_STATUS: "Release status: ${{ inputs.expected_status }} expected ${{ inputs.expected_date }}"
with:
script: |
const { HS_URL, TOKEN, RELEASE_STATUS, LOBBY_ROOM_ID, PUBLIC_ROOM_ID, ANNOUNCEMENT_ROOM_ID } = process.env;
const repo = context.repo;
const { data } = await github.rest.repos.getLatestRelease({
owner: repo.owner,
repo: repo.repo,
});
console.log("Found latest version: " + data.tag_name);
const releaseTopic = `Stable: ${data.tag_name} | ${RELEASE_STATUS}`;
console.log("Release topic: " + releaseTopic);
const regex = /Stable: v(.+) \| Release status: (\w+) expected (\w+ \d+\w\w)/gm;
async function updateReleaseInTopic(roomId) {
const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${roomId}/state/m.room.topic/`;
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${TOKEN}`,
};
await fetch(`${HS_URL}/_matrix/client/v3/rooms/${roomId}/join`, {
method: "POST",
headers,
body: "{}",
});
let res = await fetch(apiUrl, {
method: "GET",
headers,
});
if (!res.ok) {
console.log(roomId, "failed to fetch", await res.text());
return;
}
const data = await res.json();
console.log(roomId, "got event", data);
const topic = data.topic.replace(regex, releaseTopic);
if (topic === data.topic) {
console.log(roomId, "nothing to do");
return;
}
if (data["org.matrix.msc3765.topic"]) {
data["org.matrix.msc3765.topic"].forEach(d => {
d.body = d.body.replace(regex, releaseTopic);
});
}
res = await fetch(apiUrl, {
method: "PUT",
body: JSON.stringify({
...data,
topic,
}),
headers,
});
if (res.ok) {
console.log(roomId, "topic updated:", topic);
} else {
console.log(roomId, await res.text());
}
}
await updateReleaseInTopic(LOBBY_ROOM_ID);
await updateReleaseInTopic(PUBLIC_ROOM_ID);
await updateReleaseInTopic(ANNOUNCEMENT_ROOM_ID);

View File

@@ -1,8 +0,0 @@
name: Upgrade Dependencies
on:
workflow_dispatch: { }
jobs:
upgrade:
uses: matrix-org/matrix-js-sdk/.github/workflows/upgrade_dependencies.yml@develop
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

2
.gitignore vendored
View File

@@ -27,3 +27,5 @@ electron/pub
# Auto-generated file
/src/modules.ts
/build_config.yaml
/book
/index.html

View File

@@ -1,36 +1,36 @@
{
"minify": true,
"enableClasses": false,
"feature-detects": [
"test/css/animations",
"test/css/displaytable",
"test/css/filters",
"test/css/flexbox",
"test/css/objectfit",
"minify": true,
"enableClasses": false,
"feature-detects": [
"test/css/animations",
"test/css/displaytable",
"test/css/filters",
"test/css/flexbox",
"test/css/objectfit",
"test/es5/date",
"test/es5/function",
"test/es5/object",
"test/es5/undefined",
"test/es5/date",
"test/es5/function",
"test/es5/object",
"test/es5/undefined",
"test/es6/array",
"test/es6/collections",
"test/es6/promises",
"test/es6/string",
"test/es6/array",
"test/es6/collections",
"test/es6/promises",
"test/es6/string",
"test/svg",
"test/svg/asimg",
"test/svg/filters",
"test/svg",
"test/svg/asimg",
"test/svg/filters",
"test/url/parser",
"test/url/urlsearchparams",
"test/url/parser",
"test/url/urlsearchparams",
"test/cors",
"test/crypto",
"test/iframe/sandbox",
"test/json",
"test/network/fetch",
"test/storage/localstorage",
"test/window/resizeobserver"
]
"test/cors",
"test/crypto",
"test/iframe/sandbox",
"test/json",
"test/network/fetch",
"test/storage/localstorage",
"test/window/resizeobserver"
]
}

28
.prettierignore Normal file
View File

@@ -0,0 +1,28 @@
/build
/dist
/lib
/node_modules
/packages/
/webapp
/*.log
yarn.lock
electron/dist
electron/pub
**/.idea
/.tmp
/webpack-stats.json
.vscode
.vscode/
.env
/coverage
# Auto-generated file
/src/modules.ts
/src/i18n/strings
/build_config.yaml
# Raises an error because it contains a template var breaking the script tag
src/vector/index.html
src/vector/modernizr.js
/docs/lib
# This file is owned, parsed, and generated by allchange, which doesn't comply with prettier
/CHANGELOG.md

1
.prettierrc.js Normal file
View File

@@ -0,0 +1 @@
module.exports = require("eslint-plugin-matrix-org/.prettierrc.js");

View File

View File

@@ -1,3 +1,4 @@
module.exports = {
...require("matrix-react-sdk/.stylelintrc.js"),
extends: ["stylelint-config-standard"],
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
Contributing code to Element Web
================================
# Contributing code to Element Web
Everyone is welcome to contribute code to Element Web, provided that they are
willing to license their contributions under the same license as the project
@@ -9,8 +8,7 @@ license the code under the same terms as the project's overall 'outbound'
license - in this case, Apache Software License v2 (see
[LICENSE](LICENSE)).
How to contribute
-----------------
## How to contribute
The preferred and easiest way to contribute changes to the project is to fork
it on github, and then create a pull request to ask us to pull your changes
@@ -19,39 +17,48 @@ into our repo (https://help.github.com/articles/using-pull-requests/)
We use GitHub's pull request workflow to review the contribution, and either
ask you to make any refinements needed or merge it and make them ourselves.
Things that should go into your PR description:
* A changelog entry in the `Notes` section (see below)
* References to any bugs fixed by the change (in GitHub's `Fixes` notation)
* Describe the why and what is changing in the PR description so it's easy for
onlookers and reviewers to onboard and context switch. This information is
also helpful when we come back to look at this in 6 months and ask "why did
we do it like that?" we have a chance of finding out.
* Why didn't it work before? Why does it work now? What use cases does it
Your PR should have a title that describes what change is being made. This
is used for the text in the Changelog entry by default (see below), so a good
title will tell a user succinctly what change is being made. "Fix bug where
cows had five legs" and, "Add support for miniature horses" are examples of good
titles. Don't include an issue number here: that belongs in the description.
Definitely don't use the GitHub default of "Update file.ts".
As for your PR description, it should include these things:
- References to any bugs fixed by the change (in GitHub's `Fixes` notation)
- Describe the why and what is changing in the PR description so it's easy for
onlookers and reviewers to onboard and context switch. This information is
also helpful when we come back to look at this in 6 months and ask "why did
we do it like that?" we have a chance of finding out.
- Why didn't it work before? Why does it work now? What use cases does it
unlock?
* If you find yourself adding information on how the code works or why you
- If you find yourself adding information on how the code works or why you
chose to do it the way you did, make sure this information is instead
written as comments in the code itself.
* Sometimes a PR can change considerably as it is developed. In this case,
- Sometimes a PR can change considerably as it is developed. In this case,
the description should be updated to reflect the most recent state of
the PR. (It can be helpful to retain the old content under a suitable
heading, for additional context.)
* Include both **before** and **after** screenshots to easily compare and discuss
what's changing.
* Include a step-by-step testing strategy so that a reviewer can check out the
code locally and easily get to the point of testing your change.
* Add comments to the diff for the reviewer that might help them to understand
why the change is necessary or how they might better understand and review it.
- Include both **before** and **after** screenshots to easily compare and discuss
what's changing.
- Include a step-by-step testing strategy so that a reviewer can check out the
code locally and easily get to the point of testing your change.
- Add comments to the diff for the reviewer that might help them to understand
why the change is necessary or how they might better understand and review it.
We rely on information in pull request to populate the information that goes into
the changelogs our users see, both for Element Web itself and other projects on
which it is based. This is picked up from both labels on the pull request and
the `Notes:` annotation in the description. By default, the PR title will be
used for the changelog entry, but you can specify more options, as follows.
### Changelogs
There's no need to manually add Changelog entries: we use information in the
pull request to populate the information that goes into the changelogs our
users see, both for Element Web itself and other projects on which it is based.
This is picked up from both labels on the pull request and the `Notes:`
annotation in the description. By default, the PR title will be used for the
changelog entry, but you can specify more options, as follows.
To add a longer, more detailed description of the change for the changelog:
*Fix llama herding bug*
_Fix llama herding bug_
```
Notes: Fix a bug (https://github.com/matrix-org/notaproject/issues/123) where the 'Herd' button would not herd more than 8 Llamas if the moon was in the waxing gibbous phase
@@ -60,7 +67,8 @@ Notes: Fix a bug (https://github.com/matrix-org/notaproject/issues/123) where th
For some PRs, it's not useful to have an entry in the user-facing changelog (this is
the default for PRs labelled with `T-Task`):
*Remove outdated comment from `Ungulates.ts`*
_Remove outdated comment from `Ungulates.ts`_
```
Notes: none
```
@@ -68,16 +76,18 @@ Notes: none
Sometimes, you're fixing a bug in a downstream project, in which case you want
an entry in that project's changelog. You can do that too:
*Fix another herding bug*
_Fix another herding bug_
```
Notes: Fix a bug where the `herd()` function would only work on Tuesdays
element-web notes: Fix a bug where the 'Herd' button only worked on Tuesdays
```
This example is for Element Web. You can specify:
* matrix-react-sdk
* element-web
* element-desktop
- matrix-react-sdk
- element-web
- element-desktop
If your PR introduces a breaking change, use the `Notes` section in the same
way, additionally adding the `X-Breaking-Change` label (see below). There's no need
@@ -85,17 +95,18 @@ to specify in the notes that it's a breaking change - this will be added
automatically based on the label - but remember to tell the developer how to
migrate:
*Remove legacy class*
_Remove legacy class_
```
Notes: Remove legacy `Camelopard` class. `Giraffe` should be used instead.
```
Other metadata can be added using labels.
* `X-Breaking-Change`: A breaking change - adding this label will mean the change causes a *major* version bump.
* `T-Enhancement`: A new feature - adding this label will mean the change causes a *minor* version bump.
* `T-Defect`: A bug fix (in either code or docs).
* `T-Task`: No user-facing changes, eg. code comments, CI fixes, refactors or tests. Won't have a changelog entry unless you specify one.
- `X-Breaking-Change`: A breaking change - adding this label will mean the change causes a _major_ version bump.
- `T-Enhancement`: A new feature - adding this label will mean the change causes a _minor_ version bump.
- `T-Defect`: A bug fix (in either code or docs).
- `T-Task`: No user-facing changes, eg. code comments, CI fixes, refactors or tests. Won't have a changelog entry unless you specify one.
If you don't have permission to add labels, your PR reviewer(s) can work with you
to add them: ask in the PR description or comments.
@@ -104,8 +115,8 @@ We use continuous integration, and all pull requests get automatically tested:
if your change breaks the build, then the PR will show that there are failed
checks, so please check back after a few minutes.
Tests
-----
## Tests
Your PR should include tests.
For new user facing features in `matrix-js-sdk`, `matrix-react-sdk` or `element-web`, you
@@ -129,7 +140,7 @@ end-to-end test; which is best depends on what sort of test most concisely
exercises the area.
Changes to must be accompanied by unit tests written in Jest.
These are located in `/spec/` in `matrix-js-sdk` or `/test/` in `element-web`
These are located in `/spec/` in `matrix-js-sdk` or `/test/` in `element-web`
and `matrix-react-sdk`.
When writing unit tests, please aim for a high level of test coverage
@@ -139,6 +150,7 @@ why it's not possible in your PR.
Some sections of code are not sensible to add coverage for, such as those
which explicitly inhibit noisy logging for tests. Which can be hidden using
an istanbul magic comment as [documented here][1]. See example:
```javascript
/* istanbul ignore if */
if (process.env.NODE_ENV !== "test") {
@@ -160,8 +172,8 @@ tests later will become progressively more difficult.
If you're not sure how to approach writing tests for your change, ask for help
in [#element-dev](https://matrix.to/#/#element-dev:matrix.org).
Code style
----------
## Code style
Element Web aims to target TypeScript/ES6. All new files should be written in
TypeScript and existing files should use ES6 principles where possible.
@@ -174,11 +186,11 @@ The remaining code style is documented in [code_style.md](./code_style.md).
Contributors are encouraged to it and follow the principles set out there.
Please ensure your changes match the cosmetic style of the existing project,
and ***never*** mix cosmetic and functional changes in the same commit, as it
and **_never_** mix cosmetic and functional changes in the same commit, as it
makes it horribly hard to review otherwise.
Attribution
-----------
## Attribution
Everyone who contributes anything to Matrix is welcome to be listed in the
AUTHORS.rst file for the project in question. Please feel free to include a
change to AUTHORS.rst in your pull request to list yourself and a short
@@ -187,12 +199,12 @@ give away to contributors - if you feel that Matrix-branded apparel is missing
from your life, please mail us your shipping address to matrix at matrix.org
and we'll try to fix it :)
Sign off
--------
## Sign off
In order to have a concrete record that your contribution is intentional
and you agree to license it under the same terms as the project's license, we've
adopted the same lightweight approach that the Linux Kernel
(https://www.kernel.org/doc/Documentation/SubmittingPatches), Docker
(https://www.kernel.org/doc/html/latest/process/submitting-patches.html), Docker
(https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other
projects use: the DCO (Developer Certificate of Origin:
http://developercertificate.org/). This is a simple declaration that you wrote
@@ -259,19 +271,16 @@ on Git 2.17+ you can mass signoff using rebase:
git rebase --signoff origin/develop
```
Review expectations
===================
# Review expectations
See https://github.com/vector-im/element-meta/wiki/Review-process
Merge Strategy
==============
# Merge Strategy
The preferred method for merging pull requests is squash merging to keep the
commit history trim, but it is up to the discretion of the team member merging
the change. We do not support rebase merges due to `allchange` being unable to
handle them. When merging make sure to leave the default commit title, or
handle them. When merging make sure to leave the default commit title, or
at least leave the PR number at the end in brackets like by default.
When stacking pull requests, you may wish to do the following:
@@ -279,5 +288,11 @@ When stacking pull requests, you may wish to do the following:
2. Branch from your base branch (branch1) to your work branch (branch2), push commits and open a pull request configuring the base to be branch1, saying in the description that it is based on your other PR.
3. Merge the first PR using a merge commit otherwise your stacked PR will need a rebase. Github will automatically adjust the base branch of your other PR to be develop.
[1]: https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md
# Decoding Stack Traces
Element Web has crashed and given you an obfuscated stack trace? Don't panic:
use the [Decoder Ring](https://app.element.io/decoder-ring/) (or /decoder-ring/
on any Element Web deploy). It is somewhat of a manual process, but it should
tell you what lines the stack trace corresponds to from the source maps.

View File

@@ -1,5 +1,5 @@
# Builder
FROM node:14-buster as builder
FROM --platform=$BUILDPLATFORM node:20-bullseye as builder
# Support custom branches of the react-sdk and js-sdk. This also helps us build
# images of element-web develop.
@@ -15,7 +15,7 @@ WORKDIR /src
COPY . /src
RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
RUN yarn --network-timeout=100000 install
RUN yarn --network-timeout=200000 install
RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh
@@ -23,7 +23,7 @@ RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.
RUN cp /src/config.sample.json /src/webapp/config.json
# App
FROM nginx:alpine
FROM nginx:alpine-slim
COPY --from=builder /src/webapp /app

147
README.md
View File

@@ -1,43 +1,41 @@
[![Chat](https://img.shields.io/matrix/element-web:matrix.org?logo=matrix)](https://matrix.to/#/#element-web:matrix.org)
![Tests](https://github.com/vector-im/element-web/actions/workflows/tests.yaml/badge.svg)
![Static Analysis](https://github.com/vector-im/element-web/actions/workflows/static_analysis.yaml/badge.svg)
[![Weblate](https://translate.element.io/widgets/element-web/-/element-web/svg-badge.svg)](https://translate.element.io/engage/element-web/)
[![Localazy](https://img.shields.io/endpoint?url=https%3A%2F%2Fconnect.localazy.com%2Fstatus%2Felement-web%2Fdata%3Fcontent%3Dall%26title%3Dlocalazy%26logo%3Dtrue)](https://localazy.com/p/element-web)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=element-web)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=coverage)](https://sonarcloud.io/summary/new_code?id=element-web)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=element-web)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=bugs)](https://sonarcloud.io/summary/new_code?id=element-web)
Element
=======
# Element
Element (formerly known as Vector and Riot) is a Matrix web client built using the [Matrix
React SDK](https://github.com/matrix-org/matrix-react-sdk).
Supported Environments
======================
# Supported Environments
Element has several tiers of support for different environments:
* Supported
* Definition: Issues **actively triaged**, regressions **block** the release
* Last 2 major versions of Chrome, Firefox, Safari, and Edge on desktop OSes
* Latest release of official Element Desktop app on desktop OSes
* Desktop OSes means macOS, Windows, and Linux versions for desktop devices
that are actively supported by the OS vendor and receive security updates
* Experimental
* Definition: Issues **accepted**, regressions **do not block** the release
* Element as an installed PWA via current stable version of Chrome, Firefox, and Safari
* Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
* Not supported
* Definition: Issues only affecting unsupported environments are **closed**
* Everything else
- Supported
- Definition: Issues **actively triaged**, regressions **block** the release
- Last 2 major versions of Chrome, Firefox, and Edge on desktop OSes
- Last 2 versions of Safari
- Latest release of official Element Desktop app on desktop OSes
- Desktop OSes means macOS, Windows, and Linux versions for desktop devices
that are actively supported by the OS vendor and receive security updates
- Experimental
- Definition: Issues **accepted**, regressions **do not block** the release
- Element as an installed PWA via current stable version of Chrome
- Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
- Not supported
- Definition: Issues only affecting unsupported environments are **closed**
- Everything else
For accessing Element on an Android or iOS device, we currently recommend the
native apps [element-android](https://github.com/vector-im/element-android)
and [element-ios](https://github.com/vector-im/element-ios).
Getting Started
===============
# Getting Started
The easiest way to test Element is to just use the hosted copy at <https://app.element.io>.
The `develop` branch is continuously deployed to <https://develop.element.io>
@@ -67,47 +65,39 @@ and thus allowed.
To install Element as a desktop application, see [Running as a desktop
app](#running-as-a-desktop-app) below.
Important Security Notes
========================
# Important Security Notes
Separate domains
----------------
## Separate domains
We do not recommend running Element from the same domain name as your Matrix
homeserver. The reason is the risk of XSS (cross-site-scripting)
homeserver. The reason is the risk of XSS (cross-site-scripting)
vulnerabilities that could occur if someone caused Element to load and render
malicious user generated content from a Matrix API which then had trusted
access to Element (or other apps) due to sharing the same domain.
We have put some coarse mitigations into place to try to protect against this
situation, but it's still not good practice to do it in the first place. See
situation, but it's still not good practice to do it in the first place. See
<https://github.com/vector-im/element-web/issues/1977> for more details.
Configuration best practices
----------------------------
## Configuration best practices
Unless you have special requirements, you will want to add the following to
your web server configuration when hosting Element Web:
* The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being
framed and protect from [clickjacking][owasp-clickjacking].
* The `frame-ancestors 'none'` directive to your `Content-Security-Policy`
header, as the modern replacement for `X-Frame-Options` (though both should be
included since not all browsers support it yet, see
[this][owasp-clickjacking-csp]).
* The `X-Content-Type-Options: nosniff` header, to [disable MIME
sniffing][mime-sniffing].
* The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in
legacy browsers.
- The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being
framed and protect from [clickjacking][owasp-clickjacking].
- The `frame-ancestors 'self'` directive to your `Content-Security-Policy`
header, as the modern replacement for `X-Frame-Options` (though both should be
included since not all browsers support it yet, see
[this][owasp-clickjacking-csp]).
- The `X-Content-Type-Options: nosniff` header, to [disable MIME
sniffing][mime-sniffing].
- The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in
legacy browsers.
[mime-sniffing]:
<https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing>
[owasp-clickjacking-csp]:
<https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html#content-security-policy-frame-ancestors-examples>
[owasp-clickjacking]:
<https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html>
[mime-sniffing]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing
[owasp-clickjacking-csp]: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html#content-security-policy-frame-ancestors-examples
[owasp-clickjacking]: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html
If you are using nginx, this would look something like the following:
@@ -115,15 +105,23 @@ If you are using nginx, this would look something like the following:
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header Content-Security-Policy "frame-ancestors 'self'";
```
For Apache, the configuration looks like:
```
Header set X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff
Header set X-XSS-Protection "1; mode=block"
Header set Content-Security-Policy "frame-ancestors 'self'"
```
Note: In case you are already setting a `Content-Security-Policy` header
elsewhere, you should modify it to include the `frame-ancestors` directive
instead of adding that last line.
Building From Source
====================
# Building From Source
Element is a modular webapp built with modern ES6 and uses a Node.js build system.
Ensure you have the latest LTS version of Node.js installed.
@@ -136,7 +134,7 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
1. Clone the repo: `git clone https://github.com/vector-im/element-web.git`.
1. Switch to the element-web directory: `cd element-web`.
1. Install the prerequisites: `yarn install`.
* If you're using the `develop` branch, then it is recommended to set up a
- If you're using the `develop` branch, then it is recommended to set up a
proper development environment (see [Setting up a dev
environment](#setting-up-a-dev-environment) below). Alternatively, you
can use <https://develop.element.io> - the continuous integration release of
@@ -153,8 +151,7 @@ will not appear in Settings without using the dist script. You can then mount th
`webapp` directory on your web server to actually serve up the app, which is
entirely static content.
Running as a Desktop app
========================
# Running as a Desktop app
Element can also be run as a desktop app, wrapped in Electron. You can download a
pre-built version from <https://element.io/get-started> or, if you prefer,
@@ -166,7 +163,7 @@ Many thanks to @aviraldg for the initial work on the Electron integration.
Other options for running as a desktop app:
* @asdf:matrix.org points out that you can use nativefier and it just works(tm)
- @asdf:matrix.org points out that you can use nativefier and it just works(tm)
```bash
yarn global add nativefier
@@ -176,8 +173,7 @@ nativefier https://app.element.io/
The [configuration docs](docs/config.md#desktop-app-configuration) show how to
override the desktop app's default settings if desired.
Running from Docker
===================
# Running from Docker
The Docker image can be used to serve element-web as a web server. The easiest way to use
it is to use the prebuilt image:
@@ -216,26 +212,22 @@ docker build -t \
.
```
Running in Kubernetes
=====================
# Running in Kubernetes
The provided element-web docker image can also be run from within a Kubernetes cluster.
See the [Kubernetes example](docs/kubernetes.md) for more details.
config.json
===========
# config.json
Element supports a variety of settings to configure default servers, behaviour, themes, etc.
See the [configuration docs](docs/config.md) for more details.
Labs Features
=============
# Labs Features
Some features of Element may be enabled by flags in the `Labs` section of the settings.
Some of these features are described in [labs.md](https://github.com/vector-im/element-web/blob/develop/docs/labs.md).
Caching requirements
====================
# Caching requirements
Element requires the following URLs not to be cached, when/if you are serving Element from your own webserver:
@@ -252,8 +244,7 @@ webserver to return `Cache-Control: no-cache` for `/`. This ensures the browser
the next page load after it's been deployed. Note that this is already configured for you in the nginx config of our
Dockerfile.
Development
===========
# Development
Before attempting to develop on Element you **must** read the [developer guide
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
@@ -275,7 +266,7 @@ higher and lower level React components useful for building Matrix communication
apps using React.
Please note that Element is intended to run correctly without access to the public
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
hosted by external CDNs or servers but instead please package all dependencies
into Element itself.
@@ -283,8 +274,7 @@ CSS hot-reload is available as an opt-in development feature. You can enable it
by defining a `CSS_HOT_RELOAD` environment variable, in a `.env` file in the root
of the repository. See `.env.example` for documentation and an example.
Setting up a dev environment
============================
# Setting up a dev environment
Much of the functionality in Element is actually in the `matrix-react-sdk` and
`matrix-js-sdk` modules. It is possible to set these up in a way that makes it
@@ -293,7 +283,7 @@ having to manually rebuild each time.
First clone and build `matrix-js-sdk`:
``` bash
```bash
git clone https://github.com/matrix-org/matrix-js-sdk.git
pushd matrix-js-sdk
yarn link
@@ -340,9 +330,9 @@ Wait a few seconds for the initial build to finish; you should see something lik
[element-js] 「wdm」: Compiled successfully.
```
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also
disables caching, so do NOT use it in production.
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also
disables caching, so do NOT use it in production.
Open <http://127.0.0.1:8080/> in your browser to see your newly built Element.
@@ -370,7 +360,7 @@ echo fs.inotify.max_user_instances=512 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```
___
---
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
automatically picked up by webpack and built.
@@ -379,8 +369,7 @@ If any of these steps error with, `file table overflow`, you are probably on a m
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
You'll need to do this in each new terminal you open before building Element.
Running the tests
-----------------
## Running the tests
There are a number of application-level tests in the `tests` directory; these
are designed to run with Jest and JSDOM. To run them
@@ -393,17 +382,13 @@ yarn test
See [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk/#end-to-end-tests) for how to run the end-to-end tests.
Translations
============
# Translations
To add a new translation, head to the [translating doc](docs/translating.md).
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
[<img src="https://translate.element.io/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.element.io/engage/element-web/?utm_source=widget)
Triaging issues
===============
# Triaging issues
Issues are triaged by community members and the Web App Team, following the [triage process](https://github.com/vector-im/element-meta/wiki/Triage-process).

View File

@@ -1,24 +1,34 @@
module.exports = {
"sourceMaps": true,
"presets": [
["@babel/preset-env", {
"targets": [
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions",
"last 2 Edge versions",
],
}],
sourceMaps: true,
presets: [
[
"@babel/preset-env",
{
targets: [
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions",
"last 2 Edge versions",
],
},
],
"@babel/preset-typescript",
"@babel/preset-react",
],
"plugins": [
plugins: [
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
// transform logical assignment (??=, ||=, &&=). preset-env doesn't
// normally bother with these (presumably because all the target
// browsers support it natively), but they make our webpack version (or
// something downstream of babel, at least) fall over.
"@babel/plugin-proposal-logical-assignment-operators",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-transform-runtime",
],

32
book.toml Normal file
View File

@@ -0,0 +1,32 @@
# Documentation for possible options in this file is at
# https://rust-lang.github.io/mdBook/format/config.html
[book]
title = "Element Web & Desktop"
authors = ["New Vector Ltd.", "The Matrix.org Foundation C.I.C."]
language = "en"
multilingual = false
# The directory that documentation files are stored in
src = "docs"
[build]
# Prevent markdown pages from being automatically generated when they're
# linked to in SUMMARY.md
create-missing = false
[output.html]
# Remove the numbers that appear before each item in the sidebar, as they can
# get quite messy as we nest deeper
no-section-label = true
# The source code URL of the repository
git-repository-url = "https://github.com/vector-im/element-web"
# The path that the docs are hosted on
site-url = "/element-web/"
additional-js = ["docs/lib/mermaid.min.js", "docs/lib/mermaid-init.js"]
[preprocessor]
[preprocessor.mermaid]
command = "mdbook-mermaid"

View File

@@ -3,10 +3,10 @@
This code style applies to projects which the element-web team directly maintains or is reasonably
adjacent to. As of writing, these are:
* element-desktop
* element-web
* matrix-react-sdk
* matrix-js-sdk
- element-desktop
- element-web
- matrix-react-sdk
- matrix-js-sdk
Other projects might extend this code style for increased strictness. For example, matrix-events-sdk
has stricter code organization to reduce the maintenance burden. These projects will declare their code
@@ -51,60 +51,28 @@ in that order.
Unless otherwise specified, the following applies to all code:
1. 120 character limit per line. Match existing code in the file if it is using a lower guide.
2. A tab/indentation is 4 spaces.
3. Newlines are Unix.
4. A file has a single empty line at the end.
5. Lines are trimmed of all excess whitespace, including blank lines.
6. Long lines are broken up for readability.
1. Files must be formatted with Prettier.
2. 120 character limit per line. Match existing code in the file if it is using a lower guide.
3. A tab/indentation is 4 spaces.
4. Newlines are Unix.
5. A file has a single empty line at the end.
6. Lines are trimmed of all excess whitespace, including blank lines.
7. Long lines are broken up for readability.
## TypeScript / JavaScript {#typescript-javascript}
## TypeScript / JavaScript
1. Write TypeScript. Turn JavaScript into TypeScript when working in the area.
2. Use named exports.
3. Break long lines to appear as follows:
```typescript
// Function arguments
function doThing(
arg1: string,
arg2: string,
arg3: string,
): boolean {
return !!arg1
&& !!arg2
&& !!arg3;
}
// Calling a function
doThing(
"String 1",
"String 2",
"String 3",
);
// Reduce line verbosity when possible/reasonable
doThing(
"String1", "String 2",
"A much longer string 3",
);
// Chaining function calls
something.doThing()
.doOtherThing()
.doMore()
.somethingElse(it =>
useIt(it)
);
```
2. Use [TSDoc](https://tsdoc.org/) to document your code. See [Comments](#comments) below.
3. Use named exports.
4. Use semicolons for block/line termination.
1. Except when defining interfaces, classes, and non-arrow functions specifically.
5. When a statement's body is a single line, it may be written without curly braces, so long as the body is placed on
5. When a statement's body is a single line, it must be written without curly braces, so long as the body is placed on
the same line as the statement.
```typescript
if (x) doThing();
```
6. Blocks for `if`, `for`, `switch` and so on must have a space surrounding the condition, but not
within the condition.
@@ -113,59 +81,18 @@ Unless otherwise specified, the following applies to all code:
doThing();
}
```
7. Mixing of logical operands requires brackets to explicitly define boolean logic.
```typescript
if ((a > b && b > c) || (d < e)) return true;
```
8. Ternaries use the same rules as `if` statements, plus the following:
```typescript
// Single line is acceptable
const val = a > b ? doThing() : doOtherThing();
// Multiline is also okay
const val = a > b
? doThing()
: doOtherThing();
// Use brackets when using multiple conditions.
// Maximum 3 conditions, prefer 2 or less.
const val = (a > b && b > c) ? doThing() : doOtherThing();
```
9. lowerCamelCase is used for function and variable naming.
10. UpperCamelCase is used for general naming.
11. Interface names should not be marked with an uppercase `I`.
12. One variable declaration per line.
13. If a variable is not receiving a value on declaration, its type must be defined.
7. lowerCamelCase is used for function and variable naming.
8. UpperCamelCase is used for general naming.
9. Interface names should not be marked with an uppercase `I`.
10. One variable declaration per line.
11. If a variable is not receiving a value on declaration, its type must be defined.
```typescript
let errorMessage: Optional<string>;
```
14. Objects, arrays, enums and so on must have each line terminated with a comma:
```typescript
const obj = {
prop: 1,
else: 2,
};
const arr = [
"one",
"two",
];
enum Thing {
Foo,
Bar,
}
doThing(
"arg1",
"arg2",
);
```
15. Objects can use shorthand declarations, including mixing of types.
12. Objects can use shorthand declarations, including mixing of types.
```typescript
{
@@ -175,7 +102,8 @@ Unless otherwise specified, the following applies to all code:
// ... or ...
{ room, prop: this.prop }
```
16. Object keys should always be non-strings when possible.
13. Object keys should always be non-strings when possible.
```typescript
{
@@ -184,22 +112,32 @@ Unless otherwise specified, the following applies to all code:
[EventType.RoomMessage]: true,
}
```
17. Explicitly cast to a boolean.
14. If a variable's type should be boolean, make sure it really is one.
```typescript
!!stringVar || Boolean(stringVar)
const isRealUser = !!userId && ...; // good
const isRealUser = Boolean(userId) && Boolean(userName); // also good
const isRealUser = Boolean(userId) && isReal; // also good (where isReal is another boolean variable)
const isRealUser = Boolean(userId && userName); // also fine
const isRealUser = Boolean(userId || userName); // good: same as &&
const isRealUser = userId && ...; // bad: isRealUser is userId's type, not a boolean
if (userId) // fine: userId is evaluated for truthiness, not stored as a boolean
```
18. Use `switch` statements when checking against more than a few enum-like values.
19. Use `const` for constants, `let` for mutability.
20. Describe types exhaustively (ensure noImplictAny would pass).
15. Use `switch` statements when checking against more than a few enum-like values.
16. Use `const` for constants, `let` for mutability.
17. Describe types exhaustively (ensure noImplictAny would pass).
1. Notable exceptions are arrow functions used as parameters, when a void return type is
obvious, and when declaring and assigning a variable in the same line.
21. Declare member visibility (public/private/protected).
22. Private members are private and not prefixed unless required for naming conflicts.
18. Declare member visibility (public/private/protected).
19. Private members are private and not prefixed unless required for naming conflicts.
1. Convention is to use an underscore or the word "internal" to denote conflicted member names.
2. "Conflicted" typically refers to a getter which wants the same name as the underlying variable.
23. Prefer readonly members over getters backed by a variable, unless an internal setter is required.
24. Prefer Interfaces for object definitions, and types for parameter-value-only declarations.
20. Prefer readonly members over getters backed by a variable, unless an internal setter is required.
21. Prefer Interfaces for object definitions, and types for parameter-value-only declarations.
1. Note that an explicit type is optional if not expected to be used outside of the function call,
unlike in this example:
@@ -214,23 +152,26 @@ Unless otherwise specified, the following applies to all code:
// ...
}
```
25. Variables/properties which are `public static` should also be `readonly` when possible.
26. Interface and type properties are terminated with semicolons, not commas.
27. Prefer arrow formatting when declaring functions for interfaces/types:
22. Variables/properties which are `public static` should also be `readonly` when possible.
23. Interface and type properties are terminated with semicolons, not commas.
24. Prefer arrow formatting when declaring functions for interfaces/types:
```typescript
interface Test {
myCallback: (arg: string) => Promise<void>;
}
```
28. Prefer a type definition over an inline type. For example, define an interface.
29. Always prefer to add types or declare a type over the use of `any`. Prefer inferred types
25. Prefer a type definition over an inline type. For example, define an interface.
26. Always prefer to add types or declare a type over the use of `any`. Prefer inferred types
when they are not `any`.
1. When using `any`, a comment explaining why must be present.
30. `import` should be used instead of `require`, as `require` does not have types.
31. Export only what can be reused.
32. Prefer a type like `Optional<X>` (`type Optional<T> = T | null | undefined`) instead
27. `import` should be used instead of `require`, as `require` does not have types.
28. Export only what can be reused.
29. Prefer a type like `Optional<X>` (`type Optional<T> = T | null | undefined`) instead
of truly optional parameters.
1. A notable exception is when the likelihood of a bug is minimal, such as when a function
takes an argument that is more often not required than required. An example where the
`?` operator is inappropriate is when taking a room ID: typically the caller should
@@ -245,12 +186,13 @@ Unless otherwise specified, the following applies to all code:
// ...
}
```
33. There should be approximately one interface, class, or enum per file unless the file is named
30. There should be approximately one interface, class, or enum per file unless the file is named
"types.ts", "global.d.ts", or ends with "-types.ts".
1. The file name should match the interface, class, or enum name.
34. Bulk functions can be declared in a single file, though named as "foo-utils.ts" or "utils/foo.ts".
35. Imports are grouped by external module imports first, then by internal imports.
36. File ordering is not strict, but should generally follow this sequence:
31. Bulk functions can be declared in a single file, though named as "foo-utils.ts" or "utils/foo.ts".
32. Imports are grouped by external module imports first, then by internal imports.
33. File ordering is not strict, but should generally follow this sequence:
1. Licence header
2. Imports
3. Constants
@@ -265,15 +207,16 @@ Unless otherwise specified, the following applies to all code:
5. Protected and abstract functions
6. Public/private functions
7. Public/protected/private static functions
37. Variable names should be noticeably unique from their types. For example, "str: string" instead
34. Variable names should be noticeably unique from their types. For example, "str: string" instead
of "string: string".
38. Use double quotes to enclose strings. You may use single quotes if the string contains double quotes.
35. Use double quotes to enclose strings. You may use single quotes if the string contains double quotes.
```typescript
const example1 = "simple string";
const example2 = 'string containing "double quotes"';
```
39. Prefer async-await to promise-chaining
36. Prefer async-await to promise-chaining
```typescript
async function () {
@@ -312,81 +255,55 @@ Inheriting all the rules of TypeScript, the following additionally apply:
}
}
```
8. Stores must support using an alternative MatrixClient and dispatcher instance.
9. Utilities which require JSX must be split out from utilities which do not. This is to prevent import
cycles during runtime where components accidentally include more of the app than they intended.
10. Interdependence between stores should be kept to a minimum. Break functions and constants out to utilities
if at all possible.
11. A component should only use CSS class names in line with the component name.
1. When knowingly using a class name from another component, document it.
12. Break components over multiple lines like so:
```typescript
function render() {
return <Component
prop1="test"
prop2={this.state.variable}
/>;
1. When knowingly using a class name from another component, document it with a [comment](#comments).
// or
return (
<Component
prop1="test"
prop2={this.state.variable}
/>
);
// or if children are needed (infer parens usage)
return <Component
prop1="test"
prop2={this.state.variable}
>{ _t("Short string here") }</Component>;
return <Component
prop1="test"
prop2={this.state.variable}
>
{ _t("Longer string here") }
</Component>;
}
```
13. Curly braces within JSX should be padded with a space, however properties on those components should not.
12. Curly braces within JSX should be padded with a space, however properties on those components should not.
See above code example.
14. Functions used as properties should either be defined on the class or stored in a variable. They should not
13. Functions used as properties should either be defined on the class or stored in a variable. They should not
be inline unless mocking/short-circuiting the value.
15. Prefer hooks (functional components) over class components. Be consistent with the existing area if unsure
14. Prefer hooks (functional components) over class components. Be consistent with the existing area if unsure
which should be used.
1. Unless the component is considered a "structure", in which case use classes.
16. Write more views than structures. Structures are chunks of functionality like MatrixChat while views are
15. Write more views than structures. Structures are chunks of functionality like MatrixChat while views are
isolated components.
17. Components should serve a single, or near-single, purpose.
18. Prefer to derive information from component properties rather than establish state.
19. Do not use `React.Component::forceUpdate`.
16. Components should serve a single, or near-single, purpose.
17. Prefer to derive information from component properties rather than establish state.
18. Do not use `React.Component::forceUpdate`.
## Stylesheets (\*.pcss = PostCSS + Plugins)
Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, but actually it is not.
1. Class names must be prefixed with "mx_".
2. Class names should denote the component which defines them, followed by any context:
1. mx_MyFoo
2. mx_MyFoo_avatar
3. mx_MyFoo_avatar--user
3. Use the `$font` and `$spacing` variables instead of manual values.
1. Class names must be prefixed with "mx\_".
2. Class names must denote the component which defines them, followed by any context.
The context is not further specified here in terms of meaning or syntax.
Use whatever is appropriate for your implementation use case.
Some examples:
1. `mx_MyFoo`
2. `mx_MyFoo_avatar`
3. `mx_MyFoo_avatarUser`
4. `mx_MyFoo_avatar--user`
3. Use the `$font` variables instead of manual values.
4. Keep indentation/nesting to a minimum. Maximum suggested nesting is 5 layers.
5. Use the whole class name instead of shortcuts:
```scss
.mx_MyFoo {
& .mx_MyFoo_avatar { // instead of &_avatar
& .mx_MyFoo_avatar {
// instead of &_avatar
// ...
}
}
```
6. Break multiple selectors over multiple lines this way:
```scss
@@ -396,9 +313,10 @@ Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, b
// ...
}
```
7. Non-shared variables should use $lowerCamelCase. Shared variables use $dashed-naming.
8. Overrides to Z indexes, adjustments of dimensions/padding with pixels, and so on should all be
documented for what the values mean:
[documented](#comments) for what the values mean:
```scss
.mx_MyFoo {
@@ -407,7 +325,8 @@ Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, b
z-index: 10; // above user avatar, but below dialogs
}
```
9. Avoid the use of `!important`. If necessary, add a comment.
9. Avoid the use of `!important`. If `!important` is necessary, add a [comment](#comments) explaining why.
## Tests
@@ -431,9 +350,7 @@ Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, b
// Use "it should..." terminology
it("should call the correct API", async () => {
// test-specific variables go here
// function calls/state changes go here
// expectations go here
});
});
@@ -453,3 +370,38 @@ Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, b
});
});
```
## Comments
1. As a general principle: be liberal with comments. This applies to all files: stylesheets as well as
JavaScript/TypeScript.
Good comments not only help future readers understand and maintain the code; they can also encourage good design
by clearly setting out how different parts of the codebase interact where that would otherwise be implicit and
subject to interpretation.
2. Aim to document all types, methods, class properties, functions, etc, with [TSDoc](https://tsdoc.org/) doc comments.
This is _especially_ important for public interfaces in `matrix-js-sdk`, but is good practice in general.
Even very simple interfaces can often benefit from a doc-comment, both as a matter of consistency, and because simple
interfaces have a habit of becoming more complex over time.
3. React components should be documented in the same way as other classes or functions. The documentation should give
a brief description of how the component should be used, and, especially for more complex components, each of its
properties should be clearly documented.
4. Inside a function, there is no need to comment every line, but consider:
- before a particular multiline section of code within the function, give an overview of what it does,
to make it easier for a reader to follow the flow through the function as a whole.
- if it is anything less than obvious, explain _why_ we are doing a particular operation, with particular emphasis
on how this function interacts with other parts of the codebase.
5. When making changes to existing code, authors are expected to read existing comments and make any necessary changes
to ensure they remain accurate.
6. Reviewers are encouraged to consider whether more comments would be useful, and to ask the author to add them.
It is natural for an author to feel that the code they have just written is "obvious" and that comments would be
redundant, whereas in reality it would take some time for reader unfamiliar with the code to understand it. A
reviewer is well-placed to make a more objective judgement.

View File

@@ -22,17 +22,13 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"uisi_autorageshake_app": "element-auto-uisi",
"default_country_code": "GB",
"show_labs_settings": false,
"features": { },
"features": {},
"default_federate": true,
"default_theme": "light",
"room_directory": {
"servers": [
"matrix.org"
]
"servers": ["matrix.org"]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
@@ -44,5 +40,10 @@
"jitsi": {
"preferred_domain": "meet.element.io"
},
"element_call": {
"url": "https://call.element.io",
"participant_limit": 8,
"brand": "Element Call"
},
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
}

View File

@@ -1,17 +1,13 @@
{
"name": "Element",
"name": "Element",
"description": "A glossy Matrix collaboration client for the web.",
"repository": {
"url": "https://github.com/vector-im/element-web",
"license": "Apache License 2.0"
"url": "https://github.com/vector-im/element-web",
"license": "Apache License 2.0"
},
"bugs": {
"list": "https://github.com/vector-im/element-web/issues",
"report": "https://github.com/vector-im/element-web/issues/new/choose"
"list": "https://github.com/vector-im/element-web/issues",
"report": "https://github.com/vector-im/element-web/issues/new/choose"
},
"keywords": [
"chat",
"riot",
"matrix"
]
"keywords": ["chat", "riot", "matrix"]
}

2
debian/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/files
/tmp

1
debian/conffiles vendored Normal file
View File

@@ -0,0 +1 @@
/usr/share/element-web/config.json

13
debian/control vendored Executable file
View File

@@ -0,0 +1,13 @@
Source: element-web
Maintainer: support@element.io
Section: web
Priority: optional
Homepage: https://element.io/
Package: element-web
Architecture: all
Recommends: httpd, element-io-archive-keyring
Description:
A feature-rich client for Matrix.org
This package contains the web-based client that can be served through a web
server.

39
docs/SUMMARY.md Normal file
View File

@@ -0,0 +1,39 @@
# Summary
- [Introduction](../README.md)
# Usage
- [Betas](betas.md)
- [Labs](labs.md)
# Setup
- [Config](config.md)
- [Custom home page](custom-home.md)
- [Kubernetes](kubernetes.md)
- [Jitsi](jitsi.md)
- [Encryption](e2ee.md)
# Build
- [Customisations](customisations.md)
- [Modules](modules.md)
- [Native Node modules](native-node-modules.md)
# Contribution
- [Choosing an issue](choosing-an-issue.md)
- [Translation](translating.md)
- [Netlify builds](pr-previews.md)
- [Code review](review.md)
# Development
- [App load order](app-load.md)
- [Translation](translating-dev.md)
- [Theming](theming.md)
- [Memory profiling](memory-profiles-and-leaks.md)
- [Jitsi](jitsi-dev.md)
- [Feature flags](feature-flags.md)
- [OIDC and delegated authentication](oidc.md)

View File

@@ -4,81 +4,105 @@
been kept untouched for posterity.
Old slow flow:
![image](https://user-images.githubusercontent.com/2403652/73848963-00a2a080-4821-11ea-97d4-1200fc2638f3.png)
```mermaid
flowchart TD
A1(((load_modernizr))) --> B
A2((rageshake)) --> B
B(((skin))) --> C
C(((olm))) --> D
D{mobile} --> E
E((config)) --> F
F((i18n)) --> G
style F stroke:lime
G(((theme))) --> H
H(((modernizr))) --> app
style H stroke:red
```
Current more parallel flow:
![image](https://user-images.githubusercontent.com/2403652/83146440-303a2900-a0ee-11ea-806b-4f53f039b957.png)
<details><summary>Code</summary>
<p>
<pre><code>
digraph G {
node [shape=box];
```mermaid
flowchart TD
subgraph index.ts
style index.ts stroke:orange
subgraph cluster_0 {
color=orange;
node [style=filled];
label = "index.ts";
A[/rageshake/] --> B{mobile}
B-- No -->C1(.)
B-- Yes -->C2((redirect))
C1 --> D[/olm/] --> R
C1 --> E[platform] --> F[/config/]
F --> G1[/skin/]
F --> R
G1 --> H
G1 --> R
F --> G2[/theme/]
G2 --> H
G2 --> R
F --> G3[/i18n/]
G3 --> H
G3 --> R
H{modernizr}-- No --> J((incompatible))-- user ignore --> R
H-- Yes --> R
entrypoint, s0, ready [shape=point];
rageshake, config, i18n, theme, skin, olm [shape=parallelogram];
mobile [shape=diamond, label="mobile"];
modernizr [shape=diamond];
redirect, incompatible [shape=egg];
linkStyle 0,7,9,11,12,14,15 stroke:blue;
linkStyle 4,8,10,13,16 stroke:red;
end
entrypoint -> rageshake;
rageshake -> mobile [color=blue];
mobile -> s0 [label="No"];
mobile -> redirect [label="Yes"];
R>ready] --> 2A
style R stroke:gray
s0 -> platform;
s0 -> olm;
platform -> config;
subgraph init.tsx
style init.tsx stroke:lime
2A[loadApp] --> 2B[matrixchat]
end
config -> i18n [color=blue];
config -> theme [color=blue];
config -> skin [color=blue];
i18n -> modernizr [color=blue];
theme -> modernizr [color=blue];
skin -> modernizr [color=blue];
modernizr -> ready [label="Yes"];
modernizr -> incompatible [label="No"];
incompatible -> ready [label="user ignore"];
olm -> ready [color=red];
config -> ready [color=red];
skin -> ready [color=red];
theme -> ready [color=red];
i18n -> ready [color=red];
}
subgraph cluster_1 {
color = green;
node [style=filled];
label = "init.tsx";
ready -> loadApp;
loadApp -> matrixchat;
}
}
</code></pre>
</p>
</details>
```
Key:
+ Parallelogram: async/await task
+ Box: sync task
+ Diamond: conditional branch
+ Egg: user interaction
+ Blue arrow: async task is allowed to settle but allowed to fail
+ Red arrow: async task success is asserted
- Parallelogram: async/await task
- Box: sync task
- Diamond: conditional branch
- Circle: user interaction
- Blue arrow: async task is allowed to settle but allowed to fail
- Red arrow: async task success is asserted
Notes:
+ A task begins when all its dependencies (arrows going into it) are fulfilled.
+ The success of setting up rageshake is never asserted, element-web has a fallback path for running without IDB (and thus rageshake).
+ Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful.
- A task begins when all its dependencies (arrows going into it) are fulfilled.
- The success of setting up rageshake is never asserted, element-web has a fallback path for running without IDB (and thus rageshake).
- Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful.
Underlying dependencies:
![image](https://user-images.githubusercontent.com/2403652/73848977-08624500-4821-11ea-9830-bb0317c41086.png)
```mermaid
flowchart TD
A((rageshake))
B{mobile}
C((config))
D(((olm)))
E((i18n))
F(((load_modernizr)))
G(((modernizr)))
H(((skin)))
I(((theme)))
X[app]
A --> G
A --> B
A-- assert -->X
F --> G --> X
G --> H --> X
C --> I --> X
C --> E --> X
E --> G
B --> C-- assert -->X
B --> D --> X
style X stroke:red
style G stroke:red
style E stroke:lime
linkStyle 0,11 stroke:yellow;
linkStyle 2,13 stroke:red;
```

14
docs/betas.md Normal file
View File

@@ -0,0 +1,14 @@
# Beta features
Beta features are features that are not ready for production yet but the team
wants more people to try the features and give feedback on them.
Before a feature gets into its beta phase, it is often a labs feature (see
[Labs](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)).
**Be warned! Beta features may not be completely finalised or stable!**
## Video rooms (`feature_video_rooms`)
Enables support for creating and joining video rooms, which are persistent video
chats that users can jump in and out of.

View File

@@ -33,19 +33,19 @@ someone to add something.
When you're looking through the list, here are some things that might make an
issue a **GOOD** choice:
* It is a problem or feature you care about.
* It concerns a type of code you know a little about.
* You think you can understand what's needed.
* It already has approval from Element Web's designers (look for comments from
members of the
[Product](https://github.com/orgs/vector-im/teams/product/members) or
[Design](https://github.com/orgs/vector-im/teams/design/members) teams).
- It is a problem or feature you care about.
- It concerns a type of code you know a little about.
- You think you can understand what's needed.
- It already has approval from Element Web's designers (look for comments from
members of the
[Product](https://github.com/orgs/vector-im/teams/product/members) or
[Design](https://github.com/orgs/vector-im/teams/design/members) teams).
Here are some things that might make it a **BAD** choice:
* You don't understand it (maybe add a comment asking a clarifying question).
* It sounds difficult, or is part of a larger change you don't know about.
* **It is tagged with `X-Needs-Design` or `X-Needs-Product`.**
- You don't understand it (maybe add a comment asking a clarifying question).
- It sounds difficult, or is part of a larger change you don't know about.
- **It is tagged with `X-Needs-Design` or `X-Needs-Product`.**
**Element Web's Design and Product teams tend to be very busy**, so if you make
changes that require approval from one of those teams, you will probably have

View File

@@ -1,8 +1,20 @@
# Configuration
You can configure the app by copying `config.sample.json` to `config.json` and customising it. The possible options are
described here. If you run into issues, please visit [#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org)
on Matrix.
### 🦖 Deprecation notice
Configuration keys were previously a mix of camelCase and snake_case.
We standardised to snake_case but added compatibility for camelCase to all settings.
This backwards compatibility will be getting removed in a future release so please ensure you are using snake_case.
---
You can configure the app by copying `config.sample.json` to `config.json` or `config.$domain.json` and customising it.
Element will attempt to load first `config.$domain.json` and if it fails `config.json`. This mechanism allows different
configuration options depending on if you're hitting e.g. `app1.example.com` or `app2.example.com`. Configs are not mixed
in any way, it either entirely uses the domain config, or entirely uses `config.json`.
The possible configuration options are described here. If you run into issues, please visit
[#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org) on Matrix.
For a good example of a production-tuned config, see https://app.element.io/config.json
@@ -13,7 +25,7 @@ for the desktop app the application will need to be exited fully (including via
## Homeserver configuration
In order for Element to even start you will need to tell it what homeserver to connect to *by default*. Users will be
In order for Element to even start you will need to tell it what homeserver to connect to _by default_. Users will be
able to use a different homeserver if they like, though this can be disabled with `"disable_custom_urls": true` in your
config.
@@ -22,18 +34,18 @@ One of the following options **must** be supplied:
1. `default_server_config`: The preferred method of setting the homeserver connection information. Simply copy/paste
your [`/.well-known/matrix/client`](https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient)
into this field. For example:
```json
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
}
}
```
```json
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
}
}
```
2. `default_server_name`: A different method of connecting to the homeserver by looking up the connection information
using `.well-known`. When using this option, simply use your server's domain name (the part at the end of user IDs):
`"default_server_name": "matrix.org"`
@@ -41,8 +53,9 @@ One of the following options **must** be supplied:
information. These are the same values seen as `base_url` in the `default_server_config` example, with `default_is_url`
being optional.
If a combination of these three methods is used then Element will fail to load. This is because it is unclear which
should be considered "first".
If both `default_server_config` and `default_server_name` are used, Element will try to look up the connection
information using `.well-known`, and if that fails, take `default_server_config` as the homeserver connection
information.
## Labs flags
@@ -54,10 +67,10 @@ To force a labs flag on or off, use the following:
```json
{
"features": {
"feature_you_want_to_turn_on": true,
"feature_you_want_to_keep_off": false
}
"features": {
"feature_you_want_to_turn_on": true,
"feature_you_want_to_keep_off": false
}
}
```
@@ -78,25 +91,25 @@ instance. As of writing those settings are not fully documented, however a few a
inputs.
3. `room_directory`: Optionally defines how the room directory component behaves. Currently only a single property, `servers`
is supported to add additional servers to the dropdown. For example:
```json
{
"room_directory": {
"servers": ["matrix.org", "example.org"]
}
}
```
```json
{
"room_directory": {
"servers": ["matrix.org", "example.org"]
}
}
```
4. `setting_defaults`: Optional configuration for settings which are not described by this document and support the `config`
level. This list is incomplete. For example:
```json
{
"setting_defaults": {
"MessageComposerInput.showStickersButton": false,
"MessageComposerInput.showPollsButton": false
}
}
```
These values will take priority over the hardcoded defaults for the settings. For a list of available settings, see
[Settings.tsx](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx).
```json
{
"setting_defaults": {
"MessageComposerInput.showStickersButton": false,
"MessageComposerInput.showPollsButton": false
}
}
```
These values will take priority over the hardcoded defaults for the settings. For a list of available settings, see
[Settings.tsx](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx).
## Customisation & branding
@@ -126,7 +139,7 @@ complete re-branding/private labeling, a more personalised experience can be ach
configuration found in the well-known location is used instead.
10. `welcome_user_id`: An optional user ID to start a DM with after creating an account. Defaults to nothing (no DM created).
11. `custom_translations_url`: An optional URL to allow overriding of translatable strings. The JSON file must be in a format of
`{"affected string": {"languageCode": "new string"}}`. See https://github.com/matrix-org/matrix-react-sdk/pull/7886 for details.
`{"affected|translation|key": {"languageCode": "new string"}}`. See https://github.com/matrix-org/matrix-react-sdk/pull/7886 for details.
12. `branding`: Options for configuring various assets used within the app. Described in more detail down below.
13. `embedded_pages`: Further optional URLs for various assets used within the app. Described in more detail down below.
14. `disable_3pid_login`: When `false` (default), **enables** the options to log in with email address or phone number. Set to
@@ -135,6 +148,13 @@ complete re-branding/private labeling, a more personalised experience can be ach
to hide this dropdown.
16. `disable_guests`: When `false` (default), **enable** guest-related functionality (peeking/previewing rooms, etc) for unregistered
users. Set to `true` to disable this functionality.
17. `user_notice`: Optional notice to show to the user, e.g. for sunsetting a deployment and pushing users to move in their own time.
Takes a configuration object as below:
1. `title`: Required. Title to show at the top of the notice.
2. `description`: Required. The description to use for the notice.
3. `show_once`: Optional. If true then the notice will only be shown once per device.
18. `help_url`: The URL to point users to for help with the app, defaults to `https://element.io/help`.
19. `help_encrption_url`: The URL to point users to for help with encryption, defaults to `https://element.io/help#encryption`.
### `desktop_builds` and `mobile_builds`
@@ -161,16 +181,16 @@ Together, these two options might look like the following in your config:
```json
{
"desktop_builds": {
"available": true,
"logo": "https://example.org/assets/logo-small.svg",
"url": "https://example.org/not_element/download"
},
"mobile_builds": {
"ios": null,
"android": "https://example.org/not_element/android",
"fdroid": "https://example.org/not_element/fdroid"
}
"desktop_builds": {
"available": true,
"logo": "https://example.org/assets/logo-small.svg",
"url": "https://example.org/not_element/download"
},
"mobile_builds": {
"ios": null,
"android": "https://example.org/not_element/android",
"fdroid": "https://example.org/not_element/fdroid"
}
}
```
@@ -201,18 +221,18 @@ Together, the options might look like this in your config:
```json
{
"branding": {
"welcome_background_url": "https://example.org/assets/background.jpg",
"auth_header_logo_url": "https://example.org/assets/logo.svg",
"auth_footer_links": [
{"text": "FAQ", "url": "https://example.org/faq"},
{"text": "Donate", "url": "https://example.org/donate"}
]
},
"embedded_pages": {
"welcome_url": "https://example.org/assets/welcome.html",
"home_url": "https://example.org/assets/home.html"
}
"branding": {
"welcome_background_url": "https://example.org/assets/background.jpg",
"auth_header_logo_url": "https://example.org/assets/logo.svg",
"auth_footer_links": [
{ "text": "FAQ", "url": "https://example.org/faq" },
{ "text": "Donate", "url": "https://example.org/donate" }
]
},
"embedded_pages": {
"welcome_url": "https://example.org/assets/welcome.html",
"home_url": "https://example.org/assets/home.html"
}
}
```
@@ -231,88 +251,99 @@ When Element is deployed alongside a homeserver with SSO-only login, some option
2. `sso_redirect_options`: Options to define how to handle unauthenticated users. If the object contains `"immediate": true`, then
all unauthenticated users will be automatically redirected to the SSO system to start their login. If instead you'd only like to
have users which land on the welcome page to be redirected, use `"on_welcome_page": true`. As an example:
```json
{
"sso_redirect_options": {
"immediate": false,
"on_welcome_page": true
}
}
```
It is most common to use the `immediate` flag instead of `on_welcome_page`.
```json
{
"sso_redirect_options": {
"immediate": false,
"on_welcome_page": true
}
}
```
It is most common to use the `immediate` flag instead of `on_welcome_page`.
## VoIP / Jitsi calls
Currently, Element uses Jitsi to offer conference calls in rooms. A set of defaults are applied, pointing at our Jitsi instance,
to ensure conference calling works, however you can point Element at your own Jitsi if you prefer.
Currently, Element uses Jitsi to offer conference calls in rooms, with an experimental Element Call implementation in the works.
A set of defaults are applied, pointing at our Jitsi and Element Call instances, to ensure conference calling works, however you
can point Element at your own if you prefer.
More information about the Jitsi setup can be found [here](./jitsi.md).
The VoIP and Jitsi options are:
1. `jitsi`: Optional configuration for how to start Jitsi conferences. Currently can only contain a single `preferred_domain`
value which points at the domain of the Jitsi instance. Defaults to `meet.element.io`. This is *not* used if the Jitsi widget
value which points at the domain of the Jitsi instance. Defaults to `meet.element.io`. This is _not_ used if the Jitsi widget
was created by an integration manager, or if the homeserver provides Jitsi information in `/.well-known/matrix/client`. For
example:
```json
{
"jitsi": {
"preferred_domain": "meet.jit.si"
}
}
```
```json
{
"jitsi": {
"preferred_domain": "meet.jit.si"
}
}
```
2. `jitsi_widget`: Optional configuration for the built-in Jitsi widget. Currently can only contain a single `skip_built_in_welcome_screen`
value, denoting whether the "Join Conference" button should be shown. When `true` (default `false`), Jitsi calls will skip to
the call instead of having a screen with a single button on it. This is most useful if the Jitsi instance being used already
has a landing page for users to test audio and video before joining the call, otherwise users will automatically join the call.
For example:
```json
{
"jitsi_widget": {
"skip_built_in_welcome_screen": true
}
}
```
```json
{
"jitsi_widget": {
"skip_built_in_welcome_screen": true
}
}
```
3. `voip`: Optional configuration for various VoIP features. Currently can only contain a single `obey_asserted_identity` value to
send MSC3086-style asserted identity messages during VoIP calls in the room corresponding to the asserted identity. This *must*
send MSC3086-style asserted identity messages during VoIP calls in the room corresponding to the asserted identity. This _must_
only be set in trusted environments. The option defaults to `false`. For example:
```json
{
"voip": {
"obey_asserted_identity": false
}
}
```
```json
{
"voip": {
"obey_asserted_identity": false
}
}
```
4. `widget_build_url`: Optional URL to have Element make a request to when a user presses the voice/video call buttons in the app,
if a call would normally be started by the action. The URL will be called with a `roomId` query parameter to identify the room
being called in. The URL must respond with a JSON object similar to the following:
```json
{
"widget_id": "$arbitrary_string",
"widget": {
"creatorUserId": "@user:example.org",
"id": "$the_same_widget_id",
"type": "m.custom",
"waitForIframeLoad": true,
"name": "My Widget Name Here",
"avatar_url": "mxc://example.org/abc123",
"url": "https://example.org/widget.html",
"data": {
"title": "Subtitle goes here"
}
},
"layout": {
"container": "top",
"index": 0,
"width": 65,
"height": 50
}
}
```
The `widget` is the `content` of a normal widget state event. The `layout` is the layout specifier for the widget being created,
as defined by the `io.element.widgets.layout` state event.
```json
{
"widget_id": "$arbitrary_string",
"widget": {
"creatorUserId": "@user:example.org",
"id": "$the_same_widget_id",
"type": "m.custom",
"waitForIframeLoad": true,
"name": "My Widget Name Here",
"avatar_url": "mxc://example.org/abc123",
"url": "https://example.org/widget.html",
"data": {
"title": "Subtitle goes here"
}
},
"layout": {
"container": "top",
"index": 0,
"width": 65,
"height": 50
}
}
```
The `widget` is the `content` of a normal widget state event. The `layout` is the layout specifier for the widget being created,
as defined by the `io.element.widgets.layout` state event. By default this applies to all rooms, but the behaviour can be skipped for DMs
by setting the option `widget_build_url_ignore_dm` to `true`.
5. `audio_stream_url`: Optional URL to pass to Jitsi to enable live streaming. This option is considered experimental and may be removed
at any time without notice.
6. `element_call`: Optional configuration for native group calls using Element Call, with the following subkeys:
- `url`: The URL of the Element Call instance to use for native group calls. This option is considered experimental
and may be removed at any time without notice. Defaults to `https://call.element.io`.
- `use_exclusively`: A boolean specifying whether Element Call should be used exclusively as the only VoIP stack in
the app, removing the ability to start legacy 1:1 calls or Jitsi calls. Defaults to `false`.
- `participant_limit`: The maximum number of users who can join a call; if
this number is exceeded, the user will not be able to join a given call.
- `brand`: Optional name for the app. Defaults to `Element Call`. This is
used throughout the application in various strings/locations.
## Bug reporting
@@ -322,10 +353,10 @@ If you run your own rageshake server to collect bug reports, the following optio
not present in the config, the app will disable all rageshake functionality. Set to `https://element.io/bugreports/submit` to submit
rageshakes to us, or use your own rageshake server.
2. `uisi_autorageshake_app`: If a user has enabled the "automatically send debug logs on decryption errors" flag, this option will be sent
alongside the rageshake so the rageshake server can filter them by app name. By default, this will be `element-web`, as with any other
rageshake submitted by the app.
If you are using the element.io rageshake server, please set this to `element-auto-uisi` so we can better filter them.
alongside the rageshake so the rageshake server can filter them by app name. By default, this will be `element-auto-uisi`
(in contrast to other rageshakes submitted by the app, which use `element-web`).
3. `existing_issues_url`: URL for where to find existing issues.
4. `new_issue_url`: URL for where to submit new issues.
If you would like to use [Sentry](https://sentry.io/) for rageshake data, add a `sentry` object to your config with the following values:
@@ -336,18 +367,17 @@ For example:
```json
{
"sentry": {
"dsn": "dsn-goes-here",
"environment": "production"
}
"sentry": {
"dsn": "dsn-goes-here",
"environment": "production"
}
}
```
## Integration managers
Integration managers are embedded applications within Element to help the user configure bots, bridges, and widgets. An integration manager
is a separate piece of software not typically available with your homeserver. To disable integrations, leave the options defined here out of
your config.
is a separate piece of software not typically available with your homeserver. To disable integrations, set the options defined here to `null`.
1. `integrations_ui_url`: The UI URL for the integration manager.
2. `integrations_rest_url`: The REST interface URL for the integration manager.
@@ -357,15 +387,15 @@ If you would like to use Scalar, the integration manager maintained by Element,
```json
{
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
]
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
]
}
```
@@ -375,9 +405,9 @@ If you would like to include a custom message when someone is reporting an event
```json
{
"report_event": {
"admin_message_md": "Please be sure to review our [terms of service](https://example.org/terms) before reporting a message."
}
"report_event": {
"admin_message_md": "Please be sure to review our [terms of service](https://example.org/terms) before reporting a message."
}
}
```
@@ -385,9 +415,7 @@ To add additional "terms and conditions" links throughout the app, use the follo
```json
{
"terms_and_conditions_links": [
{ "text": "Code of conduct", "url": "https://example.org/code-of-conduct" }
]
"terms_and_conditions_links": [{ "text": "Code of conduct", "url": "https://example.org/code-of-conduct" }]
}
```
@@ -404,42 +432,9 @@ analytics are deemed impossible and the user won't be asked to opt in to the sys
There are additional root-level options which can be specified:
1. `analytics_owner`: the company name used in dialogs talking about analytics - this defaults to `brand`,
and is useful when the provider of analytics is different from the provider of the Element instance.
and is useful when the provider of analytics is different from the provider of the Element instance.
2. `privacy_policy_url`: URL to the privacy policy including the analytics collection policy.
## Server hosting links
If you would like to encourage matrix.org users to sign up for a service like [Element Matrix Services](https://element.io/matrix-services/server-hosting),
the following configuration options can be set. Note that if the options are missing from the configuration then the hosting prompts
will not be shown to the user.
1. `hosting_signup_link`: Optional URL to link the user to when talking about "Upgrading your account". Will contain a query parameter
of `utm_campaign` to denote which link the user clicked on within the app. Only ever applies to matrix.org users specifically.
2. `host_signup`: Optional configuration for an account importer to your hosting platform. The API surface of this is not documented
at the moment, but can be configured with the following subproperties:
1. `brand`: The brand name to use.
2. `url`: The iframe URL for the importer.
3. `domains`: The homeserver domains to show the importer to.
4. `cookie_policy_url`: The URL to the cookie policy for the importer.
5. `privacy_policy_url`: The URL to the privacy policy for the importer.
6. `terms_of_service_url`: The URL to the terms of service for the importer.
If you're looking to mirror a setup from our production/development environments, the following config should be used:
```json
{
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"host_signup": {
"brand": "Element Home",
"domains": [ "matrix.org" ],
"url": "https://ems.element.io/element-home/in-app-loader",
"cookie_policy_url": "https://element.io/cookie-policy",
"privacy_policy_url": "https://element.io/privacy",
"terms_of_service_url": "https://element.io/terms-of-service"
}
}
```
## Miscellaneous
Element supports other options which don't quite fit into other sections of this document.
@@ -449,10 +444,10 @@ set this value to the following at a minimum:
```json
{
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
}
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
}
}
```
@@ -469,8 +464,8 @@ Element will check multiple sources when looking for an identity server to use i
the following order of preference:
1. The identity server set in the user's account data
* For a new user, no value is present in their account data. It is only set
if the user visits Settings and manually changes their identity server.
- For a new user, no value is present in their account data. It is only set
if the user visits Settings and manually changes their identity server.
2. The identity server provided by the `.well-known` lookup that occurred at
login
3. The identity server provided by the Riot config file
@@ -496,38 +491,38 @@ preferences.
Currently, the following UI feature flags are supported:
* `UIFeature.urlPreviews` - Whether URL previews are enabled across the entire application.
* `UIFeature.feedback` - Whether prompts to supply feedback are shown.
* `UIFeature.voip` - Whether or not VoIP is shown readily to the user. When disabled,
Jitsi widgets will still work though they cannot easily be added.
* `UIFeature.widgets` - Whether or not widgets will be shown.
* `UIFeature.flair` - Whether or not community flair is shown in rooms.
* `UIFeature.communities` - Whether or not to show any UI related to communities. Implicitly
disables `UIFeature.flair` when disabled.
* `UIFeature.advancedSettings` - Whether or not sections titled "advanced" in room and
user settings are shown to the user.
* `UIFeature.shareQrCode` - Whether or not the QR code on the share room/event dialog
is shown.
* `UIFeature.shareSocial` - Whether or not the social icons on the share room/event dialog
are shown.
* `UIFeature.identityServer` - Whether or not functionality requiring an identity server
is shown. When disabled, the user will not be able to interact with the identity
server (sharing email addresses, 3PID invites, etc).
* `UIFeature.thirdPartyId` - Whether or not UI relating to third party identifiers (3PIDs)
is shown. Typically this is considered "contact information" on the homeserver, and is
not directly related to the identity server.
* `UIFeature.registration` - Whether or not the registration page is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.passwordReset` - Whether or not the password reset page is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.deactivate` - Whether or not the deactivate account button is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.advancedEncryption` - Whether or not advanced encryption options are shown to the
user.
* `UIFeature.roomHistorySettings` - Whether or not the room history settings are shown to the user.
This should only be used if the room history visibility options are managed by the server.
* `UIFeature.TimelineEnableRelativeDates` - Display relative date separators (eg: 'Today', 'Yesterday') in the
timeline for recent messages. When false day dates will be used.
- `UIFeature.urlPreviews` - Whether URL previews are enabled across the entire application.
- `UIFeature.feedback` - Whether prompts to supply feedback are shown.
- `UIFeature.voip` - Whether or not VoIP is shown readily to the user. When disabled,
Jitsi widgets will still work though they cannot easily be added.
- `UIFeature.widgets` - Whether or not widgets will be shown.
- `UIFeature.advancedSettings` - Whether or not sections titled "advanced" in room and
user settings are shown to the user.
- `UIFeature.shareQrCode` - Whether or not the QR code on the share room/event dialog
is shown.
- `UIFeature.shareSocial` - Whether or not the social icons on the share room/event dialog
are shown.
- `UIFeature.identityServer` - Whether or not functionality requiring an identity server
is shown. When disabled, the user will not be able to interact with the identity
server (sharing email addresses, 3PID invites, etc).
- `UIFeature.thirdPartyId` - Whether or not UI relating to third party identifiers (3PIDs)
is shown. Typically this is considered "contact information" on the homeserver, and is
not directly related to the identity server.
- `UIFeature.registration` - Whether or not the registration page is accessible. Typically
useful if accounts are managed externally.
- `UIFeature.passwordReset` - Whether or not the password reset page is accessible. Typically
useful if accounts are managed externally.
- `UIFeature.deactivate` - Whether or not the deactivate account button is accessible. Typically
useful if accounts are managed externally.
- `UIFeature.advancedEncryption` - Whether or not advanced encryption options are shown to the
user.
- `UIFeature.roomHistorySettings` - Whether or not the room history settings are shown to the user.
This should only be used if the room history visibility options are managed by the server.
- `UIFeature.TimelineEnableRelativeDates` - Display relative date separators (eg: 'Today', 'Yesterday') in the
timeline for recent messages. When false day dates will be used.
- `UIFeature.BulkUnverifiedSessionsReminder` - Display popup reminders to verify or remove unverified sessions. Defaults
to true.
- `UIFeature.locationSharing` - Whether or not location sharing menus will be shown.
## Undocumented / developer options
@@ -537,3 +532,4 @@ The following are undocumented or intended for developer use only.
2. `sync_timeline_limit`
3. `dangerously_allow_unsafe_and_insecure_passwords`
4. `latex_maths_delims`: An optional setting to override the default delimiters used for maths parsing. See https://github.com/matrix-org/matrix-react-sdk/pull/5939 for details. Only used when `feature_latex_maths` is enabled.
5. `voice_broadcast.chunk_length`: Target chunk length in seconds for the Voice Broadcast feature currently under development.

View File

@@ -26,7 +26,6 @@ The home page can be overridden in `config.json` to provide all users of an elem
}
```
## `home.html` Example
The following is a simple example for a custom `home.html`:
@@ -62,4 +61,3 @@ It may be needed to set CORS headers for the `home.html` to enable element-deskt
```
add_header Access-Control-Allow-Origin *;
```

View File

@@ -1,5 +1,13 @@
# Customisations
### 🦖 DEPRECATED
Customisations have been deprecated in favour of the [Module API](https://github.com/vector-im/element-web/blob/develop/docs/modules.md).
If you have use cases from customisations which are not yet available via the Module API please open an issue.
Customisations will be removed from the codebase in a future release.
---
Element Web and the React SDK support "customisation points" that can be used to
easily add custom logic specific to a particular deployment of Element Web.
@@ -30,7 +38,7 @@ maintenance.
**Note**: The project deliberately does not exclude `customisations.json` from Git.
This is to ensure that in shared projects it's possible to have a common config. By
default, Element Web does *not* ship with this file to prevent conflicts.
default, Element Web does _not_ ship with this file to prevent conflicts.
### Custom components
@@ -41,9 +49,10 @@ that properties/state machines won't change.
### Component visibility customisation
UI for some actions can be hidden via the ComponentVisibility customisation:
- inviting users to rooms and spaces,
- creating rooms,
- creating spaces,
- inviting users to rooms and spaces,
- creating rooms,
- creating spaces,
To customise visibility create a customisation module from [ComponentVisibility](https://github.com/matrix-org/matrix-react-sdk/blob/master/src/customisations/ComponentVisibility.ts) following the instructions above.
@@ -55,6 +64,7 @@ might be shown to the user, but they won't have permission to invite users to
the current room: the button will appear disabled.
For example, to only allow users who meet a certain condition to create spaces:
```typescript
function shouldShowComponent(component: UIComponent): boolean {
if (component === UIComponent.CreateSpaces) {
@@ -65,4 +75,5 @@ function shouldShowComponent(component: UIComponent): boolean {
return true;
}
```
In this example, all UI related to creating a space will be hidden unless the users meets the custom condition.

View File

@@ -10,12 +10,34 @@ Set the following on your homeserver's
```json
{
"io.element.e2ee": {
"default": false
}
"io.element.e2ee": {
"default": false
}
}
```
## Disabling encryption
Set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
"io.element.e2ee": {
"force_disable": true
}
}
```
When `force_disable` is true:
- all rooms will be created with encryption disabled, and it will not be possible to enable
encryption from room settings.
- any `io.element.e2ee.default` value will be disregarded.
Note: If the server is configured to forcibly enable encryption for some or all rooms,
this behaviour will be overridden.
# Secure backup
By default, Element strongly encourages (but does not require) users to set up
@@ -29,9 +51,9 @@ following on your homeserver's `/.well-known/matrix/client` config:
```json
{
"io.element.e2ee": {
"secure_backup_required": true
}
"io.element.e2ee": {
"secure_backup_required": true
}
}
```
@@ -44,9 +66,9 @@ only offer one of these, you can signal this via the
```json
{
"io.element.e2ee": {
"secure_backup_setup_methods": ["passphrase"]
}
"io.element.e2ee": {
"secure_backup_setup_methods": ["passphrase"]
}
}
```

View File

@@ -5,10 +5,10 @@ flexibility and control over when and where those features are enabled.
For example, flags make the following things possible:
* Extended testing of a feature via labs on develop
* Enabling features when ready instead of the first moment the code is released
* Testing a feature with a specific set of users (by enabling only on a specific
Element instance)
- Extended testing of a feature via labs on develop
- Enabling features when ready instead of the first moment the code is released
- Testing a feature with a specific set of users (by enabling only on a specific
Element instance)
The size of the feature controlled by a feature flag may vary widely: it could
be a large project like reactions or a smaller change to an existing algorithm.
@@ -37,6 +37,7 @@ When starting work on a feature, we should create a matching feature flag:
1. Add a new
[setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx)
of the form:
```js
"feature_cats": {
isFeature: true,
@@ -45,10 +46,13 @@ When starting work on a feature, we should create a matching feature flag:
default: false,
},
```
2. Check whether the feature is enabled as appropriate:
```js
SettingsStore.getValue("feature_cats")
SettingsStore.getValue("feature_cats");
```
3. Document the feature in the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
With these steps completed, the feature is disabled by default, but can be
@@ -88,12 +92,14 @@ cover these cases, change the setting's `default` in `Settings.tsx` to `true`.
Once we're confident that a feature is working well, we should remove or convert the flag.
If the feature is meant to be turned off/on by the user:
1. Remove `isFeature` from the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
2. Change the `default` to `true` (if desired).
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
4. Celebrate! 🥳
If the feature is meant to be forced on (non-configurable):
1. Remove the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
2. Remove all `getValue` lines that test for the feature.
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)

View File

@@ -1,7 +1,7 @@
# Jitsi wrapper developer docs
*If you're looking for information on how to set up Jitsi in your Element, see
[jitsi.md](./jitsi.md) instead.*
_If you're looking for information on how to set up Jitsi in your Element, see
[jitsi.md](./jitsi.md) instead._
These docs are for developers wondering how the different conference buttons work
within Element. If you're not a developer, you're probably looking for [jitsi.md](./jitsi.md).
@@ -46,24 +46,24 @@ end up creating a widget with a URL like `https://integrations.example.org?widge
The integration manager's wrapper will typically have another iframe to isolate the
widget from the client by yet another layer. The wrapper often provides other functionality
which might not be available on the embedded site, such as a fullscreen button or the
communication layer with the client (all widgets *should* be talking to the client
communication layer with the client (all widgets _should_ be talking to the client
over `postMessage`, even if they aren't going to be using the widget APIs).
Widgets added with the `/addwidget` command will *not* be wrapped as they are not going
through an integration manager. The widgets themselves *should* also work outside of
Widgets added with the `/addwidget` command will _not_ be wrapped as they are not going
through an integration manager. The widgets themselves _should_ also work outside of
Element. Widgets currently have a "pop out" button which opens them in a new tab and
therefore have no connection back to Riot.
## Jitsi widgets from integration managers
Integration managers will create an entire widget event and send it over `postMessage`
for the client to add to the room. This means that the integration manager gets to
for the client to add to the room. This means that the integration manager gets to
decide the conference domain, conference name, and other aspects of the widget. As
a result, users can end up with a Jitsi widget that does not use the same conference
server they specified in their config.json - this is expected.
Some integration managers allow the user to change the conference name while others
will generate one for the user.
will generate one for the user.
## Jitsi widgets generated by Element itself
@@ -79,7 +79,7 @@ The Jitsi widget created by Element uses a local `jitsi.html` wrapper (or one ho
required `postMessage` calls are fulfilled.
**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
client .well-known data.
client .well-known data.
## The Jitsi wrapper in Element
@@ -92,9 +92,9 @@ and less risky to load. The local wrapper URL is populated with the conference i
from the original widget (which could be a v1 or v2 widget) so the user joins the right
call.
Critically, when the widget URL is reconstructed it does *not* take into account the
Critically, when the widget URL is reconstructed it does _not_ take into account the
config.json's `preferredDomain` for Jitsi. If it did this, users would end up on different
conference servers and therefore different calls entirely.
conference servers and therefore different calls entirely.
**Note**: Per [jitsi.md](./jitsi.md) the `preferredDomain` can also come from the server's
client .well-known data.

View File

@@ -24,13 +24,14 @@ Element will use the Jitsi server that is embedded in the widget, even if it is
one you configured. This is because conference calls must be held on a single Jitsi
server and cannot be split over multiple servers.
However, you can configure Element to *start* a conference with your Jitsi server by adding
However, you can configure Element to _start_ a conference with your Jitsi server by adding
to your [config](./config.md) the following:
```json
{
"jitsi": {
"preferredDomain": "your.jitsi.example.org"
}
"jitsi": {
"preferred_domain": "your.jitsi.example.org"
}
}
```
@@ -46,11 +47,12 @@ domain will appear later in the URL as a configuration parameter.
**Hint**: If you want everyone on your homeserver to use the same Jitsi server by
default, and you are using element-web 1.6 or newer, set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
"im.vector.riot.jitsi": {
"preferredDomain": "your.jitsi.example.org"
}
"im.vector.riot.jitsi": {
"preferredDomain": "your.jitsi.example.org"
}
}
```

View File

@@ -1,5 +1,4 @@
Running in Kubernetes
=====================
# Running in Kubernetes
In case you would like to deploy element-web in a kubernetes cluster you can use
the provided Kubernetes example below as a starting point. Note that this example assumes the
@@ -163,7 +162,7 @@ Then you can deploy it to your cluster with something like `kubectl apply -f my-
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header Content-Security-Policy "frame-ancestors 'self'";
spec:
rules:
- host: element.example.nl
@@ -178,4 +177,3 @@ Then you can deploy it to your cluster with something like `kubectl apply -f my-
number: 80
---

View File

@@ -4,6 +4,9 @@ If Labs is enabled in the [Element config](config.md), you can enable some of th
to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
[#element-web:matrix.org](https://matrix.to/#/#element-web:matrix.org) for more information.
If a labs features gets more stable, it _may_ be promoted to a beta feature
(see [Betas](https://github.com/vector-im/element-web/blob/develop/docs/betas.md)).
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
dropped. Ask in the room if you are unclear about any details here.**
@@ -83,11 +86,6 @@ present in the room. The Bridge info tab pulls information from the `m.bridge` s
bridges are not expected to be compatible, and users should not rely on this
tab as the single source of truth just yet.
## Presence indicator in room list (`feature_presence_in_room_list`)
This adds a presence indicator in the room list next to DM rooms where the other
person is online.
## Custom themes (`feature_custom_themes`)
Custom themes are possible through Element's [theme support](./theming.md), though
@@ -97,80 +95,49 @@ theme definition.
For some sample themes, check out [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes).
## Message preview tweaks
To enable message previews in the left panel for reactions in all rooms, enable `feature_roomlist_preview_reactions_all`.
To enable message previews for reactions in DMs only, enable `feature_roomlist_preview_reactions_dms`. This is ignored when it is enabled for all rooms.
## Dehydrated devices (`feature_dehydration`)
Allows users to receive encrypted messages by creating a device that is stored
encrypted on the server, as described in [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697).
## Breadcrumbs v2 (`feature_breadcrumbs_v2`)
Instead of showing the horizontal list of breadcrumbs under the filter field, the new UX is an interactive context menu
triggered by the button to the right of the filter field.
## Spotlight search (`feature_spotlight`) [In Development]
Switches to a new room search experience.
## Extensible events rendering (`feature_extensible_events`) [In Development]
*Intended for developer use only at the moment.*
Extensible Events are a [new event format](https://github.com/matrix-org/matrix-doc/pull/1767) which
supports graceful fallback in unknown event types. Instead of rendering nothing or a blank space, events
can define a series of other events which represent the event's information but in different ways. The
base of these fallbacks being text.
Turning this flag on indicates that, when possible, the extensible events structure should be parsed on
supported event types. This should lead to zero perceptual change in the timeline except in cases where
the sender is using unknown/unrecognised event types.
Sending events with extensible events structure is always enabled - this should not affect any downstream
client.
## Right panel stays open (`feature_right_panel_default_open`)
This is an experimental default open right panel mode as a quick fix for those
who prefer to have the right panel open consistently across rooms.
If no right panel state is known for the room or it was closed on the last room
visit, it will default to the room member list. Otherwise, the saved card last
used in that room is shown.
## Pin drop location sharing (`feature_location_share_pin_drop`) [In Development]
Enables sharing a pin drop location to the timeline.
## Live location sharing (`feature_location_share_live`) [In Development]
Enables sharing your current location to the timeline, with live updates.
## Threaded Messaging (`feature_thread`)
Threading allows users to branch out a new conversation from the main timeline of a room. This is particularly useful in high traffic rooms where multiple conversations can happen in parallel or when a single discussion might stretch over a very long period of time.
Threads can be access by clicking their summary below the root event on the room timeline. Users can find a comprehensive list of threads by click the icon on the room header button.
This feature might work in degraded mode if the homeserver a user is connected to does not advertise support for the unstable feature `org.matrix.msc3440` when calling the `/versions` API endpoint.
## Video rooms (`feature_video_rooms`)
Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of.
## Element Call video rooms (`feature_element_call_video_rooms`) [In Development]
Enables support for video rooms that use Element Call rather than Jitsi, and causes the 'New video room' option to create Element Call video rooms rather than Jitsi ones.
This flag will not have any effect unless `feature_video_rooms` is also enabled.
## New group call experience (`feature_group_calls`) [In Development]
This feature allows users to place and join native [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group calls in compatible rooms, using Element Call.
If you're enabling this at the deployment level, you may also want to reference the docs for the `element_call` config section.
## Rich text in room topics (`feature_html_topic`) [In Development]
Enables rendering of MD / HTML in room topics.
## Exploring public spaces (`feature_exploring_public_spaces`)
## Use the Rust cryptography implementation (`feature_rust_crypto`) [In Development]
Enables exploring public spaces in the new search dialog. Requires the server to
have [MSC3827](https://github.com/matrix-org/matrix-spec-proposals/pull/3827) enabled.
Configures Element to use a new cryptography implementation based on the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk).
## Favourite Messages (`feature_favourite_messages`) [In Development]
This setting is (currently) _sticky_ to a user's session: it only takes effect when the user logs in to a new session. Likewise, even after disabling the setting in `config.json`, the Rust implementation will remain in use until users log out.
Enables users to bookmark a message or content for a later reference.
## New room header & details (`feature_new_room_decoration_ui`) [In Development]
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.

1
docs/lib/mermaid-init.js Normal file
View File

@@ -0,0 +1 @@
mermaid.initialize({ startOnLoad:true });

1648
docs/lib/mermaid.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +1,11 @@
## Memory leaks
Element usually emits slow behaviour just before it is about to crash. Getting a
Element usually emits slow behaviour just before it is about to crash. Getting a
memory snapshot (below) just before that happens is ideal in figuring out what
is going wrong.
Common symptoms are clicking on a room and it feels like the tab froze and scrolling
becoming jumpy/staggered.
becoming jumpy/staggered.
If you receive a white screen (electron) or the chrome crash page, it is likely
run out of memory and it is too late for a memory profile. Please do report when
@@ -22,8 +22,8 @@ and anything newer is still in the warmup stages of the app.
**Memory profiles can contain sensitive information.** If you are submitting a memory
profile to us for debugging purposes, please pick the appropriate Element developer and
send them over an encrypted private message. *Do not share your memory profile in
public channels or with people you do not trust.*
send them over an encrypted private message. _Do not share your memory profile in
public channels or with people you do not trust._
### Taking a memory profile (Firefox)

View File

@@ -34,6 +34,7 @@ our [ILAG module](https://github.com/vector-im/element-web-ilag-module) which wi
structure of a module is and how it works.
The following requirements are key for any module:
1. The module must depend on `@matrix-org/react-sdk-module-api` (usually as a dev dependency).
2. The module's `main` entrypoint must have a `default` export for the `RuntimeModule` instance, supporting a constructor
which takes a single parameter: a `ModuleApi` instance. This instance is passed to `super()`.

43
docs/oidc.md Normal file
View File

@@ -0,0 +1,43 @@
# OIDC and delegated authentication
## Compatibility/OIDC-aware mode
[MSC2965: OIDC provider discovery](https://github.com/matrix-org/matrix-spec-proposals/pull/2965)
[MSC3824: OIDC aware clients](https://github.com/matrix-org/matrix-spec-proposals/pull/3824)
This mode uses an SSO flow to gain a `loginToken` from the authentication provider, then continues with SSO login.
Element Web uses [MSC2965: OIDC provider discovery](https://github.com/matrix-org/matrix-spec-proposals/pull/2965) to discover the configured provider.
Wherever valid MSC2965 configuration is discovered, OIDC-aware login flow will be the only option offered.
## (🧪Experimental) OIDC-native flow
Can be enabled by a config-level-only setting in `config.json`
```json
{
"features": {
"feature_oidc_native_flow": true
}
}
```
See https://areweoidcyet.com/client-implementation-guide/ for implementation details.
Element Web uses [MSC2965: OIDC provider discovery](https://github.com/matrix-org/matrix-spec-proposals/pull/2965) to discover the configured provider.
Where OIDC native login flow is enabled and valid MSC2965 configuration is discovered, OIDC native login flow will be the only login option offered.
Element Web will attempt to [dynamically register](https://openid.net/specs/openid-connect-registration-1_0.html) with the configured OP.
Then, authentication will be completed [as described here](https://areweoidcyet.com/client-implementation-guide/).
#### Statically configured OIDC clients
Clients that are already registered with the OP can configure their `client_id` in `config.json`.
Where static configuration exists for the OP dynamic client registration will not be attempted.
```json
{
"oidc_static_clients": {
"https://dummyoidcprovider.com/": {
"client_id": "abc123"
}
}
}
```

View File

@@ -10,53 +10,53 @@ When reviewing code, here are some things we look for and also things we avoid:
### We review for
* Correctness
* Performance
* Accessibility
* Security
* Quality via automated and manual testing
* Comments and documentation where needed
* Sharing knowledge of different areas among the team
* Ensuring it's something we're comfortable maintaining for the long term
* Progress indicators and local echo where appropriate with network activity
- Correctness
- Performance
- Accessibility
- Security
- Quality via automated and manual testing
- Comments and documentation where needed
- Sharing knowledge of different areas among the team
- Ensuring it's something we're comfortable maintaining for the long term
- Progress indicators and local echo where appropriate with network activity
### We should avoid
* Style nits that are already handled by the linter
* Dramatically increasing scope
- Style nits that are already handled by the linter
- Dramatically increasing scope
### Good practices
* Use empathetic language
* See also [Mindful Communication in Code
Reviews](https://kickstarter.engineering/a-guide-to-mindful-communication-in-code-reviews-48aab5282e5e)
and [How to Do Code Reviews Like a Human](https://mtlynch.io/human-code-reviews-1/)
* Authors should prefer smaller commits for easier reviewing and bisection
* Reviewers should be explicit about required versus optional changes
* Reviews are conversations and the PR author should feel comfortable
discussing and pushing back on changes before making them
* Reviewers are encouraged to ask for tests where they believe it is reasonable
* Core team should lead by example through their tone and language
* Take the time to thank and point out good code changes
* Using softer language like "please" and "what do you think?" goes a long way
towards making others feel like colleagues working towards a common goal
- Use empathetic language
- See also [Mindful Communication in Code
Reviews](https://kickstarter.engineering/a-guide-to-mindful-communication-in-code-reviews-48aab5282e5e)
and [How to Do Code Reviews Like a Human](https://mtlynch.io/human-code-reviews-1/)
- Authors should prefer smaller commits for easier reviewing and bisection
- Reviewers should be explicit about required versus optional changes
- Reviews are conversations and the PR author should feel comfortable
discussing and pushing back on changes before making them
- Reviewers are encouraged to ask for tests where they believe it is reasonable
- Core team should lead by example through their tone and language
- Take the time to thank and point out good code changes
- Using softer language like "please" and "what do you think?" goes a long way
towards making others feel like colleagues working towards a common goal
### Workflow
* Authors should request review from the element-web team by default (if someone on
the team is clearly the expert in an area, a direct review request to them may
be more appropriate)
* Reviewers should remove the team review request and request review from
themselves when starting a review to avoid double review
* If there are multiple related PRs authors should reference each of the PRs in
the others before requesting review. Reviewers might start reviewing from
different places and could miss other required PRs.
* Avoid force pushing to a PR after the first round of review
* Use the GitHub default of merge commits when landing (avoid alternate options
like squash or rebase)
* PR author merges after review (assuming they have write access)
* Assign issues only when in progress to indicate to others what can be picked
up
- Authors should request review from the element-web team by default (if someone on
the team is clearly the expert in an area, a direct review request to them may
be more appropriate)
- Reviewers should remove the team review request and request review from
themselves when starting a review to avoid double review
- If there are multiple related PRs authors should reference each of the PRs in
the others before requesting review. Reviewers might start reviewing from
different places and could miss other required PRs.
- Avoid force pushing to a PR after the first round of review
- Use the GitHub default of merge commits when landing (avoid alternate options
like squash or rebase)
- PR author merges after review (assuming they have write access)
- Assign issues only when in progress to indicate to others what can be picked
up
## Code Quality
@@ -64,10 +64,10 @@ In the past, we have occasionally written different kinds of tests for
Element and the SDKs, but it hasn't been a consistent focus. Going forward, we'd
like to change that.
* For new features, code reviewers will expect some form of automated testing to
be included by default
* For bug fixes, regression tests are of course great to have, but we don't want
to block fixes on this, so we won't require them at this time
- For new features, code reviewers will expect some form of automated testing to
be included by default
- For bug fixes, regression tests are of course great to have, but we don't want
to block fixes on this, so we won't require them at this time
The above policy is not a strict rule, but instead it's meant to be a
conversation between the author and reviewer. As an author, try to think about
@@ -104,10 +104,10 @@ perspective.
In more detail, our usual process for changes that affect the UI or alter user
functionality is:
* For changes that will go live when merged, always flag Design and Product
teams as appropriate
* For changes guarded by a feature flag, Design and Product review is not
required (though may still be useful) since we can continue tweaking
- For changes that will go live when merged, always flag Design and Product
teams as appropriate
- For changes guarded by a feature flag, Design and Product review is not
required (though may still be useful) since we can continue tweaking
As it can be difficult to review design work from looking at just the changed
files in a PR, a [preview site](./pr-previews.md) that includes your changes

View File

@@ -1,31 +1,29 @@
Theming Element
============
# Theming Element
Themes are a very basic way of providing simple alternative look & feels to the
Element app via CSS & custom imagery.
They are *NOT* co be confused with 'skins', which describe apps which sit on top
They are _NOT_ co be confused with 'skins', which describe apps which sit on top
of matrix-react-sdk - e.g. in theory Element itself is a react-sdk skin.
As of March 2022, skins are not fully supported; Element is the only available skin.
To define a theme for Element:
1. Pick a name, e.g. `teal`. at time of writing we have `light` and `dark`.
2. Fork `src/skins/vector/css/themes/dark.pcss` to be `teal.pcss`
3. Fork `src/skins/vector/css/themes/_base.pcss` to be `_teal.pcss`
4. Override variables in `_teal.pcss` as desired. You may wish to delete ones
1. Pick a name, e.g. `teal`. at time of writing we have `light` and `dark`.
2. Fork `src/skins/vector/css/themes/dark.pcss` to be `teal.pcss`
3. Fork `src/skins/vector/css/themes/_base.pcss` to be `_teal.pcss`
4. Override variables in `_teal.pcss` as desired. You may wish to delete ones
which don't differ from `_base.pcss`, to make it clear which are being
overridden. If every single colour is being changed (as per `_dark.pcss`)
then you might as well keep them all.
5. Add the theme to the list of entrypoints in webpack.config.js
6. Add the theme to the list of themes in matrix-react-sdk's UserSettings.js
7. Sit back and admire your handywork.
5. Add the theme to the list of entrypoints in webpack.config.js
6. Add the theme to the list of themes in matrix-react-sdk's UserSettings.js
7. Sit back and admire your handywork.
In future, the assets for a theme will probably be gathered together into a
single directory tree.
Custom Themes
=============
# Custom Themes
Themes derived from the built in themes may also be defined in settings.

View File

@@ -2,19 +2,25 @@
## Requirements
- A working [Development Setup](../README.md#setting-up-a-dev-environment)
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
- Latest LTS version of Node.js installed
- Be able to understand English
- Be able to understand the language you want to translate Element into
- A working [Development Setup](../README.md#setting-up-a-dev-environment)
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
- Latest LTS version of Node.js installed
- Be able to understand English
## Translating strings vs. marking strings for translation
Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js. It is recommended to call this function wherever you introduce a string constant which should be translated. However, translating can not be performed until after the translation system has been initialized. Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced. This breaks some tooling and makes it difficult to find translatable strings. Therefore, there is the alternative `_td()` function which is used to mark strings for translation, without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js.
It is recommended to call this function wherever you introduce a string constant which should be translated.
However, translating can not be performed until after the translation system has been initialized.
Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced.
This breaks some tooling and makes it difficult to find translatable strings.
Therefore, there is the alternative `_td()` function which is used to mark strings for translation,
without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
Basically, whenever a translatable string is introduced, you should call either `_t()` immediately OR `_td()` and later `_t()`.
Example:
```
// Module-level constant
const COLORS = {
@@ -28,36 +34,49 @@ function getColorName(hex) {
}
```
## Key naming rules
These rules are based on https://github.com/vector-im/element-x-android/blob/develop/tools/localazy/README.md
At this time we are not trying to have a translation key per UI element as some methodologies use,
whilst that would offer the greatest flexibility, it would also make reuse between projects nigh impossible.
We are aiming for a set of common strings to be shared then some more localised translations per context they may appear in.
1. Ensure the string doesn't already exist in a related project, such as https://localazy.com/p/element
2. Keys for common strings, i.e. strings that can be used at multiple places must start by `action_` if this is a verb, or `common_` if not
3. Keys for common accessibility strings must start by `a11y_`. Example: `a11y_hide_password`
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.
## 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.
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `yarn i18n` to update ``src/i18n/strings/en_EN.json``
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
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.
1. Add `_t()` to your string passing the translation key you come up with based on the rules above. If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `yarn i18n` to add the keys to `src/i18n/strings/en_EN.json`
1. Modify the new entries in `src/i18n/strings/en_EN.json` with the English (UK) translations for the added keys.
## Editing existing strings
1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
1. Run `yarn i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
1. Run `yarn prunei18n` to remove the old string from `src/i18n/strings/*.json`.
Edits to existing strings should be performed only via Localazy.
There you can also require all translations to be redone if the meaning of the string has changed significantly.
## Adding variables inside a string.
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
1. Extend your `_t()` call. Instead of `_t(TKEY)` use `_t(TKEY, {})`
1. Decide how to name it. Please think about if the person who has to translate it can understand what it does. E.g. using the name 'recipient' is bad, because a translator does not know if it is the name of a person, an email address, a user ID, etc. Rather use e.g. recipientEmailAddress.
1. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
1. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the _s_ at the end. The name of the variable has to match the previous used name.
1. Add it to the array in `_t` for example `_t(TKEY, {variable: this.variable})`
1. Add the variable inside the string. The syntax for variables is `%(variable)s`. Please note the _s_ at the end. The name of the variable has to match the previous used name.
- You can use the special ``count`` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. ``_t('You have %(count)s new messages', { count: 2 })`` would show 'You have 2 new messages', while ``_t('You have %(count)s new messages', { count: 1 })`` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in ``count`` is much prefered over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. ``_t('<a>Click here!</a>', {}, { 'a': (sub) => <a>{sub}</a> })``. If you don't do the tag substitution you will end up showing literally '<a>' rather than making a hyperlink.
- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. ``_t('Your email address is %(emailAddress)s', { emailAddress: <i>{userEmailAddress}</i> })``.
- You can use the special `count` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. `_t('You have %(count)s new messages', { count: 2 })` would show 'You have 2 new messages', while `_t('You have %(count)s new messages', { count: 1 })` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in `count` is much preferred over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. `_t('<a>Click here!</a>', {}, { 'a': (sub) => <a>{sub}</a> })`. If you don't do the tag substitution you will end up showing literally '<a>' rather than making a hyperlink.
- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. `_t('Your email address is %(emailAddress)s', { emailAddress: <i>{userEmailAddress}</i> })`.
## Things to know/Style Guides
- Do not use `_t()` inside ``getDefaultProps``: the translations aren't loaded when `getDefaultProps` is called, leading to missing translations. Use `_td()` to indicate that `_t()` will be called on the string later.
- If using translated strings as constants, translated strings can't be in constants loaded at class-load time since the translations won't be loaded. Mark the strings using `_td()` instead and perform the actual translation later.
- If a string is presented in the UI with punctuation like a full stop, include this in the translation strings, since punctuation varies between languages too.
- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetion, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.
- Do not use `_t()` inside `getDefaultProps`: the translations aren't loaded when `getDefaultProps` is called, leading to missing translations. Use `_td()` to indicate that `_t()` will be called on the string later.
- If using translated strings as constants, translated strings can't be in constants loaded at class-load time since the translations won't be loaded. Mark the strings using `_td()` instead and perform the actual translation later.
- If a string is presented in the UI with punctuation like a full stop, include this in the translation strings, since punctuation varies between languages too.
- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetition, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.
- Don't forget curly braces when you assign an expression to JSX attributes in the render method)

View File

@@ -2,63 +2,35 @@
## Requirements
- Web Browser
- Be able to understand English
- Be able to understand the language you want to translate Element into
- Web Browser
- Be able to understand English
- Be able to understand the language you want to translate Element into
## Step 0: Join #element-translations:matrix.org
## Join #element-translations:matrix.org
1. Come and join https://matrix.to/#/#element-translations:matrix.org for general discussion
1. Come and join https://matrix.to/#/#element-translations:matrix.org for general discussion
2. Join https://matrix.to/#/#element-translators:matrix.org for language-specific rooms
3. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
## Step 1: Preparing your Weblate Profile
1. Head to https://translate.element.io and register either via Github or email
2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
3. Log into weblate
4. Head to https://translate.element.io/accounts/profile/ and select the languages you know and maybe another language you know too.
3. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
## How to check if your language already is being translated
Go to https://translate.element.io/projects/element-web/ and visit the 2 sub-projects.
If your language is listed go to Step 2a and if not go to Step 2b
Go to https://localazy.com/p/element-web
If your language is listed then you can get started, have a read of https://localazy.com/docs/general/translating-strings
if you need help getting started. If your language is not yet listed please express your wishes to start translating it in
the general discussion room linked above.
## Step 2a: Helping on existing languages.
### What are `%(something)s`?
1. Head to one of the projects listed https://translate.element.io/projects/element-web/
2. Click on the ``translate`` button on the right side of your language
3. Fill in the translations in the writeable field. You will see the original English string and the string of your second language above.
These things are placeholders that are expanded when displayed by Element. They can be room names, usernames or similar.
If you find one, you can move to the right place for your language, but not delete it as the variable will be missing if you do.
A special case is `%(count)s` as this is also used to determine which pluralisation is used.
Head to the explanations under Steb 2b
### What are `<link>Something</link>`
## Step 2b: Adding a new language
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.
1. Go to one of the projects listed https://translate.element.io/projects/element-web/
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3
5. Repeat these steps for the other projects which are listed at the link of step 2b.1
### When will my translations be available?
### What means the green button under the text field?
The green button let you save our translations directly. Please only use it if you are 100% sure about that translation. If you do not know a translation please DO NOT click that button. Use the arrows above the translations field and click to the right.
### What means the yellow button under the text field?
The yellow button has to be used if you are unsure about the translation but you have a rough idea. It adds a new suggestion to the string which can than be reviewed by others.
### What are "%(something)s"?
These things are variables that are expanded when displayed by Element. They can be room names, usernames or similar. If you find one, you can move to the right place for your language, but not delete it as the variable will be missing if you do.
A special case is `%(urlStart)s` and `%(urlEnd)s` which are used to mark the beginning of a hyperlink (i.e. `<a href="/somewhere">` and `</a>`. You must keep these markers surrounding the equivalent string in your language that needs to be hyperlinked.
### "I want to come back to this string. How?"
You can use inside the translation field "Review needed" checkbox. It will be shown as Strings that need to be reviewed.
### Further reading
The official Weblate doc provides some more in-depth explanation on how to do translations and talks about do and don'ts. You can find it at: https://docs.weblate.org/en/latest/user/translating.html
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.

View File

@@ -1,5 +1,13 @@
{
"default_server_name": "matrix.org",
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
},
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
@@ -10,16 +18,11 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"uisi_autorageshake_app": "element-auto-uisi",
"showLabsSettings": false,
"roomDirectory": {
"servers": [
"matrix.org",
"gitter.im",
"libera.chat"
]
"show_labs_settings": false,
"room_directory": {
"servers": ["matrix.org", "gitter.im", "libera.chat"]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
@@ -35,19 +38,9 @@
"text": "Cookie Policy"
}
],
"hostSignup": {
"brand": "Element Home",
"cookiePolicyUrl": "https://element.io/cookie-policy",
"domains": [
"matrix.org"
],
"privacyPolicyUrl": "https://element.io/privacy",
"termsOfServiceUrl": "https://element.io/terms-of-service",
"url": "https://ems.element.io/element-home/in-app-loader"
},
"posthog": {
"projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
"apiHost": "https://posthog.element.io"
"project_api_key": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
"api_host": "https://posthog.element.io"
},
"privacy_policy_url": "https://element.io/cookie-policy",
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"

View File

@@ -1,5 +1,13 @@
{
"default_server_name": "matrix.org",
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
},
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
@@ -10,16 +18,11 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"uisi_autorageshake_app": "element-auto-uisi",
"showLabsSettings": true,
"roomDirectory": {
"servers": [
"matrix.org",
"gitter.im",
"libera.chat"
]
"show_labs_settings": true,
"room_directory": {
"servers": ["matrix.org", "gitter.im", "libera.chat"]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
@@ -35,28 +38,21 @@
"text": "Cookie Policy"
}
],
"hostSignup": {
"brand": "Element Home",
"cookiePolicyUrl": "https://element.io/cookie-policy",
"domains": [
"matrix.org"
],
"privacyPolicyUrl": "https://element.io/privacy",
"termsOfServiceUrl": "https://element.io/terms-of-service",
"url": "https://ems.element.io/element-home/in-app-loader"
},
"sentry": {
"dsn": "https://029a0eb289f942508ae0fb17935bd8c5@sentry.matrix.org/6",
"environment": "develop"
},
"posthog": {
"projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
"apiHost": "https://posthog.element.io"
"project_api_key": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
"api_host": "https://posthog.element.io"
},
"privacy_policy_url": "https://element.io/cookie-policy",
"features": {
"feature_spotlight": true,
"feature_video_rooms": true
"feature_video_rooms": true,
"feature_rust_crypto": true
},
"element_call": {
"url": "https://call.element.dev"
},
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
}

58
jest.config.ts Normal file
View File

@@ -0,0 +1,58 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import { env } from "process";
import type { Config } from "jest";
const config: Config = {
testEnvironment: "jsdom",
testEnvironmentOptions: {
url: "http://localhost/",
},
testMatch: ["<rootDir>/test/**/*-test.[tj]s?(x)"],
setupFiles: ["jest-canvas-mock"],
setupFilesAfterEnv: ["<rootDir>/node_modules/matrix-react-sdk/test/setupTests.ts"],
moduleNameMapper: {
"\\.(css|scss|pcss)$": "<rootDir>/__mocks__/cssMock.js",
"\\.(gif|png|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
"\\.svg$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/svg.js",
"\\$webapp/i18n/languages.json": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/languages.json",
"^react$": "<rootDir>/node_modules/react",
"^react-dom$": "<rootDir>/node_modules/react-dom",
"^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src",
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src",
"decoderWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"decoderWorker\\.min\\.wasm": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"waveWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"context-filter-polyfill": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"FontManager.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/FontManager.js",
"workers/(.+)\\.worker\\.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/workerMock.js",
"^!!raw-loader!.*": "jest-raw-loader",
"RecorderWorklet": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"^fetch-mock$": "<rootDir>/node_modules/fetch-mock",
},
transformIgnorePatterns: ["/node_modules/(?!matrix-js-sdk).+$", "/node_modules/(?!matrix-react-sdk).+$"],
coverageReporters: ["text-summary", "lcov"],
testResultsProcessor: "@casualbot/jest-sonar-reporter",
};
// if we're running under GHA, enable the GHA reporter
if (env["GITHUB_ACTIONS"] !== undefined) {
config.reporters = [["github-actions", { silent: false }], "summary"];
}
export default config;

37
localazy.json Normal file
View File

@@ -0,0 +1,37 @@
{
"readKey": "a7688614897667993891-866e2615b0a22e6ccef56aea9b10e815efa3e1296752a7a30bd9925f1a8f33e7",
"upload": {
"type": "json",
"keySeparator": "|",
"deprecate": "file",
"features": ["plural_object", "filter_untranslated"],
"files": [
{
"pattern": "src/i18n/strings/en_EN.json",
"file": "element-web.json",
"lang": "inherited"
},
{
"group": "existing",
"pattern": "src/i18n/strings/*.json",
"file": "element-web.json",
"excludes": ["src/i18n/strings/en_EN.json"],
"lang": "${autodetectLang}"
}
]
},
"download": {
"files": [
{
"conditions": "equals: ${file}, element-web.json",
"output": "src/i18n/strings/${langLsrUnderscore}.json"
}
],
"includeSourceLang": "${includeSourceLang|false}",
"langAliases": {
"en": "en-EN"
}
}
}

View File

@@ -65,7 +65,7 @@ export function installer(config: BuildConfig): void {
// else must be a module, we assume.
const pkgJsonStr = fs.readFileSync("./package.json", "utf-8");
const optionalDepNames = getOptionalDepNames(pkgJsonStr);
const installedModules = optionalDepNames.filter(d => !currentOptDeps.includes(d));
const installedModules = optionalDepNames.filter((d) => !currentOptDeps.includes(d));
// Ensure all the modules are compatible. We check them all and report at the end to
// try and save the user some time debugging this sort of failure.
@@ -80,7 +80,7 @@ export function installer(config: BuildConfig): void {
if (incompatibleNames.length > 0) {
console.error(
"The following modules are not compatible with this version of element-web. Please update the module " +
"references and try again.",
"references and try again.",
JSON.stringify(incompatibleNames, null, 4), // stringify to get prettier/complete output
);
exitCode = 1;
@@ -123,39 +123,43 @@ function readCurrentPackageDetails(): RawDependencies {
};
}
function writePackageDetails(deps: RawDependencies) {
function writePackageDetails(deps: RawDependencies): void {
fs.writeFileSync("./yarn.lock", deps.lockfile, "utf-8");
fs.writeFileSync("./package.json", deps.packageJson, "utf-8");
}
function callYarnAdd(dep: string) {
function callYarnAdd(dep: string): void {
// Add the module to the optional dependencies section just in case something
// goes wrong in restoring the original package details.
childProcess.execSync(`yarn add -O ${dep}`, {
env: process.env,
stdio: ['inherit', 'inherit', 'inherit'],
stdio: ["inherit", "inherit", "inherit"],
});
}
function getOptionalDepNames(pkgJsonStr: string): string[] {
return Object.keys(JSON.parse(pkgJsonStr)?.['optionalDependencies'] ?? {});
return Object.keys(JSON.parse(pkgJsonStr)?.["optionalDependencies"] ?? {});
}
function findDepVersionInPackageJson(dep: string, pkgJsonStr: string): string {
const pkgJson = JSON.parse(pkgJsonStr);
const packages = {
...(pkgJson['optionalDependencies'] ?? {}),
...(pkgJson['devDependencies'] ?? {}),
...(pkgJson['dependencies'] ?? {}),
...(pkgJson["optionalDependencies"] ?? {}),
...(pkgJson["devDependencies"] ?? {}),
...(pkgJson["dependencies"] ?? {}),
};
return packages[dep];
}
function getTopLevelDependencyVersion(dep: string): string {
const dependencyTree = JSON.parse(childProcess.execSync(`npm list ${dep} --depth=0 --json`, {
env: process.env,
stdio: ['inherit', 'pipe', 'pipe'],
}).toString('utf-8'));
const dependencyTree = JSON.parse(
childProcess
.execSync(`npm list ${dep} --depth=0 --json`, {
env: process.env,
stdio: ["inherit", "pipe", "pipe"],
})
.toString("utf-8"),
);
/*
What a dependency tree looks like:
@@ -181,11 +185,22 @@ function getModuleApiVersionFor(moduleName: string): string {
return findDepVersionInPackageJson(moduleApiDepName, pkgJsonStr);
}
// A list of Module API versions that are supported in addition to the currently installed one
// defined in the package.json. This is necessary because semantic versioning is applied to both
// the Module-side surface of the API and the Client-side surface of the API. So breaking changes
// in the Client-side surface lead to a major bump even though the Module-side surface stays
// compatible. We aim to not break the Module-side surface so we maintain a list of compatible
// older versions.
const backwardsCompatibleMajorVersions = ["1.0.0"];
function isModuleVersionCompatible(ourApiVersion: string, moduleApiVersion: string): boolean {
if (!moduleApiVersion) return false;
return semver.satisfies(ourApiVersion, moduleApiVersion);
return (
semver.satisfies(ourApiVersion, moduleApiVersion) ||
backwardsCompatibleMajorVersions.some((version) => semver.satisfies(version, moduleApiVersion))
);
}
function writeModulesTs(content: string) {
function writeModulesTs(content: string): void {
fs.writeFileSync("./src/modules.ts", content, "utf-8");
}

View File

@@ -1,215 +1,197 @@
{
"name": "element-web",
"version": "1.11.4",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/element-web"
},
"license": "Apache-2.0",
"files": [
"lib",
"res",
"src",
"webpack.config.js",
"scripts",
"docs",
"release.sh",
"deploy",
"CHANGELOG.md",
"CONTRIBUTING.rst",
"LICENSE",
"README.md",
"AUTHORS.rst",
"package.json",
"contribute.json"
],
"style": "bundle.css",
"scripts": {
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
"build:jitsi": "node scripts/build-jitsi.js",
"build:res": "node scripts/copy-res.js",
"build:genfiles": "yarn build:res && yarn build:jitsi && yarn build:module_system",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:bundle": "webpack --progress --bail --mode production",
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
"build:module_system": "tsc --project ./tsconfig.module_system.json && node ./lib/module_system/scripts/install.js",
"dist": "scripts/package.sh",
"start": "yarn build:module_system && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"",
"start:res": "yarn build:jitsi && node scripts/copy-res.js -w",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
"lint:js": "eslint --max-warnings 0 src module_system",
"lint:js-fix": "eslint --fix src module_system",
"lint:types": "tsc --noEmit --jsx react && tsc --noEmit --project ./tsconfig.module_system.json",
"lint:style": "stylelint \"res/css/**/*.pcss\"",
"test": "jest",
"coverage": "yarn test --coverage",
"analyse:unused-exports": "node ./scripts/analyse_unused_exports.js"
},
"dependencies": {
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.12.tgz",
"@matrix-org/react-sdk-module-api": "^0.0.3",
"browser-request": "^0.3.3",
"gfm.css": "^1.1.2",
"jsrsasign": "^10.5.25",
"katex": "^0.12.0",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-widget-api": "^1.0.0",
"prop-types": "^15.7.2",
"react": "17.0.2",
"react-dom": "17.0.2",
"sanitize-html": "^2.3.2",
"ua-parser-js": "^0.7.24"
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/eslint-parser": "^7.12.10",
"@babel/eslint-plugin": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@sentry/webpack-plugin": "^1.18.1",
"@svgr/webpack": "^5.5.0",
"@types/flux": "^3.1.9",
"@types/jest": "^28.0.0",
"@types/modernizr": "^3.5.3",
"@types/node": "^14.14.22",
"@types/react": "17.0.14",
"@types/react-dom": "17.0.9",
"@types/sanitize-html": "^2.3.1",
"@types/ua-parser-js": "^0.7.36",
"@typescript-eslint/eslint-plugin": "^5.6.0",
"@typescript-eslint/parser": "^5.6.0",
"allchange": "^1.0.6",
"autoprefixer": "^9.8.6",
"babel-jest": "^28.0.0",
"babel-loader": "^8.2.2",
"chokidar": "^3.5.1",
"concurrently": "^5.3.0",
"cpx": "^1.5.0",
"css-loader": "^3.6.0",
"dotenv": "^10.0.0",
"eslint": "8.9.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-deprecate": "^0.7.0",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-matrix-org": "^0.6.1",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fake-indexeddb": "^3.1.2",
"file-loader": "^5.1.0",
"fs-extra": "^0.30.0",
"html-webpack-plugin": "^4.5.2",
"jest": "^28.0.0",
"jest-environment-jsdom": "^28.1.3",
"jest-raw-loader": "^1.0.1",
"jest-sonar-reporter": "^2.0.0",
"json-loader": "^0.5.7",
"loader-utils": "^1.4.0",
"matrix-mock-request": "^2.0.0",
"matrix-react-test-utils": "^0.2.3",
"matrix-web-i18n": "^1.3.0",
"mini-css-extract-plugin": "^0.12.0",
"minimist": "^1.2.6",
"mkdirp": "^1.0.4",
"modernizr": "^3.12.0",
"node-fetch": "^2.6.7",
"optimize-css-assets-webpack-plugin": "^5.0.4",
"postcss-easings": "^2.0.0",
"postcss-hexrgba": "2.0.1",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-mixins": "^6.2.3",
"postcss-nested": "^4.2.3",
"postcss-preset-env": "^6.7.0",
"postcss-scss": "^2.1.1",
"postcss-simple-vars": "^5.0.2",
"raw-loader": "^4.0.2",
"rimraf": "^3.0.2",
"semver": "^7.3.7",
"shell-escape": "^0.2.0",
"simple-proxy-agent": "^1.1.0",
"string-replace-loader": "2",
"style-loader": "2",
"stylelint": "^14.9.1",
"stylelint-config-standard": "^26.0.0",
"stylelint-scss": "^4.2.0",
"terser-webpack-plugin": "^2.3.8",
"ts-prune": "^0.10.3",
"typescript": "^4.7.4",
"webpack": "^4.46.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.2",
"worker-loader": "^2.0.0",
"worklet-loader": "^2.0.0",
"yaml": "^2.0.1"
},
"resolutions": {
"@types/react": "17.0.14"
},
"jest": {
"testEnvironment": "jsdom",
"testEnvironmentOptions": {
"url": "http://localhost/"
"name": "element-web",
"version": "1.11.50",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/element-web"
},
"testMatch": [
"<rootDir>/test/**/*-test.[tj]s?(x)"
"license": "Apache-2.0",
"files": [
"lib",
"res",
"src",
"webpack.config.js",
"scripts",
"docs",
"release.sh",
"deploy",
"CHANGELOG.md",
"CONTRIBUTING.rst",
"LICENSE",
"README.md",
"AUTHORS.rst",
"package.json",
"contribute.json"
],
"setupFilesAfterEnv": [
"<rootDir>/node_modules/matrix-react-sdk/test/setupTests.js"
"style": "bundle.css",
"matrix_i18n_extra_translation_funcs": [
"UserFriendlyError"
],
"moduleNameMapper": {
"\\.(css|scss|pcss)$": "<rootDir>/__mocks__/cssMock.js",
"\\.(gif|png|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
"\\.svg$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/svg.js",
"\\$webapp/i18n/languages.json": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/languages.json",
"^browser-request$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/browser-request.js",
"^react$": "<rootDir>/node_modules/react",
"^react-dom$": "<rootDir>/node_modules/react-dom",
"^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src",
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src",
"decoderWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"decoderWorker\\.min\\.wasm": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"waveWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"context-filter-polyfill": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"FontManager.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/FontManager.js",
"workers/(.+)\\.worker\\.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/workerMock.js",
"^!!raw-loader!.*": "jest-raw-loader",
"RecorderWorklet": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js"
"scripts": {
"i18n": "matrix-gen-i18n && yarn i18n:sort && yarn i18n:lint",
"i18n:sort": "jq --sort-keys '.' src/i18n/strings/en_EN.json > src/i18n/strings/en_EN.json.tmp && mv src/i18n/strings/en_EN.json.tmp src/i18n/strings/en_EN.json",
"i18n:lint": "prettier --write src/i18n/strings/ --ignore-path /dev/null",
"i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
"build:jitsi": "ts-node scripts/build-jitsi.ts",
"build:res": "ts-node scripts/copy-res.ts",
"build:genfiles": "yarn build:res && yarn build:jitsi && yarn build:module_system",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:bundle": "webpack --progress --mode production",
"build:bundle-stats": "webpack --progress --mode production --json > webpack-stats.json",
"build:module_system": "tsc --project ./tsconfig.module_system.json && node ./lib/module_system/scripts/install.js",
"dist": "scripts/package.sh",
"start": "yarn build:module_system && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"",
"start:res": "yarn build:jitsi && ts-node scripts/copy-res.ts -w",
"start:js": "webpack serve --output-path webapp --mode development",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
"lint:js": "yarn lint:js:src && yarn lint:js:module_system",
"lint:js:src": "eslint --max-warnings 0 src test && prettier --check .",
"lint:js:module_system": "eslint --max-warnings 0 --config .eslintrc-module_system.js module_system",
"lint:js-fix": "yarn lint:js-fix:src && yarn lint:js-fix:module_system",
"lint:js-fix:src": "prettier --write . && eslint --fix src test",
"lint:js-fix:module_system": "eslint --fix --config .eslintrc-module_system.js module_system",
"lint:types": "yarn lint:types:src && yarn lint:types:module_system",
"lint:types:src": "tsc --noEmit --jsx react",
"lint:types:module_system": "tsc --noEmit --project ./tsconfig.module_system.json",
"lint:style": "stylelint \"res/css/**/*.pcss\"",
"test": "jest",
"coverage": "yarn test --coverage",
"analyse:unused-exports": "ts-node ./scripts/analyse_unused_exports.ts",
"analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp"
},
"transformIgnorePatterns": [
"/node_modules/(?!matrix-js-sdk).+$",
"/node_modules/(?!matrix-react-sdk).+$"
],
"coverageReporters": [
"text-summary",
"lcov"
],
"testResultsProcessor": "jest-sonar-reporter"
},
"jestSonar": {
"reportPath": "coverage",
"sonar56x": true
}
"resolutions": {
"@types/react-dom": "17.0.21",
"@types/react": "17.0.68"
},
"dependencies": {
"@matrix-org/olm": "3.2.15",
"@matrix-org/react-sdk-module-api": "^2.2.1",
"gfm.css": "^1.1.2",
"jsrsasign": "^10.5.25",
"katex": "^0.16.0",
"lodash": "^4.17.21",
"matrix-js-sdk": "30.1.0",
"matrix-react-sdk": "3.85.0",
"matrix-widget-api": "^1.3.1",
"react": "17.0.2",
"react-dom": "17.0.2",
"ua-parser-js": "^1.0.0"
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/eslint-parser": "^7.12.10",
"@babel/eslint-plugin": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@casualbot/jest-sonar-reporter": "2.2.7",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@sentry/webpack-plugin": "^2.0.0",
"@svgr/webpack": "^5.5.0",
"@testing-library/react": "^12.1.5",
"@types/jest": "^29.0.0",
"@types/jitsi-meet": "^2.0.2",
"@types/jsrsasign": "^10.5.4",
"@types/loader-utils": "^2.0.4",
"@types/lodash": "^4.14.197",
"@types/node": "^16",
"@types/node-fetch": "^2.6.4",
"@types/react": "17.0.68",
"@types/react-dom": "17.0.21",
"@types/ua-parser-js": "^0.7.36",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
"allchange": "^1.0.6",
"babel-jest": "^29.0.0",
"babel-loader": "^8.2.2",
"chokidar": "^3.5.1",
"concurrently": "^8.0.0",
"cpx": "1.5.0",
"cronstrue": "^2.41.0",
"css-loader": "^4",
"dotenv": "^16.0.2",
"eslint": "8.52.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "0.8.4",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-matrix-org": "^1.0.0",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-unicorn": "^49.0.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fake-indexeddb": "^5.0.0",
"fetch-mock-jest": "^1.5.1",
"file-loader": "^6.0.0",
"fs-extra": "^11.0.0",
"html-webpack-plugin": "^4.5.2",
"jest": "^29.0.0",
"jest-canvas-mock": "2.5.2",
"jest-environment-jsdom": "^29.0.0",
"jest-mock": "^29.0.0",
"jest-raw-loader": "^1.0.1",
"json-loader": "^0.5.7",
"loader-utils": "^3.0.0",
"matrix-mock-request": "^2.5.0",
"matrix-web-i18n": "^3.1.3",
"mini-css-extract-plugin": "^1",
"minimist": "^1.2.6",
"mkdirp": "^3.0.0",
"modernizr": "^3.12.0",
"node-fetch": "^2.6.7",
"optimize-css-assets-webpack-plugin": "^6.0.0",
"postcss": "^8.4.31",
"postcss-easings": "^2.0.0",
"postcss-hexrgba": "2.0.1",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-mixins": "^6.2.3",
"postcss-nested": "^4.2.3",
"postcss-preset-env": "^6.7.0",
"postcss-scss": "^4.0.4",
"postcss-simple-vars": "^5.0.2",
"prettier": "2.8.8",
"proxy-agent": "^6.3.0",
"raw-loader": "^4.0.2",
"rimraf": "^5.0.0",
"semver": "^7.5.2",
"string-replace-loader": "3",
"style-loader": "2",
"stylelint": "^15.10.1",
"stylelint-config-standard": "^34.0.0",
"stylelint-scss": "^5.0.0",
"terser-webpack-plugin": "^4.0.0",
"ts-node": "^10.9.1",
"ts-prune": "^0.10.3",
"typescript": "5.2.2",
"webpack": "^4.47.0",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.15.1",
"worker-loader": "^3.0.0",
"worklet-loader": "^2.0.0",
"yaml": "^2.3.3"
},
"@casualbot/jest-sonar-reporter": {
"outputDirectory": "coverage",
"outputName": "jest-sonar-report.xml",
"relativePaths": true
}
}

View File

@@ -1,68 +1,9 @@
#!/bin/bash
#!/usr/bin/env bash
#
# Script to perform a release of element-web.
#
# Requires github-changelog-generator; to install, do
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
set -e
orig_args=$@
cd "$(dirname "$0")"
# chomp any args starting with '-' as these need to go
# through to the release script and otherwise we'll get
# confused about what the version arg is.
while [[ "$1" == -* ]]; do
shift
done
cd `dirname $0`
for i in matrix-js-sdk matrix-react-sdk
do
echo "Checking version of $i..."
depver=`cat package.json | jq -r .dependencies[\"$i\"]`
latestver=`yarn info -s $i dist-tags.next`
if [ "$depver" != "$latestver" ]
then
echo "The latest version of $i is $latestver but package.json depends on $depver."
echo -n "Type 'u' to auto-upgrade, 'c' to continue anyway, or 'a' to abort:"
read resp
if [ "$resp" != "u" ] && [ "$resp" != "c" ]
then
echo "Aborting."
exit 1
fi
if [ "$resp" == "u" ]
then
echo "Upgrading $i to $latestver..."
yarn add -E $i@$latestver
git add -u
git commit -m "Upgrade $i to $latestver"
fi
fi
done
./node_modules/matrix-js-sdk/release.sh -n "$orig_args"
release="${1#v}"
tag="v${release}"
prerelease=0
# We check if this build is a prerelease by looking to
# see if the version has a hyphen in it. Crude,
# but semver doesn't support postreleases so anything
# with a hyphen is a prerelease.
echo $release | grep -q '-' && prerelease=1
if [ $prerelease -eq 0 ]
then
# For a release, reset SDK deps back to the `develop` branch.
for i in matrix-js-sdk matrix-react-sdk
do
echo "Resetting $i to develop branch..."
yarn add github:matrix-org/$i#develop
git add -u
git commit -m "Reset $i back to develop branch"
done
git push origin develop
fi
./node_modules/matrix-js-sdk/release.sh "$@"

View File

@@ -2,3 +2,5 @@ signing_id: releases@riot.im
subprojects:
matrix-react-sdk:
includeByDefault: true
matrix-js-sdk:
includeByDefault: false

View File

@@ -0,0 +1,35 @@
{
"applinks": {
"details": [
{
"appIDs": [
"7J4U792NQT.im.vector.app",
"7J4U792NQT.io.element.elementx",
"7J4U792NQT.io.element.elementx.nightly",
"7J4U792NQT.io.element.elementx.pr"
],
"components": [
{
"?": {
"no_universal_links": "?*"
},
"exclude": true,
"comment": "Opt out of universal links"
},
{
"/": "/*",
"comment": "Matches any URL"
}
]
}
]
},
"webcredentials": {
"apps": [
"7J4U792NQT.im.vector.app",
"7J4U792NQT.io.element.elementx",
"7J4U792NQT.io.element.elementx.nightly",
"7J4U792NQT.io.element.elementx.pr"
]
}
}

View File

@@ -25,21 +25,14 @@ limitations under the License.
background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
/* stylelint-disable-next-line function-no-unknown */
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#c5e0f7', endColorstr='#ffffff', GradientType=0);
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Helvetica,
Arial,
sans-serif,
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol";
width: 100%;
min-height: 100%;
height: auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
color: #000;
width: 100%;
height: 100%;
overflow: auto;
padding: 0 20px;
box-sizing: border-box;
.mx_ErrorView_container {
max-width: 680px;
@@ -97,7 +90,8 @@ limitations under the License.
margin: auto 20px auto 0;
}
h1, h2 {
h1,
h2 {
font-weight: 600;
margin-bottom: 32px;
}

View File

@@ -20,7 +20,7 @@
class Optional {
static from(value) {
return value && Some.of(value) || None;
return (value && Some.of(value)) || None;
}
map(f) {
return this;

View File

@@ -10,11 +10,11 @@ async function getBundleName(baseUrl) {
throw new StartupError(`Couldn't fetch index.html to prefill bundle; ${res.status} ${res.statusText}`);
}
const index = await res.text();
return index.split("\n").map((line) =>
line.match(/<script src="bundles\/([^/]+)\/bundle.js"/),
)
.filter((result) => result)
.map((result) => result[1])[0];
return index
.split("\n")
.map((line) => line.match(/<script src="bundles\/([^/]+)\/bundle.js"/))
.filter((result) => result)
.map((result) => result[1])[0];
}
function validateBundle(value) {
@@ -69,7 +69,7 @@ function observeReadableStream(readableStream, pendingContext = {}) {
return;
}
bytesReceived += value.length;
pendingSubject.next(Pending.of({...pendingContext, bytesReceived }));
pendingSubject.next(Pending.of({ ...pendingContext, bytesReceived }));
/* string concatenation is apparently the most performant way to do this */
buffer += utf8Decoder.decode(value);
readNextChunk();
@@ -120,25 +120,27 @@ const e = React.createElement;
* Provides user feedback given a FetchStatus object.
*/
function ProgressBar({ fetchStatus }) {
return e('span', { className: "progress "},
return e(
"span",
{ className: "progress " },
fetchStatus.fold({
pending: ({ bytesReceived, length }) => {
if (!bytesReceived) {
return e('span', { className: "spinner" }, "\u29b5");
return e("span", { className: "spinner" }, "\u29b5");
}
const kB = Math.floor(10 * bytesReceived / 1024) / 10;
const kB = Math.floor((10 * bytesReceived) / 1024) / 10;
if (!length) {
return e('span', null, `Fetching (${kB}kB)`);
return e("span", null, `Fetching (${kB}kB)`);
}
const percent = Math.floor(100 * bytesReceived / length);
return e('span', null, `Fetching (${kB}kB) ${percent}%`);
const percent = Math.floor((100 * bytesReceived) / length);
return e("span", null, `Fetching (${kB}kB) ${percent}%`);
},
success: () => e('span', null, "\u2713"),
success: () => e("span", null, "\u2713"),
error: (reason) => {
return e('span', { className: 'error'}, `\u2717 ${reason}`);
return e("span", { className: "error" }, `\u2717 ${reason}`);
},
},
));
}),
);
}
/*
@@ -193,23 +195,24 @@ function BundlePicker() {
setColumn(value);
}, []);
/* ------------------------------------------------ */
/* Plumb data-fetching observables through to React */
/* ------------------------------------------------ */
/* Whenever a valid bundle name is input, go see if it's a real bundle on the server */
React.useEffect(() =>
validateBundle(bundle).fold({
some: (value) => {
const subscription = bundleSubject(baseUrl, value)
.pipe(rxjs.operators.map(Some.of))
.subscribe(setBundleFetchStatus);
return () => subscription.unsubscribe();
},
none: () => setBundleFetchStatus(None),
}),
[baseUrl, bundle]);
React.useEffect(
() =>
validateBundle(bundle).fold({
some: (value) => {
const subscription = bundleSubject(baseUrl, value)
.pipe(rxjs.operators.map(Some.of))
.subscribe(setBundleFetchStatus);
return () => subscription.unsubscribe();
},
none: () => setBundleFetchStatus(None),
}),
[baseUrl, bundle],
);
/* Whenever a valid javascript file is input, see if it corresponds to a sourcemap file and initiate a fetch
* if so. */
@@ -218,17 +221,18 @@ function BundlePicker() {
setFileFetchStatus(None);
return;
}
const observable = fetchAsSubject(new URL(`bundles/${bundle}/${file}.map`, baseUrl).toString())
.pipe(
rxjs.operators.map((fetchStatus) => fetchStatus.flatMap(value => {
const observable = fetchAsSubject(new URL(`bundles/${bundle}/${file}.map`, baseUrl).toString()).pipe(
rxjs.operators.map((fetchStatus) =>
fetchStatus.flatMap((value) => {
try {
return Success.of(JSON.parse(value));
} catch (e) {
return FetchError.of(e);
}
})),
rxjs.operators.map(Some.of),
);
}),
),
rxjs.operators.map(Some.of),
);
const subscription = observable.subscribe(setFileFetchStatus);
return () => subscription.unsubscribe();
}, [baseUrl, bundle, file]);
@@ -256,26 +260,33 @@ function BundlePicker() {
});
}, [fileFetchStatus, line, column]);
/* ------ */
/* Render */
/* ------ */
return e('div', {},
e('div', { className: 'inputs' },
e('div', { className: 'baseUrl' },
e('label', { htmlFor: 'baseUrl'}, 'Base URL'),
e('input', {
name: 'baseUrl',
return e(
"div",
{},
e(
"div",
{ className: "inputs" },
e(
"div",
{ className: "baseUrl" },
e("label", { htmlFor: "baseUrl" }, "Base URL"),
e("input", {
name: "baseUrl",
required: true,
pattern: ".+",
onChange: onBaseUrlChange,
value: baseUrl,
}),
),
e('div', { className: 'bundle' },
e('label', { htmlFor: 'bundle'}, 'Bundle'),
e('input', {
name: 'bundle',
e(
"div",
{ className: "bundle" },
e("label", { htmlFor: "bundle" }, "Bundle"),
e("input", {
name: "bundle",
required: true,
pattern: "[0-9a-f]{20}",
onChange: onBundleChange,
@@ -286,10 +297,12 @@ function BundlePicker() {
none: () => null,
}),
),
e('div', { className: 'file' },
e('label', { htmlFor: 'file' }, 'File'),
e('input', {
name: 'file',
e(
"div",
{ className: "file" },
e("label", { htmlFor: "file" }, "File"),
e("input", {
name: "file",
required: true,
pattern: ".+\\.js",
onChange: onFileChange,
@@ -300,20 +313,24 @@ function BundlePicker() {
none: () => null,
}),
),
e('div', { className: 'line' },
e('label', { htmlFor: 'line' }, 'Line'),
e('input', {
name: 'line',
e(
"div",
{ className: "line" },
e("label", { htmlFor: "line" }, "Line"),
e("input", {
name: "line",
required: true,
pattern: "[0-9]+",
onChange: onLineChange,
value: line,
}),
),
e('div', { className: 'column' },
e('label', { htmlFor: 'column' }, 'Column'),
e('input', {
name: 'column',
e(
"div",
{ className: "column" },
e("label", { htmlFor: "column" }, "Column"),
e("input", {
name: "column",
required: true,
pattern: "[0-9]+",
onChange: onColumnChange,
@@ -321,10 +338,12 @@ function BundlePicker() {
}),
),
),
e('div', null,
e(
"div",
null,
result.fold({
none: () => "Select a bundle, file and line",
some: (value) => e('pre', null, value),
some: (value) => e("pre", null, value),
}),
),
);

View File

@@ -1,11 +1,11 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Rageshake decoder ring</title>
<script crossorigin src="https://unpkg.com/source-map@0.7.3/dist/source-map.js"></script>
<script>
sourceMap.SourceMapConsumer.initialize({
"lib/mappings.wasm": "https://unpkg.com/source-map@0.7.3/lib/mappings.wasm"
"lib/mappings.wasm": "https://unpkg.com/source-map@0.7.3/lib/mappings.wasm",
});
</script>
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
@@ -18,12 +18,16 @@
<style>
@keyframes spin {
from {transform:rotate(0deg);}
to {transform:rotate(359deg);}
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}
body {
font-family: sans-serif
font-family: sans-serif;
}
.spinner {
@@ -44,7 +48,7 @@
}
.valid::after {
content: "✓"
content: "✓";
}
label {
@@ -68,7 +72,7 @@
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", () => {
try {
ReactDOM.render(React.createElement(Decoder.BundlePicker), document.getElementById("main"))
ReactDOM.render(React.createElement(Decoder.BundlePicker), document.getElementById("main"));
} catch (e) {
const n = document.createElement("div");
n.innerText = `Error starting: ${e.message}`;

View File

@@ -77,6 +77,11 @@
"url": "https://play.google.com/store/apps/details?id=im.vector.app",
"id": "im.vector.app"
},
{
"platform": "f-droid",
"url": "https://f-droid.org/repository/browse/?fdid=im.vector.app",
"id": "im.vector.app"
},
{
"platform": "itunes",
"url": "https://apps.apple.com/app/vector/id1083446067"

View File

@@ -1 +1 @@
self.addEventListener('fetch', () => {});
self.addEventListener("fetch", () => {});

View File

@@ -1,200 +1,192 @@
<style type="text/css">
/* we deliberately inline style here to avoid flash-of-CSS problems, and to avoid
/* we deliberately inline style here to avoid flash-of-CSS problems, and to avoid
* voodoo where we have to set display: none by default
*/
h1::after {
content: "!";
}
h1::after {
content: "!";
}
.mx_Parent {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
text-align: center;
padding: 25px 35px;
color: #2e2f32;
}
.mx_Parent {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
text-align: center;
padding: 25px 35px;
color: #2e2f32;
}
.mx_Logo {
height: 54px;
margin-top: 2px;
}
.mx_Logo {
height: 54px;
margin-top: 2px;
}
.mx_ButtonGroup {
margin-top: 10px;
}
.mx_ButtonGroup {
margin-top: 10px;
}
.mx_ButtonRow {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-around;
-ms-flex-pack: distribute;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
margin: 12px 0 0;
}
.mx_ButtonRow {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-justify-content: space-around;
-ms-flex-pack: distribute;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
margin: 12px 0 0;
}
.mx_ButtonRow > * {
margin: 0 10px;
}
.mx_ButtonRow > * {
margin: 0 10px;
}
.mx_ButtonRow > *:first-child {
margin-left: 0;
}
.mx_ButtonRow > *:first-child {
margin-left: 0;
}
.mx_ButtonRow > *:last-child {
margin-right: 0;
}
.mx_ButtonRow > *:last-child {
margin-right: 0;
}
.mx_ButtonParent {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding: 10px 20px;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
border-radius: 4px;
width: 150px;
background-repeat: no-repeat;
background-position: 10px center;
text-decoration: none;
color: #2e2f32 !important;
}
.mx_ButtonParent {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding: 10px 20px;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
border-radius: 4px;
width: 150px;
background-repeat: no-repeat;
background-position: 10px center;
text-decoration: none;
color: #2e2f32 !important;
}
.mx_ButtonLabel {
margin-left: 20px;
}
.mx_ButtonLabel {
margin-left: 20px;
}
.mx_Header_title {
font-size: 24px;
font-weight: 600;
margin: 20px 0 0;
}
.mx_Header_title {
font-size: 24px;
font-weight: 600;
margin: 20px 0 0;
}
.mx_Header_subtitle {
font-size: 12px;
font-weight: normal;
margin: 8px 0 0;
}
.mx_Header_subtitle {
font-size: 12px;
font-weight: normal;
margin: 8px 0 0;
}
.mx_ButtonSignIn {
background-color: #368BD6;
color: white !important;
}
.mx_ButtonSignIn {
background-color: #368bd6;
color: white !important;
}
.mx_ButtonCreateAccount {
background-color: #0DBD8B;
color: white !important;
}
.mx_ButtonCreateAccount {
background-color: #0dbd8b;
color: white !important;
}
.mx_SecondaryButton {
background-color: #FFFFFF;
color: #2E2F32;
}
.mx_SecondaryButton {
background-color: #ffffff;
color: #2e2f32;
}
.mx_Button_iconSignIn {
background-image: url('welcome/images/icon-sign-in.svg');
}
.mx_Button_iconCreateAccount {
background-image: url('welcome/images/icon-create-account.svg');
}
.mx_Button_iconHelp {
background-image: url('welcome/images/icon-help.svg');
}
.mx_Button_iconRoomDirectory {
background-image: url('welcome/images/icon-room-directory.svg');
}
.mx_Button_iconSignIn {
background-image: url("welcome/images/icon-sign-in.svg");
}
.mx_Button_iconCreateAccount {
background-image: url("welcome/images/icon-create-account.svg");
}
.mx_Button_iconHelp {
background-image: url("welcome/images/icon-help.svg");
}
.mx_Button_iconRoomDirectory {
background-image: url("welcome/images/icon-room-directory.svg");
}
/*
/*
.mx_WelcomePage_loggedIn is applied by EmbeddedPage from the Welcome component
If it is set on the page, we should show the buttons. Otherwise, we have to assume
we don't have an account and should hide them. No account == no guest account either.
*/
.mx_WelcomePage:not(.mx_WelcomePage_loggedIn) .mx_WelcomePage_guestFunctions {
display: none;
}
.mx_ButtonRow.mx_WelcomePage_guestFunctions {
margin-top: 20px;
}
.mx_ButtonRow.mx_WelcomePage_guestFunctions > div {
margin: 0 auto;
}
@media only screen and (max-width: 480px) {
.mx_ButtonRow {
flex-direction: column;
.mx_WelcomePage:not(.mx_WelcomePage_loggedIn) .mx_WelcomePage_guestFunctions {
display: none;
}
.mx_ButtonRow > * {
margin: 0 0 10px 0;
.mx_ButtonRow.mx_WelcomePage_guestFunctions {
margin-top: 20px;
}
.mx_ButtonRow.mx_WelcomePage_guestFunctions > div {
margin: 0 auto;
}
}
@media only screen and (max-width: 480px) {
.mx_ButtonRow {
flex-direction: column;
}
.mx_ButtonRow > * {
margin: 0 0 10px 0;
}
}
</style>
<div class="mx_Parent">
<a href="https://element.io" target="_blank" rel="noopener">
<img src="welcome/images/logo.svg" alt="" class="mx_Logo"/>
<img src="$logoUrl" alt="" class="mx_Logo" />
</a>
<h1 class="mx_Header_title">_t("Welcome to Element")</h1>
<h1 class="mx_Header_title">_t("welcome_to_element")</h1>
<!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it -->
<h4 class="mx_Header_subtitle">_t("Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo")</h4>
<h4 class="mx_Header_subtitle">_t("powered_by_matrix_with_logo")</h4>
<div class="mx_ButtonGroup">
<div class="mx_ButtonRow">
<a href="#/login" class="mx_ButtonParent mx_ButtonSignIn mx_Button_iconSignIn">
<div class="mx_ButtonLabel">_t("Sign In")</div>
<div class="mx_ButtonLabel">_t("action|sign_in")</div>
</a>
<a href="#/register" class="mx_ButtonParent mx_ButtonCreateAccount mx_Button_iconCreateAccount">
<div class="mx_ButtonLabel">_t("Create Account")</div>
<div class="mx_ButtonLabel">_t("action|create_account")</div>
</a>
</div>
<!-- The comments below are meant to be used by Ansible as a quick way
to strip out the marked content when desired.
See https://github.com/vector-im/element-web/issues/8622.
TODO: Strip out these comments and rely on the guest flag -->
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
<div>
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
<div class="mx_ButtonLabel">_t("Explore rooms")</div>
<div class="mx_ButtonLabel">_t("action|explore_rooms")</div>
</a>
</div>
</div>
<!-- END Ansible: Remove these lines when guest access is disabled -->
</div>
</div>

View File

@@ -1,7 +0,0 @@
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M100 200C155.228 200 200 155.228 200 100C200 44.7715 155.228 0 100 0C44.7715 0 0 44.7715 0 100C0 155.228 44.7715 200 100 200Z" fill="#0DBD8B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M81.7169 46.5946C81.7169 42.5581 84.9959 39.2859 89.0408 39.2859C116.456 39.2859 138.681 61.4642 138.681 88.8225C138.681 92.859 135.401 96.1312 131.357 96.1312C127.312 96.1312 124.033 92.859 124.033 88.8225C124.033 69.5372 108.366 53.9033 89.0408 53.9033C84.9959 53.9033 81.7169 50.6311 81.7169 46.5946Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M153.39 81.5137C157.435 81.5137 160.714 84.7859 160.714 88.8224C160.714 116.181 138.49 138.359 111.075 138.359C107.03 138.359 103.751 135.087 103.751 131.05C103.751 127.014 107.03 123.742 111.075 123.742C130.4 123.742 146.066 108.108 146.066 88.8224C146.066 84.7859 149.345 81.5137 153.39 81.5137Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M118.398 153.405C118.398 157.442 115.119 160.714 111.074 160.714C83.6592 160.714 61.4347 138.536 61.4347 111.177C61.4347 107.141 64.7138 103.869 68.7587 103.869C72.8035 103.869 76.0826 107.141 76.0826 111.177C76.0826 130.463 91.7489 146.097 111.074 146.097C115.119 146.097 118.398 149.369 118.398 153.405Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M46.6097 118.486C42.5648 118.486 39.2858 115.214 39.2858 111.178C39.2858 83.8193 61.5102 61.6409 88.9255 61.6409C92.9704 61.6409 96.2494 64.9132 96.2494 68.9497C96.2494 72.9862 92.9704 76.2584 88.9255 76.2584C69.6 76.2584 53.9337 91.8922 53.9337 111.178C53.9337 115.214 50.6546 118.486 46.6097 118.486Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,13 +1,12 @@
#!/usr/bin/env node
'use strict';
const fs = require("fs");
const { exec } = require("node:child_process");
import * as fs from "node:fs";
import { exec } from "node:child_process";
const includeJSSDK = process.argv.includes("--include-js-sdk");
const ignore = [];
const ignore: string[] = [];
ignore.push(...Object.values(JSON.parse(fs.readFileSync(`${__dirname}/../components.json`))));
ignore.push(...Object.values<string>(JSON.parse(fs.readFileSync(`${__dirname}/../components.json`, "utf-8"))));
ignore.push("/index.ts");
// We ignore js-sdk by default as it may export for other non element-web projects
if (!includeJSSDK) ignore.push("matrix-js-sdk");
@@ -31,7 +30,7 @@ exec(command, (error, stdout, stderr) => {
// won't have an "/" character at the start, so we try to fix that for
// better UX
// TODO: This might break on Windows
lines = lines.reduce((newLines, line) => {
lines = lines.reduce<string[]>((newLines, line) => {
if (!line.startsWith("/")) newLines.push("/" + line);
else newLines.push(line);
return newLines;

View File

@@ -1,31 +0,0 @@
// This is a JS script so that the directory is created in-process on Windows.
// If the script isn't run in-process, there's a risk of it racing or never running
// due to file associations in Windows.
// Sorry.
const fs = require("fs");
const path = require("path");
const mkdirp = require("mkdirp");
const fetch = require("node-fetch");
const ProxyAgent = require("simple-proxy-agent");
console.log("Making webapp directory");
mkdirp.sync("webapp");
// curl -s https://meet.element.io/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js
console.log("Downloading Jitsi script");
const fname = path.join("webapp", "jitsi_external_api.min.js");
const options = {};
if (process.env.HTTPS_PROXY) {
options.agent = new ProxyAgent(process.env.HTTPS_PROXY, { tunnel: true });
}
fetch("https://meet.element.io/libs/external_api.min.js", options).then(res => {
const stream = fs.createWriteStream(fname);
return new Promise((resolve, reject) => {
res.body.pipe(stream);
res.body.on('error', err => reject(err));
res.body.on('finish', () => resolve());
});
}).then(() => console.log('Done with Jitsi download'));

30
scripts/build-jitsi.ts Normal file
View File

@@ -0,0 +1,30 @@
// This is a JS script so that the directory is created in-process on Windows.
// If the script isn't run in-process, there's a risk of it racing or never running
// due to file associations in Windows.
// Sorry.
import * as fs from "node:fs";
import * as path from "node:path";
import { mkdirpSync } from "mkdirp";
import fetch from "node-fetch";
import { ProxyAgent } from "proxy-agent";
console.log("Making webapp directory");
mkdirpSync("webapp");
// curl -s https://meet.element.io/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js
console.log("Downloading Jitsi script");
const fname = path.join("webapp", "jitsi_external_api.min.js");
fetch("https://meet.element.io/libs/external_api.min.js", {
agent: new ProxyAgent(),
})
.then((res) => {
const stream = fs.createWriteStream(fname);
return new Promise<void>((resolve, reject) => {
res.body.pipe(stream);
res.body.on("error", (err) => reject(err));
res.body.on("finish", () => resolve());
});
})
.then(() => console.log("Done with Jitsi download"));

View File

@@ -1 +0,0 @@
../../matrix-react-sdk/scripts/check-i18n.pl

Some files were not shown because too many files have changed in this diff Show More