Compare commits

...

912 Commits

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

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

This is better done through the project board automation, otherwise we risk
moving items out of "In Progress" back to "Qualification".
2023-10-19 13:29:21 +01:00
Richard van der Hoff e4d365a1ab triage-labelled: also set "Status" on ER issues 2023-10-19 12:39:46 +01:00
Richard van der Hoff 6c017ab936 triage-labelled: Fix step input names 2023-10-19 12:14:31 +01:00
Germain 73e2d1dbe4
Adds labs label to Element R issues (#26324) 2023-10-19 11:06:34 +00:00
Richard van der Hoff 1265ed47aa triage-labelled: Fix workflow 2023-10-19 12:04:14 +01:00
Richard van der Hoff b24a25b8b9
Add automation to move Element-R issues to crypto board (#26398) 2023-10-19 09:06:37 +00:00
renovate[bot] f8b6364694
Update react-types (#26124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 08:56:39 +01:00
Dominik Henneke 0040181489
Correctly fill window.matrixChat even when a Wrapper module is active (#26395)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-10-18 21:13:30 -04:00
renovate[bot] f1a39b3e4d
Update dependency typescript to v5.2.2 (#26390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 17:02:17 +00:00
renovate[bot] f3bf750bf3
Lock file maintenance (#26205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-18 17:54:00 +01:00
Michael Telatynski bfb071f24f
Update build.yml 2023-10-18 17:26:21 +01:00
renovate[bot] 775c4d335e
Update all non-major dependencies (#26201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 17:18:45 +01:00
dependabot[bot] 3930c6cb04
Bump @babel/traverse from 7.22.15 to 7.23.2 (#26381)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 09:09:29 +00:00
renovate[bot] 0ebfa4174b
Update babel monorepo to v7.23.2 (#26290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 17:38:03 +00:00
Michael Telatynski c27aca4977
Remove @types/modernizr from package.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 18:22:12 +01:00
renovate[bot] 76adf57d1d
Update definitelyTyped (#26198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 17:10:41 +00:00
renovate[bot] 7279b05ee4
Update dependency fake-indexeddb to v5 (#26391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 17:00:32 +00:00
ElementRobot 8862bcda29 v1.11.47-rc.1 2023-10-17 15:40:36 +01:00
ElementRobot 64d596ad26 Prepare changelog for v1.11.47-rc.1 2023-10-17 15:40:36 +01:00
ElementRobot 0cd55e1f1b Upgrade matrix-js-sdk to 29.1.0-rc.1 2023-10-17 15:33:37 +01:00
ElementRobot 8419ac62be Upgrade matrix-react-sdk to 3.83.0-rc.1 2023-10-17 15:30:52 +01:00
ElementRobot 22e35c385d
Localazy Download (#26389)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-17 15:05:46 +01:00
Michael Telatynski 92a3976837
Update localazy_upload.yaml 2023-10-17 10:48:52 +01:00
Michael Telatynski 9b560e8303
Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 10:25:27 +01:00
Michael Telatynski 0325273a68
Add matrix-js-sdk docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 10:01:56 +01:00
Michael Telatynski 5262c2d195
Revert
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:42:55 +01:00
Michael Telatynski 3279c44197
Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:34:51 +01:00
Michael Telatynski 39ae3ccfc6
Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:30:21 +01:00
Michael Telatynski 9d3a39905b
Update docs.yml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:16:32 +01:00
Michael Telatynski 9b2960a2ff
Update docs.yml 2023-10-17 08:58:27 +01:00
Michael Telatynski 3f81241e20
Update docs.yml 2023-10-17 08:48:19 +01:00
dependabot[bot] 3b23cb8bff
Bump postcss from 8.4.29 to 8.4.31 (#26306)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Germain <germain@souquet.com>
2023-10-17 07:44:23 +00:00
Michael Telatynski 9696e099eb
Update docs.yml 2023-10-17 08:36:22 +01:00
Michael Telatynski 9a688e8202
Set up mdbook in github pages (#26367) 2023-10-17 11:57:03 +13:00
Johannes Marbach 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 5b4eea4e09 Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-10-16 07:53:29 +02:00
Robin b206e0cea0
Update the Element Call unstable URL (#26368)
We've switched from Netlify to an in-house Kubernetes deployment with a new URL.
2023-10-13 16:41:13 +00:00
Michael Telatynski 7bfb1cd79c
Run build workflow in CI on the windows & macos also (#26362) 2023-10-13 14:38:51 +01:00
Michael Telatynski 82cb30373c
Remove hardcoded defaults and update manifest.json (#26359) 2023-10-13 12:24:54 +01:00
RiotRobot b9ea639f9d Reset matrix-react-sdk back to develop branch 2023-10-10 09:36:24 +01:00
RiotRobot 9832921d0d Reset matrix-js-sdk back to develop branch 2023-10-10 09:36:11 +01:00
RiotRobot ce2e1f7058 Merge branch 'master' into develop 2023-10-10 09:35:58 +01:00
RiotRobot d072737463 v1.11.46 2023-10-10 09:31:47 +01:00
RiotRobot 3abaee07e8 Prepare changelog for v1.11.46 2023-10-10 09:31:47 +01:00
RiotRobot 27733c364f Upgrade matrix-react-sdk to 3.82.0 2023-10-10 09:28:03 +01:00
RiotRobot 20ad51994a Upgrade matrix-js-sdk to 29.0.0 2023-10-10 09:27:40 +01:00
David Baker aae59b93e6
Re-write the rule about casting to be clearer (#26317)
This is the proposal from the comments on https://github.com/vector-im/element-web/pull/26220
(so effectively an alternative to that PR, if you like).
2023-10-09 14:34:36 +01:00
Dharshan d74186d7ad
Update Linux Kernel link in CONTRIBUTING.md (#26336) 2023-10-09 06:23:49 +00:00
Johannes Marbach f49b37d06a
Merge pull request #26329 from vector-im/Johennes-patch-1 2023-10-06 16:21:00 +02:00
Johannes Marbach 6e57af0f1c
Remove trailing || 2023-10-06 16:15:14 +02:00
Johannes Marbach 8e39de4c75
Merge pull request #26328 from vector-im/Johennes-patch-1 2023-10-06 16:08:56 +02:00
Johannes Marbach 471e6a9e94
Automatically add labeled issues to tech debt project 2023-10-06 16:01:11 +02:00
Johannes Marbach f7f0cf1c61
Merge pull request #26325 from vector-im/Johennes-patch-1 2023-10-06 15:41:38 +02:00
Johannes Marbach 473ec02aa2
Remove former PS teams from issue automation 2023-10-06 15:32:56 +02:00
Stefan Ceriu 22f2b1f9e9
vector-im/element-x-ios/issues/1824 - Convert the apple-app-site-association file to a newer format… (#26307) 2023-10-05 09:17:40 +01:00
Michael Telatynski 73c77069f6
Update docs to remove temporary TMS freeze note
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-03 19:50:07 +01:00
RiotRobot b45e72c227 v1.11.46-rc.2 2023-10-03 14:52:36 +01:00
RiotRobot 5c36d20b48 Prepare changelog for v1.11.46-rc.2 2023-10-03 14:52:36 +01:00
Andy Balaam 24da65701c
Bump matrix-web-i18n to 3.1.3 for KEY_SEPARATOR (#26287) 2023-10-03 14:44:55 +01:00
RiotRobot 796e60c284 v1.11.46-rc.1 2023-10-03 12:10:40 +01:00
RiotRobot 5aa6d0bc6a Prepare changelog for v1.11.46-rc.1 2023-10-03 12:10:39 +01:00
RiotRobot 3b47b1b523 Upgrade matrix-react-sdk to 3.82.0-rc.1 2023-10-03 12:08:27 +01:00
RiotRobot fcb961d0ea Upgrade matrix-js-sdk to 29.0.0-rc.1 2023-10-03 12:08:01 +01:00
Michael Telatynski c6e1a3d59d
Improve config.md docs on `custom_translations_url` (#26262) 2023-10-02 11:42:41 +01:00
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
RiotRobot 260e0fc8ac Reset matrix-react-sdk back to develop branch 2023-09-29 11:31:48 +01:00
RiotRobot 6c305121f4 Reset matrix-js-sdk back to develop branch 2023-09-29 11:31:22 +01:00
RiotRobot b7cca93ceb Merge branch 'master' into develop 2023-09-29 11:30:11 +01:00
RiotRobot ae98e3a593 v1.11.45 2023-09-29 11:24:44 +01:00
RiotRobot e4ecf42a8c Prepare changelog for v1.11.45 2023-09-29 11:24:44 +01:00
RiotRobot c47c598c0b Upgrade matrix-react-sdk to 3.81.1 2023-09-29 11:20:23 +01:00
Johannes Marbach c844d80217 Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5 2023-09-29 11:00:03 +02:00
Johannes Marbach bb04097912 Merge branch 'develop' into johannes/webpack-cli-4.10.0 2023-09-29 10:56:13 +02:00
R Midhun Suresh 47677c8415
Fix broken tsc from localazy changes (#26255) 2023-09-28 14:07:29 +01:00
RiotRobot 1707ecd8b6 Reset matrix-react-sdk back to develop branch 2023-09-26 14:10:03 +01:00
RiotRobot b4cc35b2da Reset matrix-js-sdk back to develop branch 2023-09-26 14:09:47 +01:00
RiotRobot 8492c22b55 Merge branch 'master' into develop 2023-09-26 14:09:32 +01:00
RiotRobot e0dc62f7b1 v1.11.44 2023-09-26 14:05:16 +01:00
RiotRobot d6cf0c7be2 Prepare changelog for v1.11.44 2023-09-26 14:05:16 +01:00
RiotRobot 09291a9cf5 Upgrade matrix-react-sdk to 3.81.0 2023-09-26 13:32:57 +01:00
RiotRobot 9ac837068f Upgrade matrix-js-sdk to 28.2.0 2023-09-26 13:26:28 +01:00
Michael Telatynski 29d5309430
Merge remote-tracking branch 'origin/develop' into develop 2023-09-26 12:28:52 +01:00
Michael Telatynski 7fe11a6026
Make tests happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-26 12:28:31 +01:00
Michael Telatynski 21f915ffd2
Update tsconfig.json 2023-09-26 09:25:53 +01:00
Johannes Marbach af3659a90e Update to webpack 5 2023-09-23 21:34:56 +02:00
Johannes Marbach 3d65ff06e9 Fix spaces 2023-09-22 21:03:33 +02:00
Johannes Marbach e0954f330a Update webpack-dev-server to 4.15.1 2023-09-22 20:57:00 +02:00
renovate[bot] 4367299885
Update jest to v29.5.5 (#26200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:00:55 +00:00
renovate[bot] c59d0a924b
Update babel monorepo to v7.22.20 (#26199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 00:33:54 +00:00
renovate[bot] 8a927e5120
Update SimenB/github-actions-cpu-cores action to v2 (#26203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:24:03 +01:00
renovate[bot] eb40bc940a
Update docker (#26204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-22 01:23:41 +01:00
Johannes Marbach 218a3b478d Update webpack to 4.47.0 / webpack-cli to 4.10.0 2023-09-21 20:47:58 +02:00
Germain dcc0f9fbf6
Document feature_notifications_panel labs flag (#25924) 2023-09-20 08:21:37 +01:00
RiotRobot ce616caf99 v1.11.44-rc.1 2023-09-19 12:51:48 +01:00
RiotRobot e288bf6ae3 Prepare changelog for v1.11.44-rc.1 2023-09-19 12:51:48 +01:00
RiotRobot 0285eab20c Upgrade matrix-react-sdk to 3.81.0-rc.1 2023-09-19 12:49:42 +01:00
RiotRobot baacd4ca8c Upgrade matrix-js-sdk to 28.2.0-rc.1 2023-09-19 12:49:19 +01:00
Johannes Marbach 29bd206f85
Merge pull request #26186 from vector-im/johannes/undefault-new-room-header 2023-09-18 12:09:22 +02:00
Johannes Marbach 5d04a2adc3 Turn off new room header by default 2023-09-18 09:47:08 +02:00
Johannes Marbach df6b106b26
Merge pull request #26089 from vector-im/germain-gg/room-ui-develop 2023-09-15 15:22:32 +02:00
RiotRobot e456ca1b20 Reset matrix-react-sdk back to develop branch 2023-09-15 12:13:45 +01:00
RiotRobot 744ff5ca9a Reset matrix-js-sdk back to develop branch 2023-09-15 12:13:30 +01:00
RiotRobot 0c0f4cfdbd Merge branch 'master' into develop 2023-09-15 12:13:08 +01:00
RiotRobot 8436c91279 v1.11.43 2023-09-15 12:09:01 +01:00
RiotRobot c52c62ebc0 Prepare changelog for v1.11.43 2023-09-15 12:09:00 +01:00
Johannes Marbach 1e303652cc
Merge branch 'develop' into germain-gg/room-ui-develop 2023-09-15 09:14:50 +02:00
RiotRobot 361941e5d4 Reset matrix-js-sdk back to develop branch 2023-09-13 13:00:58 +01:00
RiotRobot dc6c7022fc Merge branch 'master' into develop 2023-09-13 12:59:06 +01:00
RiotRobot 60585cce94 v1.11.42 2023-09-13 12:47:26 +01:00
RiotRobot 3a6a603778 Prepare changelog for v1.11.42 2023-09-13 12:47:25 +01:00
RiotRobot 28a8c1cd1e Upgrade matrix-react-sdk to 3.80.1 2023-09-13 12:44:38 +01:00
ElementRobot b9be840291 Reset matrix-react-sdk back to develop branch 2023-09-12 17:17:24 +01:00
ElementRobot 81b6320595 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2023-09-12 17:16:37 +01:00
renovate[bot] 14746004b5
Update babel monorepo to v7.22.17 (#26121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-12 10:11:23 +01:00
Michael Telatynski badff8cae5
Fix copy-res
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 11:24:22 +01:00
ElementRobot 6dc6c80cc5
Merge pull request #26141 from vector-im/actions/localazy-download
Localazy Download
2023-09-08 11:59:10 +02:00
Michael Telatynski e84e161034
yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:51:22 +01:00
Michael Telatynski 5a534e4010
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:49:41 +01:00
Michael Telatynski 34d7eca8f3
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:45:32 +01:00
Michael Telatynski 472c07c0a8
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:43:44 +01:00
Michael Telatynski c944a273d0
Convert copy-res to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:33:57 +01:00
Michael Telatynski 501f01cdd5
Remove hardcoded INCLUDE_LANGS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-08 10:14:31 +01:00
t3chguy e93a12d1fa [create-pull-request] automated change 2023-09-08 09:06:12 +00:00
Michael Telatynski 8c83307371
Update package.json 2023-09-08 09:54:14 +01:00
Michael Telatynski 7ede4b783d
prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-07 17:54:24 +01:00
Michael Telatynski 50afd46c79
Update translating-dev.md 2023-09-07 17:50:55 +01:00
renovate[bot] f93a7c0ffe
Update all non-major dependencies (#26036)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-07 08:14:15 +00:00
renovate[bot] 54fd7a9872
Lock file maintenance (#26126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 20:37:35 +01:00
ElementRobot a189fab5d4
Merge pull request #26132 from vector-im/actions/localazy-download
Localazy Download
2023-09-06 19:22:18 +02:00
Michael Telatynski f659c47a61
Update loading-test.tsx 2023-09-06 18:14:38 +01:00
t3chguy b0d5eb906f [create-pull-request] automated change 2023-09-06 17:04:01 +00:00
renovate[bot] adcf635f59
Update docker/setup-buildx-action digest to 885d146 (#26120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-06 13:01:01 +01:00
renovate[bot] ee3c1192bc
Update jest to v29.6.4 (#26123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 13:00:34 +01:00
renovate[bot] e94b80b9e5
Update definitelyTyped (#26122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-06 10:48:36 +01:00
renovate[bot] cef2df4b0b
Update actions/checkout action to v4 (#26125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-05 17:31:32 +00:00
Michael Telatynski c525b633bd
Migrate translations to keys and switch to Localazy (#26106) 2023-09-05 17:17:25 +01:00
Germain cbe24e2531 Enable new room UI by default on develop 2023-08-31 22:29:53 +01:00
Germain bca63dead7 Remove documentation for 'feature_state_counters' 2023-07-31 11:46:02 +01:00
213 changed files with 21184 additions and 18593 deletions

View File

@ -19,7 +19,7 @@ module.exports = {
},
overrides: [
{
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}"],
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}", "scripts/*.ts"],
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
// NOTE: These rules are frozen and new rules should not be added here.
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
@ -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",
},
},
],

9
.github/CODEOWNERS vendored
View File

@ -1,4 +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"

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

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

View File

@ -2,7 +2,9 @@ name: Build
on:
pull_request: {}
push:
branches: [master]
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
@ -10,15 +12,35 @@ env:
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
build:
name: "Build"
runs-on: ubuntu-latest
name: "Build on ${{ matrix.image }}"
# We build on all 3 platforms to ensure we don't have any OS-specific build incompatibilities
strategy:
fail-fast: false
matrix:
image:
- ubuntu-latest
- windows-latest
- macos-latest
isDevelop:
- ${{ github.event_name == 'push' && github.ref_name == 'develop' }}
# Skip the ubuntu-latest build for the develop branch as the dedicated CD build_develop workflow handles that
exclude:
- isDevelop: true
image: ubuntu-latest
runs-on: ${{ matrix.image }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"
# Workaround for yarn install timeouts, especially on Windows
- run: yarn config set network-timeout 300000
- name: Install Dependencies
run: "./scripts/layered.sh"

View File

@ -6,51 +6,73 @@ concurrency: ${{ github.workflow }}
jobs:
build:
name: Build package
if: github.event.release.prerelease == false
environment: packages.element.io
runs-on: ubuntu-latest
env:
R2_INCOMING_BUCKET: ${{ vars.R2_INCOMING_BUCKET }}
R2_URL: ${{ vars.CF_R2_S3_API }}
VERSION: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Download package
run: |
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: |
wget "https://packages.element.io/element-release-key.gpg"
gpg --import element-release-key.gpg
gpg --fingerprint "$FINGERPRINT"
gpg --verify "element-$VERSION.tar.gz.asc" "element-$VERSION.tar.gz"
env:
FINGERPRINT: ${{ vars.GPG_FINGERPRINT }}
- name: Prepare
run: |
mkdir -p /tmp/element-web-debian/DEBIAN
cp -R debian/ /tmp/element-web-debian/DEBIAN/
mkdir -p /tmp/element-web-debian/usr/share/element-web/
mkdir -p debian/tmp/DEBIAN
find debian -maxdepth 1 -type f -exec cp "{}" debian/tmp/DEBIAN/ \;
mkdir -p debian/tmp/usr/share/element-web/ debian/tmp/etc/element-web/
wget https://github.com/vector-im/element-web/releases/download/$VERSION/element-$VERSION.tar.gz
mv element-* /tmp/element-web-debian/usr/share/element-web
mv debian/usr/share/element-web/config.sample.json /tmp/element-web-debian/usr/share/element-web/config.json
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 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: |
VERSION=$(cat package.json | jq -r .version)
TIME=$(date -d "$PUBLISHED_AT" -R)
{
echo "element-web ($VERSION) default; urgency=medium"
echo "$BODY" | sed 's/^##/\n */g;s/^\*/ */g' | perl -pe 's/\[.+?]\((.+?)\)/\1/g'
echo ""
echo " -- $ACTOR <support@element.io> $TIME"
} > debian/tmp/DEBIAN/changelog
env:
VERSION: ${{ github.ref_name }}
ACTOR: ${{ github.actor }}
VERSION: ${{ github.event.release.tag_name }}
BODY: ${{ github.event.release.body }}
PUBLISHED_AT: ${{ github.event.release.published_at }}
- name: Build deb package
run: |
VERSION=$(cat package.json | jq -r .version)
chmod -R u=rw,go=r /tmp/element-web-debian/usr/share/element-web/
dpkg-deb -Zxz --root-owner-group -VVersion=$VERSION --build /tmp/element-web-debian element-web.deb
dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog
dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb
# For now just upload the artifact to github
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: debs
path: "*.deb"
name: element-web.deb
path: element-web.deb
retention-days: 14
#- name: Upload incoming deb
# run: aws s3 cp element-io-archive-keyring.deb "s3://$R2_INCOMING_BUCKET" --endpoint-url "$R2_URL" --region auto
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
#reprepro:
# needs: build
# name: Run reprepro
# if: inputs.deploy && github.event.release.prerelease == false
# uses: ./.github/workflows/reprepro.yaml
# secrets: inherit
# with:
# incoming: element-web.deb
- name: Publish to packages.element.io
if: github.event.release.prerelease == false
uses: element-hq/packages.element.io@master
with:
file: element-web.deb
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
bucket-api: ${{ vars.CF_R2_S3_API }}
bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
bucket-access-key: ${{ secrets.CF_R2_TOKEN }}

View File

@ -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:
@ -21,9 +21,9 @@ jobs:
R2_URL: ${{ vars.CF_R2_S3_API }}
R2_PUBLIC_URL: "https://element-web-develop.element.io"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"
@ -47,7 +47,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 +84,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,33 +7,52 @@ 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
runs-on: ubuntu-latest
environment: dockerhub
strategy:
fail-fast: false
matrix:
include:
- variant: vanilla
# Variant we ship to aid ESS in providing a build on the OpenCoDE platform including specific modules
- variant: opendesk
flavor: suffix=-opendesk,onlatest=true
prepare: mv variants/openDesk/* .
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
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 }}
- name: Set up QEMU
uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # v2
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3
with:
install: true
- name: Login to Docker Hub
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5
with:
images: |
vectorim/element-web
@ -42,9 +61,11 @@ jobs:
type=ref,event=tag
flavor: |
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }}
${{ matrix.flavor }}
- name: Build and push
uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4
id: build-and-push
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5
with:
context: .
push: true
@ -52,8 +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
uses: peter-evans/dockerhub-description@dc67fad7001ef9e8e3c124cb7a64e16d0a63d864 # v3
if: matrix.variant == 'vanilla'
uses: peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae # v4
continue-on-error: true
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}

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

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

@ -0,0 +1,10 @@
name: Localazy Download
on:
workflow_dispatch: {}
schedule:
- cron: "0 6 * * 1,3,5" # Every Monday, Wednesday and Friday at 6am UTC
jobs:
download:
uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_download.yaml@main
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

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

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

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

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

@ -0,0 +1,11 @@
name: Release Drafter
on:
push:
branches: [staging]
workflow_dispatch: {}
concurrency: ${{ github.workflow }}
jobs:
draft:
uses: matrix-org/matrix-js-sdk/.github/workflows/release-drafter-workflow.yml@develop
with:
include-changes: matrix-react-sdk

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

@ -0,0 +1,15 @@
# Gitflow merge-back master->develop
name: Merge master -> develop
on:
push:
branches: [master]
concurrency: ${{ github.repository }}-${{ github.workflow }}
jobs:
merge:
uses: matrix-org/matrix-js-sdk/.github/workflows/release-gitflow.yml@develop
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
with:
dependencies: |
matrix-react-sdk
matrix-js-sdk

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

@ -0,0 +1,61 @@
name: Release Process
on:
workflow_dispatch:
inputs:
mode:
description: What type of release
required: true
default: rc
type: choice
options:
- rc
- final
concurrency: ${{ github.workflow }}
jobs:
release:
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
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: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
repository: element-hq/element-desktop
event-type: upstream-release-notify
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

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

@ -0,0 +1,124 @@
name: Cut branches
on:
workflow_dispatch:
inputs:
element-desktop:
description: Prepare element-desktop
required: true
type: boolean
default: true
element-web:
description: Prepare element-web
required: true
type: boolean
default: true
matrix-react-sdk:
description: Prepare matrix-react-sdk
required: true
type: boolean
default: true
matrix-js-sdk:
description: Prepare matrix-js-sdk
required: true
type: boolean
default: true
jobs:
prepare:
runs-on: ubuntu-latest
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: element-hq/element-desktop
path: element-desktop
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Element Web
uses: actions/checkout@v4
if: inputs.element-web
with:
repository: element-hq/element-web
path: element-web
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Matrix React SDK
uses: actions/checkout@v4
if: inputs.matrix-react-sdk
with:
repository: matrix-org/matrix-react-sdk
path: matrix-react-sdk
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Checkout Matrix JS SDK
uses: actions/checkout@v4
if: inputs.matrix-js-sdk
with:
repository: matrix-org/matrix-js-sdk
path: matrix-js-sdk
ref: staging
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Merge develop
run: |
git config --global user.email "releases@riot.im"
git config --global user.name "RiotRobot"
for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" merge origin/develop; done
- name: Push staging
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:
@ -14,9 +16,9 @@ jobs:
name: "Typescript Syntax Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"
@ -28,15 +30,17 @@ jobs:
i18n_lint:
name: "i18n Check"
uses: matrix-org/matrix-react-sdk/.github/workflows/i18n_check.yml@develop
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
with:
hardcoded-words: "Element"
js_lint:
name: "ESLint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"
@ -51,9 +55,9 @@ jobs:
name: "Style Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"
@ -64,13 +68,30 @@ 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"
# 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
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
cache: "yarn"

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:
@ -15,10 +17,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Yarn cache
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
cache: "yarn"
@ -27,15 +29,31 @@ jobs:
- name: Get number of CPU cores
id: cpu-cores
uses: SimenB/github-actions-cpu-cores@410541432439795d30db6501fb1d8178eb41e502 # v1
uses: SimenB/github-actions-cpu-cores@97ba232459a8e02ff6121db9362b09661c875ab8 # v2
- name: Run tests with coverage
run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}"
- 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

@ -10,9 +10,9 @@ jobs:
if: |
contains(github.event.issue.assignees.*.login, 't3chguy') ||
contains(github.event.issue.assignees.*.login, 'andybalaam') ||
contains(github.event.issue.assignees.*.login, 'justjanne')
contains(github.event.issue.assignees.*.login, 'MidhunSureshR')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/67
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

@ -3,6 +3,10 @@ name: Move labelled issues to correct projects
on:
issues:
types: [labeled]
workflow_call:
secrets:
ELEMENT_BOT_TOKEN:
required: true
jobs:
apply_Z-Labs_label:
@ -22,7 +26,7 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') ||
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({
@ -39,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({
@ -56,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:
@ -74,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:
@ -85,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:
@ -96,46 +100,7 @@ jobs:
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/48
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
ps_features1:
name: Add labelled issues to PS features team 1
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Polls') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
(contains(github.event.issue.labels.*.name, 'A-Voice-Messages') &&
!contains(github.event.issue.labels.*.name, 'A-Broadcast')) ||
(contains(github.event.issue.labels.*.name, 'A-Session-Mgmt') &&
contains(github.event.issue.labels.*.name, 'A-User-Settings'))
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/56
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
ps_features2:
name: Add labelled issues to PS features team 2
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-DM-Start') ||
contains(github.event.issue.labels.*.name, 'A-Broadcast')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/vector-im/projects/58
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
ps_features3:
name: Add labelled issues to PS features team 3
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor')
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/48
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
voip:
@ -146,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:
@ -157,5 +122,44 @@ 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:
name: Add labelled issues to tech debt project
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Developer-Experience') ||
contains(github.event.issue.labels.*.name, 'A-Documentation') ||
contains(github.event.issue.labels.*.name, 'A-Packaging') ||
contains(github.event.issue.labels.*.name, 'A-Technical-Debt') ||
contains(github.event.issue.labels.*.name, 'A-Testing') ||
contains(github.event.issue.labels.*.name, 'Z-Flaky-Test')
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/element-hq/projects/101
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
element_r:
name: Add Element R issues to Crypto Team board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- id: add_to_project
uses: actions/add-to-project@v1.0.1
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- id: set_fields
uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step
field-keys: Workstream,module
field-values: Element-R,web
env:
PROJECT_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({

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

@ -0,0 +1,31 @@
# 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"
- 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@6d6857d36972b65feb161a90e484f2984215f83e # 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 }}
@ -62,7 +62,14 @@ jobs:
headers,
});
if (!res.ok) {
console.log(roomId, "failed to fetch", await res.text());
return;
}
const data = await res.json();
console.log(roomId, "got event", data);
const topic = data.topic.replace(regex, releaseTopic);
if (topic === data.topic) {
console.log(roomId, "nothing to do");

View File

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

2
.gitignore vendored
View File

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

View File

@ -22,6 +22,13 @@ electron/pub
# Raises an error because it contains a template var breaking the script tag
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.
@ -204,7 +204,7 @@ and we'll try to fix it :)
In order to have a concrete record that your contribution is intentional
and you agree to license it under the same terms as the project's license, we've
adopted the same lightweight approach that the Linux Kernel
(https://www.kernel.org/doc/Documentation/SubmittingPatches), Docker
(https://www.kernel.org/doc/html/latest/process/submitting-patches.html), Docker
(https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other
projects use: the DCO (Developer Certificate of Origin:
http://developercertificate.org/). This is a simple declaration that you wrote
@ -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

110
README.md
View File

@ -1,7 +1,7 @@
[![Chat](https://img.shields.io/matrix/element-web:matrix.org?logo=matrix)](https://matrix.to/#/#element-web:matrix.org)
![Tests](https://github.com/vector-im/element-web/actions/workflows/tests.yaml/badge.svg)
![Static Analysis](https://github.com/vector-im/element-web/actions/workflows/static_analysis.yaml/badge.svg)
[![Weblate](https://translate.element.io/widgets/element-web/-/element-web/svg-badge.svg)](https://translate.element.io/engage/element-web/)
![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)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=vulnerabilities)](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:
@ -388,10 +314,8 @@ To add a new translation, head to the [translating doc](docs/translating.md).
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
[<img src="https://translate.element.io/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.element.io/engage/element-web/?utm_source=widget)
# Triaging issues
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.

33
book.toml Normal file
View File

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

View File

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

@ -113,15 +113,17 @@ Unless otherwise specified, the following applies to all code:
}
```
14. Explicitly cast to a boolean, rather than relying on implicit truthiness of non-boolean values:
14. If a variable's type should be boolean, make sure it really is one.
```typescript
const isRealUser = !!userId && ...;
// ... or ...
const isRealUser = Boolean(userId) && ...;
const isRealUser = !!userId && ...; // good
const isRealUser = Boolean(userId) && Boolean(userName); // also good
const isRealUser = Boolean(userId) && isReal; // also good (where isReal is another boolean variable)
const isRealUser = Boolean(userId && userName); // also fine
const isRealUser = Boolean(userId || userName); // good: same as &&
const isRealUser = userId && ...; // bad: isRealUser is userId's type, not a boolean
// but *not*:
const isRealUser = userId && ...; // invalid implicit cast
if (userId) // fine: userId is evaluated for truthiness, not stored as a boolean
```
15. Use `switch` statements when checking against more than a few enum-like values.
@ -223,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/.gitignore vendored Normal file
View File

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

2
debian/conffiles vendored
View File

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

13
debian/control vendored
View File

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

41
docs/SUMMARY.md Normal file
View File

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

View File

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

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

@ -54,8 +54,8 @@ One of the following options **must** be supplied:
being optional.
If both `default_server_config` and `default_server_name` are used, Element will try to look up the connection
infomation using `.well-known`, and if that fails, take `default_server_config` as the homeserver connection
infomation.
information using `.well-known`, and if that fails, take `default_server_config` as the homeserver connection
information.
## Labs flags
@ -137,9 +137,9 @@ 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 string": {"languageCode": "new string"}}`. See https://github.com/matrix-org/matrix-react-sdk/pull/7886 for details.
`{"affected|translation|key": {"languageCode": "new string"}}`. See https://github.com/matrix-org/matrix-react-sdk/pull/7886 for details.
12. `branding`: Options for configuring various assets used within the app. Described in more detail down below.
13. `embedded_pages`: Further optional URLs for various assets used within the app. Described in more detail down below.
14. `disable_3pid_login`: When `false` (default), **enables** the options to log in with email address or phone number. Set to
@ -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
@ -355,6 +404,8 @@ If you run your own rageshake server to collect bug reports, the following optio
2. `uisi_autorageshake_app`: If a user has enabled the "automatically send debug logs on decryption errors" flag, this option will be sent
alongside the rageshake so the rageshake server can filter them by app name. By default, this will be `element-auto-uisi`
(in contrast to other rageshakes submitted by the app, which use `element-web`).
3. `existing_issues_url`: URL for where to find existing issues.
4. `new_issue_url`: URL for where to submit new issues.
If you would like to use [Sentry](https://sentry.io/) for rageshake data, add a `sentry` object to your config with the following values:
@ -478,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

@ -36,7 +36,7 @@ When `force_disable` is true:
- any `io.element.e2ee.default` value will be disregarded.
Note: If the server is configured to forcibly enable encryption for some or all rooms,
this behaviour will be overriden.
this behaviour will be overridden.
# Secure backup

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,6 +97,15 @@ 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.
@ -128,12 +114,33 @@ Enables rendering of MD / HTML in room topics.
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 implemention will remain in use until users log out.
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.
This configuration value is now set to `true` by default. This means that without any additional configuration
every new login will use the new cryptography implementation.
For administrators looking to transition existing users to the new stack, the `RustCrypto.staged_rollout_percent` configuration is available.
This configuration allows for a phased migration of users, represented as an integer percentage (0 to 100). By default, this value is set to `0`,
which means no existing users will be migrated to the new stack. If you wish to migrate all users, you can adjust this value to `100`.
This configuration should be placed under the `setting_defaults` section as shown:
```
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 20
},
```
By adjusting the `RustCrypto.staged_rollout_percent` value, you can control the migration process according to your deployment strategy.
## New room header & details (`feature_new_room_decoration_ui`) [In Development]
Refactors visually the room header and room sidebar
## Enable the notifications panel in the room header (`feature_notifications`)
Unreliable in encrypted rooms.
## Knock rooms (`feature_ask_to_join`) [In Development]
Enables knock feature for rooms. This allows users to ask to join a room.

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

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

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

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

File diff suppressed because one or more lines are too long

View File

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

43
docs/oidc.md Normal file
View File

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

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

@ -6,11 +6,16 @@
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
- Latest LTS version of Node.js installed
- Be able to understand English
- Be able to understand the language you want to translate Element into
## Translating strings vs. marking strings for translation
Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js. It is recommended to call this function wherever you introduce a string constant which should be translated. However, translating can not be performed until after the translation system has been initialized. Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced. This breaks some tooling and makes it difficult to find translatable strings. Therefore, there is the alternative `_td()` function which is used to mark strings for translation, without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
Translating strings are done with the `_t()` function found in matrix-react-sdk/lib/languageHandler.js.
It is recommended to call this function wherever you introduce a string constant which should be translated.
However, translating can not be performed until after the translation system has been initialized.
Thus, sometimes translation must be performed at a different location in the source code than where the string is introduced.
This breaks some tooling and makes it difficult to find translatable strings.
Therefore, there is the alternative `_td()` function which is used to mark strings for translation,
without actually performing the translation (which must still be performed separately, and after the translation system has been initialized).
Basically, whenever a translatable string is introduced, you should call either `_t()` immediately OR `_td()` and later `_t()`.
@ -29,27 +34,39 @@ function getColorName(hex) {
}
```
## Key naming rules
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.
1. Ensure the string doesn't already exist in a related project, such as https://localazy.com/p/element
2. Keys for common strings, i.e. strings that can be used at multiple places must start by `action_` if this is a verb, or `common_` if not
3. Keys for common accessibility strings must start by `a11y_`. Example: `a11y_hide_password`
4. Otherwise, try to group keys logically and nest where appropriate, such as `keyboard_` for strings relating to keyboard shortcuts.
5. Ensure your translation keys do not include `.` or `|` or ` `. Try to balance string length against descriptiveness.
## Adding new strings
1. Check if the import `import { _t } from 'matrix-react-sdk/src/languageHandler';` is present. If not add it to the other import statements. Also import `_td` if needed.
1. Add `_t()` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `yarn i18n` to update `src/i18n/strings/en_EN.json`
1. If you added a string with a plural, you can add other English plural variants to `src/i18n/strings/en_EN.json` (remeber to edit the one in the same project as the source file containing your new translation).
1. Check if the import `import { _t } from 'matrix-react-sdk/src/languageHandler';` is present. If not add it to the other import statements. Also import `_td` if needed.
1. Add `_t()` to your string passing the translation key you come up with based on the rules above. If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
1. Run `yarn i18n` to add the keys to `src/i18n/strings/en_EN.json`
1. Modify the new entries in `src/i18n/strings/en_EN.json` with the English (UK) translations for the added keys.
## Editing existing strings
1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
1. Run `yarn i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
1. Run `yarn prunei18n` to remove the old string from `src/i18n/strings/*.json`.
Edits to existing strings should be performed only via Localazy.
There you can also require all translations to be redone if the meaning of the string has changed significantly.
## Adding variables inside a string.
1. Extend your `_t()` call. Instead of `_t(STRING)` use `_t(STRING, {})`
1. Extend your `_t()` call. Instead of `_t(TKEY)` use `_t(TKEY, {})`
1. Decide how to name it. Please think about if the person who has to translate it can understand what it does. E.g. using the name 'recipient' is bad, because a translator does not know if it is the name of a person, an email address, a user ID, etc. Rather use e.g. recipientEmailAddress.
1. Add it to the array in `_t` for example `_t(STRING, {variable: this.variable})`
1. Add it to the array in `_t` for example `_t(TKEY, {variable: this.variable})`
1. Add the variable inside the string. The syntax for variables is `%(variable)s`. Please note the _s_ at the end. The name of the variable has to match the previous used name.
- You can use the special `count` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. `_t('You have %(count)s new messages', { count: 2 })` would show 'You have 2 new messages', while `_t('You have %(count)s new messages', { count: 1 })` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in `count` is much prefered over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
- You can use the special `count` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. `_t('You have %(count)s new messages', { count: 2 })` would show 'You have 2 new messages', while `_t('You have %(count)s new messages', { count: 1 })` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in `count` is much preferred over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. `_t('<a>Click here!</a>', {}, { 'a': (sub) => <a>{sub}</a> })`. If you don't do the tag substitution you will end up showing literally '<a>' rather than making a hyperlink.
- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. `_t('Your email address is %(emailAddress)s', { emailAddress: <i>{userEmailAddress}</i> })`.
@ -61,4 +78,5 @@ function getColorName(hex) {
- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetion, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetition, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.
- Don't forget curly braces when you assign an expression to JSX attributes in the render method)

View File

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

View File

@ -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,10 +48,16 @@
},
"privacy_policy_url": "https://element.io/cookie-policy",
"features": {
"feature_video_rooms": true
"threadsActivityCentre": true,
"feature_video_rooms": true,
"feature_new_room_decoration_ui": true,
"feature_element_call_video_rooms": true
},
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 100
},
"element_call": {
"url": "https://element-call-livekit.netlify.app"
"url": "https://call.element.dev"
},
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
}

View File

@ -40,9 +40,10 @@ 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).+$"],
coverageReporters: ["text-summary", "lcov"],

37
localazy.json Normal file
View File

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

View File

@ -1,11 +1,11 @@
{
"name": "element-web",
"version": "1.11.41",
"version": "1.11.68",
"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": [
@ -30,58 +30,62 @@
"UserFriendlyError"
],
"scripts": {
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"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 --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": "node scripts/copy-res.js",
"build:genfiles": "yarn build:res && yarn build:jitsi && yarn build:module_system",
"build:res": "ts-node scripts/copy-res.ts",
"build:genfiles": "yarn build:res && yarn build:module_system",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:bundle": "webpack --progress --bail --mode production",
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
"build:module_system": "tsc --project ./tsconfig.module_system.json && node ./lib/module_system/scripts/install.js",
"build:bundle": "webpack --progress --mode production",
"build:bundle-stats": "webpack --progress --mode production --json > webpack-stats.json",
"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 && node scripts/copy-res.js -w",
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
"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.19",
"@types/react": "17.0.58"
"@types/react-dom": "17.0.25",
"@types/react": "17.0.80"
},
"dependencies": {
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz",
"@matrix-org/react-sdk-module-api": "^2.1.0",
"gfm.css": "^1.1.2",
"jsrsasign": "^10.5.25",
"@matrix-org/olm": "3.2.15",
"@matrix-org/react-sdk-module-api": "^2.3.0",
"jsrsasign": "^11.0.0",
"katex": "^0.16.0",
"matrix-js-sdk": "28.1.0",
"matrix-react-sdk": "3.80.0",
"lodash": "^4.17.21",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-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",
@ -99,91 +103,108 @@
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@casualbot/jest-sonar-reporter": "^2.2.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/modernizr": "^3.5.3",
"@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.58",
"@types/react-dom": "17.0.19",
"@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": "^9.0.7",
"@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",
"css-loader": "^4",
"copy-webpack-plugin": "^12.0.0",
"cronstrue": "^2.41.0",
"css-loader": "^7.0.0",
"css-minimizer-webpack-plugin": "^7.0.0",
"dotenv": "^16.0.2",
"eslint": "8.45.0",
"eslint": "8.57.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "^0.7.0",
"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": "^48.0.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fake-indexeddb": "^4.0.0",
"eslint-plugin-unicorn": "^53.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": "^2.0.0",
"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.16",
"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.3.0",
"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.1.6",
"webpack": "^4.46.0",
"typescript": "5.4.5",
"util": "^0.12.5",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.2",
"worker-loader": "^3.0.0",
"worklet-loader": "^2.0.0",
"yaml": "^2.0.1"
"webpack-cli": "^5.0.0",
"webpack-dev-server": "^5.0.0",
"yaml": "^2.3.3"
},
"@casualbot/jest-sonar-reporter": {
"outputDirectory": "coverage",

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

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

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>

3
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

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

View File

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

View File

@ -169,22 +169,22 @@ we don't have an account and should hide them. No account == no guest account ei
<a href="https://element.io" target="_blank" rel="noopener">
<img src="$logoUrl" alt="" class="mx_Logo" />
</a>
<h1 class="mx_Header_title">_t("Welcome to Element")</h1>
<h1 class="mx_Header_title">_t("welcome_to_element")</h1>
<!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it -->
<h4 class="mx_Header_subtitle">_t("Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo")</h4>
<h4 class="mx_Header_subtitle">_t("powered_by_matrix_with_logo")</h4>
<div class="mx_ButtonGroup">
<div class="mx_ButtonRow">
<a href="#/login" class="mx_ButtonParent mx_ButtonSignIn mx_Button_iconSignIn">
<div class="mx_ButtonLabel">_t("Sign In")</div>
<div class="mx_ButtonLabel">_t("action|sign_in")</div>
</a>
<a href="#/register" class="mx_ButtonParent mx_ButtonCreateAccount mx_Button_iconCreateAccount">
<div class="mx_ButtonLabel">_t("Create Account")</div>
<div class="mx_ButtonLabel">_t("action|create_account")</div>
</a>
</div>
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
<div>
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
<div class="mx_ButtonLabel">_t("Explore rooms")</div>
<div class="mx_ButtonLabel">_t("action|explore_rooms")</div>
</a>
</div>
</div>

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

@ -1,248 +0,0 @@
#!/usr/bin/env node
const loaderUtils = require("loader-utils");
// copies the resources into the webapp directory.
//
// Languages are listed manually, so we can choose when to include a translation in the app
// (because having a translation with only 3 strings translated is just frustrating)
// This could readily be automated, but it's nice to explicitly control when new languages are available.
const INCLUDE_LANGS = [
"bg",
"ca",
"cs",
"da",
"de_DE",
"el",
"en_EN",
"en_US",
"eo",
"es",
"et",
"eu",
"fi",
"fr",
"gl",
"he",
"hi",
"hu",
"id",
"is",
"it",
"ja",
"kab",
"ko",
"lo",
"lt",
"lv",
"nb_NO",
"nl",
"nn",
"pl",
"pt",
"pt_BR",
"ru",
"sk",
"sq",
"sr",
"sv",
"te",
"th",
"tr",
"uk",
"vi",
"vls",
"zh_Hans",
"zh_Hant",
];
// 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 = [
["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 parseArgs = require("minimist");
const Cpx = require("cpx");
const chokidar = require("chokidar");
const fs = require("fs");
const argv = parseArgs(process.argv.slice(2), {});
const watch = argv.w;
const verbose = argv.v;
function errCheck(err) {
if (err) {
console.error(err.message);
process.exit(1);
}
}
// Check if webapp exists
if (!fs.existsSync("webapp")) {
fs.mkdirSync("webapp");
}
// Check if i18n exists
if (!fs.existsSync("webapp/i18n/")) {
fs.mkdirSync("webapp/i18n/");
}
function next(i, err) {
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] || {};
let cpx = undefined;
if (!opts.lang) {
cpx = new Cpx.Cpx(source, dest);
}
if (verbose && cpx) {
cpx.on("copy", (event) => {
console.log(`Copied: ${event.srcPath} --> ${event.dstPath}`);
});
cpx.on("remove", (event) => {
console.log(`Removed: ${event.path}`);
});
}
const cb = (err) => {
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 = () => {
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, dest) {
const reactSdkFile = "node_modules/matrix-react-sdk/src/i18n/strings/" + lang + ".json";
const riotWebFile = "src/i18n/strings/" + lang + ".json";
const translations = {};
[reactSdkFile, riotWebFile].forEach(function (f) {
if (fs.existsSync(f)) {
try {
Object.assign(translations, JSON.parse(fs.readFileSync(f).toString()));
} catch (e) {
console.error("Failed: " + f, e);
throw e;
}
}
});
const json = JSON.stringify(translations, null, 4);
const jsonBuffer = Buffer.from(json);
const digest = loaderUtils.getHashDigest(jsonBuffer, null, null, 7);
const filename = `${lang}.${digest}.json`;
fs.writeFileSync(dest + filename, json);
if (verbose) {
console.log("Generated language file: " + filename);
}
return filename;
}
function genLangList(langFileMap) {
const languages = {};
INCLUDE_LANGS.forEach(function (lang) {
const normalizedLanguage = lang.toLowerCase().replace("_", "-");
const languageParts = normalizedLanguage.split("-");
if (languageParts.length == 2 && languageParts[0] == languageParts[1]) {
languages[languageParts[0]] = langFileMap[lang];
} else {
languages[normalizedLanguage] = langFileMap[lang];
}
});
fs.writeFile("webapp/i18n/languages.json", JSON.stringify(languages, null, 4), function (err) {
if (err) {
console.error("Copy Error occured: " + err);
throw new Error("Failed to generate languages.json");
}
});
if (verbose) {
console.log("Generated languages.json");
}
}
/*
* watch the input files for a given language,
* regenerate the file, adding its content-hashed filename to langFileMap
* and regenerating languages.json with the new filename
*/
function watchLanguage(lang, dest, langFileMap) {
const reactSdkFile = "node_modules/matrix-react-sdk/src/i18n/strings/" + lang + ".json";
const riotWebFile = "src/i18n/strings/" + lang + ".json";
// XXX: Use a debounce because for some reason if we read the language
// file immediately after the FS event is received, the file contents
// appears empty. Possibly https://github.com/nodejs/node/issues/6112
let makeLangDebouncer;
const makeLang = () => {
if (makeLangDebouncer) {
clearTimeout(makeLangDebouncer);
}
makeLangDebouncer = setTimeout(() => {
const filename = genLangFile(lang, dest);
langFileMap[lang] = filename;
genLangList(langFileMap);
}, 500);
};
[reactSdkFile, riotWebFile].forEach(function (f) {
chokidar.watch(f).on("add", makeLang).on("change", makeLang).on("error", errCheck);
});
}
// language resources
const I18N_DEST = "webapp/i18n/";
const I18N_FILENAME_MAP = INCLUDE_LANGS.reduce((m, l) => {
const filename = genLangFile(l, I18N_DEST);
m[l] = filename;
return m;
}, {});
genLangList(I18N_FILENAME_MAP);
if (watch) {
INCLUDE_LANGS.forEach((l) => watchLanguage(l.value, I18N_DEST, I18N_FILENAME_MAP));
}
// non-language resources
next(0);

150
scripts/copy-res.ts Executable file
View File

@ -0,0 +1,150 @@
#!/usr/bin/env node
// copies the resources into the webapp directory.
import parseArgs from "minimist";
import * as chokidar from "chokidar";
import * as fs from "node:fs";
import _ from "lodash";
import { util } from "webpack";
import { Translations } from "matrix-web-i18n";
const REACT_I18N_BASE_PATH = "node_modules/matrix-react-sdk/src/i18n/strings/";
const I18N_BASE_PATH = "src/i18n/strings/";
const INCLUDE_LANGS = [...new Set([...fs.readdirSync(I18N_BASE_PATH), ...fs.readdirSync(REACT_I18N_BASE_PATH)])]
.filter((fn) => fn.endsWith(".json"))
.map((f) => f.slice(0, -5));
const argv = parseArgs(process.argv.slice(2), {});
const watch = argv.w;
const verbose = argv.v;
function errCheck(err?: Error): void {
if (err) {
console.error(err.message);
process.exit(1);
}
}
// Check if webapp exists
if (!fs.existsSync("webapp")) {
fs.mkdirSync("webapp");
}
// Check if i18n exists
if (!fs.existsSync("webapp/i18n/")) {
fs.mkdirSync("webapp/i18n/");
}
const logWatch = (path: string) => {
if (verbose) {
console.log(`Watching: ${path}`);
}
};
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";
let translations: Translations = {};
[reactSdkFile, riotWebFile].forEach(function (f) {
if (fs.existsSync(f)) {
try {
translations = _.merge(translations, JSON.parse(fs.readFileSync(f).toString()));
} catch (e) {
console.error("Failed: " + f, e);
throw e;
}
}
});
const json = JSON.stringify(translations, null, 4);
const jsonBuffer = Buffer.from(json);
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);
}
}
function genLangList(langFileMap: Record<string, string>): void {
const languages: Record<string, string> = {};
INCLUDE_LANGS.forEach(function (lang) {
const normalizedLanguage = lang.toLowerCase().replace("_", "-");
const languageParts = normalizedLanguage.split("-");
if (languageParts.length == 2 && languageParts[0] == languageParts[1]) {
languages[languageParts[0]] = langFileMap[lang];
} else {
languages[normalizedLanguage] = langFileMap[lang];
}
});
fs.writeFile("webapp/i18n/languages.json", JSON.stringify(languages, null, 4), function (err) {
if (err) {
console.error("Copy Error occured: " + err.message);
throw new Error("Failed to generate languages.json");
}
});
if (verbose) {
console.log("Generated languages.json");
}
}
/*
* watch the input files for a given language,
* regenerate the file, adding its content-hashed filename to langFileMap
* and regenerating languages.json with the new filename
*/
function watchLanguage(lang: string, dest: string, langFileMap: Record<string, string>): void {
const reactSdkFile = REACT_I18N_BASE_PATH + lang + ".json";
const riotWebFile = I18N_BASE_PATH + lang + ".json";
// XXX: Use a debounce because for some reason if we read the language
// file immediately after the FS event is received, the file contents
// appears empty. Possibly https://github.com/nodejs/node/issues/6112
let makeLangDebouncer: ReturnType<typeof setTimeout>;
const makeLang = (): void => {
if (makeLangDebouncer) {
clearTimeout(makeLangDebouncer);
}
makeLangDebouncer = setTimeout(() => {
const [filename, json] = prepareLangFile(lang, dest);
genLangFile(dest, filename, json);
langFileMap[lang] = filename;
genLangList(langFileMap);
}, 500);
};
[reactSdkFile, riotWebFile].forEach(function (f) {
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, json] = prepareLangFile(l, I18N_DEST);
if (!watch) {
genLangFile(I18N_DEST, filename, json);
}
m[l] = filename;
return m;
}, {});
if (watch) {
INCLUDE_LANGS.forEach((l) => watchLanguage(l, I18N_DEST, I18N_FILENAME_MAP));
} else {
genLangList(I18N_FILENAME_MAP);
}

639
scripts/gen-workflow-mermaid.ts Executable file
View File

@ -0,0 +1,639 @@
#!/usr/bin/env -S npx ts-node
import fs from "node:fs";
import path from "node:path";
import YAML from "yaml";
import parseArgs from "minimist";
import cronstrue from "cronstrue";
import { partition } from "lodash";
const argv = parseArgs<{
debug: boolean;
on: string | string[];
}>(process.argv.slice(2), {
string: ["on"],
boolean: ["debug"],
});
/**
* Generates unique ID strings (incremental base36) representing the given inputs.
*/
class IdGenerator<T> {
private id = 0;
private map = new Map<T, string>();
public get(s: T): string {
if (this.map.has(s)) return this.map.get(s)!;
const id = "ID" + this.id.toString(36).toLowerCase();
this.map.set(s, id);
this.id++;
return id;
}
public debug(): void {
console.log("```");
console.log(this.map);
console.log("```");
}
}
/**
* Type representing a node on a graph with additional metadata
*/
interface Node {
// Workflows are keyed by project/name??id
// Jobs are keyed by id
// Triggers are keyed by id
id: string;
name: string;
shape:
| "round edges"
| "stadium"
| "subroutine"
| "cylinder"
| "circle"
| "flag"
| "rhombus"
| "hexagon"
| "parallelogram"
| "parallelogram_alt"
| "trapezoid"
| "trapezoid_alt"
| "double_circle";
link?: string;
}
/**
* Type representing a directed edge on a graph with an optional label
*/
type Edge<T> = [source: T, destination: T, label?: string];
class Graph<T extends Node> {
public nodes = new Map<string, T>();
public edges: Edge<T>[] = [];
public addNode(node: T): void {
if (!this.nodes.has(node.id)) {
this.nodes.set(node.id, node);
}
}
public removeNode(node: T): Edge<T>[] {
if (!this.nodes.has(node.id)) return [];
this.nodes.delete(node.id);
const [removedEdges, keptEdges] = partition(
this.edges,
([source, destination]) => source === node || destination === node,
);
this.edges = keptEdges;
return removedEdges;
}
public addEdge(source: T, destination: T, label?: string): void {
if (this.edges.some(([_source, _destination]) => _source === source && _destination === destination)) return;
this.edges.push([source, destination, label]);
}
// Removes nodes without any edges
public cull(): void {
const seenNodes = new Set<Node>();
graph.edges.forEach(([source, destination]) => {
seenNodes.add(source);
seenNodes.add(destination);
});
graph.nodes.forEach((node) => {
if (!seenNodes.has(node)) {
graph.nodes.delete(node.id);
}
});
}
public get roots(): Set<T> {
const roots = new Set(this.nodes.values());
this.edges.forEach(([source, destination]) => {
roots.delete(destination);
});
return roots;
}
private componentsRecurse(root: T, visited: Set<T>): T[] {
if (visited.has(root)) return [root];
visited.add(root);
const neighbours = [root];
this.edges.forEach(([source, destination]) => {
if (source === root) {
neighbours.push(...this.componentsRecurse(destination, visited));
} else if (destination === root) {
neighbours.push(...this.componentsRecurse(source, visited));
}
});
return neighbours;
}
public get components(): Graph<T>[] {
const graphs: Graph<T>[] = [];
const visited = new Set<T>();
this.nodes.forEach((node) => {
if (visited.has(node)) return;
const graph = new Graph<T>();
graphs.push(graph);
const nodes = this.componentsRecurse(node, visited);
nodes.forEach((node) => {
graph.addNode(node);
this.edges.forEach((edge) => {
if (edge[0] === node || edge[1] === node) {
graph.addEdge(...edge);
}
});
});
});
return graphs;
}
}
/**
* Type representing a GitHub project
*/
interface Project {
url: string;
name: string;
path: string;
workflows: Map<string, Workflow>;
}
/**
* Type representing a GitHub Actions Workflow
*/
interface Workflow extends Node {
path: string;
project: Project;
jobs: Job[];
on: WorkflowYaml["on"];
}
/**
* Type representing a job within a GitHub Actions Workflow
*/
interface Job extends Node {
jobId: string; // id relative to workflow
needs?: string[];
strategy?: {
matrix: {
[key: string]: string[];
} & {
include?: Record<string, string>[];
exclude?: Record<string, string>[];
};
};
}
/**
* Type representing the YAML structure of a GitHub Actions Workflow file
*/
interface WorkflowYaml {
name: string;
on: {
workflow_run?: {
workflows: string[];
}; // Magic
workflow_call?: {}; // Reusable
workflow_dispatch?: {}; // Manual
pull_request?: {};
merge_group?: {};
push?: {
tags?: string[];
branches?: string[];
};
schedule?: { cron: string }[];
release?: {};
//
label?: {};
issues?: {};
};
jobs: {
[job: string]: {
name?: string;
needs?: string | string[];
strategy?: Job["strategy"];
};
};
}
/**
* Type representing a trigger of a GitHub Actions Workflow
*/
type Trigger = Node;
// TODO workflow_call reusables
/* eslint-disable @typescript-eslint/naming-convention */
const TRIGGERS: {
[key in keyof WorkflowYaml["on"]]: (
data: NonNullable<WorkflowYaml["on"][key]>,
workflow: Workflow,
) => Trigger | Trigger[];
} = {
workflow_dispatch: () => ({
id: "on:workflow_dispatch",
name: "Manual",
shape: "circle",
}),
issues: (_, { project }) => ({ id: `on:issues/${project.name}`, name: `${project.name} Issues`, shape: "circle" }),
label: (_, { project }) => ({ id: "on:label", name: "on: Label", shape: "circle" }),
release: (_, { project }) => ({
id: `on:release/${project.name}`,
name: `${project.name} Release`,
shape: "circle",
}),
push: (data, { project }) => {
const nodes: Trigger[] = [];
data.tags?.forEach((tag) => {
const name = `Push ${project.name}<br>tag ${tag}`;
nodes.push({ id: `on:push/${project.name}/tag/${tag}`, name, shape: "circle" });
});
data.branches?.forEach((branch) => {
const name = `Push ${project.name}<br>${branch}`;
nodes.push({ id: `on:push/${project.name}/branch/${branch}`, name, shape: "circle" });
});
return nodes;
},
schedule: (data) =>
data.map(({ cron }) => ({
id: `on:schedule/${cron}`,
name: cronstrue.toString(cron).replaceAll(", ", "<br>"),
shape: "circle",
})),
pull_request: (_, { project }) => ({
id: `on:pull_request/${project.name}`,
name: `Pull Request<br>${project.name}`,
shape: "circle",
}),
// TODO should we be just dropping these?
workflow_run: (data) => data.workflows.map((parent) => workflows.get(parent)).filter(Boolean) as Workflow[],
};
/* eslint-enable @typescript-eslint/naming-convention */
const triggers = new Map<string, Trigger>(); // keyed by trigger id
const projects = new Map<string, Project>(); // keyed by project name
const workflows = new Map<string, Workflow>(); // keyed by workflow name
function getTriggerNodes<K extends keyof WorkflowYaml["on"]>(key: K, workflow: Workflow): Trigger[] {
if (!TRIGGERS[key]) return [];
if ((typeof argv.on === "string" || Array.isArray(argv.on)) && !toArray(argv.on).includes(key)) {
return [];
}
const data = workflow.on[key]!;
const nodes = toArray(TRIGGERS[key]!(data, workflow));
return nodes.map((node) => {
if (triggers.has(node.id)) return triggers.get(node.id)!;
triggers.set(node.id, node);
return node;
});
}
function readFile(...pathSegments: string[]): string {
return fs.readFileSync(path.join(...pathSegments), { encoding: "utf-8" });
}
function readJson<T extends object>(...pathSegments: string[]): T {
return JSON.parse(readFile(...pathSegments));
}
function readYaml<T extends object>(...pathSegments: string[]): T {
return YAML.parse(readFile(...pathSegments));
}
function toArray<T>(v: T | T[]): T[] {
return Array.isArray(v) ? v : [v];
}
function cartesianProduct<T>(sets: T[][]): T[][] {
return sets.reduce<T[][]>(
(results, ids) =>
results
.map((result) => ids.map((id) => [...result, id]))
.reduce((nested, result) => [...nested, ...result]),
[[]],
);
}
function shallowCompare(obj1: Record<string, any>, obj2: Record<string, any>): boolean {
return (
Object.keys(obj1).length === Object.keys(obj2).length &&
Object.keys(obj1).every((key) => obj1[key] === obj2[key])
);
}
// Data ingest
for (const projectPath of argv._) {
const {
name,
repository: { url },
} = readJson<{ name: string; repository: { url: string } }>(projectPath, "package.json");
const workflowsPath = path.join(projectPath, ".github", "workflows");
const project: Project = {
name,
url,
path: projectPath,
workflows: new Map(),
};
for (const file of fs.readdirSync(workflowsPath).filter((f) => f.endsWith(".yml") || f.endsWith(".yaml"))) {
const data = readYaml<WorkflowYaml>(workflowsPath, file);
const name = data.name ?? file;
const workflow: Workflow = {
id: `${project.name}/${name}`,
name,
shape: "hexagon",
path: path.join(workflowsPath, file),
project,
link: `${project.url}/blob/develop/.github/workflows/${file}`,
on: data.on,
jobs: [],
};
for (const jobId in data.jobs) {
const job = data.jobs[jobId];
workflow.jobs.push({
id: `${workflow.name}/${jobId}`,
jobId,
name: job.name ?? jobId,
strategy: job.strategy,
needs: job.needs ? toArray(job.needs) : undefined,
shape: "subroutine",
link: `${project.url}/blob/develop/.github/workflows/${file}`,
});
}
project.workflows.set(name, workflow);
workflows.set(name, workflow);
}
projects.set(name, project);
}
class MermaidFlowchartPrinter {
private static INDENT = 4;
private currentIndent = 0;
private text = "";
public readonly idGenerator = new IdGenerator();
private print(text: string): void {
this.text += " ".repeat(this.currentIndent) + text + "\n";
}
public finish(): void {
this.indent(-1);
if (this.markdown) this.print("```\n");
console.log(this.text);
}
private indent(delta = 1): void {
this.currentIndent += delta * MermaidFlowchartPrinter.INDENT;
}
public constructor(
direction: "TD" | "TB" | "BT" | "RL" | "LR",
title?: string,
private readonly markdown = false,
) {
if (this.markdown) {
this.print("```mermaid");
}
// Print heading
if (title) {
this.print("---");
this.print(`title: ${title}`);
this.print("---");
}
this.print(`flowchart ${direction}`);
this.indent();
}
public subgraph(id: string, name: string, fn: () => void): void {
this.print(`subgraph ${this.idGenerator.get(id)}["${name}"]`);
this.indent();
fn();
this.indent(-1);
this.print("end");
}
public node(node: Node): void {
const id = this.idGenerator.get(node.id);
const name = node.name.replaceAll('"', "'");
switch (node.shape) {
case "round edges":
this.print(`${id}("${name}")`);
break;
case "stadium":
this.print(`${id}(["${name}"])`);
break;
case "subroutine":
this.print(`${id}[["${name}"]]`);
break;
case "cylinder":
this.print(`${id}[("${name}")]`);
break;
case "circle":
this.print(`${id}(("${name}"))`);
break;
case "flag":
this.print(`${id}>"${name}"]`);
break;
case "rhombus":
this.print(`${id}{"${name}"}`);
break;
case "hexagon":
this.print(`${id}{{"${name}"}}`);
break;
case "parallelogram":
this.print(`${id}[/"${name}"/]`);
break;
case "parallelogram_alt":
this.print(`${id}[\\"${name}"\\]`);
break;
case "trapezoid":
this.print(`${id}[/"${name}"\\]`);
break;
case "trapezoid_alt":
this.print(`${id}[\\"${name}"/]`);
break;
case "double_circle":
this.print(`${id}((("${name}")))`);
break;
}
if (node.link) {
this.print(`click ${id} href "${node.link}" "Click to open workflow"`);
}
}
public edge(source: Node, destination: Node, text?: string): void {
const sourceId = this.idGenerator.get(source.id);
const destinationId = this.idGenerator.get(destination.id);
if (text) {
this.print(`${sourceId}-- ${text} -->${destinationId}`);
} else {
this.print(`${sourceId} --> ${destinationId}`);
}
}
}
const graph = new Graph<Workflow | Node>();
for (const workflow of workflows.values()) {
if (
(typeof argv.on === "string" || Array.isArray(argv.on)) &&
!toArray(argv.on).some((trigger) => trigger in workflow.on)
) {
continue;
}
graph.addNode(workflow);
Object.keys(workflow.on).forEach((trigger) => {
const nodes = getTriggerNodes(trigger as keyof WorkflowYaml["on"], workflow);
nodes.forEach((node) => {
graph.addNode(node);
graph.addEdge(node, workflow, "project" in node ? "workflow_run" : undefined);
});
});
}
// TODO separate disconnected nodes into their own graph
graph.cull();
// This is an awful hack to make the output graphs much better by allowing the splitting of certain nodes //
const bifurcatedNodes = [triggers.get("on:workflow_dispatch")].filter(Boolean) as Node[];
const removedEdgeMap = new Map<Node, Edge<any>[]>();
for (const node of bifurcatedNodes) {
removedEdgeMap.set(node, graph.removeNode(node));
}
const components = graph.components;
for (const node of bifurcatedNodes) {
const removedEdges = removedEdgeMap.get(node)!;
components.forEach((graph) => {
removedEdges.forEach((edge) => {
if (graph.nodes.has(edge[1].id)) {
graph.addNode(node);
graph.addEdge(...edge);
}
});
});
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (argv.debug) {
debugGraph("global", graph);
}
components.forEach((graph) => {
const title = [...graph.roots]
.map((root) => root.name)
.join(" & ")
.replaceAll("<br>", " ");
const printer = new MermaidFlowchartPrinter("LR", title, true);
graph.nodes.forEach((node) => {
if ("project" in node) {
// TODO unsure about this edge
// if (node.jobs.length === 1) {
// printer.node(node);
// return;
// }
// TODO handle job.if on github.event_name
const subgraph = new Graph<Job>();
for (const job of node.jobs) {
subgraph.addNode(job);
if (job.needs) {
toArray(job.needs).forEach((req) => {
subgraph.addEdge(node.jobs.find((job) => job.jobId === req)!, job, "needs");
});
}
}
printer.subgraph(node.id, node.name, () => {
subgraph.edges.forEach(([source, destination, text]) => {
printer.edge(source, destination, text);
});
subgraph.nodes.forEach((job) => {
if (!job.strategy?.matrix) {
printer.node(job);
return;
}
let variations = cartesianProduct(
Object.keys(job.strategy.matrix)
.filter((key) => key !== "include" && key !== "exclude")
.map((matrixKey) => {
return job.strategy!.matrix[matrixKey].map((value) => ({ [matrixKey]: value }));
}),
)
.map((variation) => Object.assign({}, ...variation))
.filter((variation) => Object.keys(variation).length > 0);
if (job.strategy.matrix.include) {
variations.push(...job.strategy.matrix.include);
}
job.strategy.matrix.exclude?.forEach((exclusion) => {
variations = variations.filter((variation) => {
return !shallowCompare(exclusion, variation);
});
});
// TODO validate edge case
if (variations.length === 0) {
printer.node(job);
return;
}
const jobName = job.name.replace(/\${{.+}}/g, "").replace(/(?:\(\)| )+/g, " ");
printer.subgraph(job.id, jobName, () => {
variations.forEach((variation, i) => {
let variationName = job.name;
if (variationName.includes("${{ matrix.")) {
Object.keys(variation).map((key) => {
variationName = variationName.replace(`\${{ matrix.${key} }}`, variation[key]);
});
} else {
variationName = `${variationName} (${Object.values(variation).join(", ")})`;
}
printer.node({ ...job, id: `${job.id}-variation-${i}`, name: variationName });
});
});
});
});
return;
}
printer.node(node);
});
graph.edges.forEach(([sourceName, destinationName, text]) => {
printer.edge(sourceName, destinationName, text);
});
printer.finish();
if (argv.debug) {
printer.idGenerator.debug();
debugGraph("subgraph", graph);
}
});
function debugGraph(name: string, graph: Graph<any>): void {
console.log("```");
console.log(`## ${name}`);
console.log(new Map(graph.nodes));
console.log(graph.edges.map((edge) => ({ source: edge[0].id, destination: edge[1].id, text: edge[2] })));
console.log("```");
console.log("");
}

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

View File

@ -40,12 +40,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<p>
<strong>iOS</strong> (iPhone or iPad)
</p>
<a
href={iosCustomUrl || "https://apps.apple.com/app/vector/id1083446067"}
target="_blank"
rel="noreferrer noopener"
className="mx_ClearDecoration"
>
<a href={iosCustomUrl} target="_blank" rel="noreferrer noopener" className="mx_ClearDecoration">
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
</>
@ -63,7 +58,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
// undefined or string
android.push(
<a
href={andCustomUrl || "https://play.google.com/store/apps/details?id=im.vector.app"}
href={andCustomUrl}
target="_blank"
rel="noreferrer noopener"
className="mx_ClearDecoration"
@ -77,7 +72,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
// undefined or string
android.push(
<a
href={fdroidCustomUrl || "https://f-droid.org/repository/browse/?fdid=im.vector.app"}
href={fdroidCustomUrl}
target="_blank"
rel="noreferrer noopener"
className="mx_ClearDecoration"
@ -92,7 +87,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
android = [];
}
let mobileHeader: ReactNode = <h2 id="step2_heading">{_t("Use %(brand)s on mobile", { brand })}</h2>;
let mobileHeader: ReactNode = <h2 id="step2_heading">{_t("use_brand_on_mobile", { brand })}</h2>;
if (!android.length && !ios) {
mobileHeader = null;
}
@ -104,22 +99,17 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<span className="mx_HomePage_logo">
<img height="42" src="themes/element/img/logos/element-logo.svg" alt="Element" />
</span>
<h1>{_t("Unsupported browser")}</h1>
<h1>{_t("incompatible_browser|title")}</h1>
</div>
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
<h2 id="step1_heading">{_t("Your browser can't run %(brand)s", { brand })}</h2>
<h2 id="step1_heading">{_t("incompatible_browser|summary", { brand })}</h2>
<p>{_t("incompatible_browser|features", { brand })}</p>
<p>
{_t(
"%(brand)s uses advanced browser features which aren't supported by your current browser.",
{ brand },
)}
</p>
<p>
{_t(
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.",
"incompatible_browser|browser_links",
{},
{
chromeLink: (sub) => <a href="https://www.google.com/chrome">{sub}</a>,
@ -128,12 +118,8 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
},
)}
</p>
<p>
{_t(
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.",
)}
</p>
<button onClick={onAccept}>{_t("I understand the risks and wish to continue")}</button>
<p>{_t("incompatible_browser|feature_warning")}</p>
<button onClick={onAccept}>{_t("incompatible_browser|continue_warning")}</button>
</div>
</div>
</div>
@ -151,7 +137,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<div className="mx_HomePage_row mx_Center mx_Spacer">
<p className="mx_Spacer">
<a href="https://element.io" target="_blank" className="mx_FooterLink">
{_t("Go to element.io")}
{_t("go_to_element_io")}
</a>
</p>
</div>

View File

@ -36,7 +36,7 @@ const ErrorView: React.FC<IProps> = ({ title, messages }) => {
<span className="mx_HomePage_logo">
<img height="42" src="themes/element/img/logos/element-logo.svg" alt="Element" />
</span>
<h1>{_t("Failed to start")}</h1>
<h1>{_t("failed_to_start")}</h1>
</div>
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
@ -49,7 +49,7 @@ const ErrorView: React.FC<IProps> = ({ title, messages }) => {
<div className="mx_HomePage_row mx_Center mx_Spacer">
<p className="mx_Spacer">
<a href="https://element.io" target="_blank" className="mx_FooterLink">
{_t("Go to element.io")}
{_t("go_to_element_io")}
</a>
</p>
</div>

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[] = [];
@ -41,7 +41,7 @@ const VectorAuthFooter = (): ReactElement => {
<footer className="mx_AuthFooter" role="contentinfo">
{authFooterLinks}
<a href="https://matrix.org" target="_blank" rel="noreferrer noopener">
{_t("Powered by Matrix")}
{_t("powered_by_matrix")}
</a>
</footer>
);

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

@ -1,31 +0,0 @@
{
"Dismiss": "أهمِل",
"Unknown device": "جهاز مجهول",
"Welcome to Element": "مرحبًا بك في Element",
"Create Account": "أنشِئ حسابًا",
"Explore rooms": "استكشِف الغرف",
"Sign In": "لِج",
"Invalid configuration: no default server specified.": "الضبط غير صالح: لم تحدّد خادومًا مبدئيًا.",
"Your Element is misconfigured": "لم يُضبط تطبيق Element كما ينبغي",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "يحتوي ضبط تطبيق Element على تنسيق JSON غير صالح. من فضلك صحّح المشكلة وأعِد تحميل الصفحة.",
"The message from the parser is: %(message)s": "الرسالة القادمة من المحلّل: %(message)s",
"Invalid JSON": "تنسيق JSON غير صالح",
"Unable to load config file: please refresh the page to try again.": "تعذّر تحميل ملف الضبط: من فضلك أنعِش الصفحة لمعاودة المحاولة.",
"Unexpected error preparing the app. See console for details.": "حدث عُطل غير متوقع أثناء تجهيز التطبيق. طالِع المِعراض للتفاصيل.",
"Download Completed": "اكتمل التنزيل",
"Open": "افتح",
"Go to your browser to complete Sign In": "افتح المتصفح لإكمال الولوج",
"Unsupported browser": "متصفح غير مدعوم",
"Your browser can't run %(brand)s": "لا يمكن لمتصفحك تشغيل %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "يستعمل %(brand)s ميزات متقدمة في المتصفحات لا يدعمها متصفحك الحالي.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "من فضلك ثبّت <chromeLink>كروم</chromeLink> أو <firefoxLink>فَيَرفُكس</firefoxLink> أو <safariLink>سفاري</safariLink> لأفضل تجربة.",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "يمكنك مواصل استعمال متصفحك الحالي ولكن قد لا تعمل بعض المزايا (أو كلها) وقد لا يظهر التطبيق كما ينبغي له أن يظهر.",
"I understand the risks and wish to continue": "أفهم المخاطرة وأود المواصلة",
"Go to element.io": "انتقل إلى element.io",
"Failed to start": "فشل البدء",
"Powered by Matrix": "تدعمه «ماترِكس»",
"Use %(brand)s on mobile": "استعمل %(brand)s على المحمول",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "محادثة لامركزية، مشفرة &amp; تعمل بواسطة $matrixLogo",
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s في %(osName)s",
"%(brand)s Desktop: %(platformName)s": "%(brand)s سطح المكتب %(platformName)s"
}

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