Compare commits

...

777 Commits

Author SHA1 Message Date
Michael Telatynski
99553210be Ensure we do not load matrix-react-sdk is a manner which can white-screen
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-08 15:52:53 +01:00
Michael Telatynski
668450325c Merge pull request #27677 from element-hq/t3chguy/intl-segmenter-modernizr
Add Modernizr rule for Intl.Segmenter
2024-07-05 11:56:08 +00:00
Richard van der Hoff
b4aa375619 Merge pull request #27650 from element-hq/rav/remove_olm
Remove code which loads legacy libolm
2024-07-05 10:54:08 +00:00
Michael Telatynski
be92e64458 Merge branch 'develop' of https://github.com/vector-im/element-web into t3chguy/intl-segmenter-modernizr
# Conflicts:
#	src/vector/index.ts
2024-07-05 11:27:03 +01:00
Michael Telatynski
4d0c740ad2 Add Modernizr rule for Intl.Segmenter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-05 11:26:22 +01:00
Richard van der Hoff
438d07bc75 Merge branch 'develop' into rav/remove_olm 2024-07-05 11:21:38 +01:00
Michael Telatynski
b4d343053d Merge pull request #25477 from SuperKenVery/superkenvery/webaudioapi
Remove message audio element (for another pr)
2024-07-04 18:36:53 +00:00
Michael Telatynski
88d507f4f9 Update index.html 2024-07-04 19:23:13 +01:00
Robin
4ffc77dfef Merge pull request #27674 from robintown/emoji-false-positives
Add a Modernizr check for v mode regexes
2024-07-04 17:25:38 +00:00
Robin
e4d138f4d1 Add a Modernizr check for v mode regexes
I plan to use v mode regexes to test for emoji sequences, and Michael has advised me that we need to ensure that the "incompatible browser" screen shows if they are not supported.
2024-07-04 12:53:39 -04:00
Michael Telatynski
746c20bdba Merge branch 'develop' of https://github.com/vector-im/element-web into fork/SuperKenVery/superkenvery/webaudioapi 2024-07-04 15:45:02 +01:00
Florian Duros
cd2bd81268 Merge pull request #27672 from element-hq/florianduros/ci/node-version
Use last node lts in workflow
2024-07-04 14:07:29 +00:00
Florian Duros
561868f12a fix: use last node lts in workflow 2024-07-04 15:52:42 +02:00
Michael Telatynski
d1f0cbea27 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-04 14:04:48 +01:00
Michael Telatynski
e80ab738ce Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-04 13:51:02 +01:00
Michael Telatynski
d60768daec Merge branch 'develop' of https://github.com/vector-im/element-web into fork/SuperKenVery/superkenvery/webaudioapi 2024-07-04 11:54:07 +01:00
Florian Duros
a7ace95eac Merge pull request #27662 from element-hq/florianduros/ci/mdbooks
Remove `mdbook-combiner` version
2024-07-03 08:38:51 +00:00
Florian Duros
cdb65233b0 Revert "wip: fake run"
This reverts commit 83186c0403.
2024-07-02 11:27:39 +02:00
Florian Duros
83186c0403 wip: fake run 2024-07-02 11:21:17 +02:00
Florian Duros
8776371ed4 ci: remove mdbook-combiner version 2024-07-02 11:14:44 +02:00
Richard van der Hoff
5f9637b14e Merge remote-tracking branch 'origin/develop' into rav/remove_olm 2024-06-26 18:16:22 +01:00
Michael Telatynski
c924f59f41 Merge pull request #27632 from element-hq/t3chguy/fix-release-note-ingest
Remove redundant reusable workflow input
2024-06-26 17:05:36 +00:00
Michael Telatynski
c6134b1849 Update tsconfig.json 2024-06-26 16:49:29 +01:00
Richard van der Hoff
818ec7529c Remove from package.json too 2024-06-26 16:43:38 +01:00
Richard van der Hoff
7c7cbe655a Remove code which loads legacy libolm
Now that we use the Rust crypto stack
(https://github.com/matrix-org/matrix-react-sdk/pull/12630), the legacy olm
library is unneeded. Remove all the dedicated cruft for loading it.

(All this crap is why matrix-sdk-crypto-wasm has to base64 its wasm artifact,
cf https://github.com/matrix-org/matrix-rust-sdk/pull/1167.)
2024-06-26 16:27:14 +01:00
renovate[bot]
d379103352 Update dependency typescript to v5.5.2 (#27637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-25 16:59:08 +01:00
Michael Telatynski
844a318eb2 Merge pull request #27636 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-06-25 14:55:13 +00:00
Michael Telatynski
205f0f9f30 Merge pull request #27638 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.14.1
2024-06-25 14:52:20 +00:00
Michael Telatynski
703ad190f8 Merge pull request #27635 from element-hq/renovate/stylelint
Update stylelint
2024-06-25 14:18:35 +00:00
Michael Telatynski
1237fbf74c Merge pull request #27639 from element-hq/renovate/major-definitelytyped
Update dependency @types/uuid to v10
2024-06-25 14:17:49 +00:00
Michael Telatynski
137b20b784 Merge pull request #27634 from element-hq/renovate/definitelytyped
Update dependency @types/node to v16.18.101
2024-06-25 13:59:30 +00:00
Michael Telatynski
5de07e091f Merge pull request #27633 from element-hq/renovate/peter-evans-create-pull-request-digest
Update peter-evans/create-pull-request digest to c5a7806
2024-06-25 13:59:16 +00:00
Michael Telatynski
f3237fb0b0 Merge pull request #27640 from element-hq/renovate/eslint-plugin-unicorn-54.x
Update dependency eslint-plugin-unicorn to v54
2024-06-25 13:58:01 +00:00
Michael Telatynski
e41b476be3 Merge pull request #27642 from element-hq/renovate/major-docker
Update docker/build-push-action action to v6
2024-06-25 13:57:48 +00:00
renovate[bot]
4506988ad6 Update docker/build-push-action action to v6 2024-06-25 13:40:19 +00:00
renovate[bot]
734e698c7e Update dependency eslint-plugin-unicorn to v54 2024-06-25 13:40:04 +00:00
renovate[bot]
ba9f962570 Update dependency @types/uuid to v10 2024-06-25 13:39:53 +00:00
renovate[bot]
1dca6b60c3 Update typescript-eslint monorepo to v7.14.1 2024-06-25 13:39:45 +00:00
renovate[bot]
4e47b75f0f Update all non-major dependencies 2024-06-25 13:39:11 +00:00
renovate[bot]
55634304b0 Update stylelint 2024-06-25 13:38:57 +00:00
renovate[bot]
eb2ff67e7b Update dependency @types/node to v16.18.101 2024-06-25 13:38:47 +00:00
renovate[bot]
c5d04b3649 Update peter-evans/create-pull-request digest to c5a7806 2024-06-25 13:38:34 +00:00
Michael Telatynski
0845c515c4 Use workflow_dispatch over repository_dispatch as it lets us specify branch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-25 14:31:30 +01:00
Michael Telatynski
76416ec7b9 Remove redundant reusable workflow input
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-25 14:31:11 +01:00
Richard van der Hoff
e3aee58a6d Merge pull request #27619 from element-hq/rav/rust_migration_rollout_phase3
Remove outdated rust-crypto settings config
2024-06-24 10:15:36 +00:00
Richard van der Hoff
ea158ed63f Merge remote-tracking branch 'origin/develop' into rav/rust_migration_rollout_phase3 2024-06-24 10:09:07 +01:00
Richard van der Hoff
38c0bf3b62 Remove outdated rust-crypto settings config
As of https://github.com/matrix-org/matrix-react-sdk/pull/12630, Rust crypto is
no longer subject to config settings; they are no longer supported in config.
2024-06-21 13:38:35 +01:00
Michael Telatynski
6821a35444 Merge branch 'develop' into superkenvery/webaudioapi 2024-06-20 17:19:10 +01:00
Richard van der Hoff
9f9cd6ff08 Merge pull request #27588 from element-hq/rav/kill_loading_tests
Remove very outdated loading-test.tsx
2024-06-20 11:32:58 +00:00
Michael Telatynski
f8b3be682a Merge pull request #27603 from element-hq/renovate/all-minor-patch
Update dependency webpack to v5.92.0
2024-06-19 09:24:27 +00:00
Michael Telatynski
ab5ff85bff Merge pull request #27602 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.13.1
2024-06-19 09:24:20 +00:00
renovate[bot]
aa9851dc4e Update dependency webpack to v5.92.0 2024-06-19 08:49:26 +00:00
renovate[bot]
437b5241b9 Update typescript-eslint monorepo to v7.13.1 2024-06-19 08:49:02 +00:00
Michael Telatynski
42943f3ffc Merge pull request #27598 from element-hq/t3chguy/deprecated-babel-plugins
Replace deprecated babel proposal plugins
2024-06-18 16:14:39 +00:00
Michael Telatynski
2fd4e474cb Replace deprecated babel proposal plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-18 16:33:22 +01:00
RiotRobot
cf1eddf0ea Reset matrix-js-sdk back to develop branch 2024-06-18 12:22:29 +00:00
RiotRobot
cee4a754d7 Reset matrix-react-sdk back to develop branch 2024-06-18 12:22:19 +00:00
RiotRobot
72354161e2 Merge branch 'master' into develop 2024-06-18 12:22:01 +00:00
RiotRobot
fa1d2c7dfb v1.11.69 2024-06-18 12:19:08 +00:00
RiotRobot
42c0c19556 Upgrade dependency to matrix-react-sdk@3.101.0 2024-06-18 12:17:05 +00:00
RiotRobot
d3a0925e42 Upgrade dependency to matrix-js-sdk@33.1.0 2024-06-18 11:56:40 +00:00
Richard van der Hoff
351a31c9ee Remove unused test utils 2024-06-17 19:22:39 +01:00
Richard van der Hoff
2614cab64b Remove very outdated loading-test.tsx 2024-06-17 19:01:30 +01:00
Michael Telatynski
15db387425 Merge pull request #27568 from element-hq/t3chguy/fix/23595
Update postcss-preset-env
2024-06-17 13:41:08 +00:00
Michael Telatynski
53cc1c78b1 Merge pull request #27584 from element-hq/actions/jitsi-update
Jitsi Update
2024-06-17 08:10:24 +00:00
Johennes
be6528de26 [create-pull-request] automated change 2024-06-16 03:05:46 +00:00
RiotRobot
087f1bc948 v1.11.69-rc.1 2024-06-14 12:35:42 +00:00
RiotRobot
4360f5a63e Upgrade dependency to matrix-react-sdk@3.101.0-rc.1 2024-06-14 12:29:18 +00:00
RiotRobot
65a87f1a53 Upgrade dependency to matrix-js-sdk@33.1.0-rc.1 2024-06-14 12:22:22 +00:00
Michael Telatynski
b0c04834b6 Merge pull request #27576 from bartvdbraak/add-login-redirect-to-sso
Add SSO redirect option for login page
2024-06-14 10:47:11 +00:00
Bart van der Braak
b61d5b4475 Add SSO redirect option for login page
Signed-off-by: Bart van der Braak <bartvdbraak@gmail.com>
2024-06-14 10:23:16 +02:00
Michael Telatynski
6c3817fa34 Merge pull request #27566 from element-hq/t3chguy/fix/24694
Remove gfm.css, import from matrix-react-sdk
2024-06-13 17:10:26 +00:00
Travis Ralston
e151d9ab53 Merge pull request #27558 from element-hq/travis/stable-msc3916
Use stable endpoints for MSC3916
2024-06-13 16:32:18 +00:00
Michael Telatynski
f15b188297 Merge pull request #27570 from element-hq/t3chguy/webpack-depr
Fix webpack deprecation warnings
2024-06-13 16:03:42 +00:00
Michael Telatynski
ea16928d35 Remove setImmediate polyfill (#27567) 2024-06-13 16:59:56 +01:00
Michael Telatynski
4651bf4eb4 Fix webpack deprecation warnings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-13 13:16:18 +01:00
R Midhun Suresh
5442d4050d Merge pull request #27569 from element-hq/midhun/update-flaky-test-label
Add `Z-Flaky-Test-Disabled` label to labels.yml
2024-06-13 12:07:18 +00:00
R Midhun Suresh
695cc1b28b Create new label 2024-06-13 16:41:03 +05:30
Michael Telatynski
c94e3f00ed yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-13 12:01:27 +01:00
Michael Telatynski
79e0661be3 Update postcss-preset-env
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-13 11:54:38 +01:00
Michael Telatynski
6cf0809064 Remove gfm.css, import from matrix-react-sdk
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-13 10:51:37 +01:00
Michael Telatynski
a0eb94704e Conform to no-floating-promises (#27561) 2024-06-12 17:17:29 +01:00
Travis Ralston
e1e0d37478 Use stable endpoints for MSC3916 2024-06-11 14:36:08 -06:00
Michael Telatynski
9039e70990 Merge pull request #27554 from element-hq/renovate/all-minor-patch
Update dependency prettier to v3.3.2
2024-06-11 15:23:04 +00:00
renovate[bot]
596f297094 Update dependency prettier to v3.3.2 2024-06-11 14:40:18 +00:00
renovate[bot]
4f92927a3d Merge pull request #27529 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-06-11 14:16:10 +00:00
renovate[bot]
b77218e65a Update all non-major dependencies 2024-06-11 14:03:08 +00:00
Michael Telatynski
c21e9f6383 Merge pull request #27553 from element-hq/dependabot/npm_and_yarn/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3
2024-06-11 13:27:34 +00:00
dependabot[bot]
4f8a8a2543 Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-11 13:14:37 +00:00
Michael Telatynski
d615e69a86 Merge pull request #27552 from element-hq/renovate/fake-indexeddb-6.x
Update dependency fake-indexeddb to v6
2024-06-11 12:56:15 +00:00
Michael Telatynski
db1d440e3b Merge pull request #27548 from element-hq/renovate/docker
Update docker/build-push-action digest to ca052bb
2024-06-11 12:55:45 +00:00
Michael Telatynski
24fafe2588 Merge pull request #27550 from element-hq/renovate/stylelint
Update stylelint
2024-06-11 12:55:16 +00:00
Michael Telatynski
1e06e3083f Merge pull request #27549 from element-hq/renovate/definitelytyped
Update dependency @types/lodash to v4.17.5
2024-06-11 12:55:02 +00:00
renovate[bot]
8e9f3a786c Update dependency fake-indexeddb to v6 2024-06-11 12:45:25 +00:00
renovate[bot]
95f134a7c5 Merge pull request #27547 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.13.0
2024-06-11 12:45:04 +00:00
renovate[bot]
50f5c15027 Update stylelint 2024-06-11 12:44:43 +00:00
renovate[bot]
65b43d8dc7 Update dependency @types/lodash to v4.17.5 2024-06-11 12:43:54 +00:00
renovate[bot]
8dad4f5f10 Update docker/build-push-action digest to ca052bb 2024-06-11 12:43:35 +00:00
renovate[bot]
a3a436ad64 Update typescript-eslint monorepo to v7.13.0 2024-06-11 12:28:49 +00:00
RiotRobot
ffb69d4c47 v1.11.69-rc.0 2024-06-11 12:20:51 +00:00
RiotRobot
369ae1208e Upgrade dependency to matrix-react-sdk@3.101.0-rc.0 2024-06-11 12:15:49 +00:00
RiotRobot
050dae7a9f Upgrade dependency to matrix-js-sdk@33.1.0-rc.0 2024-06-11 12:08:25 +00:00
David Baker
a9cd567fc9 Merge pull request #27538 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.12.0
2024-06-07 16:17:11 +00:00
renovate[bot]
82073aea3e Update typescript-eslint monorepo to v7.12.0 2024-06-07 15:28:51 +00:00
David Baker
9cf7b8b6f6 Merge pull request #27535 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-06-07 15:01:54 +00:00
renovate[bot]
fa5bd19368 Update definitelyTyped 2024-06-07 12:50:03 +00:00
David Baker
fb72597fcf Merge pull request #27534 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.6
2024-06-07 11:57:11 +00:00
renovate[bot]
3ce0d78961 Update babel monorepo to v7.24.6 2024-06-07 11:28:04 +00:00
David Baker
361636a3d1 Merge pull request #27528 from element-hq/renovate/docker
Update docker/login-action digest to 0d4c9c5
2024-06-07 08:36:25 +00:00
Florian Duros
0b49a7724b Merge pull request #27530 from element-hq/florianduros/fix/ci-docs
Fix CI docs generation
2024-06-06 14:13:41 +00:00
Florian Duros
2db2cf2b1b Downgrade mdbook-combiner 2024-06-06 16:02:22 +02:00
Michael Telatynski
c38505598f Update build_develop.yml 2024-06-06 12:22:36 +01:00
renovate[bot]
7e21f12678 Update docker/login-action digest to 0d4c9c5 2024-06-06 10:16:13 +00:00
Richard van der Hoff
4f43c57a96 Merge pull request #27527 from element-hq/rav/rust_migration_rollout_phase2c
Roll out Rust crypto to 60% of existing users on app.element.io
2024-06-06 09:42:46 +00:00
Richard van der Hoff
60d3b59076 Roll out Rust crypto to 60% of existing users on app.element.io 2024-06-06 09:53:29 +01:00
RiotRobot
5a7956fd90 Reset matrix-js-sdk back to develop branch 2024-06-04 13:38:30 +00:00
RiotRobot
e193f57ac7 Reset matrix-react-sdk back to develop branch 2024-06-04 13:38:20 +00:00
RiotRobot
30f964447f v1.11.68 2024-06-04 13:35:16 +00:00
RiotRobot
cb9eccebed Upgrade dependency to matrix-react-sdk@3.100.0 2024-06-04 13:30:29 +00:00
RiotRobot
a0ae97c2e3 Upgrade dependency to matrix-js-sdk@33.0.0 2024-06-04 13:20:13 +00:00
RiotRobot
fd62e04bc0 v1.11.68-rc.0 2024-05-29 13:21:52 +00:00
RiotRobot
e6c0b8d8e5 Upgrade dependency to matrix-react-sdk@3.100.0-rc.1 2024-05-29 13:09:48 +00:00
RiotRobot
67e78a56a6 Upgrade dependency to matrix-js-sdk@33.0.0-rc.0 2024-05-29 12:56:23 +00:00
RiotRobot
153d0c36b8 Reset matrix-js-sdk back to develop branch 2024-05-22 12:21:51 +00:00
RiotRobot
18bfe3cb43 Reset matrix-react-sdk back to develop branch 2024-05-22 12:21:41 +00:00
RiotRobot
61ba9b48f9 Merge branch 'master' into develop 2024-05-22 12:21:28 +00:00
RiotRobot
5e02a42ca0 v1.11.67 2024-05-22 12:18:40 +00:00
RiotRobot
89622749e2 Upgrade dependency to matrix-js-sdk@32.4.0 2024-05-22 12:05:55 +00:00
RiotRobot
eced524029 Upgrade dependency to matrix-js-sdk@32.3.0 2024-05-21 12:27:33 +00:00
David Baker
c4263b3330 Merge pull request #27474 from element-hq/renovate/stylelint
Update stylelint
2024-05-15 22:45:24 +00:00
David Baker
68f4a7d4b0 Merge pull request #27477 from element-hq/renovate/eslint-plugin-unicorn-53.x
Update dependency eslint-plugin-unicorn to v53
2024-05-15 22:41:47 +00:00
David Baker
7df5028c51 Merge pull request #27473 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-05-15 22:03:21 +00:00
David Baker
4de49c76d0 Merge pull request #27475 from element-hq/renovate/css-minimizer-webpack-plugin-7.x
Update dependency css-minimizer-webpack-plugin to v7
2024-05-15 17:54:31 +00:00
David Baker
165cbcda89 Merge pull request #27472 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-05-15 16:58:11 +00:00
David Baker
c11bfaf07e Merge pull request #27471 from element-hq/renovate/peter-evans-create-pull-request-digest
Update peter-evans/create-pull-request digest to 6d6857d
2024-05-15 16:57:44 +00:00
Michael Telatynski
98babd140e Merge pull request #27478 from element-hq/t3chguy/missing-semver
Add missing @types/semver dev dep
2024-05-15 15:03:19 +00:00
Michael Telatynski
575a726361 Add missing @types/semver dev dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-15 15:51:11 +01:00
RiotRobot
ed2440f8cf v1.11.67-rc.1 2024-05-15 13:56:02 +00:00
renovate[bot]
59592f84fb Update dependency eslint-plugin-unicorn to v53 2024-05-15 10:26:28 +00:00
renovate[bot]
ab690372d2 Update dependency css-minimizer-webpack-plugin to v7 2024-05-15 10:25:54 +00:00
renovate[bot]
571028f124 Update stylelint 2024-05-15 10:25:38 +00:00
renovate[bot]
36391187da Update all non-major dependencies 2024-05-15 10:24:47 +00:00
renovate[bot]
35f2f5055a Update definitelyTyped 2024-05-15 10:24:22 +00:00
renovate[bot]
e2c974f53b Update peter-evans/create-pull-request digest to 6d6857d 2024-05-15 10:23:48 +00:00
RiotRobot
74172969c1 v1.11.67-rc.0 2024-05-15 09:21:54 +00:00
RiotRobot
6db392025c Upgrade dependency to matrix-react-sdk@3.100.0-rc.0 2024-05-15 09:14:52 +00:00
RiotRobot
a61de47bb6 Upgrade dependency to matrix-js-sdk@32.3.0-rc.0 2024-05-15 09:06:14 +00:00
Travis Ralston
bcd5c838e8 Typescriptify & use service worker for MSC3916 authentication (#27326)
* Typescriptify & use service worker for MSC3916 authentication

* appease the linter

* appease jest

* appease linter

* Get the access token directly

* Add a bit of jitter

* Improve legibility, use factored-out functions for pickling

* Add docs

* Appease the linter

* Document risks of postMessage

* Split service worker post message handling out to function

* Move registration to async function

* Use more early returns

* Thanks(?), WebStorm

* Handle case of no access token for /versions

* Appease linter

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove spurious try/catch

* Factor out fetch config stuff

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Finish applying code review suggestions

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-05-14 13:17:38 -06:00
Robin
482b81b0ed Merge pull request #27439 from bmarty/bma/androidAssetLinks
Add static file .well-known/assetlinks.json
2024-05-14 16:02:17 +00:00
Benoit Marty
095c613b69 Fix deployment of file res/.well-known/assetlinks.json 2024-05-14 17:42:11 +02:00
Michael Telatynski
5eed034389 Merge pull request #27460 from element-hq/t3chguy/oidc-config
Allow explicit configuration of OIDC dynamic registration metadata
2024-05-14 09:41:31 +00:00
Michael Telatynski
7a3bc83a55 Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-14 10:32:55 +01:00
Michael Telatynski
706f4c6e20 Merge branch 'develop' of https://github.com/vector-im/element-web into t3chguy/oidc-config 2024-05-13 17:49:02 +01:00
Michael Telatynski
f43bb0a9f7 Merge pull request #27431 from element-hq/t3chguy/fix-oidc-native-electron
Fix `element-desktop-ssoid being` included in OIDC Authorization call
2024-05-13 13:53:45 +00:00
Michael Telatynski
64f0bb5460 Inline consts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-13 13:05:50 +01:00
Ben Banfield-Zanin
e651330ff1 Merge pull request #26817 from element-hq/gaelg/sign-images-cosign
Sign Docker images using cosign
2024-05-13 10:07:49 +00:00
Michael Telatynski
6a6a362a8d Update end-to-end-tests.yaml 2024-05-13 11:19:55 +01:00
David Baker
35046bb7b2 Merge pull request #27452 from element-hq/dbkr/multi_return_type_rule
Add code style rule for multiple return types
2024-05-13 09:13:14 +00:00
Marcel
a10f2e1258 Revert "Modernize hash in webpack" (#27466) 2024-05-13 09:15:24 +01:00
Michael Telatynski
a0d7805484 Merge pull request #27464 from MTRNord/patch-1
Modernize hash in webpack
2024-05-13 05:51:42 +00:00
Marcel
ae77dac66d Modernize hash 2024-05-12 15:03:14 +02:00
David Baker
5f1f018a30 Fundamental behaviour, not return type 2024-05-10 16:52:19 +01:00
David Baker
f2da5fcf2c Fix typos and clarify wording
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-05-10 16:49:05 +01:00
Michael Telatynski
9cce1e060a Merge branch 't3chguy/fix-oidc-native-electron' into t3chguy/oidc-config 2024-05-10 13:19:33 +01:00
Michael Telatynski
50c8cb7bf0 Merge branch 'develop' into t3chguy/fix-oidc-native-electron 2024-05-10 13:15:28 +01:00
Michael Telatynski
58e5b3959d Allow explicit configuration of OIDC dynamic registration metadata
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-10 13:13:59 +01:00
Michael Telatynski
84b6bf9789 Merge branch 't3chguy/fix-oidc-native-electron' of https://github.com/vector-im/element-web into develop 2024-05-10 12:58:58 +01:00
Michael Telatynski
9efa04da7a Split out oidc callback url into its own method
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-10 11:58:58 +01:00
David Baker
8ba3f53d2c Hopefully clarify 2024-05-10 10:48:11 +01:00
David Baker
36571edb95 Prettier 2024-05-09 10:53:33 +01:00
David Baker
3a159beb21 Add code style rule for multiple return types 2024-05-09 10:42:26 +01:00
Ben Banfield-Zanin
6ebe844fc0 Indent inline script correctly
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-08 16:56:45 +01:00
Gaël Goinvic
7359c9bf93 sign images using cosign
Signed-off-by: Gaël Goinvic <gaelg@element.io>
2024-05-08 16:27:07 +01:00
RiotRobot
02fd35dad0 Reset matrix-js-sdk back to develop branch 2024-05-07 12:42:55 +00:00
RiotRobot
a71b7f0e66 Reset matrix-react-sdk back to develop branch 2024-05-07 12:42:45 +00:00
RiotRobot
f0672082b3 Merge branch 'master' into develop 2024-05-07 12:42:29 +00:00
RiotRobot
2ee54dd4bc v1.11.66 2024-05-07 12:39:40 +00:00
RiotRobot
e852282270 Upgrade dependency to matrix-react-sdk@3.99.0 2024-05-07 12:27:24 +00:00
RiotRobot
80a7ea7649 Upgrade dependency to matrix-js-sdk@32.2.0 2024-05-07 12:17:45 +00:00
Benoit Marty
9b988f70de Add /.well-known/assetlinks.json to webpack.config.js 2024-05-07 14:09:42 +02:00
Benoit Marty
27d4e1d990 Add /.well-known/assetlinks.json to cfp_headers file. 2024-05-07 14:04:47 +02:00
Benoit Marty
f7132ff139 Add static file .well-known/assetlinks.json, to allow Android applications Element and Element X running on Android 12 and higher to open external links. 2024-05-07 12:12:01 +02:00
Michael Telatynski
b82100ede8 Fix element-desktop-ssoid being included in OIDC Authorization call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-03 12:47:40 +01:00
RiotRobot
729534401f v1.11.66-rc.1 2024-05-02 15:17:05 +00:00
RiotRobot
dc85c9fb13 Upgrade dependency to matrix-react-sdk@3.99.0-rc.1 2024-05-02 15:11:09 +00:00
Richard van der Hoff
2c8b32d2c9 Merge pull request #27416 from element-hq/rav/rust_migration_rollout_phase2b
Roll out Rust crypto to 30% of existing users on `app.element.io`
2024-05-01 14:48:38 +00:00
renovate[bot]
011f7465e7 Update react-types (#26481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 13:11:46 +01:00
Richard van der Hoff
4561b2d35d Roll out Rust crypto to 30% of existing users on app.element.io 2024-05-01 11:36:06 +01:00
Michael Telatynski
5dcaf8ab80 Merge pull request #27346 from element-hq/renovate/typescript
Update dependency typescript to v5.4.5
2024-04-30 15:49:59 +00:00
Michael Telatynski
ac20fffb40 Merge branch 'develop' into renovate/typescript 2024-04-30 16:19:45 +01:00
Michael Telatynski
aeef12ef8b Update end-to-end-tests.yaml 2024-04-30 16:19:35 +01:00
renovate[bot]
73f2dba0c3 Update dependency typescript to v5.4.5 2024-04-30 15:08:20 +00:00
Michael Telatynski
ea56d6774c Merge pull request #27407 from element-hq/renovate/all-minor-patch
Update dependency yaml to v2.4.2
2024-04-30 13:46:38 +00:00
Michael Telatynski
0937c161f4 Merge pull request #27406 from element-hq/renovate/react-monorepo
Update dependency eslint-plugin-react-hooks to v4.6.2
2024-04-30 13:45:26 +00:00
Michael Telatynski
ad31575ddc Merge pull request #27409 from element-hq/renovate/stylelint
Update dependency stylelint to v16.4.0
2024-04-30 13:31:29 +00:00
Michael Telatynski
3fc2cdfbab Merge pull request #27405 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.5
2024-04-30 13:30:31 +00:00
Michael Telatynski
ba186a22d0 Merge pull request #27408 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.7.1
2024-04-30 13:26:27 +00:00
renovate[bot]
8449bdc5c1 Update dependency stylelint to v16.4.0 2024-04-30 13:09:29 +00:00
renovate[bot]
686816b8a4 Update typescript-eslint monorepo to v7.7.1 2024-04-30 13:09:05 +00:00
renovate[bot]
6d457e3559 Update dependency yaml to v2.4.2 2024-04-30 13:08:32 +00:00
renovate[bot]
91e9891892 Update dependency eslint-plugin-react-hooks to v4.6.2 2024-04-30 13:08:12 +00:00
renovate[bot]
c8e866e384 Update babel monorepo to v7.24.5 2024-04-30 13:07:49 +00:00
RiotRobot
f5997aaf7c v1.11.66-rc.0 2024-04-30 12:27:52 +00:00
RiotRobot
9a2066d98a Upgrade dependency to matrix-react-sdk@3.99.0-rc.0 2024-04-30 12:17:16 +00:00
RiotRobot
6e59f6f413 Upgrade dependency to matrix-js-sdk@32.2.0-rc.0 2024-04-30 12:04:05 +00:00
Michael Telatynski
7e8177edb3 Update end-to-end-tests.yaml 2024-04-29 16:20:54 +01:00
Michael Telatynski
d3deda62a8 Simplify Playwright CI (#27398) 2024-04-29 09:51:53 +01:00
R Midhun Suresh
f990918e49 Merge pull request #27387 from element-hq/midhun/prevent-close-disabled-issue
Prevent action from closing flaky test issues that have already been disabled
2024-04-24 11:19:25 +00:00
R Midhun Suresh
9ce7b19147 Exempt issues with this label 2024-04-24 16:20:55 +05:30
RiotRobot
786c590dcf Reset matrix-js-sdk back to develop branch 2024-04-23 13:08:43 +00:00
RiotRobot
bbf37ba7cf Reset matrix-react-sdk back to develop branch 2024-04-23 13:08:32 +00:00
RiotRobot
c50556a957 Merge branch 'master' into develop 2024-04-23 13:08:18 +00:00
RiotRobot
4a895f6daf v1.11.65 2024-04-23 13:05:34 +00:00
RiotRobot
7f5af1ccdf Upgrade dependency to matrix-react-sdk@3.98.0 2024-04-23 12:59:24 +00:00
RiotRobot
eac221c2d3 Upgrade dependency to matrix-js-sdk@32.1.0 2024-04-23 12:35:55 +00:00
David Baker
c5b98a5e93 Merge pull request #27377 from element-hq/dbkr/enable_tac_develop
Enable the TAC in develop
2024-04-22 13:59:40 +00:00
David Baker
88c49e7c50 Enable the TAC in develop
While we work through fixing all the tests on https://github.com/matrix-org/matrix-react-sdk/pull/12439 enable the TAC on nightly so we can get wider testing.
2024-04-22 12:13:01 +01:00
Michael Telatynski
3cb5b840ce Merge pull request #27366 from element-hq/t3chguy/flaky-stale
Add automation to close flaky test issues
2024-04-18 12:55:18 +00:00
Michael Telatynski
e0deabceb3 Add automation to close flaky test issues
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-04-18 10:40:08 +01:00
renovate[bot]
2e15e5e3c7 Merge pull request #27343 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-04-16 16:07:19 +00:00
renovate[bot]
050e9126d8 Update all non-major dependencies 2024-04-16 15:59:07 +00:00
Michael Telatynski
3b52d375e7 Merge pull request #27342 from element-hq/renovate/t3chguy-wait-on-check-action-digest
Update t3chguy/wait-on-check-action digest to 1854102
2024-04-16 14:08:07 +00:00
Michael Telatynski
a1c6f0a1d2 Merge pull request #27351 from element-hq/renovate/eslint-plugin-unicorn-52.x
Update dependency eslint-plugin-unicorn to v52
2024-04-16 14:05:24 +00:00
Michael Telatynski
4bd351f167 Merge pull request #27353 from element-hq/renovate/peaceiris-actions-mdbook-2.x
Update peaceiris/actions-mdbook action to v2
2024-04-16 14:05:22 +00:00
Michael Telatynski
5bed03f37e Merge pull request #27352 from element-hq/renovate/style-loader-4.x
Update dependency style-loader to v4
2024-04-16 14:04:42 +00:00
Michael Telatynski
315ee8a64d Merge pull request #27349 from element-hq/renovate/css-loader-7.x
Update dependency css-loader to v7
2024-04-16 14:03:20 +00:00
Michael Telatynski
f51622a507 Merge pull request #27347 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.6.0
2024-04-16 14:03:06 +00:00
Michael Telatynski
ce95e1abcd Merge pull request #27345 from element-hq/renovate/definitelytyped
Update dependency @types/node to v16.18.96
2024-04-16 14:02:06 +00:00
Michael Telatynski
70e480a3e9 Merge pull request #27344 from element-hq/renovate/babel-monorepo
Update dependency @babel/runtime to v7.24.4
2024-04-16 14:01:50 +00:00
Michael Telatynski
6ca67ff1ef Merge pull request #27341 from element-hq/renovate/peter-evans-create-pull-request-digest
Update peter-evans/create-pull-request digest to c55203c
2024-04-16 13:59:50 +00:00
Michael Telatynski
ff63c92c2c Merge pull request #27340 from element-hq/renovate/docker
Update docker/setup-buildx-action digest to d70bba7
2024-04-16 13:59:22 +00:00
renovate[bot]
36ff005d11 Update peaceiris/actions-mdbook action to v2 2024-04-16 12:46:50 +00:00
renovate[bot]
38ea3312f6 Update dependency style-loader to v4 2024-04-16 12:46:44 +00:00
renovate[bot]
8c61026761 Update dependency eslint-plugin-unicorn to v52 2024-04-16 12:46:33 +00:00
renovate[bot]
5d32728f3e Update dependency css-loader to v7 2024-04-16 12:46:06 +00:00
renovate[bot]
159ef4cc15 Update typescript-eslint monorepo to v7.6.0 2024-04-16 12:45:40 +00:00
renovate[bot]
8baab4ce8e Update dependency @types/node to v16.18.96 2024-04-16 12:44:41 +00:00
renovate[bot]
491ad6de17 Update dependency @babel/runtime to v7.24.4 2024-04-16 12:44:21 +00:00
renovate[bot]
f62076cdc1 Update t3chguy/wait-on-check-action digest to 1854102 2024-04-16 12:43:15 +00:00
renovate[bot]
674650f24d Update peter-evans/create-pull-request digest to c55203c 2024-04-16 12:43:10 +00:00
renovate[bot]
9f5bd7bf66 Update docker/setup-buildx-action digest to d70bba7 2024-04-16 12:43:04 +00:00
RiotRobot
fa5a842257 v1.11.65-rc.0 2024-04-16 12:35:42 +00:00
RiotRobot
a2f1c917bc Upgrade dependency to matrix-react-sdk@3.98.0-rc.0 2024-04-16 12:25:51 +00:00
RiotRobot
b4bff9f3b2 Upgrade dependency to matrix-js-sdk@32.1.0-rc.0 2024-04-16 12:18:34 +00:00
Robin
8ce46d3de8 Merge pull request #27301 from gumara-dev/fix_branch
Fix: 1:1 call - screen sharing no longer works after pressing the cancel button in Element-Desktop
2024-04-09 18:43:57 +00:00
Stephan Raab
2cad731f23 Added comment 2024-04-09 20:32:11 +02:00
Stephan Raab
1cf08423ad ElectronPlatform.tsx aktualisieren
Co-authored-by: Robin <robin@robin.town>
2024-04-09 20:05:03 +02:00
Stephan Raab
b64ac0593e Merge branch 'develop' into fix_branch 2024-04-09 12:32:31 +02:00
RiotRobot
f64759e42e Reset matrix-js-sdk back to develop branch 2024-04-09 10:22:50 +00:00
RiotRobot
d0b192dbc8 Reset matrix-react-sdk back to develop branch 2024-04-09 10:22:40 +00:00
RiotRobot
fc90392982 Merge branch 'master' into develop 2024-04-09 10:22:23 +00:00
RiotRobot
180a1a243b v1.11.64 2024-04-09 10:19:29 +00:00
RiotRobot
5246a7824b Upgrade dependency to matrix-react-sdk@3.97.0 2024-04-09 10:15:10 +00:00
RiotRobot
2dffd41c6f Upgrade dependency to matrix-js-sdk@32.0.0 2024-04-09 10:08:27 +00:00
Stephan Raab
2f72796ae7 Fix share cancel button in element-desktop 2024-04-08 22:17:24 +02:00
David Baker
364ad021e4 Fix issue labeller job, again (#27287)
With the correct URL format this time
2024-04-05 10:10:33 +01:00
David Baker
a187b54707 Merge pull request #27275 from element-hq/dbkr/update_triage_labeller_for_new_project
Update the issue triage labeller for the new triage project
2024-04-04 08:31:54 +00:00
Valere
15c177d8b3 Merge pull request #27032 from element-hq/valere/rust_rollout_phase_1
Update app.element.io configuration to migrate 10% of existing users to the new rust crypto stack
2024-04-04 08:09:15 +00:00
David Baker
773e9bb015 Merge pull request #27283 from element-hq/renovate/actions-add-to-project-1.x
Update actions/add-to-project action to v1
2024-04-03 22:37:49 +00:00
David Baker
dbf2e8c927 Merge pull request #27282 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.4.0
2024-04-03 21:25:05 +00:00
David Baker
e794ac5ecb Merge pull request #27281 from element-hq/renovate/stylelint
Update dependency stylelint to v16.3.1
2024-04-03 20:08:27 +00:00
David Baker
f4d64dcb39 Merge pull request #27280 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-04-03 19:56:17 +00:00
David Baker
a1404722ba Merge pull request #27279 from element-hq/renovate/typescript
Update dependency typescript to v5.4.3
2024-04-03 19:45:42 +00:00
David Baker
9167d4ac56 Merge pull request #27278 from element-hq/renovate/definitelytyped
Update dependency @types/node to v16.18.93
2024-04-03 19:30:39 +00:00
renovate[bot]
c3376efa8d Update dependency stylelint to v16.3.1 2024-04-03 19:07:04 +00:00
renovate[bot]
2ad9c5685e Update actions/add-to-project action to v1 2024-04-03 18:46:24 +00:00
renovate[bot]
0565e614d3 Update typescript-eslint monorepo to v7.4.0 2024-04-03 18:46:16 +00:00
renovate[bot]
1126956d56 Update all non-major dependencies 2024-04-03 18:45:27 +00:00
renovate[bot]
aec32bbc35 Update dependency typescript to v5.4.3 2024-04-03 18:45:01 +00:00
renovate[bot]
424243c064 Update dependency @types/node to v16.18.93 2024-04-03 18:44:50 +00:00
David Baker
84f293fee2 Merge pull request #27276 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.3
2024-04-03 18:43:15 +00:00
renovate[bot]
39f51612f5 Update babel monorepo to v7.24.3 2024-04-03 17:36:12 +00:00
David Baker
f4155fa7c4 Merge pull request #27273 from element-hq/renovate/peter-evans-create-pull-request-digest
Update peter-evans/create-pull-request digest to 70a41ab
2024-04-03 17:08:55 +00:00
David Baker
c2fdd04681 Merge pull request #27272 from element-hq/renovate/sibz-github-status-action-digest
Update Sibz/github-status-action digest to faaa4d9
2024-04-03 16:40:59 +00:00
David Baker
c5da65ba60 Update the issue triage labeller for the new triage project
It was failing because the old project has been deleted, so update
it to the new one.
2024-04-03 17:39:28 +01:00
renovate[bot]
65165247c0 Update peter-evans/create-pull-request digest to 70a41ab 2024-04-03 15:57:26 +00:00
renovate[bot]
e89ba979cf Update Sibz/github-status-action digest to faaa4d9 2024-04-03 15:57:20 +00:00
Richard van der Hoff
cf605b5e6f Merge pull request #27264 from element-hq/rav/format
`translating.md`: add missing `.`
2024-04-03 06:08:46 +00:00
Richard van der Hoff
1984ba3b33 translating.md: comma splice
While we're here
2024-04-02 17:46:04 +01:00
RiotRobot
43db5a8731 v1.11.64-rc.0 2024-04-02 16:33:52 +00:00
RiotRobot
7c9f521f65 Upgrade dependency to matrix-react-sdk@3.97.0-rc.0 2024-04-02 16:26:43 +00:00
RiotRobot
9848bf8246 Upgrade dependency to matrix-js-sdk@32.0.0-rc.0 2024-04-02 16:17:09 +00:00
Richard van der Hoff
b0d8d4bbdb translating.md: add missing . 2024-04-02 16:27:52 +01:00
RiotRobot
4cd14b58e1 Reset matrix-js-sdk back to develop branch 2024-03-28 17:06:13 +00:00
RiotRobot
2853a23679 Reset matrix-react-sdk back to develop branch 2024-03-28 17:06:03 +00:00
RiotRobot
bd931ebd74 Merge branch 'master' into develop 2024-03-28 17:05:45 +00:00
RiotRobot
e2b5cea7df v1.11.63 2024-03-28 17:02:41 +00:00
RiotRobot
2fb41f19a7 Upgrade dependency to matrix-react-sdk@3.96.1 2024-03-28 16:56:42 +00:00
RiotRobot
0cd36558c5 Upgrade dependency to matrix-js-sdk@31.6.1 2024-03-28 16:46:25 +00:00
RiotRobot
f835c678bf Reset matrix-js-sdk back to develop branch 2024-03-26 17:02:44 +00:00
RiotRobot
44a2666183 Reset matrix-react-sdk back to develop branch 2024-03-26 17:02:34 +00:00
RiotRobot
1b81c276fc Merge branch 'master' into develop 2024-03-26 17:02:15 +00:00
RiotRobot
309bb7eb47 v1.11.62 2024-03-26 16:59:26 +00:00
RiotRobot
44fff3b45c Upgrade dependency to matrix-react-sdk@3.96.0 2024-03-26 16:38:44 +00:00
RiotRobot
7498afcb33 Upgrade dependency to matrix-js-sdk@31.6.0 2024-03-26 16:27:37 +00:00
Michael Telatynski
9091c074a8 Merge pull request #27239 from element-hq/renovate/npm-katex-vulnerability
Update dependency katex to v0.16.10 [SECURITY]
2024-03-25 22:55:05 +00:00
renovate[bot]
50a62f6105 Update dependency katex to v0.16.10 [SECURITY] 2024-03-25 22:30:23 +00:00
Michael Telatynski
ef29e98bdc Merge pull request #27234 from element-hq/dependabot/npm_and_yarn/webpack-dev-middleware-7.1.1
Bump webpack-dev-middleware from 7.0.0 to 7.1.1
2024-03-25 07:50:21 +00:00
dependabot[bot]
814aa778ea Bump webpack-dev-middleware from 7.0.0 to 7.1.1
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 7.0.0 to 7.1.1.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v7.0.0...v7.1.1)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 07:42:40 +00:00
ElementRobot
2723a23ea7 Merge pull request #27226 from element-hq/actions/localazy-download
Localazy Download
2024-03-22 06:18:12 +00:00
t3chguy
23bc0d7f3d [create-pull-request] automated change 2024-03-22 06:07:23 +00:00
Michael Telatynski
573478a630 Fix type inheritance for js-sdk declaration merging
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-20 15:35:27 +00:00
Michael Telatynski
271524e264 Merge pull request #27137 from element-hq/renovate/typescript
Update dependency typescript to v5.4.2
2024-03-19 18:17:50 +00:00
Michael Telatynski
18446de298 Merge pull request #27211 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-03-19 18:12:35 +00:00
renovate[bot]
a6a901109b Update all non-major dependencies 2024-03-19 18:00:34 +00:00
Michael Telatynski
7effb12bbe Merge pull request #27209 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.1
2024-03-19 17:24:40 +00:00
renovate[bot]
b625a8f41f Update babel monorepo to v7.24.1 2024-03-19 17:16:07 +00:00
Michael Telatynski
786cd12636 Merge pull request #27208 from element-hq/renovate/docker
Update docker
2024-03-19 16:54:03 +00:00
Michael Telatynski
122ecb05c9 Merge pull request #27214 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.2.0
2024-03-19 16:38:22 +00:00
Michael Telatynski
f07ea3d2cc Merge pull request #27213 from element-hq/renovate/stylelint
Update dependency stylelint-scss to v6.2.1
2024-03-19 16:33:03 +00:00
Michael Telatynski
37612eb41a Merge pull request #27212 from element-hq/renovate/matrix-org
Update dependency @matrix-org/react-sdk-module-api to v2.4.0
2024-03-19 16:32:17 +00:00
Michael Telatynski
24e17182b3 Merge pull request #27210 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-03-19 16:31:37 +00:00
renovate[bot]
7a8a72b1e8 Update typescript-eslint monorepo to v7.2.0 2024-03-19 16:16:16 +00:00
renovate[bot]
926d944c2a Update dependency stylelint-scss to v6.2.1 2024-03-19 16:15:47 +00:00
renovate[bot]
ddc22578f6 Update dependency @matrix-org/react-sdk-module-api to v2.4.0 2024-03-19 16:15:30 +00:00
renovate[bot]
8f24d68b53 Update definitelyTyped 2024-03-19 16:14:42 +00:00
renovate[bot]
5a97ad33a2 Update docker 2024-03-19 16:13:51 +00:00
RiotRobot
954589df1b v1.11.62-rc.0 2024-03-19 15:25:53 +00:00
RiotRobot
7c9e37a2c6 Upgrade dependency to matrix-react-sdk@3.96.0-rc.0 2024-03-19 15:20:25 +00:00
RiotRobot
913be315f3 Upgrade dependency to matrix-js-sdk@31.6.0-rc.0 2024-03-19 15:07:43 +00:00
Michael Telatynski
830e7c5c45 Merge pull request #27206 from element-hq/dependabot/npm_and_yarn/follow-redirects-1.15.6
Bump follow-redirects from 1.15.5 to 1.15.6
2024-03-19 11:00:36 +00:00
dependabot[bot]
d6671cca75 Bump follow-redirects from 1.15.5 to 1.15.6
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 10:52:08 +00:00
Michael Telatynski
38dbedcd85 Fix deploying develop when the bundles are already present in R2 (#27200) 2024-03-18 11:25:38 +00:00
RiotRobot
4e492da1e4 Reset matrix-js-sdk back to develop branch 2024-03-14 17:39:52 +00:00
RiotRobot
5cfacc799d Reset matrix-react-sdk back to develop branch 2024-03-14 17:39:42 +00:00
RiotRobot
31d44b4c46 Merge branch 'master' into develop 2024-03-14 17:39:28 +00:00
RiotRobot
ba2336ac5c v1.11.61 2024-03-14 17:36:16 +00:00
RiotRobot
33ea45301e Upgrade dependency to matrix-react-sdk@3.95.0 2024-03-14 17:17:29 +00:00
RiotRobot
02a315814f v1.11.61-rc.0 2024-03-14 16:47:16 +00:00
RiotRobot
5fe009d094 Upgrade dependency to matrix-react-sdk@3.95.0-rc.0 2024-03-14 16:43:03 +00:00
Florian Duros
8082d07e7b Merge pull request #27188 from element-hq/florianduros/update-compound-design-token-subdependencies
Fix missing compound design tokens
2024-03-14 14:17:02 +00:00
Florian Duros
559c3788ac Update matrix-react-sdk deps 2024-03-14 14:50:56 +01:00
Michael Telatynski
54ba0873da Merge pull request #27162 from element-hq/renovate/svgr-webpack-8.x
Update dependency @svgr/webpack to v8
2024-03-12 22:31:53 +00:00
Michael Telatynski
28038cc53e svgo prefixIds
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-12 22:22:36 +00:00
Michael Telatynski
97c3da3789 Fix svgo plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-12 20:48:01 +00:00
Michael Telatynski
40a6a4296b prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-12 19:55:48 +00:00
Michael Telatynski
c5168ad100 Merge branch 'develop' of https://github.com/vector-im/element-web into renovate/svgr-webpack-8.x
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	yarn.lock
2024-03-12 19:52:40 +00:00
Michael Telatynski
89e455e9a7 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-12 19:07:08 +00:00
Michael Telatynski
b68ff2fd88 Merge pull request #27163 from element-hq/renovate/postcss-mixins-10.x
Update dependency postcss-mixins to v10
2024-03-12 19:04:04 +00:00
renovate[bot]
00abe771bf Update dependency postcss-mixins to v10 2024-03-12 18:53:34 +00:00
renovate[bot]
1a2e1474f4 Update dependency @svgr/webpack to v8 2024-03-12 18:51:51 +00:00
RiotRobot
d0b87400d1 Reset matrix-js-sdk back to develop branch 2024-03-12 18:48:50 +00:00
RiotRobot
0977c3839a Reset matrix-react-sdk back to develop branch 2024-03-12 18:48:40 +00:00
RiotRobot
cd7bd1b253 Merge branch 'master' into develop 2024-03-12 18:48:26 +00:00
RiotRobot
11b7c72e7d v1.11.60 2024-03-12 18:45:36 +00:00
RiotRobot
ddec6aed59 Upgrade dependency to matrix-react-sdk@3.94.0 2024-03-12 18:43:06 +00:00
RiotRobot
3f8ce55e8b Upgrade dependency to matrix-js-sdk@31.5.0 2024-03-12 18:35:35 +00:00
Michael Telatynski
43467fc7c5 Merge pull request #26748 from element-hq/renovate/postcss-hexrgba-bad-semver
Update dependency postcss-hexrgba to v2.1.0
2024-03-12 13:37:49 +00:00
Richard van der Hoff
7b9d7e37e4 Merge pull request #27152 from element-hq/richvdh-patch-1
Remove Element-R from Z-Labs labelling
2024-03-11 17:23:03 +00:00
Richard van der Hoff
072bc7fc8c Remove Element-R from Z-Labs labelling 2024-03-11 12:38:20 +00:00
Florian Duros
8d04ce4255 Merge pull request #27149 from element-hq/florianduros/ci/automate-project-columns
Remove process to move issue to the old triage board (which has been …
2024-03-11 09:42:31 +00:00
Florian Duros
b97f4b31fa Remove process to move issue to the old triage board (which has been deleted) 2024-03-11 10:08:21 +01:00
Timo
a0c90f9657 Merge pull request #27101 from element-hq/toger5/docs-for-element-call-guest-spa
Add docs for element call external conference configuration (single-page app URL)
2024-03-08 11:34:05 +00:00
renovate[bot]
9b01f375e9 Update dependency postcss-hexrgba to v2.1.0 2024-03-07 11:38:08 +00:00
Michael Telatynski
0539c99cf8 Merge pull request #26751 from element-hq/renovate/postcss-easings-4.x
Update dependency postcss-easings to v4
2024-03-07 11:15:47 +00:00
Michael Telatynski
842fa767b8 Merge pull request #26743 from element-hq/renovate/postcss-nested-6.x
Update dependency postcss-nested to v6
2024-03-07 11:15:27 +00:00
renovate[bot]
aa427ecaf3 Update dependency typescript to v5.4.2 2024-03-07 11:15:09 +00:00
Timo K
5e72da399e final touches
Signed-off-by: Timo K <toger5@hotmail.de>
2024-03-06 11:33:27 +01:00
Timo
1c562a0d2d Update docs/config.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-03-06 11:31:23 +01:00
Michael Telatynski
f01d69f90b Merge pull request #27117 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-03-05 16:51:21 +00:00
Michael Telatynski
c9d40992a1 Hold back css deps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-05 16:35:59 +00:00
Michael Telatynski
986ea30ef5 Merge pull request #27116 from element-hq/renovate/docker
Update docker
2024-03-05 15:46:51 +00:00
Michael Telatynski
110e5163e0 Merge pull request #27053 from element-hq/renovate/webpack-dev-server-5.x
Update dependency webpack-dev-server to v5
2024-03-05 15:36:15 +00:00
renovate[bot]
26999ee978 Update dependency webpack-dev-server to v5 2024-03-05 15:17:43 +00:00
Michael Telatynski
ed2d6d68bb Merge pull request #27119 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.1.0
2024-03-05 15:06:45 +00:00
Michael Telatynski
f530e7e4b4 Merge pull request #27118 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.0
2024-03-05 15:01:11 +00:00
Michael Telatynski
b428f4f483 Merge pull request #26964 from element-hq/renovate/peter-evans-create-pull-request-6.x
Update peter-evans/create-pull-request action to v6
2024-03-05 14:45:26 +00:00
renovate[bot]
4a6ac5f8d2 Update typescript-eslint monorepo to v7.1.0 2024-03-05 14:44:31 +00:00
Michael Telatynski
5360dfa9a4 Merge pull request #26961 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-03-05 14:44:31 +00:00
renovate[bot]
ca93577cd1 Update babel monorepo to v7.24.0 2024-03-05 14:44:04 +00:00
renovate[bot]
e5e536a279 Update all non-major dependencies 2024-03-05 14:43:40 +00:00
renovate[bot]
1f181f1c0a Update docker 2024-03-05 14:43:09 +00:00
RiotRobot
66ba7054f9 v1.11.60-rc.0 2024-03-05 14:15:22 +00:00
RiotRobot
5ee2f5c9c0 Upgrade dependency to matrix-react-sdk@3.94.0-rc.0 2024-03-05 14:12:12 +00:00
RiotRobot
a7e3cb8c2c Upgrade dependency to matrix-js-sdk@31.5.0-rc.0 2024-03-05 14:05:31 +00:00
Michael Telatynski
a8e9746968 Merge pull request #27081 from element-hq/t3chguy/saner-releases/270224
Trigger Element Desktop release drafter upon release of Element Web
2024-03-05 09:57:48 +00:00
Michael Telatynski
91d3d9f910 Merge pull request #27102 from element-hq/t3chguy/oidc-native-desktop
Improve Element Desktop OIDC Native dynamic registration
2024-03-05 08:56:53 +00:00
renovate[bot]
3c41b70932 Update definitelyTyped 2024-03-01 22:44:53 +00:00
Timo K
d1d909105f review
Signed-off-by: Timo K <toger5@hotmail.de>
2024-03-01 19:22:41 +01:00
Timo K
831eddfbd4 Add docs for element call guest spa.
Signed-off-by: Timo K <toger5@hotmail.de>
2024-03-01 14:33:46 +01:00
Michael Telatynski
16f197eda8 Improve Element Desktop OIDC Native dynamic registration
To strip the element-desktop-ssoid param from the redirectUri

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-03-01 13:24:44 +00:00
Michael Telatynski
946f35577e Merge pull request #27092 from element-hq/t3chguy/i18n-lint-element
Prevent "Element" hardcoded in i18n files
2024-02-29 11:02:15 +00:00
Michael Telatynski
7856a2aac3 Update matrix-web-i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-29 10:43:50 +00:00
Michael Telatynski
617dd777a0 Prevent "Element" hardcoded in i18n files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-29 09:52:41 +00:00
Richard van der Hoff
4d52fe0334 Merge pull request #27085 from element-hq/rav/tsdoc_in_pr_template
PR template: reminder to document your stuff
2024-02-28 13:08:26 +00:00
Richard van der Hoff
8b2cd6caa8 add full stops 2024-02-28 12:56:39 +00:00
Richard van der Hoff
f3f249194b PR template: reminder to document your stuff 2024-02-28 12:56:25 +00:00
renovate[bot]
4a014ea056 Update peter-evans/create-pull-request action to v6 2024-02-28 01:04:13 +00:00
Michael Telatynski
494f9eccf3 Trigger Element Desktop release drafter upon release of Element Web
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-27 15:00:31 +00:00
RiotRobot
f8a2e41df3 Reset matrix-js-sdk back to develop branch 2024-02-27 13:10:27 +00:00
RiotRobot
f601f0b889 Reset matrix-react-sdk back to develop branch 2024-02-27 13:10:17 +00:00
RiotRobot
67898d8ba7 Merge branch 'master' into develop 2024-02-27 13:10:00 +00:00
RiotRobot
a440a57945 v1.11.59 2024-02-27 13:07:09 +00:00
RiotRobot
276afcd02f Upgrade dependency to matrix-react-sdk@3.93.0 2024-02-27 13:02:06 +00:00
RiotRobot
e876c45581 Upgrade dependency to matrix-js-sdk@31.4.0 2024-02-27 12:52:26 +00:00
David Baker
4a77466cae Merge pull request #27071 from nordeck/charlynguyen/opendesk-widget-toggles
Update variants/openDesk/build_config.yaml
2024-02-26 13:48:45 +00:00
Charly Nguyen
f41d46866d Update variants/openDesk/build_config.yaml
@nordeck/element-web-opendesk-module@0.4.0:
- Remove widget toggles
- Breaking Change: The module does not support the widget toggles anymore. The widget toggles are an own module now. See https://www.npmjs.com/package/@nordeck/element-web-widget-toggles-module.

@nordeck/element-web-widget-toggles-module@0.1.0:
- Initial version

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2024-02-26 12:49:51 +01:00
Michael Telatynski
282d71730b Gather validated OIDC config during autodiscovery (#27047) 2024-02-23 16:43:07 +00:00
Michael Telatynski
465131a836 Merge pull request #27058 from element-hq/renovate/css-loader-6.x
Update dependency css-loader to v6
2024-02-23 11:35:15 +00:00
Michael Telatynski
432bd3421d prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-23 11:24:10 +00:00
renovate[bot]
64cec89085 Update dependency postcss-nested to v6 2024-02-23 11:23:51 +00:00
renovate[bot]
f502a4049a Update dependency postcss-easings to v4 2024-02-23 11:23:38 +00:00
Michael Telatynski
ade8f795b2 Merge branch 'develop' of https://github.com/vector-im/element-web into renovate/css-loader-6.x
# Conflicts:
#	yarn.lock
2024-02-23 11:22:43 +00:00
Michael Telatynski
c022ae2853 Update config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-23 11:18:13 +00:00
Michael Telatynski
e35d040cc6 Merge pull request #27057 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-02-23 10:58:41 +00:00
Michael Telatynski
b44719aa67 Hold back postcss updates
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-23 10:05:00 +00:00
Michael Telatynski
03b7aeee75 prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-23 09:57:33 +00:00
Michael Telatynski
ad696bceb7 Remove unused dependency proxy-agent
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-23 09:57:22 +00:00
renovate[bot]
e03b52b946 Update all non-major dependencies 2024-02-23 04:48:16 +00:00
renovate[bot]
1ead4e1f4c Update dependency css-loader to v6 2024-02-22 18:49:37 +00:00
Michael Telatynski
4f5e1bb5ee Merge pull request #27059 from element-hq/renovate/css-minimizer-webpack-plugin-6.x
Update dependency css-minimizer-webpack-plugin to v6
2024-02-22 18:25:44 +00:00
renovate[bot]
3e38fd749d Update dependency css-minimizer-webpack-plugin to v6 2024-02-22 17:26:27 +00:00
Michael Telatynski
4b093489dd Merge pull request #27050 from element-hq/renovate/stylelint
Update dependency stylelint to v16.2.1
2024-02-22 09:12:16 +00:00
Michael Telatynski
1d429cca6b Merge pull request #27054 from element-hq/renovate/major-typescript-eslint-monorepo
Update typescript-eslint monorepo to v7 (major)
2024-02-22 09:08:07 +00:00
Michael Telatynski
6e5f2ad66e Merge pull request #27052 from element-hq/renovate/eslint-plugin-unicorn-51.x
Update dependency eslint-plugin-unicorn to v51
2024-02-22 09:05:37 +00:00
Michael Telatynski
31a0dcab4d Merge branch 'develop' into renovate/stylelint 2024-02-22 09:04:38 +00:00
Michael Telatynski
8a71a98119 Merge pull request #27049 from element-hq/renovate/jest
Update dependency @types/jest to v29.5.12
2024-02-22 09:03:48 +00:00
Michael Telatynski
ab0c396705 Update build_develop.yml 2024-02-22 09:06:38 +00:00
Michael Telatynski
0788253645 Merge pull request #26960 from element-hq/renovate/babel-monorepo
Update babel monorepo
2024-02-21 19:55:04 +00:00
renovate[bot]
3b4bc60041 Update typescript-eslint monorepo to v7 2024-02-21 18:40:41 +00:00
renovate[bot]
0bf0794956 Update dependency eslint-plugin-unicorn to v51 2024-02-21 18:40:03 +00:00
renovate[bot]
4126d6807f Update dependency stylelint to v16.2.1 2024-02-21 18:39:15 +00:00
renovate[bot]
4fb185ad70 Update dependency @types/jest to v29.5.12 2024-02-21 18:38:55 +00:00
RiotRobot
8559fb3eaa v1.11.59-rc.0 2024-02-21 18:26:00 +00:00
RiotRobot
36002f6d76 Upgrade dependency to matrix-react-sdk@3.93.0-rc.0 2024-02-21 18:22:44 +00:00
RiotRobot
fa1ff8f566 Upgrade dependency to matrix-js-sdk@31.4.0-rc.0 2024-02-21 17:58:03 +00:00
David Langley
0e7ee62872 Merge pull request #27044 from element-hq/langleyd/add_issues_to_new_triage_project
Auto-add new issues to the new triage project
2024-02-21 12:11:49 +00:00
David Langley
bf99ab262f actually lint 2024-02-21 11:35:58 +00:00
David Langley
f372a924b5 lint 2024-02-21 10:30:19 +00:00
David Langley
854a81056b add job to automate adding new issues to the new project 2024-02-21 10:22:05 +00:00
David Langley
3ac096619b Merge pull request #27041 from element-hq/langleyd/add_solved_by_oidc_label
Add label to track issues that will be fixed by OIDC
2024-02-20 14:02:14 +00:00
David Langley
fea4ae5939 Add label to track issues that will be fixed by OIDC 2024-02-20 13:49:21 +00:00
Michael Telatynski
4bd9f41f9e Merge pull request #27039 from element-hq/dependabot/npm_and_yarn/follow-redirects-1.15.5
Bump follow-redirects from 1.15.3 to 1.15.5
2024-02-20 13:00:54 +00:00
dependabot[bot]
77b9cc18cc Bump follow-redirects from 1.15.3 to 1.15.5
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.5.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 12:52:23 +00:00
Michael Telatynski
35fe447aae Merge pull request #27017 from element-hq/t3chguy/oidc-desktop
Fix Native OIDC for Element Desktop
2024-02-19 15:30:19 +00:00
Michael Telatynski
7da5e48d89 Merge pull request #27020 from element-hq/t3chguy/allchange
Saner releases clean up
2024-02-19 12:32:29 +00:00
Michael Telatynski
88d6340b37 Merge branch 'develop' into t3chguy/oidc-desktop 2024-02-19 10:05:56 +00:00
Michael Telatynski
588094339a Merge pull request #27019 from element-hq/t3chguy/oidc-metadata
Improve client metadata used for OIDC dynamic registration
2024-02-19 09:45:02 +00:00
Valere
18b9052c57 Migrate 10% of existing users to rust in app 2024-02-19 10:25:40 +01:00
Michael Telatynski
9f450c877d Update pull request template to remove allchange behaviours
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-16 14:54:13 +00:00
Michael Telatynski
de46ba01e3 Remove stale release scripts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-16 14:53:47 +00:00
Michael Telatynski
c47f8c8fa8 Remove allchange dependency
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-16 14:51:41 +00:00
Michael Telatynski
c73548ccbd Merge branch 't3chguy/oidc-metadata' into t3chguy/oidc-desktop 2024-02-16 13:03:02 +00:00
Michael Telatynski
b40db8a89b Improve client metadata used for OIDC dynamic registration
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-16 12:36:16 +00:00
Michael Telatynski
aa5024adae Fix Native OIDC for Element Desktop by including ssoid in the url_state of the /auth call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-15 17:36:27 +00:00
Michael Telatynski
c19737b387 Improve client metadata used for OIDC dynamic registration
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-15 17:03:19 +00:00
RiotRobot
92c831094d Reset matrix-js-sdk back to develop branch 2024-02-13 15:13:46 +00:00
RiotRobot
bb337a1cd8 Reset matrix-react-sdk back to develop branch 2024-02-13 15:13:36 +00:00
RiotRobot
6ca50e537e Merge branch 'master' into develop 2024-02-13 15:13:18 +00:00
RiotRobot
3e84bb3a6e v1.11.58 2024-02-13 15:10:19 +00:00
RiotRobot
2a8b00f928 Upgrade dependency to matrix-react-sdk@3.92.0 2024-02-13 15:05:27 +00:00
RiotRobot
3e5c054243 Upgrade dependency to matrix-js-sdk@31.3.0 2024-02-13 14:57:26 +00:00
Robin
fab68c1c5d Merge pull request #27004 from robintown/compound-theming
Update custom themes documentation
2024-02-13 14:07:56 +00:00
Robin
ee72d0de75 Update custom themes documentation
To reflect the changes in https://github.com/matrix-org/matrix-react-sdk/pull/12240, including the removal of the username and color options (those are now themed through Compound)
2024-02-13 00:05:33 -05:00
Robin
09dff6ab05 Merge pull request #26993 from robintown/compound-theming
Allow Element Web to use cascade layers
2024-02-12 13:34:42 +00:00
Robin
7622dd35c5 Allow Element Web to use cascade layers
This upgrades a number of PostCSS dependencies so that we can make use of cascade layers, a feature which I plan to use for theming of Compound: https://compound.element.io/?path=/docs/develop-theming--docs
2024-02-09 00:59:36 -05:00
Robin
c64af5671a Merge pull request #26955 from robintown/semantic-avatars
Update custom avatar theme documentation
2024-02-07 04:04:05 +00:00
Robin
313753483a Merge branch 'develop' into semantic-avatars 2024-02-06 15:49:40 -05:00
RiotRobot
502a00dba1 v1.11.58-rc.1 2024-02-06 15:58:06 +00:00
RiotRobot
fa8ae283eb Upgrade dependency to matrix-react-sdk@3.92.0-rc.1 2024-02-06 15:47:03 +00:00
RiotRobot
1d8fb46580 Upgrade dependency to matrix-js-sdk@31.3.0-rc.4 2024-02-06 15:38:19 +00:00
renovate[bot]
3b7fd88ef0 Update babel monorepo to v7.23.9 2024-02-02 17:14:32 +00:00
Michael Telatynski
def12eb7d5 Merge pull request #26963 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v6.20.0
2024-02-02 17:03:11 +00:00
Michael Telatynski
ddae8f0b6d Merge pull request #26965 from element-hq/renovate/peter-evans-dockerhub-description-4.x
Update peter-evans/dockerhub-description action to v4
2024-02-02 17:02:56 +00:00
Michael Telatynski
2e882b138a Merge pull request #26962 from element-hq/renovate/stylelint
Update dependency stylelint-scss to v6.1.0
2024-02-02 16:56:59 +00:00
Michael Telatynski
c1ff276828 Merge pull request #26959 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-02-02 16:54:23 +00:00
renovate[bot]
d248fa9ea0 Update peter-evans/dockerhub-description action to v4 2024-02-02 16:46:25 +00:00
renovate[bot]
b0bb33cccf Update typescript-eslint monorepo to v6.20.0 2024-02-02 16:45:57 +00:00
renovate[bot]
fa7ff50482 Update dependency stylelint-scss to v6.1.0 2024-02-02 16:45:36 +00:00
renovate[bot]
8892bd659c Update all non-major dependencies 2024-02-02 16:44:36 +00:00
RiotRobot
ca2016d041 v1.11.58-rc.0 2024-02-02 16:29:27 +00:00
Michael Telatynski
f4f78af477 Fix missing needs clause
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-02 16:23:54 +00:00
Michael Telatynski
d658103530 Revert "Use ELEMENT_BOT_TOKEN for release-drafter-workflow.yml"
This reverts commit 32d4d33e3e.
2024-02-02 15:44:44 +00:00
Michael Telatynski
32d4d33e3e Use ELEMENT_BOT_TOKEN for release-drafter-workflow.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-02 15:41:16 +00:00
RiotRobot
9144983794 Upgrade dependency to matrix-react-sdk@3.92.0-rc.0 2024-02-02 15:10:07 +00:00
RiotRobot
a80895074b Upgrade dependency to matrix-js-sdk@31.3.0-rc.3 2024-02-02 15:02:22 +00:00
Michael Telatynski
48b5eddd79 Add waits for post-release steps for improved visibility (#26958) 2024-02-02 14:29:58 +00:00
Valere
a21a1cad1f Merge pull request #26939 from element-hq/valere/rust_rollout_phase_0
Update `element.io develop` configuration to migrate all existing users to the new rust crypto stack
2024-02-02 13:08:55 +00:00
Valere
e46c4d06c3 Update develop configuration to migrate users to rust 2024-02-02 13:50:21 +01:00
Valere
92b3fb1e5e Merge pull request #26954 from element-hq/valere/only_run_loading_tests_on_legacy
Force legacy crypto for loading tests
2024-02-02 10:57:36 +00:00
Valere
a41cf2140c lint fix 2024-02-02 11:42:18 +01:00
Robin
037996711e Update custom avatar theme documentation 2024-02-01 18:27:09 -05:00
Valere
8f9cf862fe Force legacy crypto for loading tests 2024-02-01 21:35:11 +01:00
Michael Telatynski
0266f73965 Merge pull request #26951 from element-hq/t3chguy/saner-releases/better-drafts
Reuse release-drafter-workflow from js-sdk and update release docs
2024-02-01 18:13:58 +00:00
Valere
01c64013c2 Merge pull request #26953 from element-hq/valere/fix_tests_for_rust
Fix missing deviceId mock in test
2024-02-01 16:35:31 +00:00
Valere
fc04258231 Fix missing deviceId mock in test 2024-02-01 16:36:23 +01:00
Michael Telatynski
010d835d2c Merge pull request #26949 from element-hq/t3chguy/saner-releases/yarn-lock
Saner Releases - ensure we set up staging branches in bottom-up order
2024-02-01 11:25:55 +00:00
Michael Telatynski
fcec34f4e7 Update docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-01 10:47:38 +00:00
Michael Telatynski
1162820af9 Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-01 10:42:14 +00:00
Michael Telatynski
9511d46a83 Reuse release-drafter-workflow from js-sdk
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-02-01 10:36:59 +00:00
Michael Telatynski
145f551cd3 Ensure branches are cut bottom-up to avoid races for allchange
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-31 15:25:08 +00:00
RiotRobot
7c584df3e8 Reset matrix-js-sdk back to develop branch 2024-01-31 15:02:35 +00:00
RiotRobot
46415c3439 Reset matrix-react-sdk back to develop branch 2024-01-31 15:02:25 +00:00
RiotRobot
c512e49639 Merge branch 'master' into develop 2024-01-31 15:02:12 +00:00
RiotRobot
0cd4a4faac v1.11.57 2024-01-31 14:59:09 +00:00
RiotRobot
e0abf63d87 Upgrade matrix-js-sdk to 31.2.0 2024-01-31 14:59:08 +00:00
RiotRobot
e1715e2c00 Upgrade matrix-react-sdk to 3.91.0 2024-01-31 14:58:59 +00:00
ElementRobot
e6543bbde6 Merge pull request #26928 from element-hq/actions/localazy-download
Localazy Download
2024-01-26 06:17:59 +00:00
t3chguy
96bcde4e35 [create-pull-request] automated change 2024-01-26 06:07:14 +00:00
RiotRobot
285ba42316 v1.11.57-rc.1 2024-01-24 16:50:50 +00:00
RiotRobot
aaeb1081c7 Upgrade matrix-react-sdk to 3.91.0-rc.1 2024-01-24 16:50:49 +00:00
Timo
8af9fe2e27 Merge pull request #26819 from element-hq/toger5/force_ec_video_rooms
Force Element Call video rooms
2024-01-24 13:00:55 +00:00
Michael Telatynski
6e1f842351 Merge pull request #26916 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v6.19.0
2024-01-24 12:03:10 +00:00
Michael Telatynski
b90966fd1c Merge pull request #26915 from element-hq/renovate/stylelint
Update dependency stylelint to v16.2.0
2024-01-24 11:33:42 +00:00
Michael Telatynski
eb93fb6ab5 Merge pull request #26914 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-01-23 21:10:47 +00:00
Michael Telatynski
4c4331193e Merge pull request #26911 from nordeck/charlynguyen/bump-react-sdk-module-api
Bump @matrix-org/react-sdk-module-api from 2.2.1 to 2.3.0
2024-01-23 21:10:42 +00:00
Michael Telatynski
cee3bfc031 Merge pull request #26913 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-01-23 19:59:30 +00:00
Michael Telatynski
7f0434523f Update tsconfig.json 2024-01-23 19:39:45 +00:00
renovate[bot]
1f46d61c1b Update typescript-eslint monorepo to v6.19.0 2024-01-23 19:25:59 +00:00
renovate[bot]
7285773737 Update dependency stylelint to v16.2.0 2024-01-23 19:25:42 +00:00
renovate[bot]
3ebe9f4196 Update definitelyTyped 2024-01-23 19:25:16 +00:00
renovate[bot]
58059d1f0a Update all non-major dependencies 2024-01-23 19:25:03 +00:00
RiotRobot
3000a48907 v1.11.56-rc.0 2024-01-23 18:51:19 +00:00
RiotRobot
c02f153c2a Upgrade matrix-js-sdk to 31.2.0-rc.0 2024-01-23 18:51:18 +00:00
RiotRobot
feba18abd4 Upgrade matrix-react-sdk to 3.91.0-rc.0 2024-01-23 18:51:10 +00:00
Timo
41576e41ca Merge pull request #26879 from element-hq/toger5/jitsi-video-channel-lobby
Use jitsi-lobby in video channel (video rooms)
2024-01-23 18:21:36 +00:00
Timo K
8ab44c98b2 maintain behavior for non video rooms
Signed-off-by: Timo K <toger5@hotmail.de>
2024-01-23 14:13:01 +01:00
Charly Nguyen
e7ce9b4751 Bump @matrix-org/react-sdk-module-api from 2.2.1 to 2.3.0
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2024-01-23 11:30:41 +01:00
Michael Telatynski
db78839e86 Merge pull request #26904 from element-hq/t3chguy/add-webpack-sentry-workaround
Add workaround for webpack builds on platforms unsupported by Sentry
2024-01-22 15:03:10 +00:00
Michael Telatynski
0aed37a2e5 Merge branch 'develop' into t3chguy/add-webpack-sentry-workaround 2024-01-22 14:51:53 +00:00
Michael Telatynski
19ed4a86c6 Merge pull request #26903 from element-hq/t3chguy/remove-webpack-14-hack
Remove webpack 4 hack
2024-01-22 13:07:32 +00:00
Michael Telatynski
71840ee63c Merge pull request #26902 from element-hq/renovate/npm-jsrsasign-vulnerability
Update dependency jsrsasign to v11 [SECURITY]
2024-01-22 11:49:01 +00:00
Michael Telatynski
cde1e1ecb8 Merge remote-tracking branch 'origin/develop' into develop 2024-01-22 13:07:32 +00:00
Michael Telatynski
3fe0325eab Skip Sonar in Merge Queue
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-22 13:07:23 +00:00
Michael Telatynski
5dd1ed9aac Update webpack.config.js 2024-01-22 08:49:32 +00:00
Michael Telatynski
3867576137 Add workaround for webpack builds on platforms unsupported by Sentry
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-19 19:55:19 +00:00
Michael Telatynski
e2371c0244 Remove webpack 4 hack
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-19 19:47:33 +00:00
renovate[bot]
bfe40d6a1b Update dependency jsrsasign to v11 [SECURITY] 2024-01-19 16:42:44 +00:00
RiotRobot
927b3165ab Reset matrix-js-sdk back to develop branch 2024-01-19 14:00:42 +00:00
RiotRobot
5b6f5e8c4c Reset matrix-react-sdk back to develop branch 2024-01-19 14:00:31 +00:00
RiotRobot
c5bf7f405c Merge branch 'master' into develop 2024-01-19 14:00:16 +00:00
RiotRobot
bb3954c235 v1.11.55 2024-01-19 13:57:00 +00:00
RiotRobot
1669477d87 Upgrade matrix-js-sdk to 31.1.0 2024-01-19 13:56:58 +00:00
RiotRobot
9ca55b76b0 Upgrade matrix-react-sdk to 3.90.0 2024-01-19 13:56:49 +00:00
Timo
243515a323 Merge branch 'develop' into toger5/jitsi-video-channel-lobby 2024-01-19 14:37:03 +01:00
Timo K
feab5057bd review
Signed-off-by: Timo K <toger5@hotmail.de>
2024-01-19 14:36:25 +01:00
Timo
f10214a9dd Merge branch 'develop' into toger5/force_ec_video_rooms 2024-01-19 14:33:58 +01:00
Michael Telatynski
e5d0c2ae7b Fix issues caused by the artifacts v4 upgrade
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-19 09:30:16 +00:00
Michael Telatynski
62b65744e5 Fix Sonarcloud artifact downloading
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-19 09:03:07 +00:00
Michael Telatynski
74d52f535a Use Github Artifacts v4 (#26884) 2024-01-19 08:54:43 +00:00
Michael Telatynski
a410f96802 Merge pull request #26885 from element-hq/t3chguy/kill-welcome_user_id
Deprecate welcome bot `welcome_user_id` support
2024-01-17 11:11:16 +00:00
Michael Telatynski
6d9efbab7a Deprecate welcome bot welcome_user_id support
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-17 10:21:33 +00:00
Michael Telatynski
0afcc88763 Merge pull request #26883 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-01-17 10:11:19 +00:00
renovate[bot]
8afab3c3f6 Update all non-major dependencies 2024-01-17 09:53:27 +00:00
Timo K
872b7f5110 update comment
Signed-off-by: Timo K <toger5@hotmail.de>
2024-01-16 20:16:44 +01:00
RiotRobot
9a1956c187 Reset matrix-js-sdk back to develop branch 2024-01-16 17:47:59 +00:00
RiotRobot
1ee644aab1 Reset matrix-react-sdk back to develop branch 2024-01-16 17:47:49 +00:00
RiotRobot
c2fa3d8f04 Merge branch 'master' into develop 2024-01-16 17:47:34 +00:00
RiotRobot
d7ab867af3 v1.11.54 2024-01-16 17:44:22 +00:00
RiotRobot
500f3485e0 Upgrade matrix-js-sdk to 31.0.0 2024-01-16 17:44:21 +00:00
RiotRobot
97412e5e12 Upgrade matrix-react-sdk to 3.89.0 2024-01-16 17:44:13 +00:00
Timo K
03cf7ca698 Use jitsi-lobby in video channel
Signed-off-by: Timo K <toger5@hotmail.de>
2024-01-16 16:03:45 +01:00
Michael Telatynski
cc6b519d98 Merge pull request #26870 from element-hq/t3chguy/kill-cypress-percy
Update reference from cypress to playwright
2024-01-15 17:44:34 +00:00
Michael Telatynski
4b36e06cfe Update reference from cypress to playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-15 15:36:59 +00:00
Michael Telatynski
3f578ad80a Merge pull request #26859 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-01-11 12:37:40 +00:00
Michael Telatynski
7cd2f78e3a Merge pull request #26857 from element-hq/renovate/alex-page-github-project-automation-plus-digest
Update alex-page/github-project-automation-plus digest to 303f24a
2024-01-11 11:17:42 +00:00
Michael Telatynski
d6437b2db0 Merge pull request #26860 from element-hq/renovate/copy-webpack-plugin-12.x
Update dependency copy-webpack-plugin to v12
2024-01-11 11:15:10 +00:00
Michael Telatynski
e938d8d0f4 Merge pull request #26858 from element-hq/renovate/docker
Update docker/metadata-action digest to dbef880
2024-01-11 11:13:15 +00:00
renovate[bot]
3582e2a3ae Update dependency copy-webpack-plugin to v12 2024-01-11 11:04:02 +00:00
renovate[bot]
3c31f55e87 Update all non-major dependencies 2024-01-11 11:03:40 +00:00
renovate[bot]
9526a94ffc Update docker/metadata-action digest to dbef880 2024-01-11 11:03:21 +00:00
renovate[bot]
3a97c74074 Update alex-page/github-project-automation-plus digest to 303f24a 2024-01-11 11:03:16 +00:00
Michael Telatynski
9ea88438f9 Merge pull request #26846 from element-hq/renovate/actions-deploy-pages-4.x
Update actions/deploy-pages action to v4
2024-01-10 10:47:25 +00:00
Michael Telatynski
d5047b708f Merge pull request #26849 from element-hq/renovate/major-stylelint
Update dependency stylelint-config-standard to v36
2024-01-10 10:43:23 +00:00
Michael Telatynski
fa3d8341a9 prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-10 10:29:45 +00:00
Michael Telatynski
b91d0a6a5a Merge branch 'develop' of https://github.com/vector-im/element-web into renovate/major-stylelint
# Conflicts:
#	yarn.lock
2024-01-10 10:21:29 +00:00
Michael Telatynski
04a2d3c9ba Update docs.yml 2024-01-10 10:20:33 +00:00
Michael Telatynski
75aefff539 Update stylelint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-10 10:17:23 +00:00
Michael Telatynski
18fee2e650 Merge pull request #26845 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v6.18.0
2024-01-10 02:21:35 +00:00
Michael Telatynski
ee5a3ce4a9 Merge pull request #26843 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-01-10 02:20:12 +00:00
renovate[bot]
dee2a8ca29 Update all non-major dependencies 2024-01-09 19:21:00 +00:00
renovate[bot]
e5a7bb89e2 Update typescript-eslint monorepo to v6.18.0 2024-01-09 19:13:39 +00:00
Michael Telatynski
c02af77655 Merge pull request #26847 from element-hq/renovate/eslint-plugin-unicorn-50.x
Update dependency eslint-plugin-unicorn to v50
2024-01-09 18:47:31 +00:00
Michael Telatynski
d3ff627134 Merge pull request #26844 from element-hq/renovate/stylelint
Update dependency stylelint to v16.1.0
2024-01-09 18:45:50 +00:00
Michael Telatynski
e73eba5b28 Merge pull request #26842 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-01-09 18:45:03 +00:00
Michael Telatynski
96bbe07e22 Merge pull request #26841 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.23.7
2024-01-09 18:44:43 +00:00
renovate[bot]
136a41bf7b Update dependency stylelint-config-standard to v36 2024-01-09 18:25:53 +00:00
renovate[bot]
0e0f5f06c2 Update dependency eslint-plugin-unicorn to v50 2024-01-09 18:23:51 +00:00
renovate[bot]
4101d36bfb Update actions/deploy-pages action to v4 2024-01-09 18:21:36 +00:00
renovate[bot]
5c66bc860e Update dependency stylelint to v16.1.0 2024-01-09 18:21:11 +00:00
renovate[bot]
91a09d97b1 Update definitelyTyped 2024-01-09 18:20:25 +00:00
renovate[bot]
ded9d6b55d Update babel monorepo to v7.23.7 2024-01-09 18:20:10 +00:00
RiotRobot
4032304f01 v1.11.54-rc.0 2024-01-09 18:01:38 +00:00
RiotRobot
a5caa5055e Upgrade matrix-js-sdk to 31.0.0-rc.0 2024-01-09 18:01:37 +00:00
RiotRobot
3f159934e4 Upgrade matrix-react-sdk to 3.89.0-rc.0 2024-01-09 18:01:29 +00:00
Michael Telatynski
436790cfd8 Merge pull request #26840 from element-hq/t3chguy/fix/26839
Fix CSS stacking context order determinism
2024-01-09 17:01:01 +00:00
Michael Telatynski
a012fb282f Merge pull request #26831 from element-hq/t3chguy/data-testid
Strip data-testid in production
2024-01-09 17:00:52 +00:00
Michael Telatynski
68fec606f2 Fix merge queue
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-09 17:00:43 +00:00
Michael Telatynski
03a624f788 Fix CSS stacking context order determinism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-09 12:44:44 +00:00
Michael Telatynski
922f16812c Run Playwright tests on merge queue (#26801) 2024-01-08 12:35:42 +00:00
Richard van der Hoff
9ee7440dfd Split up the changelog (#26832)
* Split up the changelog

The current changelog causes github to give unicorns, so is a bit pointless.

* more split

* prettierignore split changelogs
2024-01-08 10:12:55 +00:00
Michael Telatynski
2d26c46c1c Strip data-testid in production
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-05 10:46:39 +00:00
RiotRobot
99974e4099 Reset matrix-js-sdk back to develop branch 2024-01-04 14:43:44 +00:00
RiotRobot
a04e6c220e Reset matrix-react-sdk back to develop branch 2024-01-04 14:43:33 +00:00
RiotRobot
f926118d1d Merge branch 'master' into develop 2024-01-04 14:43:17 +00:00
RiotRobot
c4c0b44471 v1.11.53 2024-01-04 14:40:09 +00:00
RiotRobot
463f8e938d Upgrade matrix-react-sdk to 3.88.0 2024-01-04 14:40:08 +00:00
Timo
e3522d221a Merge branch 'develop' into toger5/force_ec_video_rooms 2024-01-03 17:22:35 +01:00
Timo K
c6182b263d force ec video rooms
Signed-off-by: Timo K <toger5@hotmail.de>
2024-01-03 16:49:59 +01:00
David Langley
8ea729e98f Merge pull request #26818 from element-hq/langleyd/update_team_names
Update teams names in CODEOWNERS and workflows
2024-01-03 11:13:07 +00:00
David Langley
2e3d20aa5d update teams names in CODEOWNERS and workflows 2024-01-03 10:57:51 +00:00
David Langley
5d461ac48d Merge pull request #26793 from element-hq/langleyd/rename_org_in_docs
Rename the GH org to element-hq in documentation, configuration and within code, comments and snapshot tests.
2024-01-03 10:38:55 +00:00
David Langley
2b09f81f60 Merge branch 'develop' into langleyd/rename_org_in_docs 2024-01-03 10:26:34 +00:00
renovate[bot]
188aac111b Update dependency prettier to v3 (#26815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-02 17:53:39 +00:00
renovate[bot]
6ef7aab959 Update dependency webpack-cli to v5 (#26816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 17:49:09 +00:00
Richard van der Hoff
258fc405db Update tests not to mock out an ancient server (#26796)
The loading test, which mocks a `/versions` response, currently mocks the
response of a 2-year-old server. This will soon be incompatible with the
JS-SDK. Update the test in preparation.
2024-01-02 11:14:57 +00:00
Michael Telatynski
2555ffc0d4 Fix react.d.ts forwardRef types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-20 15:38:42 +00:00
Michael Telatynski
0d86bab0dc Iterate landmarks around the app in order to improve a11y (#26776) 2023-12-20 15:32:23 +00:00
David Langley
855bb568b9 rename the GH org in links within documentation 2023-12-20 12:21:26 +00:00
David Langley
da90425289 Merge pull request #26791 from element-hq/langleyd/remove_epic_label
Remove Epic label in favour of T-Epic
2023-12-20 11:52:51 +00:00
David Langley
77352f53f9 Remove Epic in favour of T-Epic 2023-12-20 09:16:57 +00:00
RiotRobot
10dca7f305 Reset matrix-js-sdk back to develop branch 2023-12-19 16:03:10 +00:00
RiotRobot
9d58f29f5e Reset matrix-react-sdk back to develop branch 2023-12-19 16:02:59 +00:00
RiotRobot
d42c56357c Merge branch 'master' into develop 2023-12-19 16:02:41 +00:00
RiotRobot
cce2dc91af v1.11.52 2023-12-19 15:59:33 +00:00
RiotRobot
632d791c48 Upgrade matrix-js-sdk to 30.3.0 2023-12-19 15:59:32 +00:00
RiotRobot
5881f4ef9b Upgrade matrix-react-sdk to 3.87.0 2023-12-19 15:59:24 +00:00
Pankaj Singh
4203c953eb fix(contributing.md): added private sign off process (#26785)
Signed-off-by: Pankaj Singh <pankajsingh132000@gmail.com>
2023-12-18 15:50:31 +00:00
ElementRobot
e9f0a8cddc Merge pull request #26767 from element-hq/actions/localazy-download
Localazy Download
2023-12-15 06:28:43 +00:00
t3chguy
2b06101502 [create-pull-request] automated change 2023-12-15 06:07:37 +00:00
Michael Telatynski
4e952e7cb5 Upgrade css-loader to v5 (#26758) 2023-12-13 15:41:33 +00:00
Michael Telatynski
fc1f706540 Improve install.md docs 2023-12-13 14:53:58 +00:00
Florian Duros
1038500e71 Merge pull request #26757 from element-hq/revert-26750-renovate/css-loader-6.x
Revert "Update dependency css-loader to v6"
2023-12-13 15:08:08 +01:00
Florian Duros
039d625031 Revert "Update dependency css-loader to v6 (#26750)"
This reverts commit 3281523961.
2023-12-13 14:46:57 +01:00
renovate[bot]
3281523961 Update dependency css-loader to v6 (#26750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 11:51:23 +00:00
renovate[bot]
c9aa12d936 Update typescript-eslint monorepo to v6 (major) (#26754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 11:35:27 +00:00
renovate[bot]
2cab6ed369 Update dependency babel-loader to v9 (#26749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 11:29:45 +00:00
renovate[bot]
85d5add803 Update dependency style-loader to v3 (#26746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 11:28:34 +00:00
renovate[bot]
5df9eab4a9 Update dependency stylelint-config-standard to v35 (#26747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 11:27:39 +00:00
renovate[bot]
42e860db2e Update dependency @types/jest to v29.5.11 (#26736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:40:08 +00:00
renovate[bot]
85d057c427 Update dependency stylelint to v16 (#26740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-13 09:36:21 +00:00
renovate[bot]
2877e797a3 Update actions/deploy-pages action to v3 (#26739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:03:36 +00:00
renovate[bot]
9c89d6dbd9 Update babel monorepo to v7.23.5 (#26735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:02:34 +00:00
renovate[bot]
bfa7763f15 Update dependency @types/node to v16.18.68 (#26737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:00:57 +00:00
renovate[bot]
ad2592a253 Update dependency typescript to v5.3.3 (#26738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:00:48 +00:00
renovate[bot]
9ed1c21159 Update all non-major dependencies (#26734)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 08:59:42 +00:00
renovate[bot]
4f3b730e90 Update docker/metadata-action digest to 31cebac (#26733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 08:59:24 +00:00
ElementRobot
8980ff6366 Merge pull request #26732 from element-hq/actions/localazy-download
Localazy Download
2023-12-13 06:20:00 +00:00
t3chguy
1ce3fe6e73 [create-pull-request] automated change 2023-12-13 06:07:38 +00:00
RiotRobot
9ae3bade02 v1.11.52-rc.0 2023-12-12 17:06:02 +00:00
RiotRobot
01c1243fe4 Upgrade matrix-js-sdk to 30.3.0-rc.0 2023-12-12 17:06:01 +00:00
RiotRobot
ab3639f7eb Upgrade matrix-react-sdk to 3.87.0-rc.0 2023-12-12 17:05:52 +00:00
David Langley
c26517a73a Merge pull request #26728 from element-hq/langleyd/update_org_in_codeowners
Update to org to element-hq in CODEOWNERS
2023-12-12 11:02:27 +00:00
David Langley
a237948991 Merge pull request #26727 from element-hq/langleyd/update_org_in_workflows
Update org in scripts and workflows
2023-12-12 10:58:57 +00:00
David Langley
19015fe40e Merge branch 'develop' into langleyd/update_org_in_workflows 2023-12-12 10:46:37 +00:00
Florian Duros
9b0063dfca Merge pull request #26710 from nordeck/cn/add-opendesk-module
Add @nordeck/element-web-opendesk-module@0.3.0 to variants/openDesk/build_config.yaml
2023-12-12 11:41:40 +01:00
David Langley
0562942972 Update org in scripts and workflows 2023-12-12 10:31:44 +00:00
David Langley
007501aa9c update to org to element-hq 2023-12-11 20:20:51 +00:00
ElementRobot
a1a4847e09 Merge pull request #26712 from vector-im/actions/localazy-download
Localazy Download
2023-12-08 06:22:00 +00:00
t3chguy
558996e96d [create-pull-request] automated change 2023-12-08 06:07:38 +00:00
Charly Nguyen
0041d82553 Add @nordeck/element-web-opendesk-module@0.3.0 to variants/openDesk/build_config.yaml
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-12-07 12:23:35 +01:00
RiotRobot
31ce458fe1 Reset matrix-js-sdk back to develop branch 2023-12-05 14:25:41 +00:00
RiotRobot
2e7fc13fe3 Reset matrix-react-sdk back to develop branch 2023-12-05 14:25:32 +00:00
RiotRobot
a798d0465f Merge branch 'master' into develop 2023-12-05 14:25:18 +00:00
RiotRobot
0051710ba1 v1.11.51 2023-12-05 14:21:43 +00:00
RiotRobot
1cec24074f Upgrade matrix-js-sdk to 30.2.0 2023-12-05 14:21:41 +00:00
RiotRobot
09fd60785d Upgrade matrix-react-sdk to 3.86.0 2023-12-05 14:21:32 +00:00
Johannes Marbach
b9d616a0b7 Merge pull request #25885 from vector-im/germain-gg/25884
Remove documentation for 'feature_state_counters'
2023-11-30 00:41:37 +01:00
Johannes Marbach
fb963b9242 Merge pull request #26674 from vector-im/Johennes-patch-1 2023-11-29 12:54:47 +01:00
Johannes Marbach
e493ef1cdb Undry the workflow 2023-11-29 11:44:55 +01:00
Johannes Marbach
98e860a8a8 Enable label sync workflow 2023-11-29 11:26:52 +01:00
Johannes Marbach
bcec77c946 Merge pull request #26673 from vector-im/Johennes-patch-1 2023-11-29 10:55:21 +01:00
Johannes Marbach
482a52d4e3 Pretty it up 2023-11-29 10:42:03 +01:00
Johannes Marbach
377a7e4308 Replace quotes 2023-11-29 10:34:06 +01:00
Johannes Marbach
be646418bf Add missing labels for label sync
This adds all the labels that element-web has over element-meta to labels.yml. There is some deduplication to do that we can take care of over time. This at least should ensure that we don't lose anything we have to day while still benefiting from label sync.
2023-11-29 10:30:30 +01:00
Johannes Marbach
16df760ac2 Merge pull request #26672 from vector-im/johannes/sync-labels 2023-11-29 09:46:15 +01:00
Johannes Marbach
7cb841a4cd Adapt label-sync workflow to new version of upstream workflow 2023-11-29 08:34:04 +01:00
ElementRobot
43acadf2e3 Merge pull request #26671 from vector-im/actions/localazy-download
Localazy Download
2023-11-29 07:16:30 +01:00
t3chguy
5de3af52ab [create-pull-request] automated change 2023-11-29 06:07:31 +00:00
renovate[bot]
bfa50913e1 Update dependency typescript to v5.3.2 (#26668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:58:48 +00:00
renovate[bot]
74460e6545 Update dependency @types/jest to v29.5.10 (#26667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:44:55 +00:00
renovate[bot]
ad2b4d8dfd Update all non-major dependencies (#26664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:44:39 +00:00
renovate[bot]
6f6fd0c5be Update babel monorepo to v7.23.4 (#26665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:43:43 +00:00
renovate[bot]
28bf0f7a2c Update docker/build-push-action digest to 4a13e50 (#26663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:42:49 +00:00
renovate[bot]
3c8df025c1 Update definitelyTyped (#26666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 18:41:57 +00:00
RiotRobot
ba2ef79d2a v1.11.51-rc.0 2023-11-28 17:29:10 +00:00
RiotRobot
709049ab7c Upgrade matrix-js-sdk to 30.2.0-rc.0 2023-11-28 17:29:10 +00:00
RiotRobot
db513593b4 Upgrade matrix-react-sdk to 3.86.0-rc.2 2023-11-28 17:29:02 +00:00
Michael Telatynski
198ea60677 Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-28 17:26:07 +00:00
Michael Telatynski
4c182928e1 Improve Module API docs & example (#26637) 2023-11-28 09:45:59 +01:00
Johannes Marbach
2ee082652a Merge pull request #26641 from vector-im/johannes/release-make 2023-11-24 15:40:48 +01:00
Johannes Marbach
eac0d97738 Adapt to renaming of release-action workflow 2023-11-24 15:32:17 +01:00
Johannes Marbach
94779bb2c9 Merge pull request #26630 from vector-im/johannes/new-room-header-on-develop 2023-11-24 13:31:49 +01:00
Johannes Marbach
aa5e1d79cc Enable new room header by default on develop
Relates to: vector-im/element-web#25883
2023-11-23 13:59:57 +01:00
Johannes Marbach
c378f676fd Merge pull request #26622 from vector-im/johannes/bundle-jitsi 2023-11-22 21:23:09 +01:00
Johannes Marbach
d3ef8ff658 Add license and copy it into bundle while making terser ignore the SDK 2023-11-22 21:04:39 +01:00
Johannes Marbach
cb5d5d00f1 Merge branch 'develop' into germain-gg/25884 2023-11-22 17:17:12 +01:00
Johannes Marbach
6500d9a9d9 Merge pull request #26621 from vector-im/johannes/action-validator 2023-11-22 15:53:41 +01:00
Johannes Marbach
1575832766 Merge branch 'develop' into germain-gg/25884 2023-11-22 15:41:10 +01:00
Michael Telatynski
087be3e685 Update path
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-21 21:07:33 +00:00
Michael Telatynski
b9b732134d Improve rendering style of markdown in the mdbook (#26616) 2023-11-21 21:03:24 +00:00
Johannes Marbach
27bba26856 Make prettier ignore jitsi_external_api.min.js 2023-11-21 20:37:19 +01:00
Johannes Marbach
b08f83b415 Add Jitsi SDK as a static resource and set up CI to update it on change 2023-11-21 20:24:38 +01:00
Johannes Marbach
e8668614a7 Setup CI to lint workflows with action-validator 2023-11-21 19:45:44 +01:00
Michael Telatynski
802571176e Improve debian package and docs (#26618) 2023-11-21 17:28:28 +01:00
Michael Telatynski
94228574d4 Prettier 2023-11-21 16:00:45 +00:00
Johannes Marbach
49783d511c Quote names 2023-11-21 16:31:49 +01:00
Johannes Marbach
6389ffd751 Fix quotes 2023-11-21 16:30:09 +01:00
Johannes Marbach
e6c1a79067 Add labels currently added with respect to element-meta 2023-11-21 16:28:50 +01:00
Johannes Marbach
acad93dd7f Rename action to not tap outside exclusion list 2023-11-21 15:36:15 +01:00
Johannes Marbach
03b43d3c84 Use correct key 2023-11-21 14:14:59 +01:00
Johannes Marbach
21cf6edae6 Merge pull request #26612 from vector-im/johannes/sync-labels 2023-11-21 14:12:32 +01:00
Johannes Marbach
be0de442a2 Make it preeeeeetty 2023-11-21 14:04:28 +01:00
Johannes Marbach
8dae3562e9 Set up rudimentary workflow for manually triggering label sync 2023-11-21 13:57:41 +01:00
Michael Telatynski
b4891715c0 Update CHANGELOG.md 2023-11-21 11:37:24 +00:00
RiotRobot
23eb48132a Reset matrix-js-sdk back to develop branch 2023-11-21 11:36:19 +00:00
RiotRobot
0ea2091b2d Reset matrix-react-sdk back to develop branch 2023-11-21 11:36:10 +00:00
RiotRobot
2debdda2b3 Merge branch 'master' into develop 2023-11-21 11:35:52 +00:00
Michael Telatynski
4bd9336be1 Update release-gitflow.yml 2023-11-21 11:35:01 +00:00
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
Johannes Marbach
619f36b82a Merge pull request #26229 from vector-im/johannes/webpack-5 2023-11-20 13:30:36 +01:00
Michael Telatynski
4a519916e5 Add documentation around releases (#26602) 2023-11-20 09:58:18 +00:00
Johannes Marbach
37c1c4e8ae Set es2022 globally but force CommonJS when using ts-node for scripts 2023-11-19 20:38:51 +01:00
Johannes Marbach
f46cdd0757 Merge branch 'develop' into johannes/webpack-5 2023-11-18 21:52:51 +01:00
Johannes Marbach
6093cd8fe8 Move worklet rule up to where it used to be 2023-11-18 21:39:17 +01:00
Johannes Marbach
e2fdddaa1f Add custom loader for recorder worklet 2023-11-18 21:37:30 +01:00
Timo
3c3ec88bba Add feature_disable_call_per_sender_encryption documentation (in labs.md) (#26548)
* add feature_disable_call_per_sender_encryption doc

Co-authored-by: aceArt-GmbH <33117017+aceArt-GmbH@users.noreply.github.com>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: aceArt-GmbH <33117017+aceArt-GmbH@users.noreply.github.com>
2023-11-17 17:38:13 +01:00
Johannes Marbach
8dbefcc589 Undo auto public path disablement as it doesn't work with workers 2023-11-16 19:39:39 +01:00
Johannes Marbach
4e32b6fbe1 Update copy-webpack-plugin to latest 2023-11-16 19:22:34 +01:00
Johannes Marbach
a56a2268f0 Merge branch 'develop' into johannes/webpack-5 2023-11-16 19:20:22 +01:00
Johannes Marbach
e6f69f7dce Merge pull request #26599 from vector-im/johannes/copy-webpack-plugin 2023-11-16 14:58:48 +01:00
Johannes Marbach
710336208f Allow config.json to be missing 2023-11-16 14:45:31 +01:00
Johannes Marbach
47b37c996d Revert "Try explicitly relative path for config.json"
This reverts commit 46ecafa73b.
2023-11-16 14:44:42 +01:00
Johannes Marbach
46ecafa73b Try explicitly relative path for config.json 2023-11-16 14:42:19 +01:00
Johannes Marbach
d2fa827fad Replace copy/watching of non-language assets with copy-webpack-plugin 2023-11-16 14:21:45 +01: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
Johannes Marbach
fd2f7884c8 Merge pull request #26593 from vector-im/johannes/two-phase-copy-res 2023-11-16 08:17:32 +01:00
Johannes Marbach
37b67a8c76 Merge branch 'develop' into johannes/two-phase-copy-res 2023-11-16 08:00:53 +01:00
Johannes Marbach
897bca6ca2 Merge pull request #26591 from vector-im/johannes/one-watcher-to-rule-them-all 2023-11-16 08:00:24 +01:00
renovate[bot]
ec1ff4b606 Update dependency @types/jest to v29.5.8 (#26580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-15 23:11:10 +00:00
renovate[bot]
fd9cb159ca Update babel monorepo to v7.23.3 (#26578)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-15 23:06:54 +00:00
renovate[bot]
829c0ec22f Update definitelyTyped (#26579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 22:49:04 +00:00
dependabot[bot]
3bf7017f37 Bump crypto-js from 4.1.1 to 4.2.0 (#26460)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-15 22:30:10 +00:00
renovate[bot]
f9293f92e5 Update all non-major dependencies (#26581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 22:29:33 +00:00
renovate[bot]
277016d104 Update actions/github-script action to v7 (#26583)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 22:29:06 +00:00
Michael Telatynski
64028270dd Remove unused dependencies and add transitive deps (#26543) 2023-11-15 22:05:29 +00:00
Johannes Marbach
9d9a81aca4 Merge branch 'johannes/one-watcher-to-rule-them-all' into johannes/two-phase-copy-res 2023-11-15 21:43:57 +01:00
Johannes Marbach
ba72b3b09b Prevent copy-res -w from triggering unnecessary changes while webpack is already building 2023-11-15 21:43:00 +01:00
Johannes Marbach
8a3f8a499e Appease the linter 2023-11-15 20:35:09 +01:00
Johannes Marbach
08bc6d816a Use only chokidar for watching and add more logging 2023-11-15 20:15:25 +01:00
Michael Telatynski
e1b5c72e14 Merge remote-tracking branch 'origin/develop' into develop 2023-11-14 16:25:59 +01:00
Michael Telatynski
651b6db5cc Explicitly specify secrets
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-14 16:25:42 +01:00
Michael Telatynski
1300a2bfbb Update build_develop.yml 2023-11-14 15:05:13 +00:00
Michael Telatynski
6c38ad7179 Update release-drafter.yml 2023-11-14 14:43:34 +00:00
Johannes Marbach
5e9763e3a1 Update mocks for workers / worklets 2023-11-14 14:02:40 +01:00
Johannes Marbach
432c1d65e1 Squashed commit of the following:
commit 069c1bc833
Author: Johannes Marbach <johannesm@element.io>
Date:   Sat Nov 11 16:08:30 2023 +0100

    Replace worker-loader with built-in Webpack 5 support for web workers
2023-11-13 20:18:00 +01:00
Johannes Marbach
bbd449f9f4 Merge branch 'develop' into johannes/webpack-5 2023-11-13 20:02:26 +01:00
Johannes Marbach
91f46cc8f4 Disable automatic publicPath to unbreak worklets 2023-11-12 12:23:36 +01:00
Johannes Marbach
0584c39a70 Add defaults and fix comment 2023-11-11 21:36:41 +01:00
Johannes Marbach
3e03b2ea29 Appease the linter 2023-11-09 17:05:41 +01:00
Johannes Marbach
37632d84c8 Eliminate worklet-loader 2023-11-09 16:47:01 +01:00
Johannes Marbach
42da986ed3 Only show overlay on build errors 2023-11-09 16:11:49 +01:00
Johannes Marbach
ae1d21f08e Remove obsolete comment 2023-11-09 15:47:55 +01:00
Johannes Marbach
e6ba36d1cf Merge branch 'develop' into johannes/webpack-5 2023-11-09 15:43:44 +01:00
Johannes Marbach
f0c5ed8a30 Appease the linter 2023-11-08 10:06:13 +01:00
Johannes Marbach
0a36934d55 Eliminate use of loader-utils 2023-11-08 10:04:09 +01:00
Johannes Marbach
25bb2ae492 Replace optimize-css-assets-webpack-plugin with css-minimizer-webpack-plugin 2023-11-08 09:19:20 +01:00
Johannes Marbach
fe46b05bfb Remove unused extract-text-webpack-plugin 2023-11-08 09:16:04 +01:00
Johannes Marbach
e271f2cadb Upgrade webpack to 5.89.0 2023-11-08 09:15:27 +01:00
Johannes Marbach
4ffac57990 Merge branch 'develop' into johannes/webpack-5 2023-11-08 08:55:15 +01:00
Johannes Marbach
17147ade05 Merge branch 'develop' into johannes/webpack-5 2023-11-06 13:59:38 +01:00
Johannes Marbach
d8f46abd77 Appease the linter 2023-10-25 17:11:25 +02:00
Johannes Marbach
3a73f6baaa Merge branch 'develop' into johannes/webpack-5 2023-10-25 16:51:14 +02:00
Johannes Marbach
98c27c8bd4 Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5 2023-10-24 13:49:35 +02:00
Johannes Marbach
88666ee647 Also polyfill buffer and process/browser 2023-10-16 08:16:28 +02:00
Johannes Marbach
0b706bb1de Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5 2023-10-16 07:56:48 +02:00
Johannes Marbach
2984c3bdfb Remove . since path is already relative 2023-09-30 21:50:52 +02:00
Johannes Marbach
9b8d6e7607 Set context manually in NormalModuleReplacementPlugin to fix relative import paths 2023-09-29 22:02:38 +02:00
Johannes Marbach
c844d80217 Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5 2023-09-29 11:00:03 +02:00
Johannes Marbach
af3659a90e Update to webpack 5 2023-09-23 21:34:56 +02:00
Germain
bca63dead7 Remove documentation for 'feature_state_counters' 2023-07-31 11:46:02 +01:00
许煜恒
b98289c660 Remove (almost) all <audio> tags
Not sure what `remoteAudio` does, seems only used in tests,
so I left it there.
2023-06-27 12:33:04 +08:00
许煜恒
85dbaaa5ff Merge branch 'develop' of github.com:vector-im/element-web into superkenvery/webaudioapi 2023-06-26 23:10:51 +08:00
许煜恒
29c176b521 Remove message audio element (for another pr) 2023-05-30 18:51:11 +08:00
115 changed files with 15853 additions and 16454 deletions

View File

@@ -88,6 +88,7 @@ module.exports = {
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-member-accessibility": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-floating-promises": "off",
},
},
],

8
.github/CODEOWNERS vendored
View File

@@ -1,5 +1,5 @@
* @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
* @element-hq/element-web-reviewers
/.github/workflows/** @element-hq/element-web-team
/package.json @element-hq/element-web-team
/yarn.lock @element-hq/element-web-team
/src/i18n/strings

View File

@@ -5,7 +5,7 @@ body:
- 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).
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/element-hq/element-meta/discussions/new?category=ideas).
- type: textarea
id: usecase
attributes:

View File

@@ -2,17 +2,7 @@
## 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))
<!--
If you would like to specify text for the changelog entry other than your PR title, add the following:
Notes: Add super cool feature
For PRs which *only* affect the desktop version, please use:
Notes: none
element-desktop notes: Add super cool feature
-->
- [ ] Tests written for new code (and old code if feasible).
- [ ] New or updated `public`/`exported` symbols have accurate [TSDoc](https://tsdoc.org/) documentation.
- [ ] Linter and other CI checks pass.
- [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/element-hq/element-web/blob/develop/CONTRIBUTING.md)).

3
.github/cfp_headers vendored
View File

@@ -11,3 +11,6 @@
/apple-app-site-association
Content-Type: application/json
/.well-known/assetlinks.json
Content-Type: application/json

266
.github/labels.yml vendored Normal file
View File

@@ -0,0 +1,266 @@
- name: "A-Aliases"
color: "bfd4f2"
- name: "A-Authentication"
color: "bfd4f2"
- name: "A-Autocomplete"
color: "bfd4f2"
- name: "A-Breadcrumbs"
color: "bfd4f2"
- name: "A-Bridge"
color: "bfd4f2"
- name: "A-Broadcast"
description: "Broadcast-style voice messages"
color: "bfd4f2"
- name: "A-Create-Room"
description: "Create room flow, user suggestions, etc."
color: "bfd4f2"
- name: "A-DevTools"
description: "/devtools, show hidden events, etc."
color: "bfd4f2"
- name: "A-Dialogs"
color: "bfd4f2"
- name: "A-Disambiguation"
color: "bfd4f2"
- name: "A-DM-Start"
description: "Creating a DM with another user"
color: "bfd4f2"
- name: "A-E2EE-Dehydration"
color: "8CC59A"
- name: "A-Electron"
color: "bfd4f2"
- name: "A-Element-Call"
description: "Group calls via Element Call"
color: "bfd4f2"
- name: "A-Element-R"
description: "Issues affecting the port of Element's crypto layer to Rust"
color: "bfd4f2"
- name: "A-ELS"
description: "Event List Summary (and Membership ELS, MELS)"
color: "bfd4f2"
- name: "A-Emotes"
color: "bfd4f2"
- name: "A-EMS"
description: "Issues related to EMS"
color: "bfd4f2"
- name: "A-Error-Message"
color: "bfd4f2"
- name: "A-Federation"
color: "bfd4f2"
- name: "A-Feedback-Reporting"
description: "Reporting process for bugs, debug logs (rageshakes), suggestions"
color: "bfd4f2"
- name: "A-File-Download"
color: "bfd4f2"
- name: "A-File-Panel"
color: "bfd4f2"
- name: "A-Identity-Server"
color: "bfd4f2"
- name: "A-Indexing"
description: "Indexing messages via Seshat"
color: "bfd4f2"
- name: "A-IRC-Layout"
color: "bfd4f2"
- name: "A-Jump-To-Date"
description: "Jump to date headers or slash command"
color: "bfd4f2"
- name: "A-Lazy-Loading"
color: "bfd4f2"
- name: "A-Light-Box"
description: "UI when viewing an image"
color: "bfd4f2"
- name: "A-Location-Sharing"
color: "bfd4f2"
- name: "A-Logout"
description: "Logout, sign out, etc."
color: "bfd4f2"
- name: "A-Maths"
description: "Render LaTeX maths in messages"
color: "bfd4f2"
- name: "A-Memory"
description: "Memory leaks, leak hunting tools"
color: "bfd4f2"
- name: "A-Message-Forwarding"
color: "bfd4f2"
- name: "A-Message-Pinning"
color: "bfd4f2"
- name: "A-Message-Previews"
color: "bfd4f2"
- name: "A-Message-Starring"
description: "Saving favourite messages for later"
color: "bfd4f2"
- name: "A-Modules"
description: "Module system related"
color: "bfd4f2"
- name: "A-New-Search-Experience"
description: "The new search dialog available in Labs"
color: "bfd4f2"
- name: "A-Packaging"
description: "Packaging, signing, releasing"
color: "bfd4f2"
- name: "A-Peeking"
color: "bfd4f2"
- name: "A-Picture-in-Picture"
color: "bfd4f2"
- name: "A-Power-Levels"
description: "The permissions that users have in rooms and spaces"
color: "bfd4f2"
- name: "A-Replies"
description: "reply"
color: "bfd4f2"
- name: "A-Session-Mgmt"
description: "Session / device names, management UI, etc."
color: "bfd4f2"
- name: "A-Share"
color: "bfd4f2"
- name: "A-Shortcuts"
description: "Keyboard shortcuts"
color: "bfd4f2"
- name: "A-Sliding-Sync"
description: "Also known as Sync v3 - https://github.com/matrix-org/sliding-sync"
color: "bfd4f2"
- name: "A-Soft-Logout"
description: "https://github.com/element-hq/element-web/issues/10224"
color: "bfd4f2"
- name: "A-Spaces-Settings"
color: "bfd4f2"
- name: "A-SSO"
color: "bfd4f2"
- name: "A-Status-Bar"
description: "Unsent messages warning and 'Connectivity to the server has been lost'"
color: "bfd4f2"
- name: "A-Storage"
description: "Storage layer of the app, including IndexedDB, local storage, etc."
color: "bfd4f2"
- name: "A-Technical-Debt"
color: "bfd4f2"
- name: "A-Testing"
description: "Testing, code coverage, etc."
color: "bfd4f2"
- name: "A-Themes-Custom"
description: "Custom theme variables or support"
color: "bfd4f2"
- name: "A-Themes-Official"
description: "Official themes (light, dark)"
color: "bfd4f2"
- name: "A-Theming"
color: "bfd4f2"
- name: "A-Timeline-Jumpy-Scroll"
description: "Stable timeline dream ✨"
color: "bfd4f2"
- name: "A-Timesheet-1"
description: "Log any time spent on this into the A-Timesheet-1 project"
color: "5319E7"
- name: "A-Toast"
color: "bfd4f2"
- name: "A-Tooltips"
description: "Anything related to tooltips"
color: "bfd4f2"
- name: "A-UI-Customisation"
description: "UIFeatures etc. for customising entire parts of the UI"
color: "bfd4f2"
- name: "A-URL-Previews"
color: "bfd4f2"
- name: "A-User-Menu"
description: "The top left main menu with the user's name and avatar"
color: "bfd4f2"
- name: "A-User-Search"
description: "The start DM or invite to room dialogs (things dealing with `/user_directory/search`)"
color: "bfd4f2"
- name: "A-Video-Rooms"
description: "Persistent group calls"
color: "bfd4f2"
- name: "A-Voice-Messages"
color: "bfd4f2"
- name: "A-Welcome-Page"
color: "bfd4f2"
- name: "backport staging"
description: "Label to automatically backport PR to staging branch"
color: "B60205"
- name: "Dependencies"
description: "Pull requests that update a dependency file"
color: "0366d6"
- name: "Hacktoberfest"
description: "Issues which are suitable for Hacktoberfest PRs: https://hacktoberfest.digitalocean.com/"
color: "ff7518"
- name: "P4"
description: "[OBSOLETE LABEL] Interesting — Not yet scheduled, will accept patches"
color: "d1e5f0"
- name: "spam"
color: "B60205"
- name: "Sponsored"
color: "ffc8f4"
- name: "T-Deprecation"
description: "A pull request that makes something deprecated"
color: "98e6ae"
- name: "T-Other"
description: "Questions, user support, anything else"
color: "98e6ae"
- name: "Team: App"
color: "FFA500"
- name: "X-Blocked"
color: "ff7979"
- name: "X-Cannot-Reproduce"
color: "ff7979"
- name: "X-Command"
description: "Created using the !github command"
color: "ff7979"
- name: "X-Community-Supported-Platform"
description: "This issue occurs in a platform not directly supported by us, but by a community project elsewhere"
color: "ff7979"
- name: "X-Upcoming-Release-Blocker"
description: "This does not affect the current release cycle but will affect the next one"
color: "e99695"
- name: "Z-Actions"
color: "ededed"
- name: "Z-Cache-Confusion"
description: "Related to internal cache (clearing helps / causes the issue)"
color: "ededed"
- name: "Z-Community-PR"
description: "Issue is solved by a community member's PR"
color: "ededed"
- name: "Z-Element-R-Blocker"
description: "A blocker for enabling Element R by default"
color: "ededed"
- name: "Z-Experimental"
color: "ededed"
- name: "Z-Fixed by Element Call"
description: "Issues which can be closed when we move to Element Call"
color: "ededed"
- name: "Z-Fixed-By-OIDC"
description: "Issues which can be closed when we move to OIDC"
color: "ededed"
- name: "Z-Flaky-Test"
description: "A test is raising false alarms"
color: "ededed"
- name: "Z-FOSDEM"
description: "Issues in chat.fosdem.org"
color: "ededed"
- name: "Z-Gitter"
description: "Issues relating to or coming out of the Gitter migration, feature parity, etc"
color: "ededed"
- name: "Z-Legacy-Crypto"
description: "Issues affecting the legacy crypto stack"
color: "EEEEEE"
- name: "Z-Maximised-Widgets"
color: "ededed"
- name: "Z-Papercuts"
description: "Visible. Impactful. Predictable to action."
color: "ededed"
- name: "Z-Power-Users"
color: "ededed"
- name: "Z-Rageshake"
description: "Has attached rageshake (not for log submission process)"
color: "ededed"
- name: "Z-RICE"
color: "ededed"
- name: "Z-Soft-Crash"
description: "React soft crash caught by an error boundary"
color: "ededed"
- name: "Z-Spec-Compliance"
description: "An area where Element doesn't correctly implement the spec"
color: "ededed"
- name: "Z-t3chguy"
color: "ededed"
- name: "Z-Flaky-Test-Disabled"
description: "The flaking test has been disabled"
color: "ededed"

View File

@@ -3,6 +3,8 @@ on:
pull_request: {}
push:
branches: [develop, master]
merge_group:
types: [checks_requested]
# develop pushes and repository_dispatch handled in build_develop.yaml
env:
# These must be set for fetchdep.sh to get the right branch
@@ -35,6 +37,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Workaround for yarn install timeouts, especially on Windows
- run: yarn config set network-timeout 300000

View File

@@ -17,8 +17,8 @@ jobs:
- 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"
wget "https://github.com/element-hq/element-web/releases/download/$VERSION/element-$VERSION.tar.gz"
wget "https://github.com/element-hq/element-web/releases/download/$VERSION/element-$VERSION.tar.gz.asc"
- name: Check GPG signature
run: |
@@ -33,10 +33,11 @@ jobs:
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/
mkdir -p debian/tmp/usr/share/element-web/ debian/tmp/etc/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
mv debian/tmp/usr/share/element-web/config.sample.json debian/tmp/etc/element-web/config.json
ln -s /etc/element-web/config.json debian/tmp/usr/share/element-web/config.json
- name: Write changelog
run: |
@@ -57,11 +58,10 @@ jobs:
- name: Build deb package
run: |
VERSION=$(cat package.json | jq -r .version)
sudo chmod -R u=rw,go=r debian/tmp/usr/share/element-web/
dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog
dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: element-web.deb
path: element-web.deb
@@ -69,7 +69,7 @@ jobs:
- name: Publish to packages.element.io
if: github.event.release.prerelease == false
uses: vector-im/packages.element.io@master
uses: element-hq/packages.element.io@master
with:
file: element-web.deb
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -13,7 +13,7 @@ jobs:
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'
if: github.repository == 'element-hq/element-web'
runs-on: ubuntu-latest
environment: develop
env:
@@ -26,6 +26,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"
@@ -47,7 +48,7 @@ jobs:
- run: mv dist/element-*.tar.gz dist/develop.tar.gz
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: webapp
path: dist/develop.tar.gz
@@ -84,14 +85,21 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
# We may be trying to deploy the same webapp bundles again, we need to ensure that the live bundles
# are not present in the _redirects file and instead accessed directly from Cloudflare Pages.
- name: Trim _redirects
working-directory: _deploy
run: |
find bundles -type d -mindepth 1 -maxdepth 1 -exec sed -i "\:{}:d" _redirects \;
- name: Wait for other steps to succeed
uses: t3chguy/wait-on-check-action@05861d3a448898eb33dfce34153bd1ecb9422fb9 # fork
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # 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).)*$
check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label|Release|prepare|GitHub Pages).)*$
# 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.

View File

@@ -7,6 +7,9 @@ on:
# 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 }}
permissions:
id-token: write # needed for signing the images with GitHub OIDC Token
jobs:
buildx:
name: Docker Buildx
@@ -26,6 +29,9 @@ jobs:
with:
fetch-depth: 0 # needed for docker-package to be able to calculate the version
- name: Install Cosign
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3
- name: Prepare
if: matrix.prepare
run: ${{ matrix.prepare }}
@@ -34,19 +40,19 @@ jobs:
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3
with:
install: true
- name: Login to Docker Hub
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5
with:
images: |
vectorim/element-web
@@ -58,7 +64,8 @@ jobs:
${{ matrix.flavor }}
- name: Build and push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5
id: build-and-push
uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6
with:
context: .
push: true
@@ -66,9 +73,20 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Sign the images with GitHub OIDC Token
env:
DIGEST: ${{ steps.build-and-push.outputs.digest }}
TAGS: ${{ steps.meta.outputs.tags }}
run: |
images=""
for tag in ${TAGS}; do
images+="${tag}@${DIGEST} "
done
cosign sign --yes ${images}
- name: Update repo description
if: matrix.variant == 'vanilla'
uses: peter-evans/dockerhub-description@dc67fad7001ef9e8e3c124cb7a64e16d0a63d864 # v3
uses: peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae # v4
continue-on-error: true
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}

View File

@@ -22,7 +22,7 @@ jobs:
- name: Fetch element-desktop
uses: actions/checkout@v4
with:
repository: vector-im/element-desktop
repository: element-hq/element-desktop
path: element-desktop
- name: Fetch element-web
@@ -55,7 +55,7 @@ jobs:
echo "- [Automations](automations.md)" >> docs/SUMMARY.md
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: "0.4.10"
@@ -99,7 +99,7 @@ jobs:
run: mdbook build
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
uses: actions/upload-pages-artifact@v3
with:
path: ./book
@@ -112,4 +112,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4

29
.github/workflows/end-to-end-tests.yaml vendored Normal file
View File

@@ -0,0 +1,29 @@
# Triggers after the "Downstream artifacts" build has finished, to run the
# matrix-react-sdk playwright tests (with access to repo secrets)
name: matrix-react-sdk End to End Tests
on:
merge_group:
types: [checks_requested]
pull_request: {}
push:
branches: [develop, master]
concurrency:
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }}
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }}
jobs:
playwright:
name: Playwright
uses: matrix-org/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop
permissions:
actions: read
issues: read
pull-requests: read
with:
element-web-sha: ${{ github.sha }}
react-sdk-repository: matrix-org/matrix-react-sdk
# We only want to run the playwright tests on merge queue to prevent regressions
# from creeping in. They take a long time to run and consume multiple concurrent runners.
skip: ${{ github.event_name != 'merge_group' }}

View File

@@ -9,7 +9,7 @@ jobs:
name: Tidy closed issues
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
id: main
with:
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
@@ -141,7 +141,7 @@ jobs:
});
}
}
- uses: actions/github-script@v6
- uses: actions/github-script@v7
name: Close duplicate as Not Planned
if: steps.main.outputs.closeAsNotPlanned
with:

View File

@@ -10,10 +10,10 @@ jobs:
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+"
URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Aelement-hq%2Felement-web+repo%3Aelement-hq%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%3Aelement-hq%2Felement-web+repo%3Aelement-hq%2Felement-desktop+sort%3Aupdated-desc+label%3AX-Release-Blocker+"
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
env:
HS_URL: ${{ secrets.BETABOT_HS_URL }}
ROOM_ID: ${{ secrets.ROOM_ID }}
@@ -60,16 +60,16 @@ jobs:
}
const repos = [
"vector-im/element-desktop",
"vector-im/element-web",
"element-hq/element-desktop",
"element-hq/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",
"matrix-org/element-web-team",
"matrix-org/element-web-reviewers",
"element-hq/element-web-team",
"element-hq/element-web-reviewers",
];
let issueCount = 0;

View File

@@ -2,6 +2,8 @@ name: Pull Request
on:
pull_request_target:
types: [opened, edited, labeled, unlabeled, synchronize]
merge_group:
types: [checks_requested]
jobs:
action:
uses: matrix-org/matrix-js-sdk/.github/workflows/pull_request.yaml@develop

View File

@@ -2,13 +2,10 @@ name: Release Drafter
on:
push:
branches: [staging]
workflow_dispatch: {}
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
uses: matrix-org/matrix-js-sdk/.github/workflows/release-drafter-workflow.yml@develop
with:
include-changes: matrix-react-sdk

View File

@@ -7,7 +7,8 @@ concurrency: ${{ github.repository }}-${{ github.workflow }}
jobs:
merge:
uses: matrix-org/matrix-js-sdk/.github/workflows/release-gitflow.yml@develop
secrets: inherit
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
with:
dependencies: |
matrix-react-sdk

View File

@@ -10,27 +10,53 @@ on:
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
uses: matrix-org/matrix-js-sdk/.github/workflows/release-make.yml@develop
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
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 }}
notify-downstream:
name: Trigger release drafter downstream
needs: release
runs-on: ubuntu-latest
steps:
- name: Notify element-desktop repo that element-web release has completed to re-trigger release-drafter
uses: benc-uk/workflow-dispatch@25b02cc069be46d637e8fe2f1e8484008e9e9609 # v1
with:
workflow: release-drafter.yml
repo: element-hq/element-desktop
ref: staging
# Required when using the `repo` option. Either a PAT or a token generated from the GitHub app or CLI
token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
check:
name: Post release checks
needs: release
runs-on: ubuntu-latest
steps:
- name: Wait for dockerhub
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: master
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
check-name: "Docker Buildx (vanilla)"
allowed-conclusions: success
- name: Wait for debian package
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: master
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
check-name: Build package
allowed-conclusions: success

View File

@@ -25,12 +25,15 @@ on:
jobs:
prepare:
runs-on: ubuntu-latest
env:
# The order is specified bottom-up to avoid any races for allchange
REPOS: matrix-js-sdk matrix-react-sdk element-web element-desktop
steps:
- name: Checkout Element Desktop
uses: actions/checkout@v4
if: inputs.element-desktop
with:
repository: vector-im/element-desktop
repository: element-hq/element-desktop
path: element-desktop
ref: staging
fetch-depth: 0
@@ -40,7 +43,7 @@ jobs:
uses: actions/checkout@v4
if: inputs.element-web
with:
repository: vector-im/element-web
repository: element-hq/element-web
path: element-web
ref: staging
fetch-depth: 0
@@ -67,15 +70,55 @@ jobs:
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
for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" merge origin/develop; done
- name: Push staging
run: for REPO in $REPOS; do git -C "$REPO" push origin staging; done
run: for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" push origin staging; done
- name: Wait for matrix-js-sdk draft
if: inputs.matrix-js-sdk
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: staging
repo: matrix-org/matrix-js-sdk
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
wait-interval: 10
check-name: draft
allowed-conclusions: success
- name: Wait for matrix-react-sdk draft
if: inputs.matrix-react-sdk
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: staging
repo: matrix-org/matrix-react-sdk
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
wait-interval: 10
check-name: draft
allowed-conclusions: success
- name: Wait for element-web draft
if: inputs.element-web
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: staging
repo: element-hq/element-web
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
wait-interval: 10
check-name: draft
allowed-conclusions: success
- name: Wait for element-desktop draft
if: inputs.element-desktop
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: staging
repo: element-hq/element-desktop
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
wait-interval: 10
check-name: draft
allowed-conclusions: success

View File

@@ -13,3 +13,4 @@ jobs:
uses: matrix-org/matrix-js-sdk/.github/workflows/sonarcloud.yml@develop
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -3,6 +3,8 @@ on:
pull_request: {}
push:
branches: [develop, master]
merge_group:
types: [checks_requested]
repository_dispatch:
types: [element-web-notify]
env:
@@ -19,6 +21,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"
@@ -29,6 +32,8 @@ jobs:
i18n_lint:
name: "i18n Check"
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
with:
hardcoded-words: "Element"
js_lint:
name: "ESLint"
@@ -39,6 +44,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Does not need branch matching as only analyses this layer
- name: Install Deps
@@ -56,6 +62,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Needs branch matching as it inherits .stylelintrc.js from matrix-react-sdk
- name: Install Dependencies
@@ -64,6 +71,24 @@ jobs:
- name: Run Linter
run: "yarn run lint:style"
workflow_lint:
name: "Workflow Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install --frozen-lockfile"
- name: Run Linter
run: "yarn lint:workflows"
analyse_dead_code:
name: "Analyse Dead Code"
runs-on: ubuntu-latest
@@ -73,6 +98,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Deps
run: "scripts/layered.sh"

21
.github/workflows/sync-labels.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: Sync labels
on:
workflow_dispatch: {}
schedule:
- cron: "0 1 * * *" # 1am every day
push:
branches:
- develop
paths:
- .github/labels.yml
jobs:
sync-labels:
uses: element-hq/element-meta/.github/workflows/sync-labels.yml@develop
with:
LABELS: |
element-hq/element-meta
.github/labels.yml
DELETE: true
WET: true
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -3,6 +3,8 @@ on:
pull_request: {}
push:
branches: [develop, master]
merge_group:
types: [checks_requested]
repository_dispatch:
types: [element-web-notify]
env:
@@ -21,6 +23,7 @@ jobs:
uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"
@@ -33,9 +36,25 @@ jobs:
run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}"
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: coverage
path: |
coverage
!coverage/lcov-report
skip_sonar:
name: Skip SonarCloud in merge queue
if: github.event_name == 'merge_group'
runs-on: ubuntu-latest
needs: jest
steps:
- name: Skip SonarCloud
uses: Sibz/github-status-action@faaa4d96fecf273bd762985e0e7f9f933c774918 # v1
with:
authToken: ${{ secrets.GITHUB_TOKEN }}
state: success
description: SonarCloud skipped
context: SonarCloud Code Analysis
sha: ${{ github.sha }}
target_url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@@ -14,5 +14,5 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/67
project-url: https://github.com/orgs/element-hq/projects/67
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -8,8 +8,7 @@ jobs:
automate-project-columns:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
- uses: actions/add-to-project@main
with:
project: Issue triage
column: Incoming
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
project-url: https://github.com/orgs/element-hq/projects/120
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -24,10 +24,9 @@ jobs:
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')
contains(github.event.issue.labels.*.name, 'A-Element-Call')
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.addLabels({
@@ -44,7 +43,7 @@ jobs:
contains(github.event.issue.labels.*.name, 'good first issue') ||
contains(github.event.issue.labels.*.name, 'Hacktoberfest')
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.addLabels({
@@ -61,8 +60,8 @@ jobs:
- 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"
project-url: "https://github.com/orgs/element-hq/projects/120"
column-name: "Needs info"
label-name: "X-Needs-Info"
add_priority_design_issues_to_project:
@@ -79,7 +78,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/18
project-url: https://github.com/orgs/element-hq/projects/18
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
add_product_issues:
@@ -90,7 +89,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/28
project-url: https://github.com/orgs/element-hq/projects/28
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
Search_issues_to_board:
@@ -101,7 +100,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/48
project-url: https://github.com/orgs/element-hq/projects/48
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
voip:
@@ -112,7 +111,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/41
project-url: https://github.com/orgs/element-hq/projects/41
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
verticals_feature:
@@ -123,7 +122,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/57
project-url: https://github.com/orgs/element-hq/projects/57
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
tech_debt:
@@ -139,7 +138,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/101
project-url: https://github.com/orgs/element-hq/projects/101
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
element_r:
@@ -149,7 +148,7 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- id: add_to_project
uses: actions/add-to-project@v0.5.0
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
@@ -163,4 +162,4 @@ jobs:
field-keys: Workstream,module
field-values: Element-R,web
env:
PROJECT_URL: https://github.com/orgs/vector-im/projects/76
PROJECT_URL: https://github.com/orgs/element-hq/projects/76

View File

@@ -14,7 +14,7 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
organization(login: "element-hq") {
team(slug: $team) {
members {
nodes {
@@ -81,7 +81,7 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
query find_team_members($team: String!) {
organization(login: "vector-im") {
organization(login: "element-hq") {
team(slug: $team) {
members {
nodes {

View File

@@ -0,0 +1,17 @@
name: Close stale flaky issues
on:
schedule:
- cron: "30 1 * * *"
jobs:
close:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/stale@v9
with:
only-labels: "Z-Flaky-Test"
days-before-stale: 14
days-before-close: 0
close-issue-message: "This flaky test issue has not been updated in 14 days. It is being closed as presumed resolved."
exempt-issue-labels: "Z-Flaky-Test-Disabled"

View File

@@ -35,7 +35,7 @@ jobs:
fi
fi
- name: Move issue
uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36
if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }}
with:
project: Issue triage
@@ -60,7 +60,7 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Element-Call')) &&
contains(github.event.issue.labels.*.name, 'Z-Labs')
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.removeLabel({

32
.github/workflows/update-jitsi.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
# Re-fetches the Jitsi SDK and opens a PR to update it if it's different from what's in the repository
name: Update Jitsi
on:
workflow_dispatch: {}
schedule:
- cron: "0 3 * * 0" # 3am every Sunday
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Deps
run: "yarn install --frozen-lockfile"
- name: Fetch Jitsi
run: "yarn update:jitsi"
- name: Create Pull Request
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
branch: actions/jitsi-update
delete-branch: true
title: Jitsi Update
labels: |
T-Task

View File

@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
environment: Matrix
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
env:
HS_URL: ${{ secrets.BETABOT_HS_URL }}
LOBBY_ROOM_ID: ${{ secrets.ROOM_ID }}

View File

@@ -23,6 +23,12 @@ electron/pub
src/vector/index.html
src/vector/modernizr.js
/docs/lib
/book
/debian/tmp
# This file is owned, parsed, and generated by allchange, which doesn't comply with prettier
/CHANGELOG.md
/docs/changelogs
# Downloaded and already minified
res/jitsi_external_api.min.js

File diff suppressed because it is too large Load Diff

View File

@@ -124,7 +124,7 @@ must include:
1. Comprehensive unit tests written in Jest. These are located in `/test`.
2. "happy path" end-to-end tests.
These are located in `/cypress/e2e` in `matrix-react-sdk`, and
These are located in `/playwright/e2e` in `matrix-react-sdk`, and
are run using `element-web`. Ideally, you would also include tests for edge
and error cases.
@@ -271,9 +271,20 @@ on Git 2.17+ you can mass signoff using rebase:
git rebase --signoff origin/develop
```
## Private sign off
If you would like to provide your legal name privately to the Matrix.org
Foundation (instead of in a public commit or comment), you can do so by emailing
your legal name and a link to the pull request to dco@matrix.org. It helps to
include "sign off" or similar in the subject line. You will then be instructed
further.
Once private sign off is complete, doing so for future contributions will not
be required.
# Review expectations
See https://github.com/vector-im/element-meta/wiki/Review-process
See https://github.com/element-hq/element-meta/wiki/Review-process
# Merge Strategy

106
README.md
View File

@@ -1,6 +1,6 @@
[![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)
![Tests](https://github.com/element-hq/element-web/actions/workflows/tests.yaml/badge.svg)
![Static Analysis](https://github.com/element-hq/element-web/actions/workflows/static_analysis.yaml/badge.svg)
[![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)
@@ -32,8 +32,8 @@ Element has several tiers of support for different environments:
- 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).
native apps [element-android](https://github.com/element-hq/element-android)
and [element-ios](https://github.com/element-hq/element-ios).
# Getting Started
@@ -41,29 +41,9 @@ The easiest way to test Element is to just use the hosted copy at <https://app.e
The `develop` branch is continuously deployed to <https://develop.element.io>
for those who like living dangerously.
To host your own copy of Element, the quickest bet is to use a pre-built
released version of Element:
To host your own instance of Element see [Installing Element Web](docs/install.md).
1. Download the latest version from <https://github.com/vector-im/element-web/releases>
1. Untar the tarball on your web server
1. Move (or symlink) the `element-x.x.x` directory to an appropriate name
1. Configure the correct caching headers in your webserver (see below)
1. Configure the app by copying `config.sample.json` to `config.json` and
modifying it. See the [configuration docs](docs/config.md) for details.
1. Enter the URL into your browser and log into Element!
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
at <https://packages.riot.im/element-release-key.asc>.
Note that for the security of your chats will need to serve Element
over HTTPS. Major browsers also do not allow you to use VoIP/video
chats over HTTP, as WebRTC is only usable over HTTPS.
There are some exceptions like when using localhost, which is
considered a [secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts)
and thus allowed.
To install Element as a desktop application, see [Running as a desktop
app](#running-as-a-desktop-app) below.
To install Element as a desktop application, see [Running as a desktop app](#running-as-a-desktop-app) below.
# Important Security Notes
@@ -77,7 +57,7 @@ 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
<https://github.com/vector-im/element-web/issues/1977> for more details.
<https://github.com/element-hq/element-web/issues/1977> for more details.
## Configuration best practices
@@ -131,7 +111,7 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
1. Install or update `node.js` so that your `node` is at least the current recommended LTS.
1. Install `yarn` if not present already.
1. Clone the repo: `git clone https://github.com/vector-im/element-web.git`.
1. Clone the repo: `git clone https://github.com/element-hq/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
@@ -157,65 +137,11 @@ Element can also be run as a desktop app, wrapped in Electron. You can download
pre-built version from <https://element.io/get-started> or, if you prefer,
build it yourself.
To build it yourself, follow the instructions at <https://github.com/vector-im/element-desktop>.
To build it yourself, follow the instructions at <https://github.com/element-hq/element-desktop>.
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)
```bash
yarn global add nativefier
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
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:
```bash
docker run -p 80:80 vectorim/element-web
```
To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
if your custom config was located at `/etc/element-web/config.json` then your Docker command
would be:
```bash
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web
```
To build the image yourself:
```bash
git clone https://github.com/vector-im/element-web.git element-web
cd element-web
git checkout master
docker build .
```
If you're building a custom branch, or want to use the develop branch, check out the appropriate
element-web branch and then run:
```bash
docker build -t \
--build-arg USE_CUSTOM_SDKS=true \
--build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
--build-arg REACT_SDK_BRANCH="develop" \
--build-arg JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git" \
--build-arg JS_SDK_BRANCH="develop" \
.
```
# 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.
The [configuration docs](docs/config.md#desktop-app-configuration) show how to override the desktop app's default settings if desired.
# config.json
@@ -225,7 +151,7 @@ See the [configuration docs](docs/config.md) for more details.
# 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).
Some of these features are described in [labs.md](https://github.com/element-hq/element-web/blob/develop/docs/labs.md).
# Caching requirements
@@ -305,7 +231,7 @@ popd
Clone the repo and switch to the `element-web` directory:
```bash
git clone https://github.com/vector-im/element-web.git
git clone https://github.com/element-hq/element-web.git
cd element-web
```
@@ -341,8 +267,8 @@ for changes. If the inotify limits are too low your build will fail silently or
`Error: EMFILE: too many open files`. To avoid these issues, we recommend a watch limit
of at least `128M` and instance limit around `512`.
You may be interested in issues [#15750](https://github.com/vector-im/element-web/issues/15750) and
[#15774](https://github.com/vector-im/element-web/issues/15774) for further details.
You may be interested in issues [#15750](https://github.com/element-hq/element-web/issues/15750) and
[#15774](https://github.com/element-hq/element-web/issues/15774) for further details.
To set a new inotify watch and instance limit, execute:
@@ -390,6 +316,6 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md).
# 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).
Issues are triaged by community members and the Web App Team, following the [triage process](https://github.com/element-hq/element-meta/wiki/Triage-process).
We use [issue labels](https://github.com/vector-im/element-meta/wiki/Issue-labelling) to sort all incoming issues.
We use [issue labels](https://github.com/element-hq/element-meta/wiki/Issue-labelling) to sort all incoming issues.

View File

@@ -17,17 +17,17 @@ module.exports = {
],
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",
"@babel/plugin-transform-numeric-separator",
"@babel/plugin-transform-class-properties",
"@babel/plugin-transform-object-rest-spread",
"@babel/plugin-transform-optional-chaining",
"@babel/plugin-transform-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-transform-logical-assignment-operators",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-transform-runtime",

View File

@@ -18,9 +18,10 @@ create-missing = false
# 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
additional-css = ["docs/lib/custom.css"]
# The source code URL of the repository
git-repository-url = "https://github.com/vector-im/element-web"
git-repository-url = "https://github.com/element-hq/element-web"
# The path that the docs are hosted on
site-url = "/element-web/"

View File

@@ -21,5 +21,5 @@ modules:
# An example of pulling a module from NPM
- "@vector-im/element-web-ilag-module@^0.0.1"
# An example of pulling a module from github
- "github:vector-im/element-web-ilag-module#main"
# An example of pulling a module from local filesystem during development
- "file:/home/user/development/element-web-ilag-module"

View File

@@ -225,6 +225,12 @@ Unless otherwise specified, the following applies to all code:
}
```
37. Avoid functions whose fundamental behaviour varies with different parameter types.
Multiple return types are fine, but if the function's behaviour is going to change significantly,
have two separate functions. For example, `SDKConfig.get()` with a string param which returns the
type according to the param given is ok, but `SDKConfig.get()` with no args returning the whole
config object would not be: this should just be a separate function.
## React
Inheriting all the rules of TypeScript, the following additionally apply:

View File

@@ -2,12 +2,12 @@
"name": "Element",
"description": "A glossy Matrix collaboration client for the web.",
"repository": {
"url": "https://github.com/vector-im/element-web",
"url": "https://github.com/element-hq/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/element-hq/element-web/issues",
"report": "https://github.com/element-hq/element-web/issues/new/choose"
},
"keywords": ["chat", "riot", "matrix"]
}

2
debian/conffiles vendored
View File

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

View File

@@ -9,6 +9,7 @@
# Setup
- [Install](install.md)
- [Config](config.md)
- [Custom home page](custom-home.md)
- [Kubernetes](kubernetes.md)
@@ -37,3 +38,4 @@
- [Jitsi](jitsi-dev.md)
- [Feature flags](feature-flags.md)
- [OIDC and delegated authentication](oidc.md)
- [Release Process](release.md)

View File

@@ -4,7 +4,7 @@ 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)).
[Labs](https://github.com/element-hq/element-web/blob/develop/docs/labs.md)).
**Be warned! Beta features may not be completely finalised or stable!**

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -18,12 +18,12 @@ If you're looking for inspiration on where to start, keep reading!
## Finding a good first issue
All the issues for Element Web live in the
[element-web](https://github.com/vector-im/element-web) repository, including
[element-web](https://github.com/element-hq/element-web) repository, including
issues that actually need fixing in `matrix-react-sdk` or one of the related
repos.
The first place to look is for
[issues tagged with "good first issue"](https://github.com/vector-im/element-web/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
[issues tagged with "good first issue"](https://github.com/element-hq/element-web/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
Look through that list and find something that catches your interest. If there
is nothing, there, try gently asking in
@@ -38,8 +38,8 @@ issue a **GOOD** choice:
- 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).
[Product](https://github.com/orgs/element-hq/teams/product/members) or
[Design](https://github.com/orgs/element-hq/teams/design/members) teams).
Here are some things that might make it a **BAD** choice:
@@ -57,7 +57,7 @@ way the product works, or how it looks in a specific area.
Once you've fixed a few small things, you can consider taking on something a
little larger. This should mostly be driven by what you find interesting, but
you may also find the
[Help Wanted](https://github.com/vector-im/element-web/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Help+Wanted%22)
[Help Wanted](https://github.com/element-hq/element-web/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Help+Wanted%22)
label useful.
Note that the same comment applies as in the previous section: if you want to

View File

@@ -137,7 +137,7 @@ complete re-branding/private labeling, a more personalised experience can be ach
This setting is ignored if your homeserver provides `/.well-known/matrix/client` in its well-known location, and the JSON file
at that location has a key `m.tile_server` (or the unstable version `org.matrix.msc3488.tile_server`). In this case, the
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).
10. `welcome_user_id`: **DEPRECATED** 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|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.
@@ -250,17 +250,60 @@ When Element is deployed alongside a homeserver with SSO-only login, some option
user can be sent to in order to log them out of that system too, making logout symmetric between Element and the SSO system.
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:
have users which land on the welcome page to be redirected, use `"on_welcome_page": true`. Additionally, there is an option to
redirect anyone landing on the login page, by using `"on_login_page": true`. As an example:
```json
{
"sso_redirect_options": {
"immediate": false,
"on_welcome_page": true
"on_welcome_page": true,
"on_login_page": true
}
}
```
It is most common to use the `immediate` flag instead of `on_welcome_page`.
## Native OIDC
Native OIDC support is currently in labs and is subject to change.
Static OIDC Client IDs are preferred and can be specified under `oidc_static_clients` as a mapping from `issuer` to configuration object containing `client_id`.
Issuer must have a trailing forward slash. As an example:
```json
{
"oidc_static_clients": {
"https://auth.example.com/": {
"client_id": "example-client-id"
}
}
}
```
If a matching static client is not found, the app will attempt to dynamically register a client using metadata specified under `oidc_metadata`.
The app has sane defaults for the metadata properties below but on stricter policy identity providers they may not pass muster, e.g. `contacts` may be required.
The following subproperties are available:
1. `client_uri`: This is the base URI for the OIDC client registration, typically `logo_uri`, `tos_uri`, and `policy_uri` must be either on the same domain or a subdomain of this URI.
2. `logo_uri`: Optional URI for the client logo.
3. `tos_uri`: Optional URI for the client's terms of service.
4. `policy_uri`: Optional URI for the client's privacy policy.
5. `contacts`: Optional list of contact emails for the client.
As an example:
```json
{
"oidc_metadata": {
"client_uri": "https://example.com",
"logo_uri": "https://example.com/logo.png",
"tos_uri": "https://example.com/tos",
"policy_uri": "https://example.com/policy",
"contacts": ["support@example.com"]
}
}
```
## VoIP / Jitsi calls
Currently, Element uses Jitsi to offer conference calls in rooms, with an experimental Element Call implementation in the works.
@@ -344,6 +387,12 @@ The VoIP and Jitsi options are:
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.
- `guest_spa_url`: Optional URL for an Element Call single-page app (SPA),
for guest links. If this is set, Element Web will expose a "join" link
for public video rooms, which can then be shared to non-matrix users.
The target Element Call SPA is typically set up to use a homeserver that
allows users to register without email ("passwordless guest users") and to
federate.
## Bug reporting
@@ -480,7 +529,7 @@ decentralised.
## Desktop app configuration
See https://github.com/vector-im/element-desktop#user-specified-configjson
See https://github.com/element-hq/element-desktop#user-specified-configjson
## UI Features

View File

@@ -2,7 +2,7 @@
### 🦖 DEPRECATED
Customisations have been deprecated in favour of the [Module API](https://github.com/vector-im/element-web/blob/develop/docs/modules.md).
Customisations have been deprecated in favour of the [Module API](https://github.com/element-hq/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.

View File

@@ -53,7 +53,7 @@ When starting work on a feature, we should create a matching feature flag:
SettingsStore.getValue("feature_cats");
```
3. Document the feature in the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
3. Document the feature in the [labs documentation](https://github.com/element-hq/element-web/blob/develop/docs/labs.md)
With these steps completed, the feature is disabled by default, but can be
enabled on develop and nightly by interested users for testing.
@@ -64,9 +64,9 @@ The following lists a few common options.
## Enabling by default on develop and nightly
Set the feature to `true` in the
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json)
[develop](https://github.com/element-hq/element-web/blob/develop/element.io/develop/config.json)
and
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json)
[nightly](https://github.com/element-hq/element-desktop/blob/develop/element.io/nightly/config.json)
configs:
```json
@@ -78,9 +78,9 @@ configs:
## Enabling by default on staging, app, and release
Set the feature to `true` in the
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json)
[staging / app](https://github.com/element-hq/element-web/blob/develop/element.io/app/config.json)
and
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
[release](https://github.com/element-hq/element-desktop/blob/develop/element.io/release/config.json)
configs.
**Note:** The above will only enable the feature for https://app.element.io and official Element
@@ -95,19 +95,19 @@ 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)
3. Remove the feature from the [labs documentation](https://github.com/element-hq/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)
3. Remove the feature from the [labs documentation](https://github.com/element-hq/element-web/blob/develop/docs/labs.md)
4. If applicable, remove the feature state from
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json),
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json),
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json),
[develop](https://github.com/element-hq/element-web/blob/develop/element.io/develop/config.json),
[nightly](https://github.com/element-hq/element-desktop/blob/develop/element.io/nightly/config.json),
[staging / app](https://github.com/element-hq/element-web/blob/develop/element.io/app/config.json),
and
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
[release](https://github.com/element-hq/element-desktop/blob/develop/element.io/release/config.json)
configs
5. Celebrate! 🥳

80
docs/install.md Normal file
View File

@@ -0,0 +1,80 @@
# Installing Element Web
**Familiarise yourself with the [Important Security Notes](../README.md#important-security-notes) before starting, they apply to all installation methods.**
_Note: that for the security of your chats will need to serve Element over HTTPS.
Major browsers also do not allow you to use VoIP/video chats over HTTP, as WebRTC is only usable over HTTPS.
There are some exceptions like when using localhost, which is considered a [secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts) and thus allowed._
## Release tarball
1. Download the latest version from <https://github.com/element-hq/element-web/releases>
1. Untar the tarball on your web server
1. Move (or symlink) the `element-x.x.x` directory to an appropriate name
1. Configure the correct caching headers in your webserver (see below)
1. Configure the app by copying `config.sample.json` to `config.json` and
modifying it. See the [configuration docs](config.md) for details.
1. Enter the URL into your browser and log into Element!
Releases are signed using gpg and the OpenPGP standard,
and can be checked against the public key located at <https://packages.element.io/element-release-key.asc>.
## Debian package
Element Web is now also available as a Debian package for Debian and Ubuntu based systems.
```shell
sudo apt install -y wget apt-transport-https
sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list
sudo apt update
sudo apt install element-web
```
Configure the app by modifying `/etc/element-web/config.json`. See the [configuration docs](config.md) for details.
Then point your chosen web server (e.g. Caddy, Nginx, Apache, etc) at the `/usr/share/element-web` webroot.
## 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:
```bash
docker run -p 80:80 vectorim/element-web
```
To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
if your custom config was located at `/etc/element-web/config.json` then your Docker command
would be:
```bash
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web
```
To build the image yourself:
```bash
git clone https://github.com/element-hq/element-web.git element-web
cd element-web
git checkout master
docker build .
```
If you're building a custom branch, or want to use the develop branch, check out the appropriate
element-web branch and then run:
```bash
docker build -t \
--build-arg USE_CUSTOM_SDKS=true \
--build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
--build-arg REACT_SDK_BRANCH="develop" \
--build-arg JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git" \
--build-arg JS_SDK_BRANCH="develop" \
.
```
## Kubernetes
The provided element-web docker image can also be run from within a Kubernetes cluster.
See the [Kubernetes example](kubernetes.md) for more details.

View File

@@ -64,7 +64,7 @@ Element Android (1.0.5+) supports custom Jitsi domains, similar to Element Web a
calls work directly between clients or via TURN servers configured on the respective
homeservers.
For rooms with more than 2 joined members, when creating a Jitsi conference via call/video buttons of the toolbar (not via integration manager), Element Android will create a widget using the [wrapper](https://github.com/vector-im/element-web/blob/develop/docs/jitsi-dev.md) hosted on `app.element.io`.
For rooms with more than 2 joined members, when creating a Jitsi conference via call/video buttons of the toolbar (not via integration manager), Element Android will create a widget using the [wrapper](https://github.com/element-hq/element-web/blob/develop/docs/jitsi-dev.md) hosted on `app.element.io`.
The domain used is the one specified by the `/.well-known/matrix/client` endpoint, and if not present it uses the fallback defined in `config.json` (meet.element.io)
For active Jitsi widgets in the room, a native Jitsi widget UI is created and points to the instance specified in the `domain` key of the widget content data.

View File

@@ -5,7 +5,7 @@ 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)).
(see [Betas](https://github.com/element-hq/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.**
@@ -37,29 +37,6 @@ date from the calendar.
Also adds the `/jumptodate 2022-01-31` slash command.
## Render simple counters in room header (`feature_state_counters`)
Allows rendering of labelled counters above the message list.
Once enabled, send a custom state event to a room to set values:
1. In a room, type `/devtools` to bring up the devtools interface
2. Click "Send Custom Event"
3. Toggle from "Event" to "State Event"
4. Set the event type to: `re.jki.counter` and give it a unique key
5. Specify the content in the following format:
```
{
"link": "",
"severity": "normal",
"title": "my counter",
"value": 0
}
```
That's it. Now should see your new counter under the header.
## New ways to ignore people (`feature_mjolnir`)
When enabled, a new settings tab appears for users to be able to manage their ban lists.
@@ -120,16 +97,19 @@ This feature allows users to place and join native [MSC3401](https://github.com/
If you're enabling this at the deployment level, you may also want to reference the docs for the `element_call` config section.
## Disable per-sender encryption for Element Call (`feature_disable_call_per_sender_encryption`)
The default for embedded Element Call in Element Web is per-participant encryption.
This labs flag disables encryption for embedded Element Call in encrypted rooms.
Under the hood this stops Element Web from adding the `perParticipantE2EE` flag for the Element Call widget url.
This is useful while we experiment with encryption and to make calling compatible with platforms that don't use encryption yet.
## Rich text in room topics (`feature_html_topic`) [In Development]
Enables rendering of MD / HTML in room topics.
## Use the Rust cryptography implementation (`feature_rust_crypto`) [In Development]
Configures Element to use a new cryptography implementation based on the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk).
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.
## New room header & details (`feature_new_room_decoration_ui`) [In Development]
Refactors visually the room header and room sidebar

14
docs/lib/custom.css Normal file
View File

@@ -0,0 +1,14 @@
/* Prevent collapsible headings from wrapping onto two lines eagerly */
summary > h1,
summary > h2,
summary > h3,
summary > h4,
summary > h5,
summary > h6 {
display: inline-block;
}
/* Prevent longer checkbox lists from wrapping eagerly */
input + p {
display: inline;
}

View File

@@ -6,7 +6,7 @@ at runtime.
## Installing modules
If you already have a module you want to install, such as our [ILAG Module](https://github.com/vector-im/element-web-ilag-module),
If you already have a module you want to install, such as our [ILAG Module](https://github.com/element-hq/element-web-ilag-module),
then copy `build_config.sample.yaml` to `build_config.yaml` in the same directory. In your new `build_config.yaml` simply
add the reference to the module as described by the sample file, using the same syntax you would for `yarn add`:
@@ -30,7 +30,7 @@ Once your change to the module API is accepted, the `@matrix-org/react-sdk-modul
`matrix-react-sdk` and `element-web` layers (usually by us, the maintainers) to ensure your module can operate.
If you're not adding anything to the module API, or your change was accepted per above, then start off with a clone of
our [ILAG module](https://github.com/vector-im/element-web-ilag-module) which will give you a general idea for what the
our [ILAG module](https://github.com/element-hq/element-web-ilag-module) which will give you a general idea for what the
structure of a module is and how it works.
The following requirements are key for any module:
@@ -40,6 +40,8 @@ The following requirements are key for any module:
which takes a single parameter: a `ModuleApi` instance. This instance is passed to `super()`.
3. The module must be deployed in a way where `yarn add` can access it, as that is how the build system will try to
install it. Note that while this is often NPM, it can also be a GitHub/GitLab repo or private NPM registry.
Be careful when using git dependencies in yarn classic, many lifecycle scripts will not be executed which may mean
that your module is not built and thus may fail to be imported.
... and that's pretty much it. As with any code, please be responsible and call things in line with the documentation.
Both `RuntimeModule` and `ModuleApi` have extensive documentation to describe what is proper usage and how to set things

View File

@@ -1,3 +1,3 @@
# Native Node Modules
This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository.
This documentation moved to the [`element-desktop`](https://github.com/element-hq/element-desktop/blob/develop/docs/native-node-modules.md) repository.

270
docs/release.md Normal file
View File

@@ -0,0 +1,270 @@
> Tip: Paste this into the browser console to make the checkboxes on this page tickable. (Bear in mind that your ticks will be lost if you reload though.)
>
> ```
> document.querySelectorAll("input[type='checkbox']").forEach(i => {i.disabled = false;})
> ```
<details><summary><h1>Branches</h1></summary><blockquote>
#### develop
The develop branch holds the very latest and greatest code we have to offer, as such it may be less stable. It corresponds to the develop.element.io CD platform.
#### staging
The staging branch corresponds to the very latest release regardless of whether it is an RC or not. Deployed to staging.element.io manually.
#### master
The master branch is the most stable as it is the very latest non-RC release. Deployed to app.element.io manually.
</blockquote></details>
<details><summary><h1>Versions</h1></summary><blockquote>
The matrix-js-sdk follows semver, the matrix-react-sdk loosely follows semver, most releases for both will bump the minor version number.
Breaking changes will bump the major version number.
Element Web & Element Desktop do not follow semver and always have matching version numbers. The patch version number is normally incremented for every release.
</blockquote></details>
<details><summary><h1>Release Types</h1></summary><blockquote>
#### Release candidate
A normal release begins with a Release Candidate on the Tick phase of the release cycle,
and may contain as many further RCs as are needed before the Tock phase of cycle.
Each subsequent RC may add additional commits via any of the means of preparation.
A normal release is the most typical run-of-the-mill release,
with at least one RC (Release Candidate) followed by a FINAL release.
The typical cadence for these is every 2 weeks we'll do a new initial RC,
then the following week we'll do that release cycle's FINAL release with sometimes more RCs in between, as needed.
#### Final
A normal release culminates with a Final release on the Tock phase of the cycle.
This may be merely shipping the very latest RC with an adjusted version number,
but can also include (hopefully small) additional changes present on `staging` if they are deemed safe to skip an RC.
### Hotfix / Security
This is an accelerated type of release which sits somewhere between RC and Final.
They tend to contain few patches delta from the previous release but also skip any form of RC
and in the case of Security the patch lands on GitHub only moments prior.
For all intents and purposes they are the same as a Final release but with a different purpose.
</blockquote></details>
<details><summary><h1>Release Blockers</h1></summary><blockquote>
You should become release rabbit on the day after the last full release.
For that week, it's your job to keep an eye on the Releases room and see whether any issues marked `X-Release-Blocker` are opened,
or were already open. You should chase people to fix them, so that on RC day you can make the release.
If release-blocking issues are still open, you need to delay the release until they are fixed or reclassified.
There are two labels for tracking release blockers.
#### X-Release-Blocker
This label applied to an issue means we cannot ship a release affected by the specific issue.
This means we cannot cut branches for an RC but security & hotfix releases may still be fine.
#### X-Upcoming-Release-Blocker
This label applied to an issue means that the next (read: not current) release cycle will be affected by the specific issue.
This label will automagically convert to `X-Release-Blocker` at the conclusion of a full release.
</blockquote></details>
<details><summary><h1>Repositories</h1></summary><blockquote>
This release process revolves around our four main repositories:
- [Element Desktop](https://github.com/element-hq/element-desktop/)
- [Element Web](https://github.com/element-hq/element-web/)
- [Matrix React SDK](https://github.com/matrix-org/matrix-react-sdk/)
- [Matrix JS SDK](https://github.com/matrix-org/matrix-js-sdk/)
We own other repositories, but they have more ad-hoc releases and are not part of the bi-weekly cycle:
- https://github.com/matrix-org/matrix-web-i18n/
- https://github.com/matrix-org/matrix-react-sdk-module-api
</blockquote></details>
<details><summary><h1>Prerequisites</h1></summary><blockquote>
- You must be part of the 2 Releasers GitHub groups:
- <https://github.com/orgs/element-hq/teams/element-web-releasers>
- <https://github.com/orgs/matrix-org/teams/element-web-releasers>
- You will need access to the **VPN** ([docs](https://gitlab.matrix.org/new-vector/internal/-/wikis/SRE/Tailscale)) to be able to follow the instructions under Deploy below.
- You will need the ability to **SSH** in to the production machines to be able to follow the instructions under Deploy below. Ensure that your SSH key has a non-empty passphrase, and you registered your SSH key with Ops. Log a ticket at https://github.com/matrix-org/matrix-ansible-private and ask for:
- Two-factor authentication to be set up on your SSH key. (This is needed to get access to production).
- SSH access to `horme` (staging.element.io and app.element.io)
- Permission to sudo on horme as the user `element`
- You need "**jumphost**" configuration in your local `~/.ssh/config`. This should have been set up as part of your onboarding.
</blockquote></details>
<details><summary><h1>Overview</h1></summary><blockquote>
```mermaid
flowchart TD
P[[Prepare staging branches]]
P --> R1
subgraph Releasing
R1[[Releasing matrix-js-sdk]]
R2[[Releasing matrix-react-sdk]]
R3[[Releasing element-web]]
R4[[Releasing element-desktop]]
R1 --> R2 --> R3 --> R4
end
R4 --> D1
subgraph Deploying
D1[\Deploy staging.element.io/]
D2[\Check dockerhub/]
D3[\Deploy app.element.io/]
D4[\Check desktop package/]
D1 --> D2 --> D
D{FINAL?}
D -->|Yes| D3 --> D4
end
D -->|No| H1
D4 --> H1
subgraph Housekeeping
H1[\Update topics/]
H2[\Announce/]
H3[\Archive done column/]
H4[\Add diary entry/]
H5[\Renovate/]
H1 --> H2 --> H
H{FINAL?}
H -->|Yes| H3 --> H4 --> DONE
H -->|No| H5
end
DONE([You are done!])
H5 --> DONE
```
</blockquote></details>
---
# Preparation
The goal of this stage is to get the code you want to ship onto the `staging` branch.
There are multiple ways to accomplish this depending on the type of release you need to perform.
For the first RC in a given release cycle the easiest way to prepare branches is using the
[Cut branches automation](https://github.com/element-hq/element-web/actions/workflows/release_prepare.yml) -
this will take `develop` and merge it into the `staging` on the chosen repositories.
For subsequent RCs, if you need to include a change you may PR it directly to the `staging` branch or rely on the
backport automation via labelling a PR to `develop` with `backport staging` which will cause a new PR to be opened
which backports the requested change to the `staging` branch.
For security, you may wish to merge the security advisory private fork or apply the patches manually and then push them directly to `staging`.
It is worth noting that at the end of the Final/Hotfix/Security release `staging` is merged to `master` which is merged back into `develop` -
this means that any commit which goes to `staging` will eventually make its way back to the default branch.
- [ ] The staging branch is prepared
# Releasing
Shortly after concluding the preparation stage (or pushing any changes to `staging` in general);
a draft release will be automatically made on the 4 project repositories with suggested changelogs and version numbers.
_Note: we should add a step here to write summaries atop the changelogs manually, or via AI_
Publishing the SDKs to npm also commits a dependency upgrade to the relevant downstream projects,
if you skip a layer of this release (e.g. for a hotfix) then the dependency will remain on `#develop` which will be
switched back to the version of the dependency from the master branch to not leak develop code into a release.
### Matrix JS SDK
- [ ] Check the draft release which has been generated by [the automation](https://github.com/matrix-org/matrix-js-sdk/actions/workflows/release-drafter.yml)
- [ ] Make any changes to the release notes in the draft release as are necessary - **Do not click publish, only save draft**
- [ ] Kick off a release using [the automation](https://github.com/matrix-org/matrix-js-sdk/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
### Matrix React SDK
- [ ] Check the draft release which has been generated by [the automation](https://github.com/matrix-org/matrix-react-sdk/actions/workflows/release-drafter.yml)
- [ ] Make any changes to the release notes in the draft release as are necessary - **Do not click publish, only save draft**
- [ ] Kick off a release using [the automation](https://github.com/matrix-org/matrix-react-sdk/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
### Element Web
- [ ] Check the draft release which has been generated by [the automation](https://github.com/element-hq/element-web/actions/workflows/release-drafter.yml)
- [ ] Make any changes to the release notes in the draft release as are necessary - **Do not click publish, only save draft**
- [ ] Kick off a release using [the automation](https://github.com/element-hq/element-web/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
### Element Desktop
- [ ] Check the draft release which has been generated by [the automation](https://github.com/element-hq/element-desktop/actions/workflows/release-drafter.yml)
- [ ] Make any changes to the release notes in the draft release as are necessary - **Do not click publish, only save draft**
- [ ] Kick off a release using [the automation](https://github.com/element-hq/element-desktop/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
# Deploying
We ship the SDKs to npm, this happens as part of the release process.
We ship Element Web to dockerhub, `*.element.io`, and packages.element.io.
We ship Element Desktop to packages.element.io.
- [ ] Check that element-web has shipped to dockerhub
- [ ] Deploy staging.element.io. [See docs.](https://handbook.element.io/books/element-web-team/page/deploying-appstagingelementio)
- [ ] Test staging.element.io
For final releases additionally do these steps:
- [ ] Deploy app.element.io. [See docs.](https://handbook.element.io/books/element-web-team/page/deploying-appstagingelementio)
- [ ] Test app.element.io
- [ ] Ensure Element Web package has shipped to packages.element.io
- [ ] Ensure Element Desktop packages have shipped to packages.element.io
# Housekeeping
We have some manual housekeeping to do in order to prepare for the next release.
- [ ] Update topics using [the automation](https://github.com/element-hq/element-web/actions/workflows/update-topics.yaml). It will autodetect the current latest version. Don't forget the date you supply should be e.g. September 5th (including the "th") for the script to work.
- [ ] Announce the release in [#element-web-announcements:matrix.org](https://matrix.to/#/#element-web-announcements:matrix.org)
<details><summary>(show)</summary>
With wording like:
> Element Web v1.11.24 is here!
>
> This version adds ... and fixes bugs ...
>
> Check it out at app.element.io, in Element Desktop, or from Docker Hub. Changelog and more details at https://github.com/element-hq/element-web/releases/tag/v1.11.24
</details>
For the first RC of a given release cycle do these steps:
- [ ] Go to the [matrix-js-sdk Renovate dashboard](https://github.com/matrix-org/matrix-js-sdk/issues/2406) and click the checkbox to create/update its PRs.
- [ ] Go to the [matrix-react-sdk Renovate dashboard](https://github.com/matrix-org/matrix-react-sdk/issues/9667) and click the checkbox to create/update its PRs.
- [ ] Go to the [element-web Renovate dashboard](https://github.com/element-hq/element-web/issues/22941) and click the checkbox to create/update its PRs.
- [ ] Go to the [element-desktop Renovate dashboard](https://github.com/element-hq/element-desktop/issues/465) and click the checkbox to create/update its PRs.
- [ ] Later, check back and merge the PRs that succeeded to build. The ones that failed will get picked up by the [maintainer](https://docs.google.com/document/d/1V5VINWXATMpz9UBw4IKmVVB8aw3CxM0Jt7igtHnDfSk/edit#).
For final releases additionally do these steps:
- [ ] Archive done column on the [team board](https://github.com/orgs/element-hq/projects/67/views/34) _Note: this should be automated_
- [ ] Add entry to the [milestones diary](https://docs.google.com/document/d/1cpRFJdfNCo2Ps6jqzQmatzbYEToSrQpyBug0aP_iwZE/edit#heading=h.6y55fw4t283z). The document says only to add significant releases, but we add all of them just in case.

View File

@@ -31,7 +31,7 @@ To avoid name collisions, the internal name of a theme is
`custom-${theme.name}`. So if you want to set the custom theme below as the
default theme, you would use `default_theme: "custom-Electric Blue"`.
eg. in config.json:
e.g. in config.json:
```
"setting_defaults": {
@@ -63,8 +63,10 @@ eg. in config.json:
"timeline-text-color": "#2e2f32",
"timeline-text-secondary-color": "#61708b",
"timeline-highlights-color": "#f3f8fd",
"username-colors": ["#ff0000", ...]
"avatar-background-colors": ["#cc0000", ...]
},
"compound": {
"--cpd-color-icon-accent-tertiary": "var(--cpd-color-blue-800)",
"--cpd-color-text-action-accent": "var(--cpd-color-blue-900)"
}
}, {
"name": "Deep Purple",
@@ -89,8 +91,6 @@ eg. in config.json:
}
```
`username-colors` is expected to contain 8 colors. `avatar-background-colors` is expected to contain 3 colors. Both values are optional and have fallbacks from the built-in theme.
These are exposed as `--username-colors_0`, ... and `--avatar-background-colors_0`, ... respectively in CSS.
`compound` may contain overrides for any [semantic design token](https://compound.element.io/?path=/docs/tokens-semantic-colors--docs) belonging to our design system. The above example shows how you might change the accent color to blue by setting the relevant semantic tokens to refer to blue [base tokens](https://compound.element.io/?path=/docs/tokens-color-palettes--docs).
All properties in `fonts` are optional, and will default to the standard Riot fonts.

View File

@@ -36,7 +36,7 @@ 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
These rules are based on https://github.com/element-hq/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.

View File

@@ -14,10 +14,9 @@
## How to check if your language already is being translated
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.
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.
### What are `%(something)s`?

View File

@@ -6,7 +6,7 @@ official element.io distribution, but these files may be useful if you want to
inspect the configuration used there.
Element Desktop uses a separate config (see
https://github.com/vector-im/element-desktop/tree/develop/element.io).
https://github.com/element-hq/element-desktop/tree/develop/element.io).
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
hosting the Element installation.

View File

@@ -43,5 +43,8 @@
"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"
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx",
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 60
}
}

View File

@@ -48,8 +48,13 @@
},
"privacy_policy_url": "https://element.io/cookie-policy",
"features": {
"threadsActivityCentre": true,
"feature_video_rooms": true,
"feature_rust_crypto": true
"feature_new_room_decoration_ui": true,
"feature_element_call_video_rooms": true
},
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 100
},
"element_call": {
"url": "https://call.element.dev"

View File

@@ -40,9 +40,9 @@ const config: Config = {
"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",
"workers/(.+)Factory": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/workerFactoryMock.js",
"^!!raw-loader!.*": "jest-raw-loader",
"RecorderWorklet": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"recorderWorkletFactory": "<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).+$"],

View File

@@ -1,11 +1,11 @@
{
"name": "element-web",
"version": "1.11.50-rc.0",
"version": "1.11.69",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/element-web"
"url": "https://github.com/element-hq/element-web"
},
"license": "Apache-2.0",
"files": [
@@ -32,69 +32,70 @@
"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:lint": "prettier --log-level=silent --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:genfiles": "yarn build:res && 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",
"build:module_system": "ts-node --project ./tsconfig.module_system.json module_system/scripts/install.ts",
"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": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n modules,res \"yarn build:module_system\" \"yarn build:res\" && 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",
"start:res": "ts-node scripts/copy-res.ts -w",
"start:js": "webpack serve --output-path webapp --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js --mode development",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style && yarn lint:workflows",
"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:src": "prettier --log-level=warn --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\"",
"lint:workflows": "find .github/workflows -type f \\( -iname '*.yaml' -o -iname '*.yml' \\) | xargs -I {} sh -c 'echo \"Linting {}\"; action-validator \"{}\"'",
"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"
"analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp",
"update:jitsi": "curl -s https://meet.element.io/libs/external_api.min.js > ./res/jitsi_external_api.min.js"
},
"resolutions": {
"@types/react-dom": "17.0.21",
"@types/react": "17.0.68"
"@types/react-dom": "17.0.25",
"@types/react": "17.0.80"
},
"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",
"@matrix-org/react-sdk-module-api": "^2.3.0",
"jsrsasign": "^11.0.0",
"katex": "^0.16.0",
"lodash": "^4.17.21",
"matrix-js-sdk": "30.1.0-rc.1",
"matrix-react-sdk": "3.85.0-rc.1",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-widget-api": "^1.3.1",
"react": "17.0.2",
"react-dom": "17.0.2",
"ua-parser-js": "^1.0.0"
},
"devDependencies": {
"@action-validator/cli": "^0.6.0",
"@action-validator/core": "^0.6.0",
"@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-class-properties": "^7.12.1",
"@babel/plugin-transform-logical-assignment-operators": "^7.20.7",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-transform-numeric-separator": "^7.12.7",
"@babel/plugin-transform-object-rest-spread": "^7.12.1",
"@babel/plugin-transform-optional-chaining": "^7.12.7",
"@babel/plugin-transform-runtime": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
@@ -103,90 +104,105 @@
"@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",
"@sentry/webpack-plugin": "^2.7.1",
"@svgr/webpack": "^8.0.0",
"@testing-library/react": "^12.1.5",
"@types/commonmark": "^0.27.9",
"@types/content-type": "^1.1.8",
"@types/counterpart": "^0.18.4",
"@types/diff-match-patch": "^1.0.36",
"@types/escape-html": "^1.0.4",
"@types/file-saver": "^2.0.7",
"@types/glob-to-regexp": "^0.4.4",
"@types/jest": "^29.0.0",
"@types/jitsi-meet": "^2.0.2",
"@types/jsrsasign": "^10.5.4",
"@types/loader-utils": "^2.0.4",
"@types/katex": "^0.16.7",
"@types/lodash": "^4.14.197",
"@types/minimist": "^1.2.5",
"@types/modernizr": "^3.5.6",
"@types/node": "^16",
"@types/node-fetch": "^2.6.4",
"@types/react": "17.0.68",
"@types/react-dom": "17.0.21",
"@types/pako": "^2.0.3",
"@types/qrcode": "^1.5.5",
"@types/react": "17.0.80",
"@types/react-beautiful-dnd": "^13.1.7",
"@types/react-dom": "17.0.25",
"@types/react-transition-group": "^4.4.9",
"@types/sanitize-html": "^2.9.5",
"@types/sdp-transform": "^2.4.9",
"@types/semver": "^7.5.8",
"@types/tar-js": "^0.3.5",
"@types/ua-parser-js": "^0.7.36",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
"allchange": "^1.0.6",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"babel-jest": "^29.0.0",
"babel-loader": "^8.2.2",
"babel-loader": "^9.0.0",
"babel-plugin-jsx-remove-data-test-id": "^3.0.0",
"buffer": "^6.0.3",
"chokidar": "^3.5.1",
"concurrently": "^8.0.0",
"cpx": "1.5.0",
"copy-webpack-plugin": "^12.0.0",
"cronstrue": "^2.41.0",
"css-loader": "^4",
"css-loader": "^7.0.0",
"css-minimizer-webpack-plugin": "^7.0.0",
"dotenv": "^16.0.2",
"eslint": "8.52.0",
"eslint": "8.57.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "0.8.4",
"eslint-plugin-deprecate": "0.8.5",
"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",
"eslint-plugin-unicorn": "^54.0.0",
"fake-indexeddb": "^6.0.0",
"fetch-mock": "9.11.0",
"fetch-mock-jest": "^1.5.1",
"file-loader": "^6.0.0",
"fs-extra": "^11.0.0",
"html-webpack-plugin": "^4.5.2",
"html-webpack-plugin": "^5.5.3",
"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",
"matrix-web-i18n": "^3.2.1",
"mini-css-extract-plugin": "2.8.0",
"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": "8.4.33",
"postcss-easings": "^4.0.0",
"postcss-hexrgba": "2.1.0",
"postcss-import": "16.0.0",
"postcss-loader": "8.1.0",
"postcss-mixins": "^10.0.0",
"postcss-nested": "^6.0.0",
"postcss-preset-env": "^9.5.14",
"postcss-scss": "^4.0.4",
"postcss-simple-vars": "^5.0.2",
"prettier": "2.8.8",
"proxy-agent": "^6.3.0",
"postcss-simple-vars": "^7.0.1",
"prettier": "3.3.2",
"process": "^0.11.10",
"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",
"style-loader": "4",
"stylelint": "^16.1.0",
"stylelint-config-standard": "^36.0.0",
"stylelint-scss": "^6.0.0",
"terser-webpack-plugin": "^5.3.9",
"ts-node": "^10.9.1",
"ts-prune": "^0.10.3",
"typescript": "5.2.2",
"webpack": "^4.47.0",
"typescript": "5.5.2",
"util": "^0.12.5",
"webpack": "^5.89.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",
"webpack-cli": "^5.0.0",
"webpack-dev-server": "^5.0.0",
"yaml": "^2.3.3"
},
"@casualbot/jest-sonar-reporter": {

View File

@@ -0,0 +1,45 @@
/*
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.
*/
// Inspired by https://github.com/reklawnos/worklet-loader which doesn't
// formally support Webpack 5
const SingleEntryPlugin = require("webpack/lib/SingleEntryPlugin");
module.exports = function () {};
module.exports.pitch = function pitch(request) {
const cb = this.async();
const filename = "recorder.worklet.js";
const compiler = this._compilation.createChildCompiler("worker", {
filename,
chunkFilename: `[id].${filename}`,
namedChunkFilename: null,
});
new SingleEntryPlugin(this.context, `!!${request}`, "main").apply(compiler);
compiler.runAsChild((err, entries, compilation) => {
if (err) {
return cb(err);
}
if (entries[0]) {
return cb(null, `module.exports = __webpack_public_path__ + ${JSON.stringify([...entries[0].files][0])};`);
}
return cb(null, null);
});
};

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
#
# Script to perform a release of element-web.
set -e
cd "$(dirname "$0")"
./node_modules/matrix-js-sdk/release.sh "$@"

View File

@@ -0,0 +1,62 @@
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "im.vector.app.debug",
"sha256_cert_fingerprints": [
"B0:B0:51:DC:56:5C:81:2F:E1:7F:6F:3E:94:5B:4D:79:04:71:23:AB:0D:A6:12:86:76:9E:B2:94:91:97:13:0E"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "im.vector.app.nightly",
"sha256_cert_fingerprints": [
"CA:D3:85:16:84:3A:05:CC:EB:00:AB:7B:D3:80:0F:01:BA:8F:E0:4B:38:86:F3:97:D8:F7:9A:1B:C4:54:E4:0F"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "im.vector.app",
"sha256_cert_fingerprints": [
"F3:FF:38:D2:E5:A6:38:84:86:4A:4E:0D:45:C5:3B:19:8E:7E:39:C0:50:5B:D9:63:F5:55:D6:53:2D:EA:BF:5F"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "io.element.android.x.debug",
"sha256_cert_fingerprints": [
"B0:B0:51:DC:56:5C:81:2F:E1:7F:6F:3E:94:5B:4D:79:04:71:23:AB:0D:A6:12:86:76:9E:B2:94:91:97:13:0E"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "io.element.android.x.nightly",
"sha256_cert_fingerprints": [
"CA:D3:85:16:84:3A:05:CC:EB:00:AB:7B:D3:80:0F:01:BA:8F:E0:4B:38:86:F3:97:D8:F7:9A:1B:C4:54:E4:0F"
]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "io.element.android.x",
"sha256_cert_fingerprints": [
"C6:DB:9B:9C:8C:BD:D6:5D:16:E8:EC:8C:8B:91:C8:31:B9:EF:C9:5C:BF:98:AE:41:F6:A9:D8:35:15:1A:7E:16"
]
}
}
]

View File

@@ -14,8 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// import font-size variables manually,
// ideally this file would get loaded by the theme which has all variables in context
/* import font-size variables manually,
ideally this file would get loaded by the theme which has all variables in context */
@import "../../../node_modules/matrix-react-sdk/res/css/_font-sizes.pcss";
.mx_ErrorView {

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<title>Rageshake decoder ring</title>

2
res/jitsi_external_api.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,219 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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.
Note:
This project was originally contributed to the community under the MIT license and with the following notice:
The MIT License (MIT)
Copyright (c) 2013 ESTOS GmbH
Copyright (c) 2013 BlueJimp SARL
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

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

View File

@@ -1,30 +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.
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

@@ -6,8 +6,7 @@ import parseArgs from "minimist";
import * as chokidar from "chokidar";
import * as fs from "node:fs";
import _ from "lodash";
import { Cpx } from "cpx";
import * as loaderUtils from "loader-utils";
import { util } from "webpack";
import { Translations } from "matrix-web-i18n";
const REACT_I18N_BASE_PATH = "node_modules/matrix-react-sdk/src/i18n/strings/";
@@ -16,29 +15,6 @@ const INCLUDE_LANGS = [...new Set([...fs.readdirSync(I18N_BASE_PATH), ...fs.read
.filter((fn) => fn.endsWith(".json"))
.map((f) => f.slice(0, -5));
// cpx includes globbed parts of the filename in the destination, but excludes
// common parents. Hence, "res/{a,b}/**": the output will be "dest/a/..." and
// "dest/b/...".
const COPY_LIST: [
sourceGlob: string,
outputPath: string,
opts?: {
directwatch?: 1;
},
][] = [
["res/apple-app-site-association", "webapp"],
["res/manifest.json", "webapp"],
["res/sw.js", "webapp"],
["res/welcome.html", "webapp"],
["res/welcome/**", "webapp/welcome"],
["res/themes/**", "webapp/themes"],
["res/vector-icons/**", "webapp/vector-icons"],
["res/decoder-ring/**", "webapp/decoder-ring"],
["node_modules/matrix-react-sdk/res/media/**", "webapp/media"],
["node_modules/@matrix-org/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["./config.json", "webapp", { directwatch: 1 }],
["contribute.json", "webapp"],
];
const argv = parseArgs(process.argv.slice(2), {});
const watch = argv.w;
@@ -60,53 +36,13 @@ if (!fs.existsSync("webapp/i18n/")) {
fs.mkdirSync("webapp/i18n/");
}
function next(i: number, err?: Error): void {
errCheck(err);
if (i >= COPY_LIST.length) {
return;
}
const ent = COPY_LIST[i];
const source = ent[0];
const dest = ent[1];
const opts = ent[2] || {};
const cpx = new Cpx(source, dest);
const logWatch = (path: string) => {
if (verbose) {
cpx.on("copy", (event) => {
console.log(`Copied: ${event.srcPath} --> ${event.dstPath}`);
});
cpx.on("remove", (event) => {
console.log(`Removed: ${event.path}`);
});
console.log(`Watching: ${path}`);
}
};
const cb = (err?: Error): void => {
next(i + 1, err);
};
if (watch) {
if (opts.directwatch) {
// cpx -w creates a watcher for the parent of any files specified,
// which in the case of config.json is '.', which inevitably takes
// ages to crawl. So we create our own watcher on the files
// instead.
const copy = (): void => {
cpx.copy(errCheck);
};
chokidar.watch(source).on("add", copy).on("change", copy).on("ready", cb).on("error", errCheck);
} else {
cpx.on("watch-ready", cb);
cpx.on("watch-error", cb);
cpx.watch();
}
} else {
cpx.copy(cb);
}
}
function genLangFile(lang: string, dest: string): string {
function prepareLangFile(lang: string, dest: string): [filename: string, json: string] {
const reactSdkFile = REACT_I18N_BASE_PATH + lang + ".json";
const riotWebFile = I18N_BASE_PATH + lang + ".json";
@@ -124,15 +60,17 @@ function genLangFile(lang: string, dest: string): string {
const json = JSON.stringify(translations, null, 4);
const jsonBuffer = Buffer.from(json);
const digest = loaderUtils.getHashDigest(jsonBuffer, null, "hex", 7);
const digest = util.createHash("xxhash64").update(jsonBuffer).digest("hex").slice(0, 7);
const filename = `${lang}.${digest}.json`;
return [filename, json];
}
function genLangFile(dest: string, filename: string, json: string) {
fs.writeFileSync(dest + filename, json);
if (verbose) {
console.log("Generated language file: " + filename);
}
return filename;
}
function genLangList(langFileMap: Record<string, string>): void {
@@ -175,29 +113,38 @@ function watchLanguage(lang: string, dest: string, langFileMap: Record<string, s
clearTimeout(makeLangDebouncer);
}
makeLangDebouncer = setTimeout(() => {
const filename = genLangFile(lang, dest);
const [filename, json] = prepareLangFile(lang, dest);
genLangFile(dest, filename, json);
langFileMap[lang] = filename;
genLangList(langFileMap);
}, 500);
};
[reactSdkFile, riotWebFile].forEach(function (f) {
chokidar.watch(f).on("add", makeLang).on("change", makeLang).on("error", errCheck);
chokidar
.watch(f, { ignoreInitial: true })
.on("ready", () => {
logWatch(f);
})
.on("add", makeLang)
.on("change", makeLang)
.on("error", errCheck);
});
}
// language resources
const I18N_DEST = "webapp/i18n/";
const I18N_FILENAME_MAP = INCLUDE_LANGS.reduce<Record<string, string>>((m, l) => {
const filename = genLangFile(l, I18N_DEST);
const [filename, json] = prepareLangFile(l, I18N_DEST);
if (!watch) {
genLangFile(I18N_DEST, filename, json);
}
m[l] = filename;
return m;
}, {});
genLangList(I18N_FILENAME_MAP);
if (watch) {
INCLUDE_LANGS.forEach((l) => watchLanguage(l, I18N_DEST, I18N_FILENAME_MAP));
} else {
genLangList(I18N_FILENAME_MAP);
}
// non-language resources
next(0);

View File

@@ -400,7 +400,11 @@ class MermaidFlowchartPrinter {
this.currentIndent += delta * MermaidFlowchartPrinter.INDENT;
}
public constructor(direction: "TD" | "TB" | "BT" | "RL" | "LR", title?: string, private readonly markdown = false) {
public constructor(
direction: "TD" | "TB" | "BT" | "RL" | "LR",
title?: string,
private readonly markdown = false,
) {
if (this.markdown) {
this.print("```mermaid");
}

View File

@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
login => 'ara4n', pass => read_password("github password: "),
);
$gh->set_default_user_repo('vector-im', 'element-web');
$gh->set_default_user_repo('element-hq', 'element-web');
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
my @issues = $gh->issue->repos_issues({ state => 'all' });

View File

@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
login => 'ara4n', pass => read_password("github password: "),
);
$gh->set_default_user_repo('vector-im', 'element-web');
$gh->set_default_user_repo('element-hq', 'element-web');
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
my @issues = $gh->issue->repos_issues({ state => 'all' });

View File

@@ -17,7 +17,7 @@ set -ex
yarn install --frozen-lockfile
# Pass appropriate repo to fetchdep.sh
export PR_ORG=vector-im
export PR_ORG=element-hq
export PR_REPO=element-web
# Set up the js-sdk first

43
src/@types/cpx.d.ts vendored
View File

@@ -1,43 +0,0 @@
/*
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.
*/
declare module "cpx" {
export class Cpx {
public constructor(source: string, outDir: string, options?: object);
public on(eventName: "copy", fn: (event: { srcPath: string; dstPath: string }) => void): void;
public on(eventName: "remove", fn: (event: { path: string }) => void): void;
public on(eventName: "watch-ready", fn: () => void): void;
public on(eventName: "watch-error", fn: (error: Error) => void): void;
/**
* Copy all files that matches `this.source` pattern to `this.outDir`.
*
* @param {function} [cb = null] - A callback function.
* @returns {void}
*/
public copy(cb: Function | null): void;
/**
* Copy all files that matches `this.source` pattern to `this.outDir`.
* And watch changes in `this.base`, and copy only the file every time.
*
* @returns {void}
* @throws {Error} This had been watching already.
*/
public watch(): void;
}
}

View File

@@ -1,28 +0,0 @@
/*
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 * as LoaderUtils from "loader-utils";
declare module "loader-utils" {
export function getHashDigest(
buffer: Buffer,
hashType: null,
digestType: LoaderUtils.DigestType,
maxLength: number,
): string;
}
export as namespace Cpx;

View File

@@ -25,7 +25,7 @@ const VectorAuthFooter = (): ReactElement => {
const links = brandingConfig?.get("auth_footer_links") ?? [
{ text: "Blog", url: "https://element.io/blog" },
{ text: "Twitter", url: "https://twitter.com/element_hq" },
{ text: "GitHub", url: "https://github.com/vector-im/element-web" },
{ text: "GitHub", url: "https://github.com/element-hq/element-web" },
];
const authFooterLinks: JSX.Element[] = [];

View File

@@ -194,9 +194,9 @@ export default class Favicon {
}
private setIcon(canvas: HTMLCanvasElement): void {
setImmediate(() => {
setTimeout(() => {
this.setIconSrc(canvas.toDataURL("image/png"));
});
}, 0);
}
private setIconSrc(url: string): void {

View File

@@ -9,6 +9,7 @@
"auth": {
"sso_complete_in_browser_dialog_title": "Browser öffnen, um die Anmeldung abzuschließen"
},
"desktop_default_device_name": "%(brand)s Desktop: %(platformName)s",
"download_completed": "Herunterladen fertiggestellt",
"error": {
"app_launch_unexpected_error": "Unerwarteter Fehler bei der Vorbereitung der App; mehr Details in der Konsole.",

View File

@@ -1,5 +0,0 @@
{
"action": {
"sign_in": "Sign in"
}
}

View File

@@ -14,6 +14,7 @@
"error": {
"app_launch_unexpected_error": "שגיאה לא צפויה במהלך טעינת האפליקציה. ראו קונסול לפרטים נוספים.",
"cannot_load_config": "לא ניתן לטעון את קובץ ההגדרות: יש לרענן את הדף כדי לנסות שנית.",
"invalid_configuration_mixed_server": "Invalid configuration: a default_hs_url can't be specified along with default_server_name or default_server_config",
"invalid_configuration_no_server": "תצורה שגויה: לא צוין שרת ברירת מחדל.",
"invalid_json": "האלמנט מכיל הגדרת JSON שגויה, אנא תקנו את הבעיה ואתחלו את הדף.",
"invalid_json_detail": "ההודעה מהמנתח היא: %(message)s",

View File

@@ -22,7 +22,7 @@
"misconfigured": "Az Element hibásan van beállítva"
},
"failed_to_start": "Az indítás sikertelen",
"go_to_element_io": "Irány a element.io",
"go_to_element_io": "Irány az element.io",
"incompatible_browser": {
"browser_links": "A legjobb élmény érdékében telepítsen <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</safariLink>.",
"continue_warning": "Megértettem a kockázatot és folytatom",

View File

@@ -9,6 +9,7 @@
"auth": {
"sso_complete_in_browser_dialog_title": "Buka peramban Anda untuk menyelesaikan Sign In"
},
"desktop_default_device_name": "%(brand)s Desktop: %(platformName)s",
"download_completed": "Unduhan Selesai",
"error": {
"app_launch_unexpected_error": "Kesalahan tak terduga saat menyiapkan aplikasi. Lihat konsol untuk detail.",

View File

@@ -32,7 +32,7 @@
"title": "Niewspierana przeglądarka"
},
"powered_by_matrix": "Zasilane przez Matrix",
"powered_by_matrix_with_logo": "Zdecentralizowany, szyfrowany czat i współpraca oparte na $matrixLogo",
"powered_by_matrix_with_logo": "Zdecentralizowany czat szyfrowany i współpraca oparta na $matrixLogo",
"unknown_device": "Nieznane urządzenie",
"use_brand_on_mobile": "Użyj %(brand)s w telefonie",
"web_default_device_name": "%(appName)s: %(browserName)s na %(osName)s",

View File

@@ -2,7 +2,7 @@
"action": {
"create_account": "创建账户",
"dismiss": "忽略",
"explore_rooms": "探索房间",
"explore_rooms": "探索聊天室",
"open": "打开",
"sign_in": "登录"
},

View File

@@ -31,6 +31,7 @@
"summary": "您的瀏覽器無法執行 %(brand)s",
"title": "不支援的瀏覽器"
},
"powered_by_matrix": "由Matrix支持",
"powered_by_matrix_with_logo": "由 $matrixLogo 驅動的去中心化、加密的聊天與協作工具",
"unknown_device": "未知裝置",
"use_brand_on_mobile": "在行動裝置上使用 %(brand)s",

184
src/serviceworker/index.ts Normal file
View File

@@ -0,0 +1,184 @@
/*
Copyright 2024 New Vector Ltd
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 { idbLoad } from "matrix-react-sdk/src/utils/StorageAccess";
import { ACCESS_TOKEN_IV, tryDecryptToken } from "matrix-react-sdk/src/utils/tokens/tokens";
import { buildAndEncodePickleKey } from "matrix-react-sdk/src/utils/tokens/pickling";
const serverSupportMap: {
[serverUrl: string]: {
supportsAuthedMedia: boolean;
cacheExpiryTimeMs: number;
};
} = {};
self.addEventListener("install", (event) => {
// We skipWaiting() to update the service worker more frequently, particularly in development environments.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
event.waitUntil(skipWaiting());
});
self.addEventListener("activate", (event) => {
// We force all clients to be under our control, immediately. This could be old tabs.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
event.waitUntil(clients.claim());
});
// @ts-expect-error - the service worker types conflict with the DOM types available through TypeScript. Many hours
// have been spent trying to convince the type system that there's no actual conflict, but it has yet to work. Instead
// of trying to make it do the thing, we force-cast to something close enough where we can (and ignore errors otherwise).
self.addEventListener("fetch", (event: FetchEvent) => {
// This is the authenticated media (MSC3916) check, proxying what was unauthenticated to the authenticated variants.
if (event.request.method !== "GET") {
return; // not important to us
}
// Note: ideally we'd keep the request headers etc, but in practice we can't even see those details.
// See https://stackoverflow.com/a/59152482
let url = event.request.url;
// We only intercept v3 download and thumbnail requests as presumably everything else is deliberate.
// For example, `/_matrix/media/unstable` or `/_matrix/media/v3/preview_url` are something well within
// the control of the application, and appear to be choices made at a higher level than us.
if (!url.includes("/_matrix/media/v3/download") && !url.includes("/_matrix/media/v3/thumbnail")) {
return; // not a URL we care about
}
// We need to call respondWith synchronously, otherwise we may never execute properly. This means
// later on we need to proxy the request through if it turns out the server doesn't support authentication.
event.respondWith(
(async (): Promise<Response> => {
let accessToken: string | undefined;
try {
// Figure out which homeserver we're communicating with
const csApi = url.substring(0, url.indexOf("/_matrix/media/v3"));
// Add jitter to reduce request spam, particularly to `/versions` on initial page load
await new Promise<void>((resolve) => setTimeout(() => resolve(), Math.random() * 10));
// Locate our access token, and populate the fetchConfig with the authentication header.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
const client = await self.clients.get(event.clientId);
accessToken = await getAccessToken(client);
// Update or populate the server support map using a (usually) authenticated `/versions` call.
await tryUpdateServerSupportMap(csApi, accessToken);
// If we have server support (and a means of authentication), rewrite the URL to use MSC3916 endpoints.
if (serverSupportMap[csApi].supportsAuthedMedia && accessToken) {
url = url.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/");
} // else by default we make no changes
} catch (err) {
console.error("SW: Error in request rewrite.", err);
}
// Add authentication and send the request. We add authentication even if MSC3916 endpoints aren't
// being used to ensure patches like this work:
// https://github.com/matrix-org/synapse/commit/2390b66bf0ec3ff5ffb0c7333f3c9b239eeb92bb
return fetch(url, fetchConfigForToken(accessToken));
})(),
);
});
async function tryUpdateServerSupportMap(clientApiUrl: string, accessToken?: string): Promise<void> {
// only update if we don't know about it, or if the data is stale
if (serverSupportMap[clientApiUrl]?.cacheExpiryTimeMs > new Date().getTime()) {
return; // up to date
}
const config = fetchConfigForToken(accessToken);
const versions = await (await fetch(`${clientApiUrl}/_matrix/client/versions`, config)).json();
serverSupportMap[clientApiUrl] = {
supportsAuthedMedia: Boolean(versions?.versions?.includes("v1.11")),
cacheExpiryTimeMs: new Date().getTime() + 2 * 60 * 60 * 1000, // 2 hours from now
};
}
// Ideally we'd use the `Client` interface for `client`, but since it's not available (see 'fetch' listener), we use
// unknown for now and force-cast it to something close enough later.
async function getAccessToken(client: unknown): Promise<string | undefined> {
// Access tokens are encrypted at rest, so while we can grab the "access token", we'll need to do work to get the
// real thing.
const encryptedAccessToken = await idbLoad("account", "mx_access_token");
// We need to extract a user ID and device ID from localstorage, which means calling WebPlatform for the
// read operation. Service workers can't access localstorage.
const { userId, deviceId } = await askClientForUserIdParams(client);
// ... and this is why we need the user ID and device ID: they're index keys for the pickle key table.
const pickleKeyData = await idbLoad("pickleKey", [userId, deviceId]);
if (pickleKeyData && (!pickleKeyData.encrypted || !pickleKeyData.iv || !pickleKeyData.cryptoKey)) {
console.error("SW: Invalid pickle key loaded - ignoring");
return undefined;
}
// Finally, try decrypting the thing and return that. This may fail, but that's okay.
try {
const pickleKey = await buildAndEncodePickleKey(pickleKeyData, userId, deviceId);
return tryDecryptToken(pickleKey, encryptedAccessToken, ACCESS_TOKEN_IV);
} catch (e) {
console.error("SW: Error decrypting access token.", e);
return undefined;
}
}
// Ideally we'd use the `Client` interface for `client`, but since it's not available (see 'fetch' listener), we use
// unknown for now and force-cast it to something close enough inside the function.
async function askClientForUserIdParams(client: unknown): Promise<{ userId: string; deviceId: string }> {
return new Promise((resolve, reject) => {
// Dev note: this uses postMessage, which is a highly insecure channel. postMessage is typically visible to other
// tabs, windows, browser extensions, etc, making it far from ideal for sharing sensitive information. This is
// why our service worker calculates/decrypts the access token manually: we don't want the user's access token
// to be available to (potentially) malicious listeners. We do require some information for that decryption to
// work though, and request that in the least sensitive way possible.
//
// We could also potentially use some version of TLS to encrypt postMessage, though that feels way more involved
// than just reading IndexedDB ourselves.
// Avoid stalling the tab in case something goes wrong.
const timeoutId = setTimeout(() => reject(new Error("timeout in postMessage")), 1000);
// We don't need particularly good randomness here - we just use this to generate a request ID, so we know
// which postMessage reply is for our active request.
const responseKey = Math.random().toString(36);
// Add the listener first, just in case the tab is *really* fast.
const listener = (event: MessageEvent): void => {
if (event.data?.responseKey !== responseKey) return; // not for us
clearTimeout(timeoutId); // do this as soon as possible, avoiding a race between resolve and reject.
resolve(event.data); // "unblock" the remainder of the thread, if that were such a thing in JavaScript.
self.removeEventListener("message", listener); // cleanup, since we're not going to do anything else.
};
self.addEventListener("message", listener);
// Ask the tab for the information we need. This is handled by WebPlatform.
(client as Window).postMessage({ responseKey, type: "userinfo" });
});
}
function fetchConfigForToken(accessToken?: string): RequestInit | undefined {
if (!accessToken) {
return undefined; // no headers/config to specify
}
return {
headers: {
Authorization: `Bearer ${accessToken}`,
},
};
}

View File

@@ -89,9 +89,14 @@ export async function loadApp(fragParams: {}, matrixChatRef: React.Ref<MatrixCha
// XXX: This path matching is a bit brittle, but better to do it early instead of in the app code.
const isWelcomeOrLanding =
window.location.hash === "#/welcome" || window.location.hash === "#" || window.location.hash === "";
const isLoginPage = window.location.hash === "#/login";
if (!autoRedirect && ssoRedirects.on_welcome_page && isWelcomeOrLanding) {
autoRedirect = true;
}
if (!autoRedirect && ssoRedirects.on_login_page && isLoginPage) {
autoRedirect = true;
}
if (!hasPossibleToken && !isReturningFromSso && autoRedirect) {
logger.log("Bypassing app load to redirect to SSO");
const tempCli = createClient({
@@ -199,7 +204,7 @@ async function verifyServerConfig(): Promise<IConfigOptions> {
}
}
validatedConfig = AutoDiscoveryUtils.buildValidatedConfigFromDiscovery(serverName, discoveryResult, true);
validatedConfig = await AutoDiscoveryUtils.buildValidatedConfigFromDiscovery(serverName, discoveryResult, true);
} catch (e) {
const { hsUrl, isUrl, userId } = await Lifecycle.getStoredSessionVars();
if (hsUrl && userId) {

View File

@@ -49,18 +49,17 @@
<% }
} %>
<% for (var i=0; i < htmlWebpackPlugin.tags.headTags.length; i++) {
var tag = htmlWebpackPlugin.tags.headTags[i];
var path = tag.attributes && tag.attributes.href;
if (path.includes("/Inter/")) { %>
<link rel="preload" as="font" href=".<%= path %>" crossorigin="anonymous"/>
<% for (const tag of htmlWebpackPlugin.tags.headTags) {
let path = tag.attributes && tag.attributes.href;
if (path && path.includes("/Inter/")) { %>
<link rel="preload" as="font" href="<%= path %>" crossorigin="anonymous"/>
<% }
} %>
</head>
<body style="height: 100%; margin: 0;">
<noscript>Sorry, Element requires JavaScript to be enabled.</noscript> <!-- TODO: Translate this? -->
<section id="matrixchat" style="height: 100%;" class="notranslate"></section>
<div id="matrixchat" style="height: 100%;" class="notranslate"></div>
<%
// insert <script> tags for the JS entry points
@@ -82,32 +81,13 @@
<img src="<%= require('matrix-react-sdk/res/img/format/quote.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/format/strikethrough.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<audio id="messageAudio">
<source src="media/message.ogg" type="audio/ogg" />
<source src="media/message.mp3" type="audio/mpeg" />
</audio>
<audio id="ringAudio" loop>
<source src="media/ring.ogg" type="audio/ogg" />
<source src="media/ring.mp3" type="audio/mpeg" />
</audio>
<audio id="ringbackAudio" loop>
<source src="media/ringback.ogg" type="audio/ogg" />
<source src="media/ringback.mp3" type="audio/mpeg" />
</audio>
<audio id="callendAudio">
<source src="media/callend.ogg" type="audio/ogg" />
<source src="media/callend.mp3" type="audio/mpeg" />
</audio>
<audio id="busyAudio">
<source src="media/busy.ogg" type="audio/ogg" />
<source src="media/busy.mp3" type="audio/mpeg" />
</audio>
<audio id="errorAudio">
<source src="media/error.ogg" type="audio/ogg" />
<source src="media/error.mp3" type="audio/mpeg" />
</audio>
<audio id="remoteAudio"></audio>
<!-- let CSS themes pass constants to the app -->
<div id="mx_theme_accentColor"></div><div id="mx_theme_secondaryAccentColor"></div><div id="mx_theme_tertiaryAccentColor"></div>
<!-- We eagerly create these containers to ensure their CSS stacking context order is sensible -->
<div id="mx_PersistedElement_container"></div>
<div id="mx_Dialog_StaticContainer"></div>
<div id="mx_Dialog_Container"></div>
<div id="mx_ContextualMenu_Container"></div>
</body>
</html>

View File

@@ -19,7 +19,6 @@ limitations under the License.
*/
import { logger } from "matrix-js-sdk/src/logger";
import { extractErrorMessageFromError } from "matrix-react-sdk/src/components/views/dialogs/ErrorDialog";
// These are things that can run before the skin loads - be careful not to reference the react-sdk though.
import { parseQsFromFragment } from "./url_utils";
@@ -28,7 +27,6 @@ import "./modernizr";
// Require common CSS here; this will make webpack process it into bundle.css.
// Our own CSS (which is themed) is imported via separate webpack entry points
// in webpack.config.js
require("gfm.css/gfm.css");
require("katex/dist/katex.css");
/**
@@ -57,8 +55,8 @@ function checkBrowserFeatures(): boolean {
return false;
}
// Custom checks atop Modernizr because it doesn't have ES2018/ES2019 checks
// in it for some features we depend on.
// Custom checks atop Modernizr because it doesn't have checks in it for
// some features we depend on.
// Modernizr requires rules to be lowercase with no punctuation.
// ES2018: http://262.ecma-international.org/9.0/#sec-promise.prototype.finally
window.Modernizr.addTest("promiseprototypefinally", () => typeof window.Promise?.prototype?.finally === "function");
@@ -71,6 +69,13 @@ function checkBrowserFeatures(): boolean {
);
// ES2019: http://262.ecma-international.org/10.0/#sec-object.fromentries
window.Modernizr.addTest("objectfromentries", () => typeof window.Object?.fromEntries === "function");
// ES2024: https://tc39.es/ecma262/2024/#sec-get-regexp.prototype.unicodesets
window.Modernizr.addTest(
"regexpunicodesets",
() => window.RegExp?.prototype && "unicodeSets" in window.RegExp.prototype,
);
// ES2024: https://402.ecma-international.org/9.0/#sec-intl.segmenter
window.Modernizr.addTest("intlsegmenter", () => typeof window.Intl?.Segmenter === "function");
const featureList = Object.keys(window.Modernizr) as Array<keyof ModernizrStatic>;
@@ -99,14 +104,13 @@ const supportedBrowser = checkBrowserFeatures();
// try in react but fallback to an `alert`
// We start loading stuff but don't block on it until as late as possible to allow
// the browser to use as much parallelism as it can.
// Load parallelism is based on research in https://github.com/vector-im/element-web/issues/12253
// Load parallelism is based on research in https://github.com/element-hq/element-web/issues/12253
async function start(): Promise<void> {
// load init.ts async so that its code is not executed immediately and we can catch any exceptions
const {
rageshakePromise,
setupLogStorage,
preparePlatform,
loadOlm,
loadConfig,
loadLanguage,
loadTheme,
@@ -115,6 +119,7 @@ async function start(): Promise<void> {
showError,
showIncompatibleBrowser,
_t,
extractErrorMessageFromError,
} = await import(
/* webpackChunkName: "init" */
/* webpackPreload: true */
@@ -130,7 +135,7 @@ async function start(): Promise<void> {
// don't try to redirect to the native apps if we're
// verifying a 3pid (but after we've loaded the config)
// or if the user is following a deep link
// (https://github.com/vector-im/element-web/issues/7378)
// (https://github.com/element-hq/element-web/issues/7378)
const preventRedirect = fragparts.params.client_secret || fragparts.location.length > 0;
if (!preventRedirect) {
@@ -144,7 +149,6 @@ async function start(): Promise<void> {
}
}
const loadOlmPromise = loadOlm();
// set the platform for react sdk
preparePlatform();
// load config requires the platform to be ready
@@ -177,7 +181,7 @@ async function start(): Promise<void> {
// error handling begins here
// ##########################
if (!acceptBrowser) {
await new Promise<void>((resolve) => {
await new Promise<void>((resolve, reject) => {
logger.error("Browser is missing required features.");
// take to a different landing page to AWOOOOOGA at the user
showIncompatibleBrowser(() => {
@@ -186,7 +190,7 @@ async function start(): Promise<void> {
}
logger.log("User accepts the compatibility risks.");
resolve();
});
}).catch(reject);
});
}
@@ -211,7 +215,6 @@ async function start(): Promise<void> {
// app load critical path starts here
// assert things started successfully
// ##################################
await loadOlmPromise;
await loadModulesPromise;
await loadThemePromise;
await loadLanguagePromise;

View File

@@ -17,10 +17,6 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import olmWasmPath from "@matrix-org/olm/olm.wasm";
import Olm from "@matrix-org/olm";
import * as ReactDOM from "react-dom";
import * as React from "react";
import * as languageHandler from "matrix-react-sdk/src/languageHandler";
@@ -76,48 +72,6 @@ export async function loadConfig(): Promise<void> {
}
}
export function loadOlm(): Promise<void> {
/* Load Olm. We try the WebAssembly version first, and then the legacy,
* asm.js version if that fails. For this reason we need to wait for this
* to finish before continuing to load the rest of the app. In future
* we could somehow pass a promise down to react-sdk and have it wait on
* that so olm can be loading in parallel with the rest of the app.
*
* We also need to tell the Olm js to look for its wasm file at the same
* level as index.html. It really should be in the same place as the js,
* ie. in the bundle directory, but as far as I can tell this is
* completely impossible with webpack. We do, however, use a hashed
* filename to avoid caching issues.
*/
return Olm.init({
locateFile: () => olmWasmPath,
})
.then(() => {
logger.log("Using WebAssembly Olm");
})
.catch((wasmLoadError) => {
logger.log("Failed to load Olm: trying legacy version", wasmLoadError);
return new Promise((resolve, reject) => {
const s = document.createElement("script");
s.src = "olm_legacy.js"; // XXX: This should be cache-busted too
s.onload = resolve;
s.onerror = reject;
document.body.appendChild(s);
})
.then(() => {
// Init window.Olm, ie. the one just loaded by the script tag,
// not 'Olm' which is still the failed wasm version.
return window.Olm.init();
})
.then(() => {
logger.log("Using legacy Olm");
})
.catch((legacyLoadError) => {
logger.log("Both WebAssembly and asm.js Olm failed!", legacyLoadError);
});
});
}
export async function loadLanguage(): Promise<void> {
const prefLang = SettingsStore.getValue("language", null, /*excludeDefault=*/ true);
let langs: string[] = [];
@@ -138,7 +92,7 @@ export async function loadLanguage(): Promise<void> {
}
export async function loadTheme(): Promise<void> {
setTheme();
return setTheme();
}
export async function loadApp(fragParams: {}): Promise<void> {
@@ -189,3 +143,5 @@ export async function loadModules(): Promise<void> {
}
export { _t } from "../languageHandler";
export { extractErrorMessageFromError } from "matrix-react-sdk/src/components/views/dialogs/ErrorDialog";

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />

View File

@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
/* TODO: Match the user's theme: https://github.com/vector-im/element-web/issues/12794 */
/* TODO: Match the user's theme: https://github.com/element-hq/element-web/issues/12794 */
@font-face {
font-family: "Nunito";

View File

@@ -177,17 +177,17 @@ const setupCompleted = (async (): Promise<string | void> => {
}
}
await widgetApi!.transport.reply(ev.detail, response);
widgetApi!.transport.reply(ev.detail, response);
});
};
handleAction(ElementWidgetActions.JoinCall, async ({ audioInput, videoInput }) => {
joinConference(audioInput as string | null, videoInput as string | null);
void joinConference(audioInput as string | null, videoInput as string | null);
});
handleAction(ElementWidgetActions.HangupCall, async ({ force }) => {
if (force === true) {
meetApi?.dispose();
notifyHangup();
void notifyHangup();
meetApi = undefined;
closeConference();
} else {
@@ -292,14 +292,12 @@ function switchVisibleContainers(): void {
function toggleConferenceVisibility(inConference: boolean): void {
document.getElementById("jitsiContainer")!.style.visibility = inConference ? "unset" : "hidden";
// Video rooms have a separate UI for joining, so they should never show our join button
document.getElementById("joinButtonContainer")!.style.visibility =
inConference || isVideoChannel ? "hidden" : "unset";
document.getElementById("joinButtonContainer")!.style.visibility = inConference ? "hidden" : "unset";
}
function skipToJitsiSplashScreen(): void {
// really just a function alias for self-documenting code
joinConference();
void joinConference();
}
/**
@@ -450,16 +448,15 @@ async function joinConference(audioInput?: string | null, videoInput?: string |
// Video channel widgets need some more tailored config options
if (isVideoChannel) {
// Ensure that we skip Jitsi Meet's native prejoin screen, for
// deployments that have it enabled
options.configOverwrite!.prejoinConfig = { enabled: false };
// We don't skip jitsi's prejoin screen for video rooms.
options.configOverwrite!.prejoinConfig = { enabled: true };
// Use a simplified set of toolbar buttons
options.configOverwrite!.toolbarButtons = ["microphone", "camera", "tileview", "hangup"];
// Note: We can hide the screenshare button in video rooms but not in
// normal conference calls, since in video rooms we control exactly what
// set of controls appear, but in normal calls we need to leave that up
// to the deployment's configuration.
// https://github.com/vector-im/element-web/issues/4880#issuecomment-940002464
// https://github.com/element-hq/element-web/issues/4880#issuecomment-940002464
if (supportsScreensharing) options.configOverwrite!.toolbarButtons.splice(2, 0, "desktop");
// Hide all top bar elements
options.configOverwrite!.conferenceInfo = { autoHide: [] };
@@ -503,8 +500,8 @@ const onVideoConferenceJoined = (): void => {
if (widgetApi) {
// ignored promise because we don't care if it works
// noinspection JSIgnoredPromiseFromCall
widgetApi.setAlwaysOnScreen(true);
widgetApi.transport.send(ElementWidgetActions.JoinCall, {});
void widgetApi.setAlwaysOnScreen(true);
void widgetApi.transport.send(ElementWidgetActions.JoinCall, {});
}
// Video rooms should start in tile mode
@@ -512,7 +509,7 @@ const onVideoConferenceJoined = (): void => {
};
const onVideoConferenceLeft = (): void => {
notifyHangup();
void notifyHangup();
meetApi = undefined;
};
@@ -520,7 +517,7 @@ const onErrorOccurred = ({ error }: Parameters<ExternalAPIEventCallbacks["errorO
if (error.isFatal) {
// We got disconnected. Since Jitsi Meet might send us back to the
// prejoin screen, we're forced to act as if we hung up entirely.
notifyHangup(error.message);
void notifyHangup(error.message);
meetApi = undefined;
closeConference();
}
@@ -528,7 +525,7 @@ const onErrorOccurred = ({ error }: Parameters<ExternalAPIEventCallbacks["errorO
const onAudioMuteStatusChanged = ({ muted }: AudioMuteStatusChangedEvent): void => {
const action = muted ? ElementWidgetActions.MuteAudio : ElementWidgetActions.UnmuteAudio;
widgetApi?.transport.send(action, {});
void widgetApi?.transport.send(action, {});
};
const onVideoMuteStatusChanged = ({ muted }: VideoMuteStatusChangedEvent): void => {
@@ -538,15 +535,15 @@ const onVideoMuteStatusChanged = ({ muted }: VideoMuteStatusChangedEvent): void
// otherwise the React SDK will mistakenly think the user turned off
// their video by hand
setTimeout(() => {
if (meetApi) widgetApi?.transport.send(ElementWidgetActions.MuteVideo, {});
if (meetApi) void widgetApi?.transport.send(ElementWidgetActions.MuteVideo, {});
}, 200);
} else {
widgetApi?.transport.send(ElementWidgetActions.UnmuteVideo, {});
void widgetApi?.transport.send(ElementWidgetActions.UnmuteVideo, {});
}
};
const updateParticipants = (): void => {
widgetApi?.transport.send(ElementWidgetActions.CallParticipants, {
void widgetApi?.transport.send(ElementWidgetActions.CallParticipants, {
participants: meetApi?.getParticipantsInfo(),
});
};

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<title>Element Mobile Guide</title>

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