Compare commits

..

321 Commits

Author SHA1 Message Date
RiotRobot
8b7dafffc9 v1.11.78 2024-09-24 12:49:41 +00:00
RiotRobot
8fa6acd0f0 Upgrade dependency to matrix-react-sdk@3.110.0 2024-09-24 12:46:21 +00:00
RiotRobot
e92d75b4fd Upgrade dependency to matrix-js-sdk@34.6.0 2024-09-24 12:39:34 +00:00
RiotRobot
9ac9bc77aa v1.11.78-rc.0 2024-09-19 12:38:16 +00:00
RiotRobot
a3e7ab0bb4 Upgrade dependency to matrix-react-sdk@3.110.0-rc.1 2024-09-19 11:20:28 +00:00
RiotRobot
6512b236cd Upgrade dependency to matrix-js-sdk@34.6.0-rc.0 2024-09-18 13:32:50 +00:00
RiotRobot
7b19facce1 v1.11.77 2024-09-10 13:03:38 +00:00
RiotRobot
e3a4b9ebad Upgrade dependency to matrix-react-sdk@3.109.0 2024-09-10 12:54:54 +00:00
RiotRobot
9520798c7f Upgrade dependency to matrix-js-sdk@34.5.0 2024-09-10 12:32:32 +00:00
RiotRobot
e8ebdd4bff v1.11.77-rc.0 2024-09-03 12:46:15 +00:00
RiotRobot
30d7e5c0b2 Upgrade dependency to matrix-react-sdk@3.109.0-rc.0 2024-09-03 12:43:32 +00:00
RiotRobot
85a2a0893a Upgrade dependency to matrix-js-sdk@34.5.0-rc.0 2024-09-03 12:32:56 +00:00
renovate[bot]
5ee3f4cb9e Update dependency matrix-widget-api to v1.9.0 (#27980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-30 17:06:28 +01:00
Florian Duros
7dc006e13e Merge pull request #27979 from element-hq/florianduros/fix-ci-js-sdk
Add `allowImportingTsExtensions` to tsconfig.json
2024-08-30 14:34:39 +00:00
Florian Duros
4713502232 Add allowImportingTsExtensions to tsconfig.json 2024-08-30 16:21:48 +02:00
R Midhun Suresh
74c796d77a Merge pull request #27972 from element-hq/midhun/fix-stale-bot
Fix stale action not closing issues as expected
2024-08-28 12:38:00 +00:00
R Midhun Suresh
a0c0d366af Give actions permission to job
This is needed so that actions/stale@v9 can delete caches.
Without this permisson, the cache is never deleted leading to some
issues never being checked again.
2024-08-28 17:04:37 +05:30
Michael Telatynski
f5ae24dbd2 Merge pull request #27945 from weeman1337/fix-https-dev-server
Replace old webpack-dev-server https arg
2024-08-28 10:16:50 +00:00
RiotRobot
addb335281 Reset matrix-js-sdk back to develop branch 2024-08-27 12:57:54 +00:00
RiotRobot
2cabeb68ce Reset matrix-react-sdk back to develop branch 2024-08-27 12:57:46 +00:00
RiotRobot
0a1c4b9e60 Merge branch 'master' into develop 2024-08-27 12:57:32 +00:00
RiotRobot
29ddd9e292 v1.11.76 2024-08-27 12:54:50 +00:00
RiotRobot
9da1263581 Upgrade dependency to matrix-react-sdk@3.108.0 2024-08-27 12:46:47 +00:00
RiotRobot
b90b0617dc Upgrade dependency to matrix-js-sdk@34.4.0 2024-08-27 12:39:27 +00:00
David Baker
8805220c9d Merge pull request #27922 from element-hq/dbkr/apps_drawer_height_option
Add docs for widget container height option
2024-08-27 10:22:04 +00:00
David Baker
2b13ae3649 Merge pull request #27958 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.18.0
2024-08-23 16:15:18 +00:00
renovate[bot]
405060cb6a Update typescript-eslint monorepo to v7.18.0 2024-08-23 15:41:02 +00:00
David Baker
9045d9ccaa Merge pull request #27956 from element-hq/renovate/babel-monorepo
Update babel monorepo
2024-08-23 15:23:35 +00:00
renovate[bot]
5b8628ecd8 Update babel monorepo 2024-08-23 13:23:20 +00:00
David Baker
d7fb7cb1e5 Merge pull request #27957 from element-hq/renovate/stylelint
Update stylelint
2024-08-23 13:05:25 +00:00
renovate[bot]
a0875c9aae Update stylelint 2024-08-23 12:48:14 +00:00
David Baker
c5508e0c43 Merge pull request #27955 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-08-23 12:27:59 +00:00
renovate[bot]
bb8b256bbb Update all non-major dependencies 2024-08-23 10:08:33 +00:00
David Baker
599da30c4b Merge pull request #27947 from element-hq/renovate/docker
Update docker
2024-08-22 15:54:52 +00:00
David Baker
58e860de1b Merge pull request #27946 from element-hq/renovate/benc-uk-workflow-dispatch-digest
Update benc-uk/workflow-dispatch digest to e2e5e9a
2024-08-22 15:13:57 +00:00
David Baker
cb79af0d58 Merge pull request #27949 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-08-22 14:53:37 +00:00
renovate[bot]
5ff2e8fa16 Update definitelyTyped 2024-08-22 14:38:24 +00:00
renovate[bot]
37d607181c Update docker 2024-08-22 14:37:44 +00:00
renovate[bot]
80b9ca79e0 Update benc-uk/workflow-dispatch digest to e2e5e9a 2024-08-22 14:37:39 +00:00
Michael Weimann
48aab77424 Replace old webpack-dev-server https arg
There was a breaking change with webpack-dev-server 5.
The --https argument was replaced with --server-type https.

Signed-off-by: Michael Weimann <michael.weimann@nordeck.net>
2024-08-22 16:30:29 +02:00
RiotRobot
720bfacbd9 v1.11.76-rc.0 2024-08-21 13:19:08 +00:00
RiotRobot
c4762d6c86 Upgrade dependency to matrix-react-sdk@3.108.0-rc.0 2024-08-21 13:11:06 +00:00
RiotRobot
a193d8b726 Upgrade dependency to matrix-js-sdk@34.4.0-rc.1 2024-08-21 12:58:30 +00:00
RiotRobot
82d8d734b1 Upgrade dependency to matrix-js-sdk@34.4.0-rc.0 2024-08-20 13:47:41 +00:00
RiotRobot
2bca0fd08c Reset matrix-js-sdk back to develop branch 2024-08-20 11:44:37 +00:00
RiotRobot
ebe41efec2 Reset matrix-react-sdk back to develop branch 2024-08-20 11:44:26 +00:00
RiotRobot
d2a3de8b5a Merge branch 'master' into develop 2024-08-20 11:44:15 +00:00
RiotRobot
0a858e7a79 v1.11.75 2024-08-20 11:41:27 +00:00
RiotRobot
c73301deb1 Upgrade dependency to matrix-react-sdk@3.107.0 2024-08-20 11:39:27 +00:00
RiotRobot
a24dab6859 Upgrade dependency to matrix-js-sdk@34.3.1 2024-08-20 11:31:22 +00:00
David Baker
1e9112aee8 Fix sample config value 2024-08-16 09:41:21 +01:00
David Baker
0935e48b1c Prettier 2024-08-15 14:59:09 +01:00
David Baker
f05b2691b8 Add docs for widget container height option
See https://github.com/matrix-org/matrix-react-sdk/pull/12893
2024-08-15 14:18:35 +01:00
RiotRobot
43fa2e533f Reset matrix-js-sdk back to develop branch 2024-08-13 12:25:53 +00:00
RiotRobot
7bd04185b5 Reset matrix-react-sdk back to develop branch 2024-08-13 12:25:43 +00:00
RiotRobot
62fe7e5024 Merge branch 'master' into develop 2024-08-13 12:25:32 +00:00
RiotRobot
63197f8a25 v1.11.74 2024-08-13 12:22:39 +00:00
RiotRobot
dc9e929758 Upgrade dependency to matrix-react-sdk@3.106.0 2024-08-13 12:14:53 +00:00
RiotRobot
b3daf21561 Upgrade dependency to matrix-js-sdk@34.3.0 2024-08-13 12:07:31 +00:00
Florian Duros
8848df1aa2 Merge pull request #27910 from element-hq/florianduros/update-design-tokens
Update @vector-im/compound-design-tokens
2024-08-09 13:36:53 +00:00
Florian Duros
40faccd4ee Remove old css workaround 2024-08-09 12:29:39 +02:00
Florian Duros
b230e8ae62 Update @vector-im/compound-design-tokens 2024-08-09 12:29:38 +02:00
David Baker
15cc3fbcf3 Merge pull request #27906 from AndrewFerr/af/update-deps-for-msc4157
Update dependencies for MSC4157
2024-08-08 11:56:45 +00:00
Andrew Ferrazzutti
aa17b85823 Update dependencies for MSC4157
Namely, update the widget-sdk to avoid seeing a permissions dialog when
opening the Element Call widget.
2024-08-07 13:26:13 -04:00
Travis Ralston
1e3c145018 Merge pull request #27905 from element-hq/travis/docker-win
dos2unix more Docker scripts
2024-08-07 14:29:04 +00:00
Michael Telatynski
ccb3922202 Fix package.sh gtar & darwin flags
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-07 11:15:00 +01:00
Michael Telatynski
81b8e864f7 Merge pull request #27904 from element-hq/t3chguy/fix/27903
Fix permissions in release tarballs
2024-08-07 09:02:29 +00:00
Travis Ralston
3f4ae7382b dos2unix more Docker scripts 2024-08-06 13:10:20 -06:00
Michael Telatynski
f614c8f0a0 Fix permissions in release tarballs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-06 17:33:26 +01:00
RiotRobot
48b9ec2690 v1.11.74-rc.0 2024-08-06 12:45:48 +00:00
RiotRobot
cbcb0be14a Upgrade dependency to matrix-react-sdk@3.106.0-rc.1 2024-08-06 12:37:22 +00:00
RiotRobot
557a40fad5 Upgrade dependency to matrix-js-sdk@34.3.0-rc.1 2024-08-06 12:28:35 +00:00
RiotRobot
cd196acfd1 Upgrade dependency to matrix-js-sdk@34.3.0-rc.0 2024-08-06 12:05:31 +00:00
Michael Telatynski
8893393f79 Reset matrix-react-sdk back to develop branch 2024-08-06 11:48:49 +01:00
Michael Telatynski
e9e9bce1ad Reset matrix-js-sdk back to develop branch 2024-08-06 11:48:30 +01:00
Michael Telatynski
2fd4c4f6c4 Merge branch 'master' into develop 2024-08-06 11:47:56 +01:00
RiotRobot
a0c654a2e4 v1.11.73 2024-08-06 10:33:12 +00:00
RiotRobot
54f818b64d Upgrade dependency to matrix-react-sdk@3.105.1 2024-08-06 10:29:36 +00:00
Florian Duros
7073fb2faf Merge pull request #27901 from element-hq/florianduros/ci/fix-build
Fix develop build
2024-08-05 17:22:40 +00:00
Florian Duros
6e8f0f6f6d Fix develop build. Use console.warn instead of an undefined compilation object. 2024-08-05 19:10:34 +02:00
Michael Telatynski
627377229c Merge pull request #27900 from element-hq/t3chguy/fix/27886
Update Element icons
2024-08-05 10:16:07 +00:00
Michael Telatynski
3153f8862a Update Element icons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-05 10:48:06 +01:00
Travis Ralston
6efd8a4642 Merge pull request #27891 from element-hq/travis/global-sw
Switch from `self` to `global` for service worker
2024-08-02 14:20:41 +00:00
Travis Ralston
3080c97007 Switch from self to global for service worker 2024-08-01 19:46:03 -06:00
Michael Telatynski
380ab17932 Upgrade target to es2022 (#27884) 2024-08-01 17:14:27 +01:00
Michael Telatynski
1424314f12 Merge pull request #27881 from element-hq/t3chguy/make-sonar-happier
Make sonarcloud happier
2024-07-31 20:40:08 +00:00
Michael Telatynski
446a4c87b6 Merge pull request #27880 from element-hq/actions/localazy-download
Localazy Download
2024-07-31 10:16:13 +00:00
Michael Telatynski
d5f4b1bc86 Make sonarcloud happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 11:03:18 +01:00
Michael Telatynski
bc45415513 Merge branch 'develop' into actions/localazy-download 2024-07-31 09:55:45 +01:00
Michael Telatynski
4b8ed0f16f Discard changes to sonar-project.properties 2024-07-31 09:42:31 +01:00
Michael Telatynski
26ac7462fd Update sonar-project.properties 2024-07-31 09:42:26 +01:00
Michael Telatynski
25d05f8ab2 Update sonar-project.properties 2024-07-31 09:34:31 +01:00
t3chguy
676547e54c [create-pull-request] automated change 2024-07-31 06:07:35 +00:00
Dariusz Niemczyk
03a6b59eb5 feat: Add autoformat and lint for ts/tsx files (#26453)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-30 15:55:34 +01:00
Michael Telatynski
c9aa0ceb00 Fix toast changes in react-sdk
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-30 14:54:21 +01:00
Michael Telatynski
59e526e318 Update unsupported browser react component to new designs (#27857) 2024-07-30 14:16:19 +01:00
RiotRobot
79b6a6fb69 v1.11.72 2024-07-30 12:52:44 +00:00
RiotRobot
181f91a7e8 Upgrade dependency to matrix-react-sdk@3.104.0 2024-07-30 12:48:59 +00:00
RiotRobot
9a3f00a621 Upgrade dependency to matrix-js-sdk@34.2.0 2024-07-30 12:39:59 +00:00
Michael Telatynski
31345ddd36 Merge pull request #27858 from element-hq/t3chguy/fix-jitsi
Fix Jitsi by updating device mute updates over postMessage API
2024-07-25 19:18:42 +00:00
Michael Telatynski
88ddf05930 DRY
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-25 20:10:11 +01:00
Michael Telatynski
5a1b38cd74 Tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-25 20:07:00 +01:00
Michael Telatynski
dd17436eb0 Fix Jitsi by updating device mute updates over postMessage API
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-25 19:59:02 +01:00
Michael Telatynski
334d268555 Merge pull request #27844 from element-hq/renovate/all-minor-patch
Update dependency yaml to v2.5.0
2024-07-24 14:11:09 +00:00
renovate[bot]
d6e3be31d8 Update dependency yaml to v2.5.0 2024-07-24 13:45:43 +00:00
Michael Telatynski
af144e28d8 Merge pull request #27277 from element-hq/renovate/css
Update css
2024-07-24 13:22:43 +00:00
renovate[bot]
98568bd2ad Merge pull request #27828 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-07-24 13:05:07 +00:00
Michael Telatynski
95f3d3c2b7 Hold back postcss
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-24 13:59:48 +01:00
renovate[bot]
6af3afa6fb Update all non-major dependencies 2024-07-24 12:57:44 +00:00
Michael Telatynski
a177fef95b Merge pull request #27830 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-07-24 12:57:10 +00:00
Michael Telatynski
dc72285f6f Merge pull request #27836 from element-hq/renovate/matrix-org
Update dependency matrix-widget-api to v1.7.0
2024-07-24 12:36:42 +00:00
Michael Telatynski
054484bc42 Merge pull request #27835 from element-hq/renovate/jest
Update dependency @casualbot/jest-sonar-reporter to v2.3.1
2024-07-24 12:30:31 +00:00
renovate[bot]
8568578095 Update css 2024-07-24 12:22:43 +00:00
renovate[bot]
260eec2fb7 Update dependency matrix-widget-api to v1.7.0 2024-07-24 12:12:45 +00:00
renovate[bot]
939ddbbee3 Update dependency @casualbot/jest-sonar-reporter to v2.3.1 2024-07-24 12:12:26 +00:00
Michael Telatynski
4ec06daf3e Merge pull request #27829 from element-hq/renovate/babel-monorepo
Update babel monorepo
2024-07-24 12:04:04 +00:00
Michael Telatynski
d43767dfa8 Merge pull request #27831 from element-hq/renovate/typescript
Update dependency typescript to v5.5.4
2024-07-24 12:03:53 +00:00
Michael Telatynski
971d6736a3 Merge pull request #27832 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.16.1
2024-07-24 12:03:42 +00:00
Michael Telatynski
9f9e56c008 Merge pull request #27834 from element-hq/renovate/stylelint
Update dependency stylelint to v16.7.0
2024-07-24 12:03:29 +00:00
Michael Telatynski
e4d2edb624 Merge pull request #27827 from element-hq/renovate/docker
Update docker
2024-07-24 11:50:43 +00:00
renovate[bot]
75e7fd5e87 Update dependency stylelint to v16.7.0 2024-07-24 11:42:53 +00:00
renovate[bot]
2f88b3d1fd Update typescript-eslint monorepo to v7.16.1 2024-07-24 11:42:17 +00:00
renovate[bot]
cffdaa6281 Update dependency typescript to v5.5.4 2024-07-24 11:42:01 +00:00
renovate[bot]
916b883de1 Update definitelyTyped 2024-07-24 11:41:47 +00:00
renovate[bot]
45410dc883 Update babel monorepo 2024-07-24 11:41:25 +00:00
renovate[bot]
0b21ba0a27 Update docker 2024-07-24 11:40:31 +00:00
RiotRobot
5bd9529d37 v1.11.72-rc.0 2024-07-24 11:38:07 +00:00
RiotRobot
630be696b1 Upgrade dependency to matrix-react-sdk@3.104.0-rc.1 2024-07-24 11:34:34 +00:00
David Langley
085294d7b5 Merge pull request #27807 from element-hq/langleyd/policy-update
Update Supported Environments
2024-07-24 07:56:18 +00:00
David Langley
f22d719d38 lint 2024-07-23 18:47:11 +01:00
David Langley
df53ba6d3a Update Supported Environments 2024-07-23 18:40:14 +01:00
RiotRobot
7f66d65796 Upgrade dependency to matrix-react-sdk@3.104.0-rc.0 2024-07-23 12:09:34 +00:00
Michael Telatynski
03e6280b6a Upgrade dependency to matrix-js-sdk@34.2.0-rc.0 2024-07-23 13:03:26 +01:00
Michael Telatynski
88b3b922f9 Merge branch 'develop' of https://github.com/vector-im/element-web into staging
# Conflicts:
#	yarn.lock
2024-07-23 12:53:11 +01:00
David Baker
d3f0af6fd1 Merge pull request #27803 from element-hq/dbkr/polyfill_intl_segmenter
Polyfill Intl.Segmenter for wider web browser compatibility
2024-07-23 10:25:16 +00:00
David Baker
9f27685a54 Polyfill Intl.Segmenter
This fixes Element on older versions of Firefox by adding a Polyfill
for Intl.Segmenter. The Polyfill is conditionally imported so it only
inflates the initial bundle size by about 100 bytes. On browsers that
need it, the polyfill is quite large at 317Kb.

Users on these browser will still see the 'unsupported browser' screen,
but will be able to click through to use the app anyway. This keeps the
Intl.Segmenter modernizr check but this would also happen due to
https://github.com/element-hq/element-web/pull/27674
2024-07-23 11:57:12 +02:00
David Baker
1f4006ac13 Merge pull request #27776 from element-hq/dbkr/add_wasm_check
Add a modernizr check for WebAssembly support
2024-07-18 12:34:08 +00:00
David Baker
36ff766be3 Add a modernizr check for WebAssembly support
We don't work at all without this now and currently fail in terrible
ways. This will cause us to display the 'unsupported browser' screen
if we don't have wasm.

Also comment the three different types of error page.

Playwright test coming for this in react-sdk.
2024-07-18 13:05:34 +02:00
Michael Telatynski
ab54cbc329 Merge pull request #27772 from element-hq/t3chguy/modernizr-webaudio
Enable audio/webaudio Modernizr rule
2024-07-17 20:23:51 +00:00
Michael Telatynski
f8701ee1fc delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-17 20:00:11 +01:00
Michael Telatynski
1eea7fffbe Merge branch 'develop' of https://github.com/vector-im/element-web into t3chguy/modernizr-webaudio
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/vector/modernizr.js
2024-07-17 19:58:43 +01:00
Michael Telatynski
8ecf47bce8 Enable audio/webaudio Modernizr rule
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-17 19:58:02 +01:00
David Baker
bc805d2989 Merge pull request #27767 from element-hq/dbkr/unminify_modernizr
Unminify modernizr
2024-07-17 15:09:07 +00:00
David Baker
4728503f66 Exclude modernizr from coverage 2024-07-17 16:51:40 +02:00
David Baker
419f37b31e Merge pull request #27766 from element-hq/dbkr/comment_intl_check
Add comment on why we're adding a custom check
2024-07-17 14:45:37 +00:00
David Baker
a32aca434c Typo
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-17 15:30:01 +01:00
David Baker
73a8aad088 Unminify modernizr
It will get minified by webpack anyway, we may as well have vaguely
sensible diffs if we change it.
2024-07-17 15:44:37 +02:00
David Baker
0273909a43 Add comment on why we're adding a custom check 2024-07-17 15:42:49 +02:00
Travis Ralston
dd685934a3 Merge pull request #27758 from element-hq/travis/add-serviceworker-debug
Add debugging for service worker version check
2024-07-16 20:25:00 +00:00
Travis Ralston
5eebd54baf Appease the linter 2024-07-16 13:54:02 -06:00
Travis Ralston
764654fffb Add debugging for service worker version check 2024-07-16 13:50:44 -06:00
RiotRobot
a238990c25 v1.11.71 2024-07-16 12:48:11 +00:00
RiotRobot
655a1ae065 Upgrade dependency to matrix-react-sdk@3.103.0 2024-07-16 12:32:46 +00:00
RiotRobot
41d6fe3b23 Upgrade dependency to matrix-js-sdk@34.1.0 2024-07-16 12:22:12 +00:00
Michael Telatynski
a10d2b1828 Merge pull request #27705 from element-hq/t3chguy/wi/220
Docs: Align `widget_build_url_ignore_dm` with call behaviour switch between 1:1 and Widget
2024-07-15 09:08:57 +00:00
Michael Telatynski
af3fb76ecf Merge pull request #26486 from element-hq/renovate/lock-file-maintenance
Lock file maintenance
2024-07-10 16:31:35 +00:00
renovate[bot]
d030a7d86f Lock file maintenance 2024-07-10 16:16:51 +00:00
David Langley
79163a1f16 Merge pull request #27706 from element-hq/langleyd/fix_triage_board_columns
Move needs info and flaky tests issues to the correct columns
2024-07-10 15:46:14 +00:00
David Langley
9d1c724402 Merge branch 'develop' into langleyd/fix_triage_board_columns 2024-07-10 16:33:58 +01:00
David Langley
493e7f7f3e Move needs info and flaky tests issues to the correct columns 2024-07-10 16:23:19 +01:00
Travis Ralston
39bdcafbe2 Merge pull request #27675 from element-hq/travis/authed-media-ipc
Add Electron IPC APIs for authenticated media
2024-07-10 13:41:40 +00:00
Michael Telatynski
df92294056 Update docs/config.md
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-07-10 10:16:50 +01:00
Michael Telatynski
7a45ca2614 Align widget_build_url_ignore_dm with call behaviour switch between 1:1 and Widget
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-10 08:58:26 +01:00
Michael Telatynski
6d84073bec Merge pull request #27703 from element-hq/renovate/all-minor-patch
Update dependency matrix-web-i18n to v3.3.0
2024-07-09 17:39:48 +00:00
renovate[bot]
8e1561b1c7 Update dependency matrix-web-i18n to v3.3.0 2024-07-09 16:45:16 +00:00
renovate[bot]
0f01d7adbe Merge pull request #27696 from element-hq/renovate/all-minor-patch
Update dependency katex to v0.16.11
2024-07-09 16:09:21 +00:00
renovate[bot]
579e9a3d3f Update dependency katex to v0.16.11 2024-07-09 15:56:52 +00:00
Michael Telatynski
167bcdf9d9 Merge pull request #27700 from element-hq/renovate/rimraf-6.x
Update dependency rimraf to v6
2024-07-09 15:01:49 +00:00
Michael Telatynski
118f71ea3b Merge pull request #27698 from element-hq/renovate/typescript
Update dependency typescript to v5.5.3
2024-07-09 14:50:05 +00:00
Michael Telatynski
7b4e00c72e Merge branch 'develop' into renovate/rimraf-6.x 2024-07-09 15:50:05 +01:00
Michael Telatynski
35fdffb245 Specify Node 20 minimum 2024-07-09 15:49:50 +01:00
Michael Telatynski
67fd02dc4a Merge pull request #27695 from element-hq/renovate/docker
Update docker
2024-07-09 14:48:48 +00:00
Michael Telatynski
b1d94de413 Merge pull request #27697 from element-hq/renovate/definitelytyped
Update dependency @types/lodash to v4.17.6
2024-07-09 14:47:38 +00:00
Michael Telatynski
a2589cab2e Merge pull request #27699 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.15.0
2024-07-09 14:45:35 +00:00
Michael Telatynski
cfb800d916 Update docs.yml 2024-07-09 15:51:43 +01:00
renovate[bot]
4a25cc4b43 Update dependency rimraf to v6 2024-07-09 14:37:33 +00:00
renovate[bot]
fd65226b1a Update typescript-eslint monorepo to v7.15.0 2024-07-09 14:37:22 +00:00
renovate[bot]
722923befd Update dependency typescript to v5.5.3 2024-07-09 14:36:56 +00:00
renovate[bot]
fdefe624d2 Update dependency @types/lodash to v4.17.6 2024-07-09 14:36:45 +00:00
renovate[bot]
2443ae118a Update docker 2024-07-09 14:36:23 +00:00
RiotRobot
bc27c1dcc3 v1.11.71-rc.0 2024-07-09 13:39:19 +00:00
Michael Telatynski
be4f779150 Merge remote-tracking branch 'origin/staging' into staging 2024-07-09 14:35:03 +01:00
Michael Telatynski
d584dc0d52 Specify node version in package.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-09 14:34:52 +01:00
RiotRobot
e6a60e0770 Upgrade dependency to matrix-react-sdk@3.103.0-rc.1 2024-07-09 13:21:56 +00:00
RiotRobot
31032525c9 Upgrade dependency to matrix-js-sdk@34.1.0-rc.3 2024-07-09 13:16:51 +00:00
RiotRobot
42f1ae1dde Upgrade dependency to matrix-js-sdk@34.1.0-rc.2 2024-07-09 12:19:41 +00:00
RiotRobot
fbd1e4f731 Merge remote-tracking branch 'origin/develop' into staging 2024-07-09 11:58:22 +00:00
Michael Telatynski
3091db7bb1 Merge pull request #27685 from element-hq/t3chguy/fix-init-unsafe-code
Ensure we do not load matrix-react-sdk is a manner which can white-screen
2024-07-09 07:57:26 +00:00
Michael Telatynski
99553210be Ensure we do not load matrix-react-sdk is a manner which can white-screen
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-08 15:52:53 +01:00
RiotRobot
8fc13ba4b6 v1.11.70 2024-07-08 12:31:17 +00:00
RiotRobot
5722f074d1 Upgrade dependency to matrix-react-sdk@3.102.0 2024-07-08 12:26:31 +00:00
RiotRobot
4f718cb7d3 Upgrade dependency to matrix-js-sdk@34.0.0 2024-07-08 12:20:06 +00:00
Richard van der Hoff
6452f27cb6 Merge pull request #27673 from frankenstein91/Libera.Chatbridge
remove Libera.Chat bridge from room_directory on `app.element.io` and `develop.element.io`
2024-07-08 12:17:04 +00:00
Richard van der Hoff
700886c0e2 Merge branch 'develop' into Libera.Chatbridge 2024-07-08 12:43:55 +01:00
Michael Telatynski
668450325c Merge pull request #27677 from element-hq/t3chguy/intl-segmenter-modernizr
Add Modernizr rule for Intl.Segmenter
2024-07-05 11:56:08 +00:00
Richard van der Hoff
b4aa375619 Merge pull request #27650 from element-hq/rav/remove_olm
Remove code which loads legacy libolm
2024-07-05 10:54:08 +00:00
Michael Telatynski
be92e64458 Merge branch 'develop' of https://github.com/vector-im/element-web into t3chguy/intl-segmenter-modernizr
# Conflicts:
#	src/vector/index.ts
2024-07-05 11:27:03 +01:00
Michael Telatynski
4d0c740ad2 Add Modernizr rule for Intl.Segmenter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-05 11:26:22 +01:00
Richard van der Hoff
438d07bc75 Merge branch 'develop' into rav/remove_olm 2024-07-05 11:21:38 +01:00
Michael Telatynski
b4d343053d Merge pull request #25477 from SuperKenVery/superkenvery/webaudioapi
Remove message audio element (for another pr)
2024-07-04 18:36:53 +00:00
Michael Telatynski
88d507f4f9 Update index.html 2024-07-04 19:23:13 +01:00
Travis Ralston
8e03b273ae Add Electron IPC APIs for authenticated media 2024-07-04 11:58:32 -06:00
Robin
4ffc77dfef Merge pull request #27674 from robintown/emoji-false-positives
Add a Modernizr check for v mode regexes
2024-07-04 17:25:38 +00:00
Robin
e4d138f4d1 Add a Modernizr check for v mode regexes
I plan to use v mode regexes to test for emoji sequences, and Michael has advised me that we need to ensure that the "incompatible browser" screen shows if they are not supported.
2024-07-04 12:53:39 -04:00
Michael Telatynski
746c20bdba Merge branch 'develop' of https://github.com/vector-im/element-web into fork/SuperKenVery/superkenvery/webaudioapi 2024-07-04 15:45:02 +01:00
Florian Duros
cd2bd81268 Merge pull request #27672 from element-hq/florianduros/ci/node-version
Use last node lts in workflow
2024-07-04 14:07:29 +00:00
Florian Duros
561868f12a fix: use last node lts in workflow 2024-07-04 15:52:42 +02:00
Frankenstein91
833072f753 remove Libera.Chat bridge from room_directory
As of 2023-08-05, the official Libera.Chat bridge was taken down.
2024-07-04 15:34:35 +02:00
Michael Telatynski
d1f0cbea27 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-04 14:04:48 +01:00
RiotRobot
9353b27ce7 v1.11.70-rc.1 2024-07-04 13:04:06 +00:00
RiotRobot
60b3b95603 Upgrade dependency to matrix-react-sdk@3.102.0-rc.1 2024-07-04 13:01:06 +00:00
RiotRobot
944516c2f7 Upgrade dependency to matrix-js-sdk@34.0.0-rc.1 2024-07-04 12:51:20 +00:00
Michael Telatynski
e80ab738ce Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-04 13:51:02 +01:00
Michael Telatynski
d60768daec Merge branch 'develop' of https://github.com/vector-im/element-web into fork/SuperKenVery/superkenvery/webaudioapi 2024-07-04 11:54:07 +01:00
Florian Duros
a7ace95eac Merge pull request #27662 from element-hq/florianduros/ci/mdbooks
Remove `mdbook-combiner` version
2024-07-03 08:38:51 +00:00
Florian Duros
cdb65233b0 Revert "wip: fake run"
This reverts commit 83186c0403.
2024-07-02 11:27:39 +02:00
Florian Duros
83186c0403 wip: fake run 2024-07-02 11:21:17 +02:00
Florian Duros
8776371ed4 ci: remove mdbook-combiner version 2024-07-02 11:14:44 +02:00
Richard van der Hoff
5f9637b14e Merge remote-tracking branch 'origin/develop' into rav/remove_olm 2024-06-26 18:16:22 +01:00
Michael Telatynski
c924f59f41 Merge pull request #27632 from element-hq/t3chguy/fix-release-note-ingest
Remove redundant reusable workflow input
2024-06-26 17:05:36 +00:00
Michael Telatynski
c6134b1849 Update tsconfig.json 2024-06-26 16:49:29 +01:00
Richard van der Hoff
818ec7529c Remove from package.json too 2024-06-26 16:43:38 +01:00
Richard van der Hoff
7c7cbe655a Remove code which loads legacy libolm
Now that we use the Rust crypto stack
(https://github.com/matrix-org/matrix-react-sdk/pull/12630), the legacy olm
library is unneeded. Remove all the dedicated cruft for loading it.

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-11 13:14:37 +00:00
Michael Telatynski
d615e69a86 Merge pull request #27552 from element-hq/renovate/fake-indexeddb-6.x
Update dependency fake-indexeddb to v6
2024-06-11 12:56:15 +00:00
Michael Telatynski
db1d440e3b Merge pull request #27548 from element-hq/renovate/docker
Update docker/build-push-action digest to ca052bb
2024-06-11 12:55:45 +00:00
Michael Telatynski
24fafe2588 Merge pull request #27550 from element-hq/renovate/stylelint
Update stylelint
2024-06-11 12:55:16 +00:00
Michael Telatynski
1e06e3083f Merge pull request #27549 from element-hq/renovate/definitelytyped
Update dependency @types/lodash to v4.17.5
2024-06-11 12:55:02 +00:00
renovate[bot]
8e9f3a786c Update dependency fake-indexeddb to v6 2024-06-11 12:45:25 +00:00
renovate[bot]
95f134a7c5 Merge pull request #27547 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.13.0
2024-06-11 12:45:04 +00:00
renovate[bot]
50f5c15027 Update stylelint 2024-06-11 12:44:43 +00:00
renovate[bot]
65b43d8dc7 Update dependency @types/lodash to v4.17.5 2024-06-11 12:43:54 +00:00
renovate[bot]
8dad4f5f10 Update docker/build-push-action digest to ca052bb 2024-06-11 12:43:35 +00:00
renovate[bot]
a3a436ad64 Update typescript-eslint monorepo to v7.13.0 2024-06-11 12:28:49 +00:00
RiotRobot
ffb69d4c47 v1.11.69-rc.0 2024-06-11 12:20:51 +00:00
RiotRobot
369ae1208e Upgrade dependency to matrix-react-sdk@3.101.0-rc.0 2024-06-11 12:15:49 +00:00
RiotRobot
050dae7a9f Upgrade dependency to matrix-js-sdk@33.1.0-rc.0 2024-06-11 12:08:25 +00:00
David Baker
a9cd567fc9 Merge pull request #27538 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.12.0
2024-06-07 16:17:11 +00:00
renovate[bot]
82073aea3e Update typescript-eslint monorepo to v7.12.0 2024-06-07 15:28:51 +00:00
David Baker
9cf7b8b6f6 Merge pull request #27535 from element-hq/renovate/definitelytyped
Update definitelyTyped
2024-06-07 15:01:54 +00:00
renovate[bot]
fa5bd19368 Update definitelyTyped 2024-06-07 12:50:03 +00:00
David Baker
fb72597fcf Merge pull request #27534 from element-hq/renovate/babel-monorepo
Update babel monorepo to v7.24.6
2024-06-07 11:57:11 +00:00
renovate[bot]
3ce0d78961 Update babel monorepo to v7.24.6 2024-06-07 11:28:04 +00:00
David Baker
361636a3d1 Merge pull request #27528 from element-hq/renovate/docker
Update docker/login-action digest to 0d4c9c5
2024-06-07 08:36:25 +00:00
Florian Duros
0b49a7724b Merge pull request #27530 from element-hq/florianduros/fix/ci-docs
Fix CI docs generation
2024-06-06 14:13:41 +00:00
Florian Duros
2db2cf2b1b Downgrade mdbook-combiner 2024-06-06 16:02:22 +02:00
Michael Telatynski
c38505598f Update build_develop.yml 2024-06-06 12:22:36 +01:00
renovate[bot]
7e21f12678 Update docker/login-action digest to 0d4c9c5 2024-06-06 10:16:13 +00:00
Richard van der Hoff
4f43c57a96 Merge pull request #27527 from element-hq/rav/rust_migration_rollout_phase2c
Roll out Rust crypto to 60% of existing users on app.element.io
2024-06-06 09:42:46 +00:00
Richard van der Hoff
60d3b59076 Roll out Rust crypto to 60% of existing users on app.element.io 2024-06-06 09:53:29 +01:00
RiotRobot
5a7956fd90 Reset matrix-js-sdk back to develop branch 2024-06-04 13:38:30 +00:00
RiotRobot
e193f57ac7 Reset matrix-react-sdk back to develop branch 2024-06-04 13:38:20 +00:00
许煜恒
b98289c660 Remove (almost) all <audio> tags
Not sure what `remoteAudio` does, seems only used in tests,
so I left it there.
2023-06-27 12:33:04 +08:00
许煜恒
85dbaaa5ff Merge branch 'develop' of github.com:vector-im/element-web into superkenvery/webaudioapi 2023-06-26 23:10:51 +08:00
许煜恒
29c176b521 Remove message audio element (for another pr) 2023-05-30 18:51:11 +08:00
116 changed files with 5847 additions and 4476 deletions

View File

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

3
.github/labels.yml vendored
View File

@@ -261,3 +261,6 @@
color: "ededed"
- name: "Z-t3chguy"
color: "ededed"
- name: "Z-Flaky-Test-Disabled"
description: "The flaking test has been disabled"
color: "ededed"

View File

@@ -37,6 +37,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Workaround for yarn install timeouts, especially on Windows
- run: yarn config set network-timeout 300000

View File

@@ -26,6 +26,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"
@@ -98,7 +99,7 @@ jobs:
running-workflow-name: "Build & Deploy develop.element.io"
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label|Release|prepare).)*$
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

@@ -37,15 +37,15 @@ jobs:
run: ${{ matrix.prepare }}
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3
with:
install: true
- name: Login to Docker Hub
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -65,7 +65,7 @@ jobs:
- name: Build and push
id: build-and-push
uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6
with:
context: .
push: true

View File

@@ -46,6 +46,7 @@ jobs:
with:
cache: "yarn"
cache-dependency-path: element-web/yarn.lock
node-version: "lts/*"
- name: Generate automations docs
working-directory: element-web

View File

@@ -20,7 +20,6 @@ jobs:
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
@@ -31,11 +30,13 @@ jobs:
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
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
repository: element-hq/element-desktop
event-type: upstream-release-notify
workflow: release-drafter.yml
repo: element-hq/element-desktop
ref: staging
# Required when using the `repo` option. Either a PAT or a token generated from the GitHub app or CLI
token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
check:
name: Post release checks

View File

@@ -21,6 +21,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"
@@ -43,6 +44,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Does not need branch matching as only analyses this layer
- name: Install Deps
@@ -60,6 +62,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Needs branch matching as it inherits .stylelintrc.js from matrix-react-sdk
- name: Install Dependencies
@@ -77,6 +80,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
# Does not need branch matching as only analyses this layer
- name: Install Deps
@@ -94,6 +98,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Deps
run: "scripts/layered.sh"

View File

@@ -23,6 +23,7 @@ jobs:
uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Dependencies
run: "./scripts/layered.sh"

View File

@@ -56,13 +56,48 @@ jobs:
move_needs_info_issues:
name: X-Needs-Info issues to Need info column on triage board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'X-Needs-Info')
steps:
- uses: konradpabjan/move-labeled-or-milestoned-issue@190352295fe309fcb113b49193bc81d9aaa9cb01
- id: add_to_project
uses: actions/add-to-project@v1.0.2
with:
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
project-url: "https://github.com/orgs/element-hq/projects/120"
column-name: "Needs info"
label-name: "X-Needs-Info"
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: Status
field-values: "Needs info"
env:
PROJECT_URL: https://github.com/orgs/element-hq/projects/120
move_flakey_test_issues:
name: Z-Flaky-Test issues to Sized for maintainer column on triage board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'Z-Flaky-Test')
steps:
- id: add_to_project
uses: actions/add-to-project@v1.0.2
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: Status
field-values: "Sized for maintainer"
env:
PROJECT_URL: https://github.com/orgs/element-hq/projects/120
add_priority_design_issues_to_project:
name: P1 X-Needs-Design to Design project board
@@ -148,7 +183,7 @@ jobs:
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- id: add_to_project
uses: actions/add-to-project@v1.0.1
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -6,6 +6,7 @@ jobs:
close:
runs-on: ubuntu-latest
permissions:
actions: write
issues: write
steps:
- uses: actions/stale@v9

View File

@@ -13,6 +13,7 @@ jobs:
- uses: actions/setup-node@v4
with:
cache: "yarn"
node-version: "lts/*"
- name: Install Deps
run: "yarn install --frozen-lockfile"
@@ -21,7 +22,7 @@ jobs:
run: "yarn update:jitsi"
- name: Create Pull Request
uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
branch: actions/jitsi-update

4
.husky/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged --concurrent false

7
.lintstagedrc Normal file
View File

@@ -0,0 +1,7 @@
{
"*": "prettier --write",
"src/**/*.(ts|tsx)": ["eslint --fix"],
"scripts/**/*.(ts|tsx)": ["eslint --fix"],
"module_system/**/*.(ts|tsx)": ["eslint --fix --config .eslintrc-module_system.js module_system"],
"*.pcss": ["stylelint --fix"]
}

View File

@@ -1,5 +1,5 @@
{
"minify": true,
"minify": false,
"enableClasses": false,
"feature-detects": [
"test/css/animations",
@@ -31,6 +31,7 @@
"test/json",
"test/network/fetch",
"test/storage/localstorage",
"test/window/resizeobserver"
"test/window/resizeobserver",
"test/audio/webaudio"
]
}

View File

@@ -1,3 +1,245 @@
Changes in [1.11.78](https://github.com/element-hq/element-web/releases/tag/v1.11.78) (2024-09-24)
==================================================================================================
## ✨ Features
* Add Release announcement for the pinning message list ([#46](https://github.com/element-hq/matrix-react-sdk/pull/46)). Contributed by @florianduros.
* Unlabs feature pinning ([#22](https://github.com/element-hq/matrix-react-sdk/pull/22)). Contributed by @florianduros.
* Add mobile registration ([#42](https://github.com/element-hq/matrix-react-sdk/pull/42)). Contributed by @langleyd.
* Add support for `org.matrix.cross_signing_reset` UIA stage flow ([#34](https://github.com/element-hq/matrix-react-sdk/pull/34)). Contributed by @t3chguy.
* Add timezone to user profile ([#20](https://github.com/element-hq/matrix-react-sdk/pull/20)). Contributed by @Half-Shot.
* Add config option to force verification ([#29](https://github.com/element-hq/matrix-react-sdk/pull/29)). Contributed by @dbkr.
* Reduce pinned message banner size ([#28](https://github.com/element-hq/matrix-react-sdk/pull/28)). Contributed by @florianduros.
* Enable message pinning labs by default ([#25](https://github.com/element-hq/matrix-react-sdk/pull/25)). Contributed by @florianduros.
* Remove release announcement of the new header ([#23](https://github.com/element-hq/matrix-react-sdk/pull/23)). Contributed by @florianduros.
## 🐛 Bug Fixes
* Fix timeout type ([#40](https://github.com/element-hq/matrix-react-sdk/pull/40)). Contributed by @dbkr.
* Fix huge usage bandwidth and performance issue of pinned message banner. ([#37](https://github.com/element-hq/matrix-react-sdk/pull/37)). Contributed by @florianduros.
* Reverse order of pinned message list ([#19](https://github.com/element-hq/matrix-react-sdk/pull/19)). Contributed by @florianduros.
Changes in [1.11.77](https://github.com/element-hq/element-web/releases/tag/v1.11.77) (2024-09-10)
==================================================================================================
## ✨ Features
* Add docs for widget container height option ([#27922](https://github.com/element-hq/element-web/pull/27922)). Contributed by @dbkr.
* Allow user to set timezone ([#12775](https://github.com/matrix-org/matrix-react-sdk/pull/12775)). Contributed by @Timshel.
* Implement download\_file in widget driver ([#12931](https://github.com/matrix-org/matrix-react-sdk/pull/12931)). Contributed by @weeman1337.
* Sort the pinning message list in the same order than the banner. By timeline order. ([#12937](https://github.com/matrix-org/matrix-react-sdk/pull/12937)). Contributed by @florianduros.
* Display pinned messages on a banner at the top of a room ([#12917](https://github.com/matrix-org/matrix-react-sdk/pull/12917)). Contributed by @florianduros.
* Add a config option to control the default widget container height ([#12893](https://github.com/matrix-org/matrix-react-sdk/pull/12893)). Contributed by @dbkr.
* RTE drafts ([#12674](https://github.com/matrix-org/matrix-react-sdk/pull/12674)). Contributed by @langleyd.
* Add thread information in pinned message list ([#12902](https://github.com/matrix-org/matrix-react-sdk/pull/12902)). Contributed by @florianduros.
* Add Pin/Unpin action in quick access of the message action bar ([#12897](https://github.com/matrix-org/matrix-react-sdk/pull/12897)). Contributed by @florianduros.
## 🐛 Bug Fixes
* Fix read receipt animation ([#12923](https://github.com/matrix-org/matrix-react-sdk/pull/12923)). Contributed by @dbkr.
* Display the indicator even with one message in pinned message banner ([#12946](https://github.com/matrix-org/matrix-react-sdk/pull/12946)). Contributed by @florianduros.
* Always display last pinned message on the banner ([#12945](https://github.com/matrix-org/matrix-react-sdk/pull/12945)). Contributed by @florianduros.
* The pinned message banner or list are triggering 🎉 effect. ([#12944](https://github.com/matrix-org/matrix-react-sdk/pull/12944)). Contributed by @florianduros.
* Fix reply message truncation on 2 lines ([#12929](https://github.com/matrix-org/matrix-react-sdk/pull/12929)). Contributed by @florianduros.
* Fix pin/unpin slowness and non refresh from the message action bar ([#12934](https://github.com/matrix-org/matrix-react-sdk/pull/12934)). Contributed by @florianduros.
* Ignore desktop for minimum browser support. ([#12928](https://github.com/matrix-org/matrix-react-sdk/pull/12928)). Contributed by @florianduros.
Changes in [1.11.76](https://github.com/element-hq/element-web/releases/tag/v1.11.76) (2024-08-27)
==================================================================================================
## ✨ Features
* Message Pinning: rework the message pinning list in the right panel ([#12825](https://github.com/matrix-org/matrix-react-sdk/pull/12825)). Contributed by @florianduros.
* Tweak UIA postMessage check to work cross-origin ([#12878](https://github.com/matrix-org/matrix-react-sdk/pull/12878)). Contributed by @t3chguy.
* Delayed events (Futures) / MSC4140 for call widget ([#12714](https://github.com/matrix-org/matrix-react-sdk/pull/12714)). Contributed by @AndrewFerr.
* Stop the ongoing ring if another device joins the call session. ([#12866](https://github.com/matrix-org/matrix-react-sdk/pull/12866)). Contributed by @toger5.
* Rich text Editor: Auto-replace plain text emoticons with emoji ([#12828](https://github.com/matrix-org/matrix-react-sdk/pull/12828)). Contributed by @langleyd.
* Clean up editor drafts for unknown rooms ([#12850](https://github.com/matrix-org/matrix-react-sdk/pull/12850)). Contributed by @langleyd.
* Rename general user settings to account ([#12841](https://github.com/matrix-org/matrix-react-sdk/pull/12841)). Contributed by @dbkr.
* Update settings tab icons ([#12867](https://github.com/matrix-org/matrix-react-sdk/pull/12867)). Contributed by @dbkr.
* Disable jump to read receipt button instead of hiding when nothing to jump to ([#12863](https://github.com/matrix-org/matrix-react-sdk/pull/12863)). Contributed by @t3chguy.
## 🐛 Bug Fixes
* Ensure elements on Login page are disabled when in-flight ([#12895](https://github.com/matrix-org/matrix-react-sdk/pull/12895)). Contributed by @t3chguy.
* Hide pinned messages when grouped in timeline when feature pinning is disabled ([#12888](https://github.com/matrix-org/matrix-react-sdk/pull/12888)). Contributed by @florianduros.
* Add chat button on new room header for maximised widgets ([#12882](https://github.com/matrix-org/matrix-react-sdk/pull/12882)). Contributed by @t3chguy.
* Show spinner whilst initial search request is in progress ([#12883](https://github.com/matrix-org/matrix-react-sdk/pull/12883)). Contributed by @t3chguy.
* Fix user menu font ([#12879](https://github.com/matrix-org/matrix-react-sdk/pull/12879)). Contributed by @florianduros.
* Allow selecting text in the right panel topic ([#12870](https://github.com/matrix-org/matrix-react-sdk/pull/12870)). Contributed by @t3chguy.
* Add missing presence indicator to new room header ([#12865](https://github.com/matrix-org/matrix-react-sdk/pull/12865)). Contributed by @t3chguy.
* Fix permissions in release tarballs ([#27904](https://github.com/element-hq/element-web/pull/27904)). Contributed by @t3chguy.
## 🧰 Maintenance
* Update dependencies for MSC4157 ([#27906](https://github.com/element-hq/element-web/pull/27906)). Contributed by @AndrewFerr.
Changes in [1.11.75](https://github.com/element-hq/element-web/releases/tag/v1.11.75) (2024-08-20)
==================================================================================================
* No changes
Changes in [1.11.74](https://github.com/element-hq/element-web/releases/tag/v1.11.74) (2024-08-13)
==================================================================================================
## ✨ Features
* Update unsupported browser react component to new designs ([#27857](https://github.com/element-hq/element-web/pull/27857)). Contributed by @t3chguy.
* Invite dialog: display MXID on its own line ([#11756](https://github.com/matrix-org/matrix-react-sdk/pull/11756)). Contributed by @AndrewFerr.
* Align RoomSummaryCard styles with Figma ([#12793](https://github.com/matrix-org/matrix-react-sdk/pull/12793)). Contributed by @t3chguy.
* Extract Extensions into their own right panel tab ([#12844](https://github.com/matrix-org/matrix-react-sdk/pull/12844)). Contributed by @t3chguy.
* Remove topic from new room header and expand right panel topic ([#12842](https://github.com/matrix-org/matrix-react-sdk/pull/12842)). Contributed by @t3chguy.
* Rework how the onboarding notifications task works ([#12839](https://github.com/matrix-org/matrix-react-sdk/pull/12839)). Contributed by @t3chguy.
* Update toast styles to match Figma ([#12833](https://github.com/matrix-org/matrix-react-sdk/pull/12833)). Contributed by @t3chguy.
* Warn users on unsupported browsers before they lack features ([#12830](https://github.com/matrix-org/matrix-react-sdk/pull/12830)). Contributed by @t3chguy.
* Add sign out button to settings profile section ([#12666](https://github.com/matrix-org/matrix-react-sdk/pull/12666)). Contributed by @dbkr.
* Remove MatrixRTC realted import ES lint exceptions using a index.ts for matrixrtc ([#12780](https://github.com/matrix-org/matrix-react-sdk/pull/12780)). Contributed by @toger5.
* Fix unwanted ringing of other devices even though the user is already connected to the call. ([#12742](https://github.com/matrix-org/matrix-react-sdk/pull/12742)). Contributed by @toger5.
* Acknowledge `DeviceMute` widget actions ([#12790](https://github.com/matrix-org/matrix-react-sdk/pull/12790)). Contributed by @toger5.
## 🐛 Bug Fixes
* Update Element icons ([#27900](https://github.com/element-hq/element-web/pull/27900)). Contributed by @t3chguy.
* Fix Jitsi by updating device mute updates over postMessage API ([#27858](https://github.com/element-hq/element-web/pull/27858)). Contributed by @t3chguy.
* Fix formatting of rich text emotes ([#12862](https://github.com/matrix-org/matrix-react-sdk/pull/12862)). Contributed by @dbkr.
* Fixed custom emotes background color #27745 ([#12798](https://github.com/matrix-org/matrix-react-sdk/pull/12798)). Contributed by @asimdelvi.
* Ignore permalink\_prefix when serializing pills ([#11726](https://github.com/matrix-org/matrix-react-sdk/pull/11726)). Contributed by @herkulessi.
* Deflake the chat export test ([#12854](https://github.com/matrix-org/matrix-react-sdk/pull/12854)). Contributed by @dbkr.
* Fix alignment of RTL messages ([#12837](https://github.com/matrix-org/matrix-react-sdk/pull/12837)). Contributed by @dbkr.
* Handle media download errors better ([#12848](https://github.com/matrix-org/matrix-react-sdk/pull/12848)). Contributed by @t3chguy.
* Make micIcon display on primary ([#11908](https://github.com/matrix-org/matrix-react-sdk/pull/11908)). Contributed by @kdanielm.
* Fix compound typography font component issues ([#12826](https://github.com/matrix-org/matrix-react-sdk/pull/12826)). Contributed by @t3chguy.
* Allow Chrome page translator to translate messages in rooms ([#11113](https://github.com/matrix-org/matrix-react-sdk/pull/11113)). Contributed by @lukaszpolowczyk.
Changes in [1.11.73](https://github.com/element-hq/element-web/releases/tag/v1.11.73) (2024-08-06)
==================================================================================================
Fixes for CVE-2024-42347 / GHSA-f83w-wqhc-cfp4
Changes in [1.11.72](https://github.com/element-hq/element-web/releases/tag/v1.11.72) (2024-07-30)
==================================================================================================
## ✨ Features
* Polyfill Intl.Segmenter for wider web browser compatibility ([#27803](https://github.com/element-hq/element-web/pull/27803)). Contributed by @dbkr.
* Enable audio/webaudio Modernizr rule ([#27772](https://github.com/element-hq/element-web/pull/27772)). Contributed by @t3chguy.
* Add release announcement for the new room header ([#12802](https://github.com/matrix-org/matrix-react-sdk/pull/12802)). Contributed by @MidhunSureshR.
* Default the room header to on ([#12803](https://github.com/matrix-org/matrix-react-sdk/pull/12803)). Contributed by @MidhunSureshR.
* Update Thread Panel to match latest designs ([#12797](https://github.com/matrix-org/matrix-react-sdk/pull/12797)). Contributed by @t3chguy.
* Close any open modals on logout ([#12777](https://github.com/matrix-org/matrix-react-sdk/pull/12777)). Contributed by @dbkr.
* Iterate design of right panel empty state ([#12796](https://github.com/matrix-org/matrix-react-sdk/pull/12796)). Contributed by @t3chguy.
* Update styling of UserInfo right panel card ([#12788](https://github.com/matrix-org/matrix-react-sdk/pull/12788)). Contributed by @t3chguy.
* Accessibility: Add Landmark navigation ([#12190](https://github.com/matrix-org/matrix-react-sdk/pull/12190)). Contributed by @akirk.
* Let Element Call widget receive m.room.create ([#12710](https://github.com/matrix-org/matrix-react-sdk/pull/12710)). Contributed by @AndrewFerr.
* Let Element Call widget set session memberships ([#12713](https://github.com/matrix-org/matrix-react-sdk/pull/12713)). Contributed by @AndrewFerr.
* Update right panel base card styling to match Compound ([#12768](https://github.com/matrix-org/matrix-react-sdk/pull/12768)). Contributed by @t3chguy.
* Align `widget_build_url_ignore_dm` with call behaviour switch between 1:1 and Widget ([#12760](https://github.com/matrix-org/matrix-react-sdk/pull/12760)). Contributed by @t3chguy.
* Move integrations switch ([#12733](https://github.com/matrix-org/matrix-react-sdk/pull/12733)). Contributed by @dbkr.
* Element-R: Report events with withheld keys separately to Posthog. ([#12755](https://github.com/matrix-org/matrix-react-sdk/pull/12755)). Contributed by @richvdh.
## 🐛 Bug Fixes
* Add a modernizr check for WebAssembly support ([#27776](https://github.com/element-hq/element-web/pull/27776)). Contributed by @dbkr.
* Test for lack of WebAssembly support ([#12792](https://github.com/matrix-org/matrix-react-sdk/pull/12792)). Contributed by @dbkr.
* Fix stray 'account' heading ([#12791](https://github.com/matrix-org/matrix-react-sdk/pull/12791)). Contributed by @dbkr.
* Add test for the unsupported browser screen ([#12787](https://github.com/matrix-org/matrix-react-sdk/pull/12787)). Contributed by @dbkr.
* Fix HTML export test ([#12778](https://github.com/matrix-org/matrix-react-sdk/pull/12778)). Contributed by @dbkr.
* Fix HTML export missing a bunch of Compound variables ([#12774](https://github.com/matrix-org/matrix-react-sdk/pull/12774)). Contributed by @t3chguy.
* Fix inability to change accent colour consistently in custom theming ([#12772](https://github.com/matrix-org/matrix-react-sdk/pull/12772)). Contributed by @t3chguy.
* Fix edge case of landing on 3pid email link with registration disabled ([#12771](https://github.com/matrix-org/matrix-react-sdk/pull/12771)). Contributed by @t3chguy.
Changes in [1.11.71](https://github.com/element-hq/element-web/releases/tag/v1.11.71) (2024-07-16)
==================================================================================================
## ✨ Features
* Add Modernizr rule for Intl.Segmenter ([#27677](https://github.com/element-hq/element-web/pull/27677)). Contributed by @t3chguy.
* Add tabs to the right panel ([#12672](https://github.com/matrix-org/matrix-react-sdk/pull/12672)). Contributed by @MidhunSureshR.
* Promote new room header from labs to Beta ([#12739](https://github.com/matrix-org/matrix-react-sdk/pull/12739)). Contributed by @t3chguy.
* Redesign room search interface ([#12677](https://github.com/matrix-org/matrix-react-sdk/pull/12677)). Contributed by @t3chguy.
* Move language settings to 'preferences' ([#12723](https://github.com/matrix-org/matrix-react-sdk/pull/12723)). Contributed by @dbkr.
* New layout selector ui in user settings ([#12676](https://github.com/matrix-org/matrix-react-sdk/pull/12676)). Contributed by @florianduros.
* Prevent Element appearing in system media controls ([#10995](https://github.com/matrix-org/matrix-react-sdk/pull/10995)). Contributed by @SuperKenVery.
* Move the account management button ([#12663](https://github.com/matrix-org/matrix-react-sdk/pull/12663)). Contributed by @dbkr.
* Disable profile controls if the HS doesn't allow them to be set ([#12652](https://github.com/matrix-org/matrix-react-sdk/pull/12652)). Contributed by @dbkr.
* New theme ui in user settings ([#12576](https://github.com/matrix-org/matrix-react-sdk/pull/12576)). Contributed by @florianduros.
* Adjust room header hover transition from 300ms to 200ms ([#12703](https://github.com/matrix-org/matrix-react-sdk/pull/12703)). Contributed by @t3chguy.
* Split out email \& phone number settings to separate components \& move discovery to privacy tab ([#12670](https://github.com/matrix-org/matrix-react-sdk/pull/12670)). Contributed by @dbkr.
## 🐛 Bug Fixes
* Ensure we do not load matrix-react-sdk is a manner which can white-screen ([#27685](https://github.com/element-hq/element-web/pull/27685)). Contributed by @t3chguy.
* Fix incoming call toast crash due to audio refactor ([#12737](https://github.com/matrix-org/matrix-react-sdk/pull/12737)). Contributed by @t3chguy.
* Improve new room header accessibility ([#12725](https://github.com/matrix-org/matrix-react-sdk/pull/12725)). Contributed by @t3chguy.
* Fix closing all modals ([#12728](https://github.com/matrix-org/matrix-react-sdk/pull/12728)). Contributed by @dbkr.
* Fix close button on forgot password flow ([#12732](https://github.com/matrix-org/matrix-react-sdk/pull/12732)). Contributed by @dbkr.
* Don't consider textual characters to be emoji ([#12582](https://github.com/matrix-org/matrix-react-sdk/pull/12582)). Contributed by @robintown.
* Clear autocomplete input on selection accept ([#12709](https://github.com/matrix-org/matrix-react-sdk/pull/12709)). Contributed by @dbkr.
* Fix `Match system theme` toggle ([#12719](https://github.com/matrix-org/matrix-react-sdk/pull/12719)). Contributed by @florianduros.
Changes in [1.11.70](https://github.com/element-hq/element-web/releases/tag/v1.11.70) (2024-07-08)
==================================================================================================
## ✨ Features
* Add SSO redirect option for login page ([#27576](https://github.com/element-hq/element-web/pull/27576)). Contributed by @bartvdbraak.
* Use stable endpoints for MSC3916 ([#27558](https://github.com/element-hq/element-web/pull/27558)). Contributed by @turt2live.
* Switch to Rust crypto stack for all logins ([#12630](https://github.com/matrix-org/matrix-react-sdk/pull/12630)). Contributed by @richvdh.
* Hide voip buttons in group rooms in environments with widgets disabled ([#12664](https://github.com/matrix-org/matrix-react-sdk/pull/12664)). Contributed by @t3chguy.
* Minor tweaks to UserSettings dialog ([#12651](https://github.com/matrix-org/matrix-react-sdk/pull/12651)). Contributed by @florianduros.
* Hide voice call button when redundant ([#12639](https://github.com/matrix-org/matrix-react-sdk/pull/12639)). Contributed by @t3chguy.
* Improve accessibility of the room summary card ([#12586](https://github.com/matrix-org/matrix-react-sdk/pull/12586)). Contributed by @t3chguy.
* Show tooltips on narrow tabbed views ([#12624](https://github.com/matrix-org/matrix-react-sdk/pull/12624)). Contributed by @dbkr.
* Update gfm.css to github-markdown-css ([#12613](https://github.com/matrix-org/matrix-react-sdk/pull/12613)). Contributed by @t3chguy.
* Cache e2eStatus to avoid concerning unencrypted flicker when changing rooms ([#12606](https://github.com/matrix-org/matrix-react-sdk/pull/12606)). Contributed by @t3chguy.
* Tweak copy for user verification toast ([#12605](https://github.com/matrix-org/matrix-react-sdk/pull/12605)). Contributed by @t3chguy.
* Support s tags for strikethrough for Matrix v1.10 ([#12604](https://github.com/matrix-org/matrix-react-sdk/pull/12604)). Contributed by @t3chguy.
## 🐛 Bug Fixes
* Fix "Unable to restore session" error ([#4299](https://github.com/matrix-org/matrix-js-sdk/pull/4299)).
* Fix error when sending encrypted messages in large rooms ([#4297](https://github.com/matrix-org/matrix-js-sdk/pull/4297)).
* Remove redundant copy in deactive uia modal ([#12668](https://github.com/matrix-org/matrix-react-sdk/pull/12668)). Contributed by @t3chguy.
* Fix high contrast theme in settings ([#12649](https://github.com/matrix-org/matrix-react-sdk/pull/12649)). Contributed by @florianduros.
* Fix background on live location sharing footer ([#12629](https://github.com/matrix-org/matrix-react-sdk/pull/12629)). Contributed by @t3chguy.
* Remove outdated iframe sandbox attribute ([#12633](https://github.com/matrix-org/matrix-react-sdk/pull/12633)). Contributed by @t3chguy.
* Remove stray setState which caused encryption state shields to flicker ([#12632](https://github.com/matrix-org/matrix-react-sdk/pull/12632)). Contributed by @t3chguy.
* Fix stray background colour on markdown body ([#12628](https://github.com/matrix-org/matrix-react-sdk/pull/12628)). Contributed by @t3chguy.
* Fix widgets not being cleaned up correctly. ([#12616](https://github.com/matrix-org/matrix-react-sdk/pull/12616)). Contributed by @toger5.
* Add in-progress view to display name EditInPlace ([#12609](https://github.com/matrix-org/matrix-react-sdk/pull/12609)). Contributed by @dbkr.
* Fix config override of other settings levels ([#12593](https://github.com/matrix-org/matrix-react-sdk/pull/12593)). Contributed by @langleyd.
* Don't show 'saved' on display name save error ([#12600](https://github.com/matrix-org/matrix-react-sdk/pull/12600)). Contributed by @dbkr.
Changes in [1.11.69](https://github.com/element-hq/element-web/releases/tag/v1.11.69) (2024-06-18)
==================================================================================================
## ✨ Features
* Change avatar setting component to use a menu ([#12585](https://github.com/matrix-org/matrix-react-sdk/pull/12585)). Contributed by @dbkr.
* New user profile UI in User Settings ([#12548](https://github.com/matrix-org/matrix-react-sdk/pull/12548)). Contributed by @dbkr.
* MSC4108 support OIDC QR code login ([#12370](https://github.com/matrix-org/matrix-react-sdk/pull/12370)). Contributed by @t3chguy.
## 🐛 Bug Fixes
* Fix image upload preview size ([#12612](https://github.com/matrix-org/matrix-react-sdk/pull/12612)). Contributed by @RiotRobot.
* Fix screen sharing in recent Chrome (https://github.com/matrix-org/matrix-js-sdk/pull/4243).
* Fix roving tab index crash `compareDocumentPosition` ([#12594](https://github.com/matrix-org/matrix-react-sdk/pull/12594)). Contributed by @t3chguy.
* Keep dialog glass border on narrow screens ([#12591](https://github.com/matrix-org/matrix-react-sdk/pull/12591)). Contributed by @dbkr.
* Add missing a11y label to dismiss onboarding button in room list ([#12587](https://github.com/matrix-org/matrix-react-sdk/pull/12587)). Contributed by @t3chguy.
* Add hover / active state on avatar setting upload button ([#12590](https://github.com/matrix-org/matrix-react-sdk/pull/12590)). Contributed by @dbkr.
* Fix EditInPlace button styles ([#12589](https://github.com/matrix-org/matrix-react-sdk/pull/12589)). Contributed by @dbkr.
* Fix incorrect assumptions about required fields in /search response ([#12575](https://github.com/matrix-org/matrix-react-sdk/pull/12575)). Contributed by @t3chguy.
* Fix display of no avatar in avatar setting controls ([#12558](https://github.com/matrix-org/matrix-react-sdk/pull/12558)). Contributed by @dbkr.
* Element-R: pass pickleKey in as raw key for indexeddb encryption ([#12543](https://github.com/matrix-org/matrix-react-sdk/pull/12543)). Contributed by @richvdh.
Changes in [1.11.68](https://github.com/element-hq/element-web/releases/tag/v1.11.68) (2024-06-04)
==================================================================================================
## ✨ Features

View File

@@ -17,7 +17,7 @@ COPY . /src
RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
RUN yarn --network-timeout=200000 install
RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh
RUN dos2unix /src/scripts/docker-package.sh /src/scripts/get-version-from-git.sh /src/scripts/normalize-version.sh && bash /src/scripts/docker-package.sh
# Copy the config now so that we don't create another layer in the app image
RUN cp /src/config.sample.json /src/webapp/config.json

View File

@@ -17,20 +17,30 @@ React SDK](https://github.com/matrix-org/matrix-react-sdk).
Element has several tiers of support for different environments:
- Supported
- Definition: Issues **actively triaged**, regressions **block** the release
- Definition:
- Issues **actively triaged**, regressions **block** the release
- Last 2 major versions of Chrome, Firefox, and Edge on desktop OSes
- Last 2 versions of Safari
- Latest release of official Element Desktop app on desktop OSes
- Desktop OSes means macOS, Windows, and Linux versions for desktop devices
that are actively supported by the OS vendor and receive security updates
- Experimental
- Definition: Issues **accepted**, regressions **do not block** the release
- Element as an installed PWA via current stable version of Chrome
- Best effort
- Definition:
- Issues **accepted**, regressions **do not block** the release
- The wider Element Products(including Element Call and the Enterprise Server Suite) do still not officially support these browsers.
- The element web project and its contributors should keep the client functioning and gracefully degrade where other sibling features (E.g. Element Call) may not function.
- Last major release of Firefox ESR and Chrome/Edge Extended Stable
- Community Supported
- Definition:
- Issues **accepted**, regressions **do not block** the release
- Community contributions are welcome to support these issues
- Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
- Not supported
- Definition: Issues only affecting unsupported environments are **closed**
- Everything else
The period of support for these tiers should last until the releases specified above, plus 1 app release cycle(2 weeks). In the case of Firefox ESR this is extended further to allow it land in Debian Stable.
For accessing Element on an Android or iOS device, we currently recommend the
native apps [element-android](https://github.com/element-hq/element-android)
and [element-ios](https://github.com/element-hq/element-ios).

View File

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

View File

@@ -22,6 +22,7 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"default_widget_height": 280,
"default_country_code": "GB",
"show_labs_settings": false,
"features": {},

View File

@@ -167,6 +167,10 @@ Starting with `desktop_builds`, the following subproperties are available:
1. `available`: Required. When `true`, the desktop app can be downloaded from somewhere.
2. `logo`: Required. A URL to a logo (SVG), intended to be shown at 24x24 pixels.
3. `url`: Required. The download URL for the app. This is used as a hyperlink.
4. `url_macos`: Optional. Direct link to download macOS desktop app.
5. `url_win32`: Optional. Direct link to download Windows 32-bit desktop app.
6. `url_win64`: Optional. Direct link to download Windows 64-bit desktop app.
7. `url_linux`: Optional. Direct link to download Linux desktop app.
When `desktop_builds` is not specified at all, the app will assume desktop downloads are available from https://element.io
@@ -250,12 +254,14 @@ 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
}
}
```
@@ -372,8 +378,8 @@ The VoIP and Jitsi options are:
}
```
The `widget` is the `content` of a normal widget state event. The `layout` is the layout specifier for the widget being created,
as defined by the `io.element.widgets.layout` state event. By default this applies to all rooms, but the behaviour can be skipped for DMs
by setting the option `widget_build_url_ignore_dm` to `true`.
as defined by the `io.element.widgets.layout` state event. By default this applies to all rooms, but the behaviour can be skipped for
2-person rooms, causing Element to fall back to 1:1 VoIP, by setting the option `widget_build_url_ignore_dm` to `true`.
5. `audio_stream_url`: Optional URL to pass to Jitsi to enable live streaming. This option is considered experimental and may be removed
at any time without notice.
6. `element_call`: Optional configuration for native group calls using Element Call, with the following subkeys:
@@ -446,6 +452,12 @@ If you would like to use Scalar, the integration manager maintained by Element,
}
```
For widgets in general (from an integration manager or not) there is also:
- `default_widget_container_height`
This controls the height that the top widget panel initially appears as and is the height in pixels, default 280.
## Administrative options
If you would like to include a custom message when someone is reporting an event, set the following Markdown-capable field:

View File

@@ -110,29 +110,6 @@ This is useful while we experiment with encryption and to make calling compatibl
Enables rendering of MD / HTML in room topics.
## Use the Rust cryptography implementation (`feature_rust_crypto`) [In Development]
Configures Element to use a new cryptography implementation based on the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk).
This setting is (currently) _sticky_ to a user's session: it only takes effect when the user logs in to a new session. Likewise, even after disabling the setting in `config.json`, the Rust implementation will remain in use until users log out.
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

View File

@@ -22,7 +22,7 @@
"uisi_autorageshake_app": "element-auto-uisi",
"show_labs_settings": false,
"room_directory": {
"servers": ["matrix.org", "gitter.im", "libera.chat"]
"servers": ["matrix.org", "gitter.im"]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
@@ -45,6 +45,6 @@
"privacy_policy_url": "https://element.io/cookie-policy",
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx",
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 30
"RustCrypto.staged_rollout_percent": 60
}
}

View File

@@ -22,7 +22,7 @@
"uisi_autorageshake_app": "element-auto-uisi",
"show_labs_settings": true,
"room_directory": {
"servers": ["matrix.org", "gitter.im", "libera.chat"]
"servers": ["matrix.org", "gitter.im"]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,

View File

@@ -1,6 +1,6 @@
{
"name": "element-web",
"version": "1.11.68",
"version": "1.11.78",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -45,7 +45,7 @@
"build:module_system": "ts-node --project ./tsconfig.module_system.json module_system/scripts/install.ts",
"dist": "scripts/package.sh",
"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:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --server-type https\"",
"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",
@@ -68,18 +68,23 @@
},
"resolutions": {
"@types/react-dom": "17.0.25",
"@types/react": "17.0.80"
"@types/react": "17.0.80",
"@vector-im/compound-design-tokens": "1.8.0",
"@vector-im/compound-web": "5.5.0",
"@floating-ui/react": "0.26.11",
"@radix-ui/react-id": "1.1.0"
},
"dependencies": {
"@matrix-org/olm": "3.2.15",
"@formatjs/intl-segmenter": "^11.5.7",
"@matrix-org/react-sdk-module-api": "^2.3.0",
"gfm.css": "^1.1.2",
"@vector-im/compound-design-tokens": "^1.8.0",
"@vector-im/compound-web": "^5.5.0",
"jsrsasign": "^11.0.0",
"katex": "^0.16.0",
"lodash": "^4.17.21",
"matrix-js-sdk": "33.0.0",
"matrix-react-sdk": "3.100.0",
"matrix-widget-api": "^1.3.1",
"matrix-js-sdk": "34.6.0",
"matrix-react-sdk": "3.110.0",
"matrix-widget-api": "^1.8.2",
"react": "17.0.2",
"react-dom": "17.0.2",
"ua-parser-js": "^1.0.0"
@@ -90,21 +95,21 @@
"@babel/core": "^7.12.10",
"@babel/eslint-parser": "^7.12.10",
"@babel/eslint-plugin": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-class-properties": "^7.12.1",
"@babel/plugin-transform-logical-assignment-operators": "^7.20.7",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-transform-numeric-separator": "^7.12.7",
"@babel/plugin-transform-object-rest-spread": "^7.12.1",
"@babel/plugin-transform-optional-chaining": "^7.12.7",
"@babel/plugin-transform-runtime": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@casualbot/jest-sonar-reporter": "2.2.7",
"@casualbot/jest-sonar-reporter": "2.3.1",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@sentry/webpack-plugin": "^2.7.1",
"@svgr/webpack": "^8.0.0",
@@ -136,7 +141,7 @@
"@types/semver": "^7.5.8",
"@types/tar-js": "^0.3.5",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^9.0.7",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"babel-jest": "^29.0.0",
@@ -153,45 +158,46 @@
"eslint": "8.57.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "0.8.4",
"eslint-plugin-deprecate": "0.8.5",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-matrix-org": "^1.0.0",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-unicorn": "^53.0.0",
"fake-indexeddb": "^5.0.0",
"eslint-plugin-unicorn": "^54.0.0",
"fake-indexeddb": "^6.0.0",
"fetch-mock": "9.11.0",
"fetch-mock-jest": "^1.5.1",
"file-loader": "^6.0.0",
"html-webpack-plugin": "^5.5.3",
"husky": "^8.0.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",
"lint-staged": "^15.1.0",
"matrix-mock-request": "^2.5.0",
"matrix-web-i18n": "^3.2.1",
"mini-css-extract-plugin": "2.8.0",
"mini-css-extract-plugin": "2.9.0",
"minimist": "^1.2.6",
"mkdirp": "^3.0.0",
"modernizr": "^3.12.0",
"node-fetch": "^2.6.7",
"postcss": "8.4.33",
"postcss": "8.4.38",
"postcss-easings": "^4.0.0",
"postcss-hexrgba": "2.1.0",
"postcss-import": "16.0.0",
"postcss-loader": "8.1.0",
"postcss-import": "16.1.0",
"postcss-loader": "8.1.1",
"postcss-mixins": "^10.0.0",
"postcss-nested": "^6.0.0",
"postcss-preset-env": "^9.3.0",
"postcss-preset-env": "^9.5.14",
"postcss-scss": "^4.0.4",
"postcss-simple-vars": "^7.0.1",
"prettier": "3.2.5",
"prettier": "3.3.3",
"process": "^0.11.10",
"raw-loader": "^4.0.2",
"rimraf": "^5.0.0",
"rimraf": "^6.0.0",
"semver": "^7.5.2",
"setimmediate": "^1.0.5",
"string-replace-loader": "3",
"style-loader": "4",
"stylelint": "^16.1.0",
@@ -200,7 +206,7 @@
"terser-webpack-plugin": "^5.3.9",
"ts-node": "^10.9.1",
"ts-prune": "^0.10.3",
"typescript": "5.4.5",
"typescript": "5.5.4",
"util": "^0.12.5",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.8.0",
@@ -212,5 +218,8 @@
"outputDirectory": "coverage",
"outputName": "jest-sonar-report.xml",
"relativePaths": true
},
"engines": {
"node": ">=20.0.0"
}
}

View File

@@ -38,7 +38,7 @@ module.exports.pitch = function pitch(request) {
return cb(err);
}
if (entries[0]) {
return cb(null, `module.exports = __webpack_public_path__ + ${JSON.stringify(entries[0].files[0])};`);
return cb(null, `module.exports = __webpack_public_path__ + ${JSON.stringify([...entries[0].files][0])};`);
}
return cb(null, null);
});

View File

@@ -14,94 +14,58 @@ 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 "../../../node_modules/matrix-react-sdk/res/css/_font-sizes.pcss";
.mx_ErrorView {
background: #c5e0f7;
background: -moz-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
/* stylelint-disable-next-line function-no-unknown */
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#c5e0f7', endColorstr='#ffffff', GradientType=0);
--width: 520px;
--cpd-separator-inset: calc(50% - (var(--width) / 2));
--cpd-separator-spacing: var(--cpd-space-8x);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
color: #000;
text-align: center;
color: var(--cpd-color-text-primary);
width: 100%;
height: 100%;
overflow: auto;
padding: 0 20px;
box-sizing: border-box;
overflow: auto;
padding: var(--cpd-space-20x);
background-color: var(--cpd-color-theme-bg);
background-image: url("../../themes/element/img/compound/fade-arc-light.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.mx_ErrorView_logo {
display: block;
margin: 0 auto;
}
.mx_ErrorView_container {
max-width: 680px;
margin: auto;
}
.mx_Button {
border: 0;
border-radius: 4px;
font-size: $font-18px;
margin-left: 4px;
margin-right: 4px;
min-width: 80px;
background-color: #03b381;
color: #fff;
cursor: pointer;
padding: 12px 22px;
word-break: break-word;
text-decoration: none;
}
.mx_Center {
justify-content: center;
}
.mx_HomePage_header {
color: #2e2f32;
display: flex;
align-items: center;
justify-content: center;
}
font-size: $font-16px;
h1 {
font-size: $font-32px;
}
h2 {
font-size: $font-24px;
color: #000;
}
.mx_HomePage_col {
display: flex;
flex-direction: row;
}
.mx_HomePage_row {
flex: 1 1 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.mx_HomePage_logo {
margin: auto 20px auto 0;
max-width: var(--width);
margin: 0 auto var(--cpd-space-8x);
}
h1,
h2 {
font-weight: 600;
margin-bottom: 32px;
color: var(--cpd-color-text-primary);
}
.mx_Spacer {
margin-top: 24px;
h2 {
margin: var(--cpd-space-8x) 0;
font-size: var(--cpd-font-size-heading-sm);
}
.mx_FooterLink {
color: #368bd6;
text-decoration: none;
p {
color: var(--cpd-color-text-secondary);
}
.mx_Flex {
margin: 0 auto;
max-width: max-content;
flex-wrap: wrap;
justify-content: space-evenly;
}
.mx_ErrorView_buttons {
margin-top: var(--cpd-space-6x);
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.4157 2C13.4922 2.92763 13.1763 3.84642 12.535 4.56125C11.9129 5.27979 10.9701 5.69366 9.97726 5.68417C9.91411 4.78324 10.2392 3.89596 10.881 3.21774C11.531 2.53034 12.436 2.09555 13.4157 2ZM16.5554 7.45058C15.4132 8.10257 14.7104 9.25238 14.6932 10.4972C14.6948 11.9055 15.6031 13.1765 17 13.7251C16.7313 14.5354 16.3264 15.3013 15.8001 15.9942C15.0934 16.9759 14.3523 17.935 13.1762 17.9527C12.6168 17.9647 12.2392 17.8153 11.8458 17.6597C11.4354 17.4974 11.0077 17.3282 10.3385 17.3282C9.62875 17.3282 9.18194 17.5028 8.75102 17.6712C8.37862 17.8167 8.01808 17.9576 7.50997 17.9772C6.38987 18.0157 5.53384 16.9294 4.80138 15.9569C3.33741 13.971 2.19745 10.3601 3.72573 7.90322C4.44339 6.70576 5.78524 5.94589 7.26033 5.90164C7.89561 5.8895 8.5052 6.11686 9.03964 6.31619C9.44837 6.46863 9.81314 6.60468 10.1118 6.60468C10.3744 6.60468 10.729 6.474 11.1423 6.32171C11.7932 6.08181 12.5898 5.78827 13.4015 5.86738C14.6627 5.90402 15.8316 6.49076 16.5554 7.45058Z" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1,15 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4244_203)">
<path d="M11.0054 17.2033C10.7192 17.3348 10.4074 17.405 10.0911 17.4096C9.62287 17.4048 9.1673 17.2609 8.78524 16.9971C8.65787 17.3144 8.45841 17.5995 8.20182 17.831C7.94524 18.0626 7.63819 18.2344 7.30371 18.3337C7.34816 18.3337 7.39049 18.3337 7.43494 18.3337H12.4213C12.1196 18.2476 11.8387 18.103 11.5954 17.9088C11.3522 17.7147 11.1515 17.4747 11.0054 17.2033Z" fill="black"/>
<path d="M5.59233 13.8942C5.61193 13.8889 5.63053 13.8805 5.64735 13.8694C5.6791 13.5971 5.71508 13.3352 5.7553 13.0856C5.74691 12.9449 5.77002 12.8041 5.82302 12.6731C6.11298 11.0868 6.51722 9.97294 7.07596 9.29637C7.09365 9.27503 7.1193 9.26142 7.14728 9.25851C7.17526 9.25561 7.20328 9.26367 7.22518 9.2809C7.24707 9.29813 7.26104 9.32313 7.26401 9.35041C7.26699 9.37768 7.25873 9.40498 7.24105 9.42631C7.18391 9.49645 7.12676 9.57277 7.07173 9.65322C6.64844 10.272 6.31404 11.2126 6.07277 12.477H6.09816C6.14375 12.4702 6.19014 12.4702 6.23573 12.477C6.40082 12.5121 6.65902 12.6462 7.05692 13.036C7.10771 10.7691 8.44108 8.94158 10.0919 8.94158C11.548 8.94158 12.765 10.371 13.0549 12.2729C13.1926 12.0053 13.4153 11.7882 13.6899 11.654C13.7577 11.6293 13.8293 11.6161 13.9016 11.6149C13.7518 10.9261 13.485 10.2666 13.1121 9.66353C13.0571 9.58308 13.002 9.50676 12.9449 9.43663C12.9357 9.42642 12.9287 9.41445 12.9244 9.40149C12.9201 9.38852 12.9186 9.37484 12.92 9.36128C12.9214 9.34774 12.9256 9.33461 12.9325 9.32273C12.9393 9.31085 12.9486 9.30047 12.9597 9.29224C12.9703 9.28351 12.9826 9.27695 12.9959 9.27294C13.0091 9.26893 13.0232 9.26756 13.0369 9.26891C13.0507 9.27025 13.0641 9.2743 13.0763 9.28078C13.0885 9.28727 13.0992 9.29608 13.1079 9.30668C13.5312 9.82648 13.8825 10.6041 14.145 11.6582C14.7101 11.8644 14.7248 12.7927 14.7375 13.5476C14.7375 13.9065 14.7375 14.2779 14.8243 14.3727C14.9111 14.4676 15.0952 14.447 15.3535 14.3397C15.3831 14.0118 15.3978 13.7209 15.4063 13.4755C15.4063 13.0856 15.4063 12.836 15.4063 12.836V12.574C15.4063 10.5113 12.6846 6.94487 12.6846 6.94487L12.3692 4.26334C12.3692 1.80251 10.0919 1.8252 10.0919 1.8252C10.0919 1.8252 7.80615 1.80251 7.80615 4.25302L7.50138 6.94487C7.50138 6.94487 4.77961 10.5092 4.77961 12.574V12.8319C4.77961 12.8319 4.76902 13.0814 4.77961 13.4713C4.77961 13.5311 4.77961 13.5951 4.77961 13.6611C5.1246 13.7889 5.47804 13.923 5.59233 13.8942ZM10.0813 5.21837C10.7163 5.27613 11.7279 5.42465 11.7745 5.72993C11.8084 5.96507 11.4168 6.41475 11.3385 6.50138C11.1755 6.68084 10.6083 7.26872 10.0962 7.26872C9.58397 7.26872 9.01676 6.68084 8.85591 6.50138C8.7776 6.41475 8.38606 5.96507 8.4178 5.72993C8.4559 5.41846 9.47815 5.27613 10.0813 5.21837Z" fill="black"/>
<path d="M10.0925 7.0621C10.3698 7.0621 10.7952 6.78776 11.174 6.3649C11.464 6.04518 11.5698 5.81003 11.5613 5.7564C11.5084 5.6512 10.8164 5.49237 10.0798 5.42224C9.36657 5.49237 8.67449 5.6512 8.62158 5.76052C8.69778 5.98983 8.83166 6.19689 9.01101 6.36284C9.39197 6.78776 9.81526 7.0621 10.0925 7.0621Z" fill="black"/>
<path d="M10.6623 15.9489C10.4189 13.7769 10.6432 13.3273 10.8337 13.1788C10.8804 13.1432 10.9358 13.1201 10.9945 13.1117C11.0531 13.1035 11.113 13.1102 11.1681 13.1313C11.3598 13.2237 11.5271 13.3577 11.657 13.5232C11.8962 13.7769 12.0634 13.9358 12.2179 13.8491C12.328 13.7852 12.4846 13.4366 12.6412 13.1169C12.7216 12.9456 12.8042 12.7621 12.8952 12.5868C12.6835 10.6457 11.5195 9.14819 10.0993 9.14819C8.53949 9.14819 7.27173 10.9531 7.27173 13.1705C7.27173 13.1973 7.27173 13.2241 7.27173 13.2509C7.52995 13.5149 7.83895 13.8698 8.21567 14.3338C8.36367 14.5155 8.4994 14.7064 8.62204 14.9052C8.79699 15.1841 8.909 15.4961 8.9506 15.8205C8.9922 16.1449 8.96245 16.4741 8.86331 16.7864C9.21862 17.0463 9.64882 17.1907 10.093 17.199C10.3777 17.1979 10.659 17.1382 10.9184 17.0236C10.862 16.9 10.8173 16.7716 10.7851 16.64C10.7302 16.4122 10.6892 16.1815 10.6623 15.9489Z" fill="black"/>
<path d="M8.04303 14.459C7.74673 14.0918 7.49487 13.8009 7.279 13.5658L7.17105 13.4503L7.061 13.3348C6.5721 12.8397 6.31389 12.7037 6.17843 12.681C6.15951 12.678 6.14023 12.678 6.12129 12.681C6.10076 12.6833 6.08122 12.6909 6.06454 12.7028C6.04786 12.7147 6.03461 12.7307 6.02605 12.7489C6.02565 12.7538 6.02565 12.7586 6.02605 12.7634C5.98416 12.8712 5.96753 12.9869 5.97738 13.1017C5.97738 13.1595 5.97738 13.2173 5.97738 13.2749C5.97738 13.3327 5.97738 13.341 5.97738 13.374C6.00594 13.5827 5.96198 13.7947 5.8525 13.9763C5.83155 13.9994 5.80732 14.0196 5.78055 14.0362L5.7361 14.0629C5.70773 14.0774 5.67795 14.0892 5.6472 14.098H5.62393C5.44826 14.1289 5.16254 14.0279 4.80063 13.8917L4.6948 13.8505C4.24188 13.6752 3.71276 13.473 3.32545 13.473C3.23797 13.4644 3.14967 13.4777 3.06893 13.5116C2.98819 13.5455 2.91767 13.599 2.86406 13.6669C2.58046 14.0794 3.2154 14.7271 3.72758 15.2511C4.04294 15.5749 4.29056 15.8286 4.31808 16.0184C4.36675 16.3691 3.99002 16.5031 3.65774 16.6228C3.48628 16.6669 3.32623 16.7457 3.18788 16.8538C3.13709 16.9116 3.1392 16.9508 3.14979 16.9797C3.19635 17.1384 3.57308 17.4871 5.56466 18.0502C5.78512 18.1124 6.00914 18.1621 6.23558 18.1987C6.64453 18.2591 7.06268 18.2065 7.44245 18.0468C7.82223 17.8871 8.14838 17.6267 8.38379 17.2952C8.47591 17.159 8.55187 17.0129 8.61025 16.86L8.65257 16.7589C8.65257 16.7239 8.67163 16.6847 8.68221 16.6496C8.75827 16.3728 8.77591 16.0838 8.73407 15.8002C8.69223 15.5165 8.59179 15.2441 8.43881 14.9994C8.31764 14.812 8.18549 14.6316 8.04303 14.459Z" fill="black"/>
<path d="M16.0589 14.3171C15.8816 14.3336 15.71 14.3863 15.5552 14.4717L15.3245 14.5687C15.0704 14.6635 14.8164 14.7089 14.6513 14.4903C14.6122 14.4329 14.5856 14.3683 14.573 14.3006C14.5437 14.1377 14.5282 13.9728 14.5265 13.8075C14.5265 13.723 14.5265 13.6342 14.5265 13.5393C14.5265 12.9391 14.5054 12.2171 14.2154 11.9346C14.1785 11.8974 14.1346 11.8673 14.0863 11.8459C14.0596 11.8345 14.0321 11.8255 14.0037 11.8191H13.972C13.9001 11.8109 13.8272 11.8208 13.7603 11.8479C13.5106 11.947 13.2926 12.2605 13.1022 12.6277L13.0112 12.8071C12.9772 12.8772 12.9455 12.9453 12.9138 13.0133C12.882 13.0814 12.8545 13.1392 12.827 13.2011C12.6408 13.6136 12.4947 13.9292 12.3254 14.0262C12.0122 14.2056 11.7391 13.9168 11.5 13.6611C11.3921 13.5236 11.2558 13.4098 11.1 13.3269C11.0796 13.3194 11.0582 13.3152 11.0365 13.3145C11.0108 13.3139 10.9859 13.3228 10.9666 13.3393C10.8354 13.4424 10.647 13.9148 10.8735 15.926C10.8978 16.148 10.936 16.3684 10.9878 16.586C11.0166 16.7008 11.0548 16.8133 11.1021 16.9222C11.1169 16.9532 11.1317 16.9841 11.1486 17.015C11.1656 17.0459 11.1762 17.0769 11.1931 17.1079C11.3664 17.4217 11.6184 17.6878 11.9256 17.8813C12.2328 18.0746 12.5853 18.1891 12.9501 18.214C13.3149 18.239 13.6804 18.1735 14.0122 18.0237C14.3441 17.8739 14.6317 17.6448 14.8482 17.3574C14.9843 17.1771 15.1093 16.989 15.2228 16.7943C16.2387 15.0307 16.2578 14.5254 16.1795 14.3809C16.1676 14.3603 16.15 14.3434 16.1286 14.332C16.1073 14.3208 16.0831 14.3155 16.0589 14.3171Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_4244_203">
<rect width="14.4446" height="16.5081" fill="white" transform="translate(2.63892 1.8252)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -0,0 +1,6 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="10.4908" y="2" width="7.50926" height="7.50926" fill="#1B1D22"/>
<rect x="2" y="10.4904" width="7.50926" height="7.50926" fill="#1B1D22"/>
<rect x="2" y="2" width="7.50926" height="7.50926" fill="#1B1D22"/>
<rect x="10.4908" y="10.4904" width="7.50926" height="7.50926" fill="#1B1D22"/>
</svg>

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 732 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 803 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 837 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 974 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -23,7 +23,9 @@ rm element-$version/config.json || true
$(dirname $0)/normalize-version.sh ${version} > element-$version/version
tar chvzf dist/element-$version.tar.gz element-$version
# GNU/BSD compatibility workaround
tar_perms=(--owner=0 --group=0) && [ "$(uname)" == "Darwin" ] && tar_perms=(--uid=0 --gid=0)
tar "${tar_perms[@]}" -chvzf dist/element-$version.tar.gz element-$version
rm -r element-$version
echo

View File

@@ -1,5 +1,5 @@
sonar.projectKey=element-web
sonar.organization=new_vector_ltd_organization
sonar.organization=element-hq
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
@@ -10,5 +10,5 @@ sonar.exclusions=__mocks__,docs,element.io,nginx
sonar.typescript.tsconfigPath=./tsconfig.json
sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.coverage.exclusions=test/**/*,res/**/*
sonar.coverage.exclusions=test/**/*,res/**/*,src/vector/modernizr.js
sonar.testExecutionReportPaths=coverage/jest-sonar-report.xml

View File

@@ -33,7 +33,9 @@ type ElectronChannel =
| "update-downloaded"
| "userDownloadCompleted"
| "userDownloadAction"
| "openDesktopCapturerSourcePicker";
| "openDesktopCapturerSourcePicker"
| "userAccessToken"
| "serverSupportedVersions";
declare global {
interface Window {

View File

@@ -1,149 +0,0 @@
/*
Copyright 2020 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import React, { ReactNode } from "react";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import { _t } from "../../languageHandler";
// directly import the style here as this layer does not support rethemedex at this time so no matrix-react-sdk
// PostCSS variables will be accessible.
import "../../../res/css/structures/ErrorView.pcss";
interface IProps {
onAccept(): void;
}
const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
const brand = SdkConfig.get("brand");
const mobileBuilds = SdkConfig.get("mobile_builds");
let ios: JSX.Element | undefined;
const iosCustomUrl = mobileBuilds?.ios;
if (iosCustomUrl !== null) {
// could be undefined or a string
ios = (
<>
<p>
<strong>iOS</strong> (iPhone or iPad)
</p>
<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>
</>
);
}
let android = [
<p className="mx_Spacer" key="header">
<strong>Android</strong>
</p>,
];
const andCustomUrl = mobileBuilds?.android;
const fdroidCustomUrl = mobileBuilds?.fdroid;
if (andCustomUrl !== null) {
// undefined or string
android.push(
<a
href={andCustomUrl}
target="_blank"
rel="noreferrer noopener"
className="mx_ClearDecoration"
key="android"
>
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>,
);
}
if (fdroidCustomUrl !== null) {
// undefined or string
android.push(
<a
href={fdroidCustomUrl}
target="_blank"
rel="noreferrer noopener"
className="mx_ClearDecoration"
key="fdroid"
>
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>,
);
}
if (android.length === 1) {
// just a header, meaning no links
android = [];
}
let mobileHeader: ReactNode = <h2 id="step2_heading">{_t("use_brand_on_mobile", { brand })}</h2>;
if (!android.length && !ios) {
mobileHeader = null;
}
return (
<div className="mx_ErrorView">
<div className="mx_ErrorView_container">
<div className="mx_HomePage_header">
<span className="mx_HomePage_logo">
<img height="42" src="themes/element/img/logos/element-logo.svg" alt="Element" />
</span>
<h1>{_t("incompatible_browser|title")}</h1>
</div>
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
<h2 id="step1_heading">{_t("incompatible_browser|summary", { brand })}</h2>
<p>{_t("incompatible_browser|features", { brand })}</p>
<p>
{_t(
"incompatible_browser|browser_links",
{},
{
chromeLink: (sub) => <a href="https://www.google.com/chrome">{sub}</a>,
firefoxLink: (sub) => <a href="https://firefox.com">{sub}</a>,
safariLink: (sub) => <a href="https://apple.com/safari">{sub}</a>,
},
)}
</p>
<p>{_t("incompatible_browser|feature_warning")}</p>
<button onClick={onAccept}>{_t("incompatible_browser|continue_warning")}</button>
</div>
</div>
</div>
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
{mobileHeader}
{ios}
{android}
</div>
</div>
</div>
<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")}
</a>
</p>
</div>
</div>
</div>
);
};
export default CompatibilityView;

View File

@@ -14,9 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import * as React from "react";
import React, { ReactNode } from "react";
import { Text, Heading, Button, Separator } from "@vector-im/compound-web";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import { Flex } from "matrix-react-sdk/src/components/utils/Flex";
import PopOutIcon from "@vector-im/compound-design-tokens/assets/web/icons/pop-out";
import { _t } from "../../languageHandler";
import { Icon as AppleIcon } from "../../../res/themes/element/img/compound/apple.svg";
import { Icon as MicrosoftIcon } from "../../../res/themes/element/img/compound/microsoft.svg";
import { Icon as LinuxIcon } from "../../../res/themes/element/img/compound/linux.svg";
// directly import the style here as this layer does not support rethemedex at this time so no matrix-react-sdk
// PostCSS variables will be accessible.
@@ -26,36 +33,184 @@ interface IProps {
// both of these should already be internationalised
title: string;
messages?: string[];
footer?: ReactNode;
}
const ErrorView: React.FC<IProps> = ({ title, messages }) => {
export const ErrorView: React.FC<IProps> = ({ title, messages, footer, children }) => {
return (
<div className="mx_ErrorView">
<div className="mx_ErrorView cpd-theme-light">
<img
className="mx_ErrorView_logo"
height="160"
src="themes/element/img/logos/element-app-logo.png"
alt="Element"
/>
<div className="mx_ErrorView_container">
<div className="mx_HomePage_header">
<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>
</div>
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
<h2 id="step1_heading">{title}</h2>
{messages && messages.map((msg) => <p key={msg}>{msg}</p>)}
</div>
</div>
</div>
<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")}
</a>
</p>
</div>
<Heading size="md" weight="semibold">
{title}
</Heading>
{messages?.map((message) => (
<Text key={message} size="lg">
{message}
</Text>
))}
{children}
</div>
{footer}
</div>
);
};
export default ErrorView;
const MobileAppLinks: React.FC<{
appleAppStoreUrl?: string;
googlePlayUrl?: string;
fdroidUrl?: string;
}> = ({ appleAppStoreUrl, googlePlayUrl, fdroidUrl }) => (
<Flex gap="var(--cpd-space-6x)">
{appleAppStoreUrl && (
<a href={appleAppStoreUrl} target="_blank" rel="noreferrer noopener">
<img height="64" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
)}
{googlePlayUrl && (
<a href={googlePlayUrl} target="_blank" rel="noreferrer noopener" key="android">
<img height="64" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>
)}
{fdroidUrl && (
<a href={fdroidUrl} target="_blank" rel="noreferrer noopener" key="fdroid">
<img height="64" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>
)}
</Flex>
);
const DesktopAppLinks: React.FC<{
macOsUrl?: string;
win64Url?: string;
win32Url?: string;
linuxUrl?: string;
}> = ({ macOsUrl, win64Url, win32Url, linuxUrl }) => {
return (
<Flex gap="var(--cpd-space-4x)">
{macOsUrl && (
<Button as="a" href={macOsUrl} kind="secondary" Icon={AppleIcon}>
{_t("incompatible_browser|macos")}
</Button>
)}
{win64Url && (
<Button as="a" href={win64Url} kind="secondary" Icon={MicrosoftIcon}>
{_t("incompatible_browser|windows", { bits: "64" })}
</Button>
)}
{win32Url && (
<Button as="a" href={win32Url} kind="secondary" Icon={MicrosoftIcon}>
{_t("incompatible_browser|windows", { bits: "32" })}
</Button>
)}
{linuxUrl && (
<Button as="a" href={linuxUrl} kind="secondary" Icon={LinuxIcon}>
{_t("incompatible_browser|linux")}
</Button>
)}
</Flex>
);
};
const linkFactory =
(link: string) =>
(text: string): JSX.Element => (
<a href={link} target="_blank" rel="noreferrer noopener">
{text}
</a>
);
export const UnsupportedBrowserView: React.FC<{
onAccept?(): void;
}> = ({ onAccept }) => {
const config = SdkConfig.get();
const brand = config.brand ?? "Element";
const hasDesktopBuilds =
config.desktop_builds?.available &&
(config.desktop_builds?.url_macos ||
config.desktop_builds?.url_win64 ||
config.desktop_builds?.url_win32 ||
config.desktop_builds?.url_linux);
const hasMobileBuilds = Boolean(
config.mobile_builds?.ios || config.mobile_builds?.android || config.mobile_builds?.fdroid,
);
return (
<ErrorView
title={_t("incompatible_browser|title", { brand })}
messages={[
_t("incompatible_browser|description", {
brand,
detail: onAccept
? _t("incompatible_browser|detail_can_continue")
: _t("incompatible_browser|detail_no_continue"),
}),
]}
footer={
<>
{/* We render the apps in the footer as they are wider than the 520px container */}
{(hasDesktopBuilds || hasMobileBuilds) && <Separator />}
{hasDesktopBuilds && (
<>
<Heading as="h2" size="sm" weight="semibold">
{_t("incompatible_browser|use_desktop_heading", { brand })}
</Heading>
<DesktopAppLinks
macOsUrl={config.desktop_builds?.url_macos}
win64Url={config.desktop_builds?.url_win64}
win32Url={config.desktop_builds?.url_win32}
linuxUrl={config.desktop_builds?.url_linux}
/>
</>
)}
{hasMobileBuilds && (
<>
<Heading as="h2" size="sm" weight="semibold">
{hasDesktopBuilds
? _t("incompatible_browser|use_mobile_heading_after_desktop")
: _t("incompatible_browser|use_mobile_heading", { brand })}
</Heading>
<MobileAppLinks
appleAppStoreUrl={config.mobile_builds?.ios ?? undefined}
googlePlayUrl={config.mobile_builds?.android ?? undefined}
fdroidUrl={config.mobile_builds?.fdroid ?? undefined}
/>
</>
)}
</>
}
>
<Text size="lg">
{_t(
"incompatible_browser|supported_browsers",
{},
{
Chrome: linkFactory("https://google.com/chrome"),
Firefox: linkFactory("https://firefox.com"),
Edge: linkFactory("https://microsoft.com/edge"),
Safari: linkFactory("https://apple.com/safari"),
},
)}
</Text>
<Flex gap="var(--cpd-space-4x)" className="mx_ErrorView_buttons">
<Button Icon={PopOutIcon} kind="secondary" size="sm">
{_t("incompatible_browser|learn_more")}
</Button>
{onAccept && (
<Button kind="primary" size="sm" onClick={onAccept}>
{_t("incompatible_browser|continue")}
</Button>
)}
</Flex>
</ErrorView>
);
};

View File

@@ -101,7 +101,7 @@ export default class Favicon {
h: number;
} {
const opt = {
n: typeof n === "number" ? Math.abs(n as number | 0) : n,
n: typeof n === "number" ? Math.abs(n | 0) : n,
len: ("" + n).length,
// badge positioning constants as percentages
x: 0.4,
@@ -178,7 +178,7 @@ export default class Favicon {
this.context.fillStyle = params.textColor;
if (typeof opt.n === "number" && opt.n > 999) {
const count = (opt.n > 9999 ? 9 : Math.floor((opt.n as number) / 1000)) + "k+";
const count = (opt.n > 9999 ? 9 : Math.floor(opt.n / 1000)) + "k+";
this.context.fillText(count, Math.floor(opt.x + opt.w / 2), Math.floor(opt.y + opt.h - opt.h * 0.2));
} else {
this.context.fillText("" + opt.n, Math.floor(opt.x + opt.w / 2), Math.floor(opt.y + opt.h - opt.h * 0.15));
@@ -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

@@ -21,20 +21,12 @@
"invalid_json_generic": "Neplatný JSON",
"misconfigured": "Váš Element je nesprávně nastaven"
},
"failed_to_start": "Nepovedlo se nastartovat",
"go_to_element_io": "Přejít na element.io",
"incompatible_browser": {
"browser_links": "Pro nejlepší zážitek si prosím nainstalujte prohlížeč <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, nebo <safariLink>Safari</safariLink>.",
"continue_warning": "Rozumím a přesto chci pokračovat",
"feature_warning": "Můžete pokračovat v užívání vašeho současného prohlížeče, ale některé (nebo dokonce všechny) funkce nemusí fungovat a vzhled a chování aplikace nemusí být správné.",
"features": "%(brand)s využívá pokročilých funkcí prohlížeče, které ten váš nepodporuje.",
"summary": "Váš prohlížeč nedokáže spustit %(brand)s",
"title": "Nepodporovaný prohlížeč"
},
"powered_by_matrix": "Běží na Matrixu",
"powered_by_matrix_with_logo": "Decentralizovaný, šifrovaný chat a spolupráce na platformě $matrixLogo",
"unknown_device": "Neznámé zařízení",
"use_brand_on_mobile": "Používání %(brand)s v mobilních zařízeních",
"web_default_device_name": "%(appName)s: %(browserName)s na %(osName)s",
"welcome_to_element": "Vítá vás Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Ungültiges JSON",
"misconfigured": "Dein Element ist falsch konfiguriert"
},
"failed_to_start": "Start fehlgeschlagen",
"go_to_element_io": "Gehe zu element.io",
"incompatible_browser": {
"browser_links": "Bitte installiere <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> oder <safariLink>Safari</safariLink> für das beste Erlebnis.",
"continue_warning": "Ich verstehe die Risiken und möchte fortfahren",
"feature_warning": "Du kannst deinen aktuellen Browser weiterhin verwenden. Es ist aber möglich, dass nicht alles richtig funktioniert oder das Aussehen der App inkorrekt ist.",
"features": "%(brand)s verwendet erweiterte Browserfunktionen, die von deinem Browser nicht unterstützt werden.",
"summary": "Dein Browser kann %(brand)s nicht ausführen",
"title": "Nicht unterstützter Browser"
},
"powered_by_matrix": "Betrieben mit Matrix",
"powered_by_matrix_with_logo": "Dezentralisierter, verschlüsselter Chat &amp; Zusammenarbeit unterstützt von $matrixLogo",
"unknown_device": "Unbekanntes Gerät",
"use_brand_on_mobile": "Verwende %(brand)s am Handy",
"web_default_device_name": "%(appName)s: %(browserName)s auf %(osName)s",
"welcome_to_element": "Willkommen bei Element"
}

View File

@@ -19,19 +19,11 @@
"invalid_json_generic": "Μη έγκυρο JSON",
"misconfigured": "Το Element σας δεν εχει ρυθμιστεί σωστά"
},
"failed_to_start": "Αποτυχία έναρξης",
"go_to_element_io": "Πήγαινε στο element.io",
"incompatible_browser": {
"browser_links": "Παρακαλούμε εγκαταστήστε <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ή <safariLink>Safari</safariLink> για καλύτερη εμπειρία χρήσης.",
"continue_warning": "Κατανοώ τους κινδύνους και επιθυμώ να συνεχίσω",
"feature_warning": "Μπορείτε να συνεχίσετε να χρησιμοποιείτε το τρέχον πρόγραμμα περιήγησής σας, αλλά ορισμένες ή όλες οι λειτουργίες ενδέχεται να μην λειτουργούν και η εμφάνιση και η αίσθηση της εφαρμογής ενδέχεται να είναι λανθασμένη.",
"features": "%(brand)s χρησιμοποιεί προηγμένες δυνατότητες προγράμματος περιήγησης που δεν υποστηρίζονται από το τρέχον πρόγραμμα περιήγησής σας.",
"summary": "Το πρόγραμμα περιήγησής σας δεν μπορεί να εκτελέσει %(brand)s",
"title": "Μη υποστηριζόμενο πρόγραμμα περιήγησης"
},
"powered_by_matrix": "Με την υποστήριξη του Matrix",
"powered_by_matrix_with_logo": "Αποκεντρωμένη, κρυπτογραφημένη συνομιλία και συνεργασία χρησιμοποιώντας το $matrixLogo",
"unknown_device": "Άγνωστη συσκευή",
"use_brand_on_mobile": "Χρήση %(brand)s σε κινητό",
"welcome_to_element": "Καλώς ήλθατε στο Element"
}

View File

@@ -21,20 +21,24 @@
"invalid_json_generic": "Invalid JSON",
"misconfigured": "Your Element is misconfigured"
},
"failed_to_start": "Failed to start",
"go_to_element_io": "Go to element.io",
"incompatible_browser": {
"browser_links": "Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.",
"continue_warning": "I understand the risks and wish to continue",
"feature_warning": "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.",
"features": "%(brand)s uses advanced browser features which aren't supported by your current browser.",
"summary": "Your browser can't run %(brand)s",
"title": "Unsupported browser"
"continue": "Continue anyway",
"description": "%(brand)s uses some browser features which are not available in your current browser. %(detail)s",
"detail_can_continue": "If you continue, some features may stop working and there is a risk that you may lose data in the future.",
"detail_no_continue": "Try updating this browser if you're not using the latest version and try again.",
"learn_more": "Learn more",
"linux": "Linux",
"macos": "Mac",
"supported_browsers": "For the best experience, use <Chrome>Chrome</Chrome>, <Firefox>Firefox</Firefox>, <Edge>Edge</Edge>, or <Safari>Safari</Safari>.",
"title": "%(brand)s does not support this browser",
"use_desktop_heading": "Use %(brand)s Desktop instead",
"use_mobile_heading": "Use %(brand)s on mobile instead",
"use_mobile_heading_after_desktop": "Or use our mobile app",
"windows": "Windows (%(bits)s-bit)"
},
"powered_by_matrix": "Powered by Matrix",
"powered_by_matrix_with_logo": "Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo",
"unknown_device": "Unknown device",
"use_brand_on_mobile": "Use %(brand)s on mobile",
"web_default_device_name": "%(appName)s: %(browserName)s on %(osName)s",
"welcome_to_element": "Welcome to Element"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "Nevalida JSON",
"misconfigured": "Via Elemento estas misagordita"
},
"failed_to_start": "Malsukcesis starti",
"go_to_element_io": "Iri al element.io",
"incompatible_browser": {
"browser_links": "Bonvolu instali retumilon <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, aŭ <safariLink>Safari</safariLink>, por la plej bona sperto.",
"continue_warning": "Mi komprenas la riskon kaj volas pluiĝi",
"feature_warning": "Vi povas daŭre uzi vian nunan foliumilon, sed iuj (eĉ ĉiuj) funkcioj eble ne funkciu, kaj la aspekto de la aplikaĵo eble ne estu ĝusta.",
"features": "%(brand)s uzas specialajn funkciojn de retumilo, kiujn via nuna retumilo ne subtenas.",
"summary": "Via retumilo ne povas ruli %(brand)s",
"title": "Nesubtenata retumilo"
},
"powered_by_matrix": "Povigata de Matrix",
"powered_by_matrix_with_logo": "Malcentralizita kaj ĉifrita babilejo; kunlaboro danke al $matrixLogo",
"unknown_device": "Nekonata aparato",
"use_brand_on_mobile": "Uzi %(brand)s poŝtelefone",
"web_default_device_name": "%(appName)s: %(browserName)s sur %(osName)s",
"welcome_to_element": "Bonvenon al Element"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "JSON inválido",
"misconfigured": "Tu aplicación Element está mal configurada"
},
"failed_to_start": "Fallo al iniciar",
"go_to_element_io": "Ir a element.io",
"incompatible_browser": {
"browser_links": "Por favor, instale <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> para la mejor experiencia.",
"continue_warning": "Entiendo los riesgos y quiero continuar",
"feature_warning": "Puedes seguir utilizando tu navegador actual, pero puede que algunas funcionalidades no estén disponibles o que algunas partes de la aplicación se muestren de forma incorrecta.",
"features": "%(brand)s usa funciones avanzadas que su navegador actual no soporta.",
"summary": "Tu navegador no es compatible con %(brand)s",
"title": "Navegador no compatible"
},
"powered_by_matrix": "Funciona con Matrix",
"powered_by_matrix_with_logo": "Conversaciones y colaboración descentralizadas y cifradas gracias a $matrixLogo",
"unknown_device": "Dispositivo desconocido",
"use_brand_on_mobile": "Usar %(brand)s en modo móvil",
"web_default_device_name": "%(appName)s: %(browserName)s en %(osName)s",
"welcome_to_element": "Te damos la bienvenida a Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Vigane JSON",
"misconfigured": "Sinu Element on valesti seadistatud"
},
"failed_to_start": "Käivitamine ei õnnestunud",
"go_to_element_io": "Mine element.io lehele",
"incompatible_browser": {
"browser_links": "Parima kasutuskogemuse jaoks palun paigalda <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> või <safariLink>Safari</safariLink>.",
"continue_warning": "Ma mõistan riske ja soovin jätkata",
"feature_warning": "Sa võid jätkata praeguse brauseri kasutamist, kuid mõned või kõik funktsionaalsused ei pruugi toimida ning rakenduse välimus võib vigane olla.",
"features": "%(brand)s kasutab mitmeid uusi brauseri-põhiseid tehnoloogiaid, mis ei ole veel sinu veebibrauseris toetatud.",
"summary": "%(brand)s ei toimi sinu brauseris",
"title": "Sellele brauserile puudub tugi"
},
"powered_by_matrix": "Põhineb Matrix'il",
"powered_by_matrix_with_logo": "Hajutatud ja krüpteeritud suhtlus- ning ühistöörakendus, mille aluseks on $matrixLogo",
"unknown_device": "Tundmatu seade",
"use_brand_on_mobile": "Kasuta rakendust %(brand)s nutiseadmes",
"web_default_device_name": "%(appName)s: %(browserName)s operatsioonisüsteemis %(osName)s",
"welcome_to_element": "Tere tulemast kasutama suhtlusrakendust Element"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "JSON اشتباه",
"misconfigured": "Element شما پیکربندی نشده است"
},
"failed_to_start": "خطا در شروع",
"go_to_element_io": "برو به element.io",
"incompatible_browser": {
"browser_links": "لطفا برای تجربه بهتر <chromeLink>کروم</chromeLink>، <firefoxLink>فایرفاکس</firefoxLink>، یا <safariLink>سافاری</safariLink> را نصب کنید.",
"continue_warning": "از خطرات این کار آگاهم و مایلم که ادامه بدهم",
"feature_warning": "شما می توانید با مرورگر فعلی خود ادامه دهید، اما ممکن است عملکرد تمامی یا برخی از قابلیت ها با اشکال روبرو شود و نمایش برنامه صحیح نباشد.",
"features": "%(brand)s از ویژگی های پیشرفته مرورگر استفاده می کند که در مرورگر فعلی شما پشتیبانی نمی شوند.",
"summary": "مرورگر شما نمی تواند %(brand)s را اجرا کند",
"title": "مرورگر پش‬تبانی نمی شود"
},
"powered_by_matrix": "راه اندازی شده با استفاده از ماتریکس",
"powered_by_matrix_with_logo": "همکاری چت غیرمتمرکز و رمزگذاری شده &amp; توسعه یافته با استفاده از $matrixLogo",
"unknown_device": "دستگاه ناشناخته",
"use_brand_on_mobile": "از %(brand)s گوشی استفاده کنید",
"web_default_device_name": "%(appName)s: %(browserName)s: روی %(osName)s",
"welcome_to_element": "به Element خوش‌آمدید"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "Virheellinen JSON",
"misconfigured": "Elementisi asetukset ovat pielessä"
},
"failed_to_start": "Käynnistys ei onnistunut",
"go_to_element_io": "Mene osoitteeseen riot.im",
"incompatible_browser": {
"browser_links": "Asenna <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> tai <safariLink>Safari</safariLink>, jotta kaikki toimii parhaiten.",
"continue_warning": "Ymmärrän riskit ja haluan jatkaa",
"feature_warning": "Voit käyttää edelleen nykyistä selaintasi, mutta jotkut tai kaikki ominaisuudet eivät ehkä toimi ja sovelluksen ulkoasu voi olla virheellinen.",
"features": "%(brand)s käyttää edistyneitä selaimen ominaisuuksia, joita nykyinen selaimesi ei tue.",
"summary": "%(brand)s ei toimi selaimessasi",
"title": "Selainta ei tueta"
},
"powered_by_matrix": "Moottorina Matrix",
"powered_by_matrix_with_logo": "Hajautettu, salattu keskustelu &amp; yhteistyö, taustavoimana $matrixLogo",
"unknown_device": "Tuntematon laite",
"use_brand_on_mobile": "Käytä %(brand)sia mobiilisti",
"web_default_device_name": "%(appName)s: %(browserName)s käyttöjärjestelmällä %(osName)s",
"welcome_to_element": "Tervetuloa Element-sovellukseen"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON non valide",
"misconfigured": "Votre Element est mal configuré"
},
"failed_to_start": "Échec au démarrage",
"go_to_element_io": "Aller vers element.io",
"incompatible_browser": {
"browser_links": "Veuillez installer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> ou <safariLink>Safari</safariLink> pour une expérience optimale.",
"continue_warning": "Je comprends les risques et souhaite continuer",
"feature_warning": "Vous pouvez continuer à utiliser votre navigateur actuel, mais vous risquez de trouver que certaines fonctionnalités et/ou lapparence de lapplication sont incorrectes.",
"features": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne prend pas en charge.",
"summary": "Votre navigateur ne peut pas exécuter %(brand)s",
"title": "Navigateur non pris en charge"
},
"powered_by_matrix": "Propulsé par Matrix",
"powered_by_matrix_with_logo": "Messagerie décentralisée, chiffrée &amp; une collaboration alimentée par $matrixLogo",
"unknown_device": "Appareil inconnu",
"use_brand_on_mobile": "Utiliser %(brand)s sur téléphone",
"web_default_device_name": "%(appName)s : %(browserName)s pour %(osName)s",
"welcome_to_element": "Bienvenue sur Element"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "JSON non válido",
"misconfigured": "Element non está ben configurado"
},
"failed_to_start": "Fallou o inicio",
"go_to_element_io": "Ir a element.io",
"incompatible_browser": {
"browser_links": "Instala <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ou <safariLink>Safari</safariLink> para ter unha mellor experiencia.",
"continue_warning": "Entendo os riscos e desexo continuar",
"feature_warning": "Podes continuar co teu navegador, pero algunhas características poderían non funcionar e o aspecto da aplicación podería non ser o correcto.",
"features": "%(brand)s utiliza características avanzadas do navegador que non están dispoñibles no teu navegador.",
"summary": "O teu navegador non pode executar %(brand)s",
"title": "Navegador non soportado"
},
"powered_by_matrix": "Funciona grazas a Matrix",
"powered_by_matrix_with_logo": "Conversas &amp; colaboración descentralizadas e cifradas grazas a $matrixLogo",
"unknown_device": "Dispositivo descoñecido",
"use_brand_on_mobile": "Utiliza %(brand)s no móbil",
"web_default_device_name": "%(appName)s: %(browserName)s en %(osName)s",
"welcome_to_element": "Benvida/o a Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON לא חוקי",
"misconfigured": "Element אינו מוגדר תקין"
},
"failed_to_start": "כשל בהעלאת התוכנה",
"go_to_element_io": "חזור לאתר הראשי: element.io",
"incompatible_browser": {
"browser_links": "נא התקן את דפדפן <chromeLink>כרום</chromeLink>, <firefoxLink>פיירפוקס</firefoxLink> או <safariLink>סאפרי</safariLink> בשביל החוויה הטובה ביותר.",
"continue_warning": "הסיכונים מובנים לי ואני מעוניינ/ת להמשיך",
"feature_warning": "ניתן להמשיך ולהשתמש בדפדפן זה, אך ייתכן שחלק מן התכונות והמאפיינים לא יעבדו כשורה או ייראו כשגויים.",
"features": "%(brand)s משתמש בתכונות דפדפן מתקדמות שאינן נתמכות בדפדפן הנוכחי שלך.",
"summary": "הדפדפן שלך לא יכול להריץ %(brand)s",
"title": "דפדפן לא נתמך"
},
"powered_by_matrix": "מופעל על ידי מטריקס",
"powered_by_matrix_with_logo": "צ'אט מבוזר ומוצפן &amp; מופעל בשיתוף פעולה ע\"י $matrixLogo",
"unknown_device": "מכשיר לא ידוע",
"use_brand_on_mobile": "השתמש ב-%(brand)s במכשיר הנייד",
"web_default_device_name": "%(appName)s: %(browserName)s עַל %(osName)s",
"welcome_to_element": "ברוכים הבאים ל Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Érvénytelen JSON",
"misconfigured": "Az Element hibásan van beállítva"
},
"failed_to_start": "Az indítás sikertelen",
"go_to_element_io": "Irány az element.io",
"incompatible_browser": {
"browser_links": "A legjobb élmény érdékében telepítsen <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</safariLink>.",
"continue_warning": "Megértettem a kockázatot és folytatom",
"feature_warning": "Folytathatja a jelenlegi böngészőjével, de néhány vagy az összes funkció használhatatlan lehet, vagy hibák lehetnek az alkalmazás kinézetében és viselkedésében.",
"features": "A(z) %(brand)s speciális böngészőfunkciókat használ, amelyeket a jelenlegi böngészője nem támogat.",
"summary": "A böngészője nem tudja futtatni ezt: %(brand)s",
"title": "Nem támogatott böngésző"
},
"powered_by_matrix": "A gépházban: Matrix",
"powered_by_matrix_with_logo": "Elosztott, titkosított csevegés és együttműködés ezzel: $matrixLogo",
"unknown_device": "Ismeretlen eszköz",
"use_brand_on_mobile": "Mobilon használja ezt: %(brand)s",
"web_default_device_name": "%(appName)s: (%(browserName)s itt: %(osName)s)",
"welcome_to_element": "Üdvözli az Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON tidak absah",
"misconfigured": "Anda salah mengatur Element"
},
"failed_to_start": "Gagal untuk memulai",
"go_to_element_io": "Buka element.io",
"incompatible_browser": {
"browser_links": "Silakan instal <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, atau <safariLink>Safari</safariLink> untuk pengalaman yang terbaik.",
"continue_warning": "Saya memahami risikonya dan ingin melanjutkan",
"feature_warning": "Anda dapat melanjutkan menggunakan peramban Anda saat ini, tetapi beberapa atau semua fitur mungkin tidak berfungsi dan tampilan serta nuansa aplikasi mungkin tidak benar.",
"features": "%(brand)s menggunakan fitur peramban tingkat lanjut yang tidak didukung oleh peramban Anda saat ini.",
"summary": "Peramban Anda tidak dapat menjalankan %(brand)s",
"title": "Peramban tidak didukung"
},
"powered_by_matrix": "Diberdayakan oleh Matrix",
"powered_by_matrix_with_logo": "Obrolan &amp; kolaborasi terdesentralisasi dan terenkripsi diberdayakan oleh $matrixLogo",
"unknown_device": "Perangkat tidak diketahui",
"use_brand_on_mobile": "Gunakan %(brand)s di ponsel",
"web_default_device_name": "%(appName)s: %(browserName)s di %(osName)s",
"welcome_to_element": "Selamat datang di Element"
}

View File

@@ -20,20 +20,12 @@
"invalid_json_generic": "Ógilt JSON",
"misconfigured": "Element-tilvikið þitt er rangt stillt"
},
"failed_to_start": "Mistókst að ræsa",
"go_to_element_io": "Fara á element.io",
"incompatible_browser": {
"browser_links": "Þú ættir að setja upp <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, eða <safariLink>Safari</safariLink> til að fá sem besta útkomu.",
"continue_warning": "Ég skil áhættuna og óska að halda áfram",
"feature_warning": "Þú getur haldið áfram að nota núverandi vafra, en sumir eða allir eiginleikar virka mögulega ekki rétt, auk þess sem útlit og hegðun forritsins geta verið röng.",
"features": "%(brand)s notar háþróaða vafraeiginleika sem eru ekki studdir af vafranum þínum.",
"summary": "Vafrinn þinn getur ekki keyrt %(brand)s",
"title": "Óstuddur vafri"
},
"powered_by_matrix": "Keyrt með Matrix",
"powered_by_matrix_with_logo": "Dreifstýrt, dulritað spjall og samskipti keyrt með $matrixLogo",
"unknown_device": "Óþekkt tæki",
"use_brand_on_mobile": "Nota %(brand)s í síma",
"web_default_device_name": "%(appName)s: %(browserName)s á %(osName)s",
"welcome_to_element": "Velkomin í Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON non valido",
"misconfigured": "Il tuo elemento è configurato male"
},
"failed_to_start": "Avvio fallito",
"go_to_element_io": "Vai su element.io",
"incompatible_browser": {
"browser_links": "Installa <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per una migliore esperienza.",
"continue_warning": "Capisco i rischi e desidero continuare",
"feature_warning": "Puoi comunque usare il browser attuale, ma alcune o tutte le caratteristiche potrebbero non funzionare e l'aspetto dell'applicazione potrebbe essere sbagliato.",
"features": "%(brand)s usa funzionalità avanzate del browser che non sono supportate dal tuo browser attuale.",
"summary": "Il tuo browser non può eseguire %(brand)s",
"title": "Browser non supportato"
},
"powered_by_matrix": "Offerto da Matrix",
"powered_by_matrix_with_logo": "Chat e collaborazioni criptate e decentralizzate offerte da $matrixLogo",
"unknown_device": "Dispositivo sconosciuto",
"use_brand_on_mobile": "Usa %(brand)s su mobile",
"web_default_device_name": "%(appName)s: %(browserName)s su %(osName)s",
"welcome_to_element": "Benvenuti su Element"
}

View File

@@ -20,19 +20,11 @@
"invalid_json_generic": "不正なJSON",
"misconfigured": "Elementの設定が誤っています"
},
"failed_to_start": "起動に失敗しました",
"go_to_element_io": "element.ioへ移動",
"incompatible_browser": {
"browser_links": "最高のユーザー体験を得るためには、<chromeLink>Chrome</chromeLink>か<firefoxLink>Firefox</firefoxLink>、もしくは<safariLink>Safari</safariLink>をインストールしてください。",
"continue_warning": "リスクを理解して続行",
"feature_warning": "現在のブラウザーを使い続けることもできますが、いくつか(もしくは全ての)機能が動作しなかったり、外観が崩れたりする可能性があります。",
"features": "%(brand)sはブラウザーの高度な機能を使う必要がありますが、このブラウザーではその機能がサポートされていないようです。",
"summary": "このブラウザーでは%(brand)sが動きません",
"title": "サポートされていないブラウザー"
},
"powered_by_matrix_with_logo": "$matrixLogo による、分散型で暗号化された会話とコラボレーション",
"unknown_device": "不明な端末",
"use_brand_on_mobile": "携帯端末で%(brand)sを使用できます",
"web_default_device_name": "%(appName)s %(osName)sの%(browserName)s",
"welcome_to_element": "Elementにようこそ"
}

View File

@@ -19,19 +19,11 @@
"invalid_json_generic": "JSON ບໍ່ຖືກຕ້ອງ",
"misconfigured": "ການຕັ້ງຄ່າແອັບ Element ຂອງທ່ານບໍ່ຖືກຕ້ອງ"
},
"failed_to_start": "ບໍ່ສາມາດເປີດໄດ້",
"go_to_element_io": "ໄປຫາ element.io",
"incompatible_browser": {
"browser_links": "ກະລຸນາຕິດຕັ້ງ <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> ສຳລັບປະສົບການທີ່ດີທີ່ສຸດ.",
"continue_warning": "ຂ້າພະເຈົ້າເຂົ້າໃຈຄວາມສ່ຽງ ແລະຢາກສືບຕໍ່",
"feature_warning": "ທ່ານສາມາດສືບຕໍ່ນຳໃຊ້ບຣາວເຊີປັດຈຸບັນຂອງເຈົ້າໄດ້, ແຕ່ບາງຄຸນສົມບັດ ຫຼື ທັງໝົດອາດຈະບໍ່ເຮັດວຽກ ແລະ ລັກສະນະ ແລະ ຄວາມຮູ້ສຶກຂອງແອັບພລິເຄຊັນອາດບໍ່ຖືກຕ້ອງ.",
"features": "%(brand)s ໃຊ້ຄຸນສົມບັດຂອງບຣາວເຊີຂັ້ນສູງທີ່ບຼາວເຊີປັດຈຸບັນຂອງທ່ານຍັງບໍ່ຮອງຮັບ.",
"summary": "ບຣາວເຊີຂອງທ່ານບໍ່ສາມາດແລ່ນ %(brand)s ໄດ້",
"title": "ບໍ່ຮັບຮອງເວັບບຣາວເຊີນີ້"
},
"powered_by_matrix": "ສະໜັບສະໜູນໂດຍ Matrix",
"powered_by_matrix_with_logo": "ການສົນທະນາແບບເຂົ້າລະຫັດ ແລະກະຈ່າຍການຄຸ້ມຄອງ &amp; ການຮ່ວມມື້ ແລະສະໜັບສະໜູນໂດຍ $matrixLogo",
"unknown_device": "ທີ່ບໍ່ຮູ້ຈັກອຸປະກອນນີ້",
"use_brand_on_mobile": "ໃຊ້ມືຖື %(brand)s",
"welcome_to_element": "ຍິນດີຕ້ອນຮັບ"
}

View File

@@ -20,19 +20,11 @@
"invalid_json_generic": "Klaidingas JSON",
"misconfigured": "Jūsų Element yra neteisingai sukonfigūruotas"
},
"failed_to_start": "Nepavyko paleisti",
"go_to_element_io": "Eiti į element.io",
"incompatible_browser": {
"browser_links": "Geriausiam veikimui suinstaliuokite <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, arba <safariLink>Safari</safariLink>.",
"continue_warning": "Suprantu šią riziką ir noriu tęsti",
"feature_warning": "Jūs galite toliau naudotis savo dabartine naršykle, bet kai kurios arba visos funkcijos gali neveikti ir programos išvaizda bei sąsaja gali būti neteisingai rodoma.",
"features": "%(brand)s naudoja išplėstines naršyklės funkcijas, kurių jūsų dabartinė naršyklė nepalaiko.",
"summary": "Jūsų naršyklė negali paleisti %(brand)s",
"title": "Nepalaikoma naršyklė"
},
"powered_by_matrix": "Veikia su Matrix",
"powered_by_matrix_with_logo": "Decentralizuotas, užšifruotų pokalbių &amp; bendradarbiavimas, paremtas $matrixLogo",
"unknown_device": "Nežinomas įrenginys",
"use_brand_on_mobile": "Naudoti %(brand)s mobiliajame telefone",
"welcome_to_element": "Sveiki atvykę į Element"
}

View File

@@ -19,20 +19,12 @@
"invalid_json_generic": "Ongeldige JSON",
"misconfigured": "Jouw Element is verkeerd geconfigureerd"
},
"failed_to_start": "Opstarten mislukt",
"go_to_element_io": "Ga naar element.io",
"incompatible_browser": {
"browser_links": "Installeer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, of <safariLink>Safari</safariLink> voor de beste gebruikservaring.",
"continue_warning": "Ik begrijp de risico's en wil verder gaan",
"feature_warning": "Je kan je huidige browser blijven gebruiken, maar sommige of alle functies zouden niet kunnen werken en de weergave van het programma kan verkeerd zijn.",
"features": "%(brand)s gebruikt geavanceerde functies die niet ondersteund worden in je huidige browser.",
"summary": "Jouw browser kan %(brand)s niet starten",
"title": "Niet-ondersteunde browser"
},
"powered_by_matrix": "Mogelijk gemaakt door Matrix",
"powered_by_matrix_with_logo": "Gedecentraliseerde, versleutelde chat &amp; samenwerking mogelijk gemaakt door $matrixLogo",
"unknown_device": "Onbekend apparaat",
"use_brand_on_mobile": "Gebruik %(brand)s op je mobiel",
"web_default_device_name": "%(appName)s: %(browserName)s op %(osName)s",
"welcome_to_element": "Welkom bij Element"
}

View File

@@ -21,20 +21,24 @@
"invalid_json_generic": "Błędny JSON",
"misconfigured": "Twój Element jest nieprawidłowo skonfigurowany"
},
"failed_to_start": "Nie udało się wystartować",
"go_to_element_io": "Przejdź do element.io",
"incompatible_browser": {
"browser_links": "Zainstaluj <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, lub <safariLink>Safari</safariLink> w celu zapewnienia najlepszego działania.",
"continue_warning": "Rozumiem ryzyko i chcę kontynuować",
"feature_warning": "Możesz kontynuować używając obecnej przeglądarki, lecz niektóre lub wszystkie funkcje mogą nie działać oraz wygląd aplikacji może być niepoprawny.",
"features": "%(brand)s używa funkcji zaawansowanych, które nie są dostępne w Twojej przeglądarce.",
"summary": "Twoja przeglądarka nie obsługuje %(brand)s",
"title": "Niewspierana przeglądarka"
"continue": "Kontynuuj mimo to",
"description": "%(brand)s korzysta z niektórych funkcji, które nie są obecnie dostępne w Twojej przeglądarce. %(detail)s",
"detail_can_continue": "Jeśli kontynuujesz, niektóre funkcje mogą przestać działać, jak i istnieje ryzyko utraty danych w przyszłości.",
"detail_no_continue": "Zaktualizuj przeglądarkę, jeśli jeszcze tego nie zrobiłeś i spróbuj ponownie.",
"learn_more": "Dowiedz się więcej",
"linux": "Linux",
"macos": "Mac",
"supported_browsers": "Dla najlepszego doświadczenia korzystaj z <Chrome>Chrome</Chrome>, <Firefox>Firefox</Firefox>, <Edge>Edge</Edge> lub <Safari>Safari</Safari>.",
"title": "%(brand)s nie wspiera tej przeglądarki",
"use_desktop_heading": "Zamiast tego użyj %(brand)s Desktop",
"use_mobile_heading": "Zamiast tego użyj %(brand)s Mobile",
"use_mobile_heading_after_desktop": "lub skorzystaj z naszej aplikacji mobilnej",
"windows": "Windows (%(bits)s-bit)"
},
"powered_by_matrix": "Zasilane przez Matrix",
"powered_by_matrix_with_logo": "Zdecentralizowany czat szyfrowany i współpraca oparta na $matrixLogo",
"unknown_device": "Nieznane urządzenie",
"use_brand_on_mobile": "Użyj %(brand)s w telefonie",
"web_default_device_name": "%(appName)s: %(browserName)s na %(osName)s",
"welcome_to_element": "Witamy w Element"
}

View File

@@ -19,19 +19,11 @@
"invalid_json_generic": "JSON inválido",
"misconfigured": "Seu Element está mal configurado"
},
"failed_to_start": "Falha para iniciar",
"go_to_element_io": "Ir para element.io",
"incompatible_browser": {
"browser_links": "Por favor instale <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ou <safariLink>Safari</safariLink> para a melhor experiência.",
"continue_warning": "Eu entendo os riscos e desejo continuar",
"feature_warning": "Você pode continuar usando seu browser atual, mas alguma ou toda funcionalidade pode não funcionar e a aparência e sensação do aplicativo pode estar incorretas.",
"features": "%(brand)s usa funcionalidade de browser avançada que não é suportada por seu browser atual.",
"summary": "Seu browser não consegue rodar %(brand)s",
"title": "Browser insuportado"
},
"powered_by_matrix_with_logo": "Chat descentralizado e encriptado & colaboração, powered by $matrixLogo",
"unknown_device": "Dispositivo desconhecido",
"use_brand_on_mobile": "Usar %(brand)s em celular",
"web_default_device_name": "%(appName)s: %(browserName)s em %(osName)s",
"welcome_to_element": "Boas-vindas a Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Неверный JSON",
"misconfigured": "Ваш Element неверно настроен"
},
"failed_to_start": "Старт не удался",
"go_to_element_io": "К element.io",
"incompatible_browser": {
"browser_links": "Пожалуйста поставьте <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, или <safariLink>Safari</safariLink> для лучшей совместимости.",
"continue_warning": "Я понимаю риск и хочу продолжить",
"feature_warning": "Вы можете продолжать пользоваться этим браузером, но некоторые возможности будут недоступны и интерфейс может быть отрисован неправильно.",
"features": "%(brand)s использует расширенные возможности, которые не поддерживаются вашим браузером.",
"summary": "Ваш браузер не может запустить %(brand)s",
"title": "Неподдерживаемый браузер"
},
"powered_by_matrix": "На технологии Matrix",
"powered_by_matrix_with_logo": "Децентрализованное, зашифрованное общение и сотрудничество на основе $matrixLogo",
"unknown_device": "Неизвестное устройство",
"use_brand_on_mobile": "Воспользуйтесь %(brand)s на мобильном телефоне",
"web_default_device_name": "%(appName)s: %(browserName)s на %(osName)s",
"welcome_to_element": "Добро пожаловать в Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Neplatný JSON",
"misconfigured": "Váš Element je nesprávne nastavený"
},
"failed_to_start": "Spustenie zlyhalo",
"go_to_element_io": "Prejsť na element.io",
"incompatible_browser": {
"browser_links": "Prosím, nainštalujte si <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> alebo <safariLink>Safari</safariLink> pre najlepší zážitok.",
"continue_warning": "Rozumiem riziku a chcem pokračovať",
"feature_warning": "Môžete naďalej používať váš súčasný prehliadač, ale niektoré alebo všetky funkcie nemusia fungovať a zážitok z aplikácie nemusí byť optimálny.",
"features": "%(brand)s používa pokročilé funkcie prehliadača, ktoré nie sú podporované vaším aktuálnym prehliadačom.",
"summary": "Váš prehliadač nedokáže spustiť %(brand)s",
"title": "Nepodporovaný prehliadač"
},
"powered_by_matrix": "používa protokol Matrix",
"powered_by_matrix_with_logo": "Decentralizované, šifrované konverzácie a spolupráca na platforme $matrixLogo",
"unknown_device": "Neznáme zariadenie",
"use_brand_on_mobile": "Používať %(brand)s na mobilnom zariadení",
"web_default_device_name": "%(appName)s: %(browserName)s na %(osName)s",
"welcome_to_element": "Víta vás Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON i pavlefshëm",
"misconfigured": "Element-i juaj është i keqformësuar"
},
"failed_to_start": "Su arrit të nisej",
"go_to_element_io": "Shko te element.io",
"incompatible_browser": {
"browser_links": "Ju lutemi, për funksionimin më të mirë, instaloni <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ose <safariLink>Safari</safariLink>.",
"continue_warning": "I kuptoj rreziqet dhe dëshiroj të vazhdoj",
"feature_warning": "Mund të vazhdoni të përdorni shfletuesin tuaj të tanishëm, por disa ose krejt veçoritë mund të mos funksionojnë dhe pamja dhe ndjesitë prej aplikacionit të mos jenë të sakta.",
"features": "%(brand)s përdor veçori të thelluara të shfletuesit, të cilat shfletuesi juaj i tanishëm si mbulon.",
"summary": "Shfletuesi juaj smund të xhirojë %(brand)s",
"title": "Shfletues i pambuluar"
},
"powered_by_matrix": "Bazuar në Matrix",
"powered_by_matrix_with_logo": "Fjalosje &amp; bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në $matrixLogo",
"unknown_device": "Pajisje e panjohur",
"use_brand_on_mobile": "Përdor %(brand)s në celular",
"web_default_device_name": "%(appName)s: %(browserName)s në %(osName)s",
"welcome_to_element": "Mirë se vini te Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Ogiltig JSON",
"misconfigured": "Din Element är felkonfigurerad"
},
"failed_to_start": "Misslyckade att starta",
"go_to_element_io": "Gå till element.io",
"incompatible_browser": {
"browser_links": "Installera <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, eller <safariLink>Safari</safariLink> för den bästa upplevelsen.",
"continue_warning": "Jag förstår riskerna och vill fortsätta",
"feature_warning": "Du kan fortsätta använda din nuvarande webbläsare, men vissa eller alla funktioner kanske inte fungerar och utseendet och känslan av applikationen kan var felaktig.",
"features": "%(brand)s använder avancerade webbläsarfunktioner som inte stöds av din aktuella webbläsare.",
"summary": "Din webbläsare kan inte köra %(brand)s",
"title": "Webbläsaren stöds ej"
},
"powered_by_matrix": "Drivs av Matrix",
"powered_by_matrix_with_logo": "Decentraliserad krypterad chatt &amp; samarbete som drivs av $matrixLogo",
"unknown_device": "Okänd enhet",
"use_brand_on_mobile": "Använd %(brand)s på mobilen",
"web_default_device_name": "%(appName)s: %(browserName)s på %(osName)s",
"welcome_to_element": "Välkommen till Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "Хибний JSON",
"misconfigured": "Ваш Element налаштовано неправильно"
},
"failed_to_start": "Не вдалося запустити",
"go_to_element_io": "Перейти на element.io",
"incompatible_browser": {
"browser_links": "Для найкращих вражень від користування встановіть, будь ласка, <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, або <safariLink>Safari</safariLink>.",
"continue_warning": "Я усвідомлюю ризик і бажаю продовжити",
"feature_warning": "Ви можете продовжити, користуючись вашим поточним браузером, але деякі функції можуть не працювати, а застосунок може виглядати неправильно.",
"features": "%(brand)s використовує передові властивості, які ваш браузер не підтримує.",
"summary": "Ваш браузер не може запустити %(brand)s",
"title": "Непідтримуваний браузер"
},
"powered_by_matrix": "Працює на Matrix",
"powered_by_matrix_with_logo": "Децентралізована, зашифрована бесіда та співпраця на основі $matrixLogo",
"unknown_device": "Невідомий пристрій",
"use_brand_on_mobile": "Користуйтеся %(brand)s на мобільному",
"web_default_device_name": "%(appName)s: %(browserName)s на %(osName)s",
"welcome_to_element": "Ласкаво просимо до Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "JSON không hợp lệ",
"misconfigured": "Element đang bị thiết lập sai"
},
"failed_to_start": "Không khởi động được",
"go_to_element_io": "Qua element.io",
"incompatible_browser": {
"browser_links": "Hãy cài đặt <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, hoặc <safariLink>Safari</safariLink> để có trải nghiệm tốt nhất.",
"continue_warning": "Tôi hiểu rủi ro và muốn tiếp tục",
"feature_warning": "Bạn có thể tiếp tục sử dụng trình duyệt hiện tại, tuy nhiên các tính năng có thể sẽ không hoạt động và trải nghiệm ứng dụng có thể sẽ không được tốt.",
"features": "%(brand)s sử dụng một số tính năng nâng cao mà trình duyệt của bạn không thể đáp ứng.",
"summary": "Trình duyệt của bạn không thể chạy %(brand)s",
"title": "Trình duyệt không được hỗ trợ"
},
"powered_by_matrix": "Chạy trên giao thức Matrix",
"powered_by_matrix_with_logo": "Dịch vụ nhắn tin &amp; liên lạc được mã hóa, phi tập trung. Được vận hành trên $matrixLogo",
"unknown_device": "Thiết bị không xác định",
"use_brand_on_mobile": "Sử dụng %(brand)s trên di động",
"web_default_device_name": "%(appName)s: %(browserName)s trên %(osName)s",
"welcome_to_element": "Chào mừng tới Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "无效的 JSON",
"misconfigured": "Element 配置错误"
},
"failed_to_start": "启动失败",
"go_to_element_io": "前往 element.io",
"incompatible_browser": {
"browser_links": "请安装 <chromeLink>Chrome</chromeLink>、<firefoxLink>Firefox</firefoxLink> 或 <safariLink>Safari</safariLink> 以获得最佳体验。",
"continue_warning": "我了解风险并希望继续",
"feature_warning": "您可以继续使用您目前的浏览器,但部分或全部功能可能无法正常工作,应用程序的外观可能也看起来不正确。",
"features": "当前浏览器不支持 %(brand)s 所需的高级浏览器特性。",
"summary": "你的浏览器无法运行 %(brand)s",
"title": "不支持的浏览器"
},
"powered_by_matrix": "由 Matrix 驱动",
"powered_by_matrix_with_logo": "去中心化、加密的聊天与协作,由 $matrixLogo 驱动",
"unknown_device": "未知设备",
"use_brand_on_mobile": "在移动设备上使用 %(brand)s",
"web_default_device_name": "%(appName)s%(browserName)s在%(osName)s",
"welcome_to_element": "欢迎来到 Element"
}

View File

@@ -21,20 +21,12 @@
"invalid_json_generic": "無效的 JSON",
"misconfigured": "您的 Element 設定錯誤"
},
"failed_to_start": "啟動失敗",
"go_to_element_io": "前往 element.io",
"incompatible_browser": {
"browser_links": "請安裝 <chromeLink>Chrome</chromeLink>、<firefoxLink>Firefox</firefoxLink> 或 <safariLink>Safari</safariLink> 以取得最佳體驗。",
"continue_warning": "我了解風險並希望繼續",
"feature_warning": "您可以繼續使用目前的瀏覽器,但部份或全部的功能可能會無法運作,而應用程式的外觀與感覺可能也可能不正確。",
"features": "%(brand)s 使用了您目前瀏覽器不支援的進階功能。",
"summary": "您的瀏覽器無法執行 %(brand)s",
"title": "不支援的瀏覽器"
},
"powered_by_matrix": "由Matrix支持",
"powered_by_matrix_with_logo": "由 $matrixLogo 驅動的去中心化、加密的聊天與協作工具",
"unknown_device": "未知裝置",
"use_brand_on_mobile": "在行動裝置上使用 %(brand)s",
"web_default_device_name": "%(appName)s%(osName)s 的 %(browserName)s",
"welcome_to_element": "歡迎使用 Element"
}

View File

@@ -20,18 +20,18 @@ import { buildAndEncodePickleKey } from "matrix-react-sdk/src/utils/tokens/pickl
const serverSupportMap: {
[serverUrl: string]: {
supportsMSC3916: boolean;
supportsAuthedMedia: boolean;
cacheExpiryTimeMs: number;
};
} = {};
self.addEventListener("install", (event) => {
global.addEventListener("install", (event) => {
// We skipWaiting() to update the service worker more frequently, particularly in development environments.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
event.waitUntil(skipWaiting());
});
self.addEventListener("activate", (event) => {
global.addEventListener("activate", (event) => {
// We force all clients to be under our control, immediately. This could be old tabs.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
event.waitUntil(clients.claim());
@@ -40,7 +40,7 @@ self.addEventListener("activate", (event) => {
// @ts-expect-error - the service worker types conflict with the DOM types available through TypeScript. Many hours
// have been spent trying to convince the type system that there's no actual conflict, but it has yet to work. Instead
// of trying to make it do the thing, we force-cast to something close enough where we can (and ignore errors otherwise).
self.addEventListener("fetch", (event: FetchEvent) => {
global.addEventListener("fetch", (event: FetchEvent) => {
// This is the authenticated media (MSC3916) check, proxying what was unauthenticated to the authenticated variants.
if (event.request.method !== "GET") {
@@ -72,17 +72,15 @@ self.addEventListener("fetch", (event: FetchEvent) => {
// Locate our access token, and populate the fetchConfig with the authentication header.
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
const client = await self.clients.get(event.clientId);
const client = await global.clients.get(event.clientId);
accessToken = await getAccessToken(client);
// Update or populate the server support map using a (usually) authenticated `/versions` call.
await tryUpdateServerSupportMap(csApi, accessToken);
// If we have server support (and a means of authentication), rewrite the URL to use MSC3916 endpoints.
if (serverSupportMap[csApi].supportsMSC3916 && accessToken) {
// Currently unstable only.
// TODO: Support stable endpoints when available.
url = url.replace(/\/media\/v3\/(.*)\//, "/client/unstable/org.matrix.msc3916/media/$1/");
if (serverSupportMap[csApi].supportsAuthedMedia && accessToken) {
url = url.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/");
} // else by default we make no changes
} catch (err) {
console.error("SW: Error in request rewrite.", err);
@@ -104,11 +102,15 @@ async function tryUpdateServerSupportMap(clientApiUrl: string, accessToken?: str
const config = fetchConfigForToken(accessToken);
const versions = await (await fetch(`${clientApiUrl}/_matrix/client/versions`, config)).json();
console.log(`[ServiceWorker] /versions response for '${clientApiUrl}': ${JSON.stringify(versions)}`);
serverSupportMap[clientApiUrl] = {
supportsMSC3916: Boolean(versions?.unstable_features?.["org.matrix.msc3916"]),
supportsAuthedMedia: Boolean(versions?.versions?.includes("v1.11")),
cacheExpiryTimeMs: new Date().getTime() + 2 * 60 * 60 * 1000, // 2 hours from now
};
console.log(
`[ServiceWorker] serverSupportMap update for '${clientApiUrl}': ${JSON.stringify(serverSupportMap[clientApiUrl])}`,
);
}
// Ideally we'd use the `Client` interface for `client`, but since it's not available (see 'fetch' listener), we use
@@ -164,9 +166,9 @@ async function askClientForUserIdParams(client: unknown): Promise<{ userId: stri
if (event.data?.responseKey !== responseKey) return; // not for us
clearTimeout(timeoutId); // do this as soon as possible, avoiding a race between resolve and reject.
resolve(event.data); // "unblock" the remainder of the thread, if that were such a thing in JavaScript.
self.removeEventListener("message", listener); // cleanup, since we're not going to do anything else.
global.removeEventListener("message", listener); // cleanup, since we're not going to do anything else.
};
self.addEventListener("message", listener);
global.addEventListener("message", listener);
// Ask the tab for the information we need. This is handled by WebPlatform.
(client as Window).postMessage({ responseKey, type: "userinfo" });

View File

@@ -89,9 +89,14 @@ export async function loadApp(fragParams: {}, matrixChatRef: React.Ref<MatrixCha
// XXX: This path matching is a bit brittle, but better to do it early instead of in the app code.
const isWelcomeOrLanding =
window.location.hash === "#/welcome" || window.location.hash === "#" || window.location.hash === "";
const isLoginPage = window.location.hash === "#/login";
if (!autoRedirect && ssoRedirects.on_welcome_page && isWelcomeOrLanding) {
autoRedirect = true;
}
if (!autoRedirect && ssoRedirects.on_login_page && isLoginPage) {
autoRedirect = true;
}
if (!hasPossibleToken && !isReturningFromSso && autoRedirect) {
logger.log("Bypassing app load to redirect to SSO");
const tempCli = createClient({

View File

@@ -23,7 +23,7 @@ export async function getVectorConfig(relativeLocation = ""): Promise<IConfigOpt
// Handle trailing dot FQDNs
let domain = window.location.hostname.trimEnd();
if (domain[domain.length - 1] === ".") {
if (domain.endsWith(".")) {
domain = domain.slice(0, -1);
}

View File

@@ -81,31 +81,6 @@
<img src="<%= require('matrix-react-sdk/res/img/format/quote.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/format/strikethrough.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<audio id="messageAudio">
<source src="media/message.ogg" type="audio/ogg" />
<source src="media/message.mp3" type="audio/mpeg" />
</audio>
<audio id="ringAudio" loop>
<source src="media/ring.ogg" type="audio/ogg" />
<source src="media/ring.mp3" type="audio/mpeg" />
</audio>
<audio id="ringbackAudio" loop>
<source src="media/ringback.ogg" type="audio/ogg" />
<source src="media/ringback.mp3" type="audio/mpeg" />
</audio>
<audio id="callendAudio">
<source src="media/callend.ogg" type="audio/ogg" />
<source src="media/callend.mp3" type="audio/mpeg" />
</audio>
<audio id="busyAudio">
<source src="media/busy.ogg" type="audio/ogg" />
<source src="media/busy.mp3" type="audio/mpeg" />
</audio>
<audio id="errorAudio">
<source src="media/error.ogg" type="audio/ogg" />
<source src="media/error.mp3" type="audio/mpeg" />
</audio>
<audio id="remoteAudio"></audio>
<!-- let CSS themes pass constants to the app -->
<div id="mx_theme_accentColor"></div><div id="mx_theme_secondaryAccentColor"></div><div id="mx_theme_tertiaryAccentColor"></div>

View File

@@ -19,19 +19,15 @@ limitations under the License.
*/
import { logger } from "matrix-js-sdk/src/logger";
import { extractErrorMessageFromError } from "matrix-react-sdk/src/components/views/dialogs/ErrorDialog";
import { shouldPolyfill as shouldPolyFillIntlSegmenter } from "@formatjs/intl-segmenter/should-polyfill";
// These are things that can run before the skin loads - be careful not to reference the react-sdk though.
import { parseQsFromFragment } from "./url_utils";
import "./modernizr";
// Make setImmediate available in bundle
import "setimmediate";
// Require common CSS here; this will make webpack process it into bundle.css.
// Our own CSS (which is themed) is imported via separate webpack entry points
// in webpack.config.js
require("gfm.css/gfm.css");
require("katex/dist/katex.css");
/**
@@ -60,8 +56,8 @@ function checkBrowserFeatures(): boolean {
return false;
}
// Custom checks atop Modernizr because it doesn't have ES2018/ES2019 checks
// in it for some features we depend on.
// Custom checks atop Modernizr because it doesn't have checks in it for
// some features we depend on.
// Modernizr requires rules to be lowercase with no punctuation.
// ES2018: http://262.ecma-international.org/9.0/#sec-promise.prototype.finally
window.Modernizr.addTest("promiseprototypefinally", () => typeof window.Promise?.prototype?.finally === "function");
@@ -74,6 +70,21 @@ function checkBrowserFeatures(): boolean {
);
// ES2019: http://262.ecma-international.org/10.0/#sec-object.fromentries
window.Modernizr.addTest("objectfromentries", () => typeof window.Object?.fromEntries === "function");
// ES2024: https://tc39.es/ecma262/2024/#sec-get-regexp.prototype.unicodesets
window.Modernizr.addTest(
"regexpunicodesets",
() => window.RegExp?.prototype && "unicodeSets" in window.RegExp.prototype,
);
// ES2024: https://402.ecma-international.org/9.0/#sec-intl.segmenter
// The built-in modernizer 'intl' check only checks for the presence of the Intl object, not the Segmenter,
// and older Firefox has the former but not the latter, so we add our own.
// This is polyfilled now, but we still want to show the warning because we want to remove the polyfill
// at some point.
window.Modernizr.addTest("intlsegmenter", () => typeof window.Intl?.Segmenter === "function");
// Basic test for WebAssembly support. We could also try instantiating a simple module,
// although this would start to make (more) assumptions about how rust-crypto loads its wasm.
window.Modernizr.addTest("wasm", () => typeof WebAssembly === "object" && typeof WebAssembly.Module === "function");
const featureList = Object.keys(window.Modernizr) as Array<keyof ModernizrStatic>;
@@ -104,12 +115,15 @@ const supportedBrowser = checkBrowserFeatures();
// the browser to use as much parallelism as it can.
// Load parallelism is based on research in https://github.com/element-hq/element-web/issues/12253
async function start(): Promise<void> {
if (shouldPolyFillIntlSegmenter()) {
await import(/* webpackChunkName: "intl-segmenter-polyfill" */ "@formatjs/intl-segmenter/polyfill-force");
}
// load init.ts async so that its code is not executed immediately and we can catch any exceptions
const {
rageshakePromise,
setupLogStorage,
preparePlatform,
loadOlm,
loadConfig,
loadLanguage,
loadTheme,
@@ -118,12 +132,15 @@ async function start(): Promise<void> {
showError,
showIncompatibleBrowser,
_t,
extractErrorMessageFromError,
} = await import(
/* webpackChunkName: "init" */
/* webpackPreload: true */
"./init"
);
// Now perform the next stage of initialisation. This has its own try/catch in which we render
// a react error page on failure.
try {
// give rageshake a chance to load/fail, we don't actually assert rageshake loads, we allow it to fail if no IDB
await settled(rageshakePromise);
@@ -147,7 +164,6 @@ async function start(): Promise<void> {
}
}
const loadOlmPromise = loadOlm();
// set the platform for react sdk
preparePlatform();
// load config requires the platform to be ready
@@ -180,7 +196,7 @@ async function start(): Promise<void> {
// error handling begins here
// ##########################
if (!acceptBrowser) {
await new Promise<void>((resolve) => {
await new Promise<void>((resolve, reject) => {
logger.error("Browser is missing required features.");
// take to a different landing page to AWOOOOOGA at the user
showIncompatibleBrowser(() => {
@@ -189,7 +205,7 @@ async function start(): Promise<void> {
}
logger.log("User accepts the compatibility risks.");
resolve();
});
}).catch(reject);
});
}
@@ -214,7 +230,6 @@ async function start(): Promise<void> {
// app load critical path starts here
// assert things started successfully
// ##################################
await loadOlmPromise;
await loadModulesPromise;
await loadThemePromise;
await loadLanguagePromise;
@@ -238,6 +253,10 @@ async function start(): Promise<void> {
}
start().catch((err) => {
// If we get here, things have gone terribly wrong and we cannot load the app javascript at all.
// Show a different, very simple iframed-static error page. Or actually, one of two different ones
// depending on whether the browser is supported (ie. we think we should be able to load but
// failed) or unsupported (where we tried anyway and, lo and behold, we failed).
logger.error(err);
// show the static error in an iframe to not lose any context / console data
// with some basic styling to make the iframe full page

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