Compare commits

..

127 Commits

Author SHA1 Message Date
RiotRobot
1df72ce2d0 v1.11.82 2024-10-22 12:10:29 +00:00
RiotRobot
6a960204b3 Upgrade dependency to matrix-react-sdk@3.114.0 2024-10-22 12:07:41 +00:00
RiotRobot
26cd13ae3c Upgrade dependency to matrix-js-sdk@34.9.0 2024-10-22 11:59:48 +00:00
RiotRobot
3793c6daca v1.11.82-rc.0 2024-10-15 14:57:48 +00:00
RiotRobot
65f0d7930a Upgrade dependency to matrix-react-sdk@3.114.0-rc.0 2024-10-15 14:43:13 +00:00
RiotRobot
8b914c02d0 Upgrade dependency to matrix-js-sdk@34.9.0-rc.0 2024-10-15 14:33:13 +00:00
David Baker
07ed8e8a2d Merge remote-tracking branch 'origin/staging' into develop 2024-10-15 15:26:19 +01:00
David Baker
80018bccff Supporting change for CVE-2024-47771 / GHSA-963w-49j9-gxj6 2024-10-15 14:08:43 +01:00
David Baker
bc0ae8de14 Fix for CVE-2024-47779 / GHSA-3jm3-x98c-r34x 2024-10-15 14:08:36 +01:00
RiotRobot
89380ab59f v1.11.81 2024-10-15 11:43:34 +00:00
David Baker
63c8550791 Supporting change for CVE-2024-47771 / GHSA-963w-49j9-gxj6 2024-10-15 12:38:16 +01:00
David Baker
8d7f2b5c13 Fix for CVE-2024-47779 / GHSA-3jm3-x98c-r34x 2024-10-15 12:37:21 +01:00
RiotRobot
8904453bbf Upgrade dependency to matrix-react-sdk@3.113.0 2024-10-15 11:04:13 +00:00
RiotRobot
0943ffa0aa Upgrade dependency to matrix-js-sdk@34.8.0 2024-10-15 10:55:03 +00:00
Michael Telatynski
b428b4aa9d Update to Compound v7 (#28191) 2024-10-15 09:56:39 +01:00
R Midhun Suresh
786a0286cf Upgrade compound also in element-web (#28157) 2024-10-14 17:11:54 +01:00
RiotRobot
8d77b2a15a Reset matrix-js-sdk back to develop branch 2024-10-08 12:37:43 +00:00
RiotRobot
7cb80d560d Reset matrix-react-sdk back to develop branch 2024-10-08 12:37:34 +00:00
RiotRobot
b318c40f4d Merge branch 'master' into develop 2024-10-08 12:37:22 +00:00
RiotRobot
46d6935517 v1.11.80 2024-10-08 12:34:40 +00:00
RiotRobot
097506f0c1 Upgrade dependency to matrix-react-sdk@3.112.0 2024-10-08 12:31:52 +00:00
RiotRobot
b5944e2eeb Upgrade dependency to matrix-js-sdk@34.7.0 2024-10-08 12:24:10 +00:00
Michael Telatynski
8720a7cef7 Merge pull request #28152 from element-hq/t3chguy/remove-hmr
Remove broken HMR support
2024-10-08 09:39:24 +00:00
Michael Telatynski
2a33d553e4 Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-08 10:28:51 +01:00
Michael Telatynski
36285699ac Remove more bits surrounding hmr
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-04 14:12:08 +01:00
Michael Telatynski
1691468145 Merge pull request #28151 from element-hq/t3chguy/dedup-icons-2
Update prefetch composer icons to Compound
2024-10-04 12:42:21 +00:00
Michael Telatynski
9407af0bfb Remove broken HMR support
It has been broken since the Webpack 5 upgrade

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-04 13:41:25 +01:00
Michael Telatynski
c65da80f51 Update prefetch composer icons to Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-04 13:08:36 +01:00
David Baker
00a9bb3f0e Merge pull request #28148 from AndrewKvalheim/help_encrption_url
Correct typo in option documentation
2024-10-04 09:07:08 +00:00
Andrew Kvalheim
6a797684db Correct typo in option documentation
Signed-off-by: Andrew Kvalheim <andrew@kvalhe.im>
2024-10-03 16:30:25 -07:00
Michael Telatynski
36c80099fb Merge pull request #28129 from element-hq/t3chguy/remove-legacy-header
Remove legacy room header
2024-10-02 12:11:00 +00:00
Michael Telatynski
07ce53ce99 Merge branch 'develop' into t3chguy/remove-legacy-header 2024-10-02 11:24:43 +01:00
David Baker
50871f6973 Merge pull request #28135 from element-hq/renovate/docker
Update docker/build-push-action digest to 4f58ea7
2024-10-01 19:54:18 +00:00
renovate[bot]
013086cbaf Update docker/build-push-action digest to 4f58ea7 2024-10-01 19:09:55 +00:00
RiotRobot
aa3096ab79 v1.11.80-rc.0 2024-10-01 15:17:28 +00:00
RiotRobot
c44555cdf0 Upgrade dependency to matrix-react-sdk@3.112.0-rc.0 2024-10-01 15:08:37 +00:00
RiotRobot
60cf3ce192 Upgrade dependency to matrix-js-sdk@34.7.0-rc.0 2024-10-01 14:56:42 +00:00
David Baker
ebd632cf47 Merge remote-tracking branch 'origin/staging' into develop 2024-10-01 15:21:47 +01:00
David Baker
3f1a32105a Merge pull request #28130 from element-hq/dbkr/branch_cut_debug_2
Separate out tasks for each merge in the Prepare Release script
2024-10-01 13:37:29 +00:00
David Baker
42be67e57a Just run the git setup once 2024-10-01 14:06:03 +01:00
David Baker
350b84a159 Separate out tasks for each merge in the Prepare Release script
So it's easier to see which one failed.
2024-10-01 13:54:32 +01:00
RiotRobot
ec60099105 v1.11.79 2024-10-01 12:03:22 +00:00
RiotRobot
14dc9a0418 Upgrade dependency to matrix-react-sdk@3.111.0 2024-10-01 11:59:43 +00:00
Robin
d282416ea6 Update docs to reflect that you can join calls without the labs flags 2024-10-01 10:48:08 +01:00
Michael Telatynski
3baba1da65 Remove legacy room header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-01 10:06:24 +01:00
Robin
e428a1eb53 Merge pull request #28113 from robintown/delabs-join-calls
Update docs to reflect that you can join calls without the labs flags
2024-09-30 13:37:05 +00:00
R Midhun Suresh
1c0b04a3a5 Merge pull request #28124 from element-hq/midhun/remove-message-pinning-from-action
Don't add `labs` label for `A-Message-Pinning`
2024-09-30 13:15:08 +00:00
R Midhun Suresh
34c80bb785 Message pinning is no longer a labs feature
So remove it from this action
2024-09-30 18:17:41 +05:30
Robin
de02f04395 Update docs to reflect that you can join calls without the labs flags 2024-09-27 14:06:50 -04:00
Florian Duros
1b31e7f67b Merge pull request #28079 from element-hq/renovate/typescript
Update dependency typescript to v5.6.2
2024-09-26 15:07:00 +00:00
Florian Duros
e0ab0cfa4e Merge remote-tracking branch 'origin/renovate/typescript' into renovate/typescript
# Conflicts:
#	yarn.lock
2024-09-26 16:56:14 +02:00
Florian Duros
53bbe891eb Fix react types 2024-09-26 16:55:46 +02:00
renovate[bot]
7721c9e410 Update dependency typescript to v5.6.2 2024-09-26 14:42:40 +00:00
Richard van der Hoff
63c1ba07e8 Merge pull request #28101 from element-hq/rav/no_element_r_issues
Stop adding Element-R issues to the Crypto team board
2024-09-25 12:20:06 +00:00
Richard van der Hoff
7475c507aa Stop adding Element-R issues to the Crypto team board
Now that Element-R is universal, issues affecting Element-R are just
"issues". As such, it's no longer appropriate to add these to the Crypto team
board.
2024-09-25 11:28:20 +01:00
Michael Telatynski
861ac3b50c Merge pull request #28096 from element-hq/t3chguy/fix/d1889
Update native OIDC callback url to be RFC8252 compliant
2024-09-25 10:08:49 +00:00
Michael Telatynski
994fcd6319 Update native OIDC callback url to be RFC8252 compliant
By switching the double slash for a single one

Fixes https://github.com/element-hq/element-desktop/issues/1889

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-24 16:56:08 +01:00
RiotRobot
11d70feb90 Reset matrix-js-sdk back to develop branch 2024-09-24 12:53:07 +00:00
RiotRobot
fed93f5759 Reset matrix-react-sdk back to develop branch 2024-09-24 12:52:57 +00:00
RiotRobot
95b981a203 Merge branch 'master' into develop 2024-09-24 12:52:41 +00:00
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
Florian Duros
787feca6a4 Merge pull request #28075 from element-hq/renovate/definitelytyped
Update dependency @types/node to v16.18.108
2024-09-23 14:10:54 +00:00
renovate[bot]
42b6703f9f Update dependency @types/node to v16.18.108 2024-09-23 13:49:14 +00:00
renovate[bot]
1bbe4c3fbc Merge pull request #28076 from element-hq/renovate/react-types
Update dependency @types/react to v17.0.82
2024-09-23 10:21:14 +00:00
renovate[bot]
a37d5d6a2b Update dependency @types/react to v17.0.82 2024-09-23 10:12:31 +00:00
David Baker
f81f82c404 Merge pull request #28083 from element-hq/renovate/major-css
Update dependency postcss-mixins to v11
2024-09-20 09:10:27 +00:00
David Baker
7076859a02 Merge pull request #28078 from element-hq/renovate/stylelint
Update dependency stylelint-scss to v6.6.0
2024-09-20 08:35:42 +00:00
renovate[bot]
573f438a6b Merge pull request #28081 from element-hq/renovate/chokidar-4.x
Update dependency chokidar to v4
2024-09-19 22:42:47 +00:00
renovate[bot]
19166b57ba Update dependency chokidar to v4 2024-09-19 22:31:58 +00:00
David Baker
8a4990b56a Merge pull request #28082 from element-hq/renovate/concurrently-9.x
Update dependency concurrently to v9
2024-09-19 21:59:41 +00:00
David Baker
773754df3a Merge pull request #28077 from element-hq/renovate/eslint-monorepo
Update dependency eslint to v8.57.1
2024-09-19 21:20:06 +00:00
David Baker
fb7b123d43 Merge pull request #28073 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-09-19 19:34:16 +00:00
David Baker
72733bcac1 Merge pull request #28072 from element-hq/renovate/sigstore-cosign-installer-digest
Update sigstore/cosign-installer digest to 4959ce0
2024-09-19 19:33:57 +00:00
renovate[bot]
87f2b6fb0b Update dependency postcss-mixins to v11 2024-09-19 19:27:16 +00:00
renovate[bot]
5a84da09cc Update dependency concurrently to v9 2024-09-19 19:26:50 +00:00
renovate[bot]
3c2614e62c Update dependency typescript to v5.6.2 2024-09-19 19:25:47 +00:00
renovate[bot]
473fce9b8b Update dependency stylelint-scss to v6.6.0 2024-09-19 19:25:34 +00:00
renovate[bot]
4535503e71 Update dependency eslint to v8.57.1 2024-09-19 19:25:14 +00:00
renovate[bot]
a2f9b5efdf Update all non-major dependencies 2024-09-19 19:23:53 +00:00
renovate[bot]
205d7f820f Update sigstore/cosign-installer digest to 4959ce0 2024-09-19 19:23:23 +00:00
David Baker
1ec143f7fe Merge pull request #28071 from element-hq/renovate/peter-evans-create-pull-request-digest
Update peter-evans/create-pull-request digest to 5e91468
2024-09-19 17:31:40 +00:00
renovate[bot]
97c10116ad Update peter-evans/create-pull-request digest to 5e91468 2024-09-19 17:18:55 +00:00
David Baker
bfe83e024d Merge pull request #28070 from element-hq/dbkr/fix_dashboard_issue_no
Fix dependency dashboard issue number
2024-09-19 15:16:54 +00:00
David Baker
acf95b18b8 Fix dependency dashboard issue number 2024-09-19 15:46:50 +01:00
David Baker
7fff2900c5 Merge pull request #28069 from element-hq/dbkr/update_docs_new_repo
Update release docs for new repo
2024-09-19 14:15:10 +00:00
David Baker
a17be672d3 Update release docs for new repo 2024-09-19 14:51:13 +01: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
David Baker
07b42061a1 Fix yarn lockfile 2024-09-18 13:46:37 +01:00
David Baker
191b1dd570 Merge remote-tracking branch 'origin/staging' into develop 2024-09-18 13:44:42 +01:00
David Baker
11be4ab422 Merge pull request #28057 from element-hq/dbkr/disable-pending-prs
Disable pending reviews jobs for now
2024-09-17 10:31:37 +00:00
David Baker
a083d2fd38 Update pending-reviews.yaml 2024-09-17 11:07:40 +01:00
David Langley
ddc789320a Merge pull request #28055 from element-hq/langleyd/addMobileRegistrationHelperToDevelop
Add "Registration.mobileRegistrationHelper" config setting on develop.
2024-09-16 14:48:46 +00:00
David Langley
ff9286fe28 Merge branch 'develop' into langleyd/addMobileRegistrationHelperToDevelop 2024-09-16 15:37:32 +01:00
David Langley
f7c08d1c68 Add "Registration.mobileRegistrationHelper" config setting on develop. 2024-09-16 15:27:53 +01:00
David Langley
eadff6333b Merge pull request #28053 from element-hq/removeRegexUnicodesModernizrCheck
Remove regexpunicodesets modernizr check
2024-09-16 12:07:50 +00:00
David Langley
baac24adf3 Remove regexpunicodesets modernizr check 2024-09-16 12:46:47 +01:00
Florian Duros
f42f7c923f Merge pull request #28045 from fkwp/fkwp/enable_ec_on_dev
enable Element Call on develop.element.io
2024-09-13 14:04:13 +00:00
Florian Duros
78ed91041b Merge branch 'develop' into fkwp/enable_ec_on_dev 2024-09-13 15:55:24 +02:00
Florian Duros
804a57c80e Merge pull request #28049 from element-hq/florianduros/change-react-sdk-repo
Replace `matrix.org/matrix-react-sdk` with `element-hq/matrix-react-sdk` in CI
2024-09-13 13:37:26 +00:00
Florian Duros
4e47537614 Replace matrix.org/matrix-react-sdk with element-hq/matrix-react-sdk in CI 2024-09-13 15:26:38 +02:00
fkwp
7584d58d11 enable Element Call on develop.element.io 2024-09-13 11:13:53 +02:00
Michael Telatynski
f1a9e080c3 Merge pull request #28040 from element-hq/t3chguy/transparent-logos
Update icons to include transparency
2024-09-12 11:57:35 +00:00
Michael Telatynski
96934a5a8d Update icons to include transparency
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-12 11:57:59 +01:00
David Baker
179ba97543 Merge pull request #28035 from element-hq/dbkr/force_verification
Add doc for 'force_verification config option
2024-09-11 19:59:04 +00:00
David Baker
227b56a412 Add doc for 'force_verification config option
As per https://github.com/element-hq/matrix-react-sdk/pull/29
2024-09-11 16:01:13 +01:00
David Baker
8822a0b4b7 Merge pull request #28034 from element-hq/dbkr/default_widget_container_height_sample
Fix default_widget_container_height in sample config
2024-09-11 10:13:27 +00:00
David Baker
3a4e6302ad Fix default_widget_container_height in sample config
The key name was just wrong
2024-09-11 10:14:40 +01: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
David Baker
8c76fe4765 Merge pull request #28021 from element-hq/dbkr/element-react-sdk-2
Switch react-sdk in package.json too
2024-09-09 10:52:07 +00:00
David Langley
7b8d9d3313 Merge pull request #28024 from element-hq/langleyd/change_license
Change Licence
2024-09-09 09:30:37 +00:00
David Langley
ea89fe3955 revert modernizr header change 2024-09-06 16:07:10 +01:00
David Langley
aa8d22984e Update shell script 2024-09-06 15:44:43 +01:00
David Langley
69c28ad74f Update license files 2024-09-06 15:44:31 +01:00
David Langley
85d5c2aafc Update contributing guidelines, config files and add licence files. 2024-09-06 15:02:58 +01:00
David Baker
bad5edae68 Update lockfile too 2024-09-06 14:58:02 +01:00
David Baker
c32994f6f7 Switch react-sdk in package.json too 2024-09-06 12:59:58 +01:00
David Baker
f937dea88b Merge pull request #28020 from element-hq/dbkr/element_react_sdk
Switch to element's react-sdk fork
2024-09-06 11:49:44 +00:00
David Baker
49375dc94b Switch to element's react-sdk fork 2024-09-06 11:36:04 +01: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
99 changed files with 838 additions and 885 deletions

View File

@@ -1,16 +0,0 @@
# To enable CSS hot-reload, set the following variable to 1.
CSS_HOT_RELOAD=1
# To use the full page error dialog, set this to 1. Please report false positives to
# the issue tracker for handling.
FULL_PAGE_ERRORS=0
# To use a single theme, uncomment the line with the theme you want to hot-reload.
MATRIX_THEMES='light'
#MATRIX_THEMES='dark'
#MATRIX_THEMES='legacy-light'
#MATRIX_THEMES='legacy-dark'
#MATRIX_THEMES='light-custom'
#MATRIX_THEMES='dark-custom'
# You can also enable multiple themes by using a comma-separated list.
# When multiple themes are enabled, switching between them may require a full page reload.
# Note that compilation times are proportional to the number of enabled themes.
#MATRIX_THEMES='light,dark'

View File

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

View File

@@ -30,7 +30,7 @@ jobs:
fetch-depth: 0 # needed for docker-package to be able to calculate the version
- name: Install Cosign
uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3
uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3
- name: Prepare
if: matrix.prepare
@@ -65,7 +65,7 @@ jobs:
- name: Build and push
id: build-and-push
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6
with:
context: .
push: true

View File

@@ -33,7 +33,7 @@ jobs:
- name: Fetch matrix-react-sdk
uses: actions/checkout@v4
with:
repository: matrix-org/matrix-react-sdk
repository: element-hq/matrix-react-sdk
path: matrix-react-sdk
- name: Fetch matrix-js-sdk

View File

@@ -16,14 +16,14 @@ concurrency:
jobs:
playwright:
name: Playwright
uses: matrix-org/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop
uses: element-hq/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop
permissions:
actions: read
issues: read
pull-requests: read
with:
element-web-sha: ${{ github.sha }}
react-sdk-repository: matrix-org/matrix-react-sdk
react-sdk-repository: element-hq/matrix-react-sdk
# We only want to run the playwright tests on merge queue to prevent regressions
# from creeping in. They take a long time to run and consume multiple concurrent runners.
skip: ${{ github.event_name != 'merge_group' }}

View File

@@ -1,8 +1,10 @@
name: Pending reviews automation
on:
# The bot exceeded its API rate limit. Disabling for now (adding workflow dispatch so the workflow file stays valid & we can test to see if it starts working again)
workflow_dispatch: {}
# We run it on a schedule instead of on pull_request_* events to not create confusing messaging in the PR
schedule:
- cron: "*/10 * * * *"
#schedule:
# - cron: "*/10 * * * *"
concurrency: ${{ github.workflow }}
jobs:
bot:
@@ -62,7 +64,7 @@ jobs:
const repos = [
"element-hq/element-desktop",
"element-hq/element-web",
"matrix-org/matrix-react-sdk",
"element-hq/matrix-react-sdk",
"matrix-org/matrix-js-sdk",
];
const teams = [

View File

@@ -53,7 +53,7 @@ jobs:
uses: actions/checkout@v4
if: inputs.matrix-react-sdk
with:
repository: matrix-org/matrix-react-sdk
repository: element-hq/matrix-react-sdk
path: matrix-react-sdk
ref: staging
fetch-depth: 0
@@ -70,11 +70,27 @@ jobs:
fetch-tags: true
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
- name: Merge develop
- name: Prepare Git
run: |
git config --global user.email "releases@riot.im"
git config --global user.name "RiotRobot"
for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" merge origin/develop; done
- name: Merge Element Desktop
if: inputs.element-desktop
run: |
git -C "element-desktop" merge origin/develop
- name: Merge Element Web
if: inputs.element-web
run: |
git -C "element-web" merge origin/develop
- name: Merge React SDK
if: inputs.matrix-react-sdk
run: |
git -C "matrix-react-sdk" merge origin/develop
- name: Merge JS SDK
if: inputs.matrix-js-sdk
run: |
git -C "matrix-js-sdk" merge origin/develop
- name: Push staging
run: for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" push origin staging; done
@@ -95,7 +111,7 @@ jobs:
uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork
with:
ref: staging
repo: matrix-org/matrix-react-sdk
repo: element-hq/matrix-react-sdk
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
wait-interval: 10
check-name: draft

View File

@@ -14,7 +14,6 @@ jobs:
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Maths') ||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') ||
@@ -175,26 +174,3 @@ jobs:
with:
project-url: https://github.com/orgs/element-hq/projects/101
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
element_r:
name: Add Element R issues to Crypto Team board
runs-on: ubuntu-latest
if: >
contains(github.event.issue.labels.*.name, 'A-Element-R')
steps:
- id: add_to_project
uses: actions/add-to-project@v1.0.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: Workstream,module
field-values: Element-R,web
env:
PROJECT_URL: https://github.com/orgs/element-hq/projects/76

View File

@@ -22,7 +22,7 @@ jobs:
run: "yarn update:jitsi"
- name: Create Pull Request
uses: peter-evans/create-pull-request@4320041ed380b20e97d388d56a7fb4f9b8c20e79 # v7
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
branch: actions/jitsi-update

View File

@@ -1,3 +1,125 @@
Changes in [1.11.82](https://github.com/element-hq/element-web/releases/tag/v1.11.82) (2024-10-22)
==================================================================================================
## ✨ Features
* Deduplicate more icons using Compound Design Tokens ([#132](https://github.com/element-hq/matrix-react-sdk/pull/132)). Contributed by @t3chguy.
* Always show link new device flow even if unsupported ([#147](https://github.com/element-hq/matrix-react-sdk/pull/147)). Contributed by @t3chguy.
* Update design of files list in right panel ([#144](https://github.com/element-hq/matrix-react-sdk/pull/144)). Contributed by @t3chguy.
* Remove feature\_dehydration ([#138](https://github.com/element-hq/matrix-react-sdk/pull/138)). Contributed by @florianduros.
* Upgrade emojibase-bindings and remove local handling of emoticon variations ([#127](https://github.com/element-hq/matrix-react-sdk/pull/127)). Contributed by @langleyd.
* Add support for rendering media captions ([#43](https://github.com/element-hq/matrix-react-sdk/pull/43)). Contributed by @tulir.
* Replace composer icons with Compound variants ([#123](https://github.com/element-hq/matrix-react-sdk/pull/123)). Contributed by @t3chguy.
* Tweak default right panel size to be 320px except for maximised widgets at 420px ([#110](https://github.com/element-hq/matrix-react-sdk/pull/110)). Contributed by @t3chguy.
* Add a pinned message badge under a pinned message ([#118](https://github.com/element-hq/matrix-react-sdk/pull/118)). Contributed by @florianduros.
* Ditch right panel tabs and re-add close button ([#99](https://github.com/element-hq/matrix-react-sdk/pull/99)). Contributed by @t3chguy.
* Force verification even for refreshed clients ([#44](https://github.com/element-hq/matrix-react-sdk/pull/44)). Contributed by @dbkr.
* Update emoji text, border and background colour in timeline ([#119](https://github.com/element-hq/matrix-react-sdk/pull/119)). Contributed by @florianduros.
* Disable ICE fallback based on well-known configuration ([#111](https://github.com/element-hq/matrix-react-sdk/pull/111)). Contributed by @t3chguy.
* Remove legacy room header and promote beta room header ([#105](https://github.com/element-hq/matrix-react-sdk/pull/105)). Contributed by @t3chguy.
* Respect `io.element.jitsi` `useFor1To1Calls` in well-known ([#112](https://github.com/element-hq/matrix-react-sdk/pull/112)). Contributed by @t3chguy.
* Use Compound close icon in favour of mishmash of x/close icons ([#108](https://github.com/element-hq/matrix-react-sdk/pull/108)). Contributed by @t3chguy.
## 🐛 Bug Fixes
* Correct typo in option documentation ([#28148](https://github.com/element-hq/element-web/pull/28148)). Contributed by @AndrewKvalheim.
* Revert #124 and #135 ([#139](https://github.com/element-hq/matrix-react-sdk/pull/139)). Contributed by @dbkr.
* Add aria-label to e2e icon ([#136](https://github.com/element-hq/matrix-react-sdk/pull/136)). Contributed by @florianduros.
* Fix bell icons on room list hover being black squares ([#135](https://github.com/element-hq/matrix-react-sdk/pull/135)). Contributed by @dbkr.
* Fix vertical overflow on the mobile register screen ([#137](https://github.com/element-hq/matrix-react-sdk/pull/137)). Contributed by @langleyd.
* Allow to unpin redacted event ([#98](https://github.com/element-hq/matrix-react-sdk/pull/98)). Contributed by @florianduros.
Changes in [1.11.81](https://github.com/element-hq/element-web/releases/tag/v1.11.81) (2024-10-15)
==================================================================================================
This release fixes High severity vulnerability CVE-2024-47771 / GHSA-963w-49j9-gxj6
Changes in [1.11.80](https://github.com/element-hq/element-web/releases/tag/v1.11.80) (2024-10-08)
==================================================================================================
## ✨ Features
* Add doc for 'force\_verification config option ([#28035](https://github.com/element-hq/element-web/pull/28035)). Contributed by @dbkr.
* Roll back change to device isolation mode ([#104](https://github.com/element-hq/matrix-react-sdk/pull/104)). Contributed by @richvdh.
* Remove right panel toggling behaviour on room header buttons ([#100](https://github.com/element-hq/matrix-react-sdk/pull/100)). Contributed by @t3chguy.
* Improve error display for messages sent from insecure devices ([#93](https://github.com/element-hq/matrix-react-sdk/pull/93)). Contributed by @richvdh.
* Add labs option to exclude unverified devices ([#92](https://github.com/element-hq/matrix-react-sdk/pull/92)). Contributed by @richvdh.
* Improve contrast for timestamps, date separators \& spotlight trigger ([#91](https://github.com/element-hq/matrix-react-sdk/pull/91)). Contributed by @t3chguy.
* Open room settings on room header avatar click ([#88](https://github.com/element-hq/matrix-react-sdk/pull/88)). Contributed by @t3chguy.
* Use `strong` over `b` for improved a11y semantics ([#41](https://github.com/element-hq/matrix-react-sdk/pull/41)). Contributed by @t3chguy.
* Grant Element Call widget capabilities for "raise hand" feature ([#82](https://github.com/element-hq/matrix-react-sdk/pull/82)). Contributed by @AndrewFerr.
* Mobile registration optimizations and tests ([#62](https://github.com/element-hq/matrix-react-sdk/pull/62)). Contributed by @langleyd.
* Ignore chat effect when older than 48h ([#48](https://github.com/element-hq/matrix-react-sdk/pull/48)). Contributed by @florianduros.
## 🐛 Bug Fixes
* Update native OIDC callback url to be RFC8252 compliant ([#28096](https://github.com/element-hq/element-web/pull/28096)). Contributed by @t3chguy.
* Update icons to include transparency ([#28040](https://github.com/element-hq/element-web/pull/28040)). Contributed by @t3chguy.
* Fix default\_widget\_container\_height in sample config ([#28034](https://github.com/element-hq/element-web/pull/28034)). Contributed by @dbkr.
* Fix untranslated keys being rendered in `/help` dialog ([#90](https://github.com/element-hq/matrix-react-sdk/pull/90)). Contributed by @t3chguy.
* Ensure timeline search results are visible even in video rooms ([#96](https://github.com/element-hq/matrix-react-sdk/pull/96)). Contributed by @t3chguy.
* Pop right panel timeline when unmaximising widget to avoid double timeline ([#94](https://github.com/element-hq/matrix-react-sdk/pull/94)). Contributed by @t3chguy.
* Fix accessible label on left panel spotlight trigger ([#87](https://github.com/element-hq/matrix-react-sdk/pull/87)). Contributed by @t3chguy.
* Crypto: fix display of device key ([#86](https://github.com/element-hq/matrix-react-sdk/pull/86)). Contributed by @richvdh.
Changes in [1.11.79](https://github.com/element-hq/element-web/releases/tag/v1.11.79) (2024-10-01)
==================================================================================================
* No changes
## ✨ Features
* [Backport staging] Allow joining calls and video rooms without enabling the labs flags ([#106](https://github.com/element-hq/matrix-react-sdk/pull/106)). Contributed by @RiotRobot.
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

View File

@@ -206,10 +206,6 @@ internet. So please don't depend on resources (JS libs, CSS, images, fonts)
hosted by external CDNs or servers but instead please package all dependencies
into Element itself.
CSS hot-reload is available as an opt-in development feature. You can enable it
by defining a `CSS_HOT_RELOAD` environment variable, in a `.env` file in the root
of the repository. See `.env.example` for documentation and an example.
# Setting up a dev environment
Much of the functionality in Element is actually in the `matrix-react-sdk` and

View File

@@ -12,6 +12,7 @@
"disable_guests": false,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"force_verification": false,
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
@@ -22,7 +23,7 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"default_widget_height": 280,
"default_widget_container_height": 280,
"default_country_code": "GB",
"show_labs_settings": false,
"features": {},

View File

@@ -154,7 +154,8 @@ complete re-branding/private labeling, a more personalised experience can be ach
2. `description`: Required. The description to use for the notice.
3. `show_once`: Optional. If true then the notice will only be shown once per device.
18. `help_url`: The URL to point users to for help with the app, defaults to `https://element.io/help`.
19. `help_encrption_url`: The URL to point users to for help with encryption, defaults to `https://element.io/help#encryption`.
19. `help_encryption_url`: The URL to point users to for help with encryption, defaults to `https://element.io/help#encryption`.
20. `force_verification`: If true, users must verify new logins (eg. with another device / their security key)
### `desktop_builds` and `mobile_builds`

View File

@@ -83,7 +83,7 @@ Enables sharing your current location to the timeline, with live updates.
## Video rooms (`feature_video_rooms`)
Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of.
Enables support for creating video rooms, which are persistent video chats that users can jump in and out of.
## Element Call video rooms (`feature_element_call_video_rooms`) [In Development]
@@ -93,7 +93,7 @@ This flag will not have any effect unless `feature_video_rooms` is also enabled.
## New group call experience (`feature_group_calls`) [In Development]
This feature allows users to place and join native [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group calls in compatible rooms, using Element Call.
This feature allows users to place native [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group calls in compatible rooms, using Element Call.
If you're enabling this at the deployment level, you may also want to reference the docs for the `element_call` config section.
@@ -110,10 +110,6 @@ This is useful while we experiment with encryption and to make calling compatibl
Enables rendering of MD / HTML in room topics.
## New room header & details (`feature_new_room_decoration_ui`) [In Development]
Refactors visually the room header and room sidebar
## Enable the notifications panel in the room header (`feature_notifications`)
Unreliable in encrypted rooms.

View File

@@ -200,9 +200,9 @@ switched back to the version of the dependency from the master branch to not lea
### Matrix React SDK
- [ ] Check the draft release which has been generated by [the automation](https://github.com/matrix-org/matrix-react-sdk/actions/workflows/release-drafter.yml)
- [ ] Check the draft release which has been generated by [the automation](https://github.com/element-hq/matrix-react-sdk/actions/workflows/release-drafter.yml)
- [ ] Make any changes to the release notes in the draft release as are necessary - **Do not click publish, only save draft**
- [ ] Kick off a release using [the automation](https://github.com/matrix-org/matrix-react-sdk/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
- [ ] Kick off a release using [the automation](https://github.com/element-hq/matrix-react-sdk/actions/workflows/release.yml) - making sure to select the right type of release. For anything other than an RC: choose final. You should not need to ever switch off either of the Publishing options.
### Element Web
@@ -256,7 +256,7 @@ For the first RC of a given release cycle do these steps:
- [ ] Go to the [matrix-js-sdk Renovate dashboard](https://github.com/matrix-org/matrix-js-sdk/issues/2406) and click the checkbox to create/update its PRs.
- [ ] Go to the [matrix-react-sdk Renovate dashboard](https://github.com/matrix-org/matrix-react-sdk/issues/9667) and click the checkbox to create/update its PRs.
- [ ] Go to the [matrix-react-sdk Renovate dashboard](https://github.com/element-hq/matrix-react-sdk/issues/6) and click the checkbox to create/update its PRs.
- [ ] Go to the [element-web Renovate dashboard](https://github.com/element-hq/element-web/issues/22941) and click the checkbox to create/update its PRs.

View File

@@ -50,11 +50,12 @@
"features": {
"threadsActivityCentre": true,
"feature_video_rooms": true,
"feature_new_room_decoration_ui": true,
"feature_group_calls": true,
"feature_element_call_video_rooms": true
},
"setting_defaults": {
"RustCrypto.staged_rollout_percent": 100
"RustCrypto.staged_rollout_percent": 100,
"Registration.mobileRegistrationHelper": true
},
"element_call": {
"url": "https://call.element.dev"

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { env } from "process";

View File

@@ -2,7 +2,7 @@
Copyright 2022-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as YAML from "yaml";

View File

@@ -2,7 +2,7 @@
Copyright 2022-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as fs from "fs";

View File

@@ -2,7 +2,7 @@
Copyright 2022-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { readBuildConfig } from "../BuildConfig";

View File

@@ -1,6 +1,6 @@
{
"name": "element-web",
"version": "1.11.76",
"version": "1.11.82",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -68,9 +68,9 @@
},
"resolutions": {
"@types/react-dom": "17.0.25",
"@types/react": "17.0.80",
"@types/react": "17.0.82",
"@vector-im/compound-design-tokens": "1.8.0",
"@vector-im/compound-web": "5.5.0",
"@vector-im/compound-web": "7.0.0",
"@floating-ui/react": "0.26.11",
"@radix-ui/react-id": "1.1.0"
},
@@ -78,12 +78,12 @@
"@formatjs/intl-segmenter": "^11.5.7",
"@matrix-org/react-sdk-module-api": "^2.3.0",
"@vector-im/compound-design-tokens": "^1.8.0",
"@vector-im/compound-web": "^5.5.0",
"@vector-im/compound-web": "^7.0.0",
"jsrsasign": "^11.0.0",
"katex": "^0.16.0",
"lodash": "^4.17.21",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-js-sdk": "34.9.0",
"matrix-react-sdk": "3.114.0",
"matrix-widget-api": "^1.8.2",
"react": "17.0.2",
"react-dom": "17.0.2",
@@ -132,7 +132,7 @@
"@types/node-fetch": "^2.6.4",
"@types/pako": "^2.0.3",
"@types/qrcode": "^1.5.5",
"@types/react": "17.0.80",
"@types/react": "17.0.82",
"@types/react-beautiful-dnd": "^13.1.7",
"@types/react-dom": "17.0.25",
"@types/react-transition-group": "^4.4.9",
@@ -148,14 +148,14 @@
"babel-loader": "^9.0.0",
"babel-plugin-jsx-remove-data-test-id": "^3.0.0",
"buffer": "^6.0.3",
"chokidar": "^3.5.1",
"concurrently": "^8.0.0",
"chokidar": "^4.0.0",
"concurrently": "^9.0.0",
"copy-webpack-plugin": "^12.0.0",
"cronstrue": "^2.41.0",
"css-loader": "^7.0.0",
"css-minimizer-webpack-plugin": "^7.0.0",
"dotenv": "^16.0.2",
"eslint": "8.57.0",
"eslint": "8.57.1",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "0.8.5",
@@ -188,7 +188,7 @@
"postcss-hexrgba": "2.1.0",
"postcss-import": "16.1.0",
"postcss-loader": "8.1.1",
"postcss-mixins": "^10.0.0",
"postcss-mixins": "^11.0.0",
"postcss-nested": "^6.0.0",
"postcss-preset-env": "^10.0.0",
"postcss-scss": "^4.0.4",
@@ -198,15 +198,13 @@
"raw-loader": "^4.0.2",
"rimraf": "^6.0.0",
"semver": "^7.5.2",
"string-replace-loader": "3",
"style-loader": "4",
"stylelint": "^16.1.0",
"stylelint-config-standard": "^36.0.0",
"stylelint-scss": "^6.0.0",
"terser-webpack-plugin": "^5.3.9",
"ts-node": "^10.9.1",
"ts-prune": "^0.10.3",
"typescript": "5.5.4",
"typescript": "5.6.2",
"util": "^0.12.5",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.8.0",

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
// Inspired by https://github.com/reklawnos/worklet-loader which doesn't

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
.mx_ErrorView {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 770 B

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -86,7 +86,7 @@ yarn link matrix-js-sdk
echo 'Setting up matrix-react-sdk'
dodep matrix-org matrix-react-sdk
dodep element-hq matrix-react-sdk
pushd matrix-react-sdk
yarn link

View File

@@ -1,7 +1,9 @@
# Copyright 2017-2024 New Vector Ltd.
# SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
# Please see LICENSE in the repository root for full details.
# genflags.sh - Generates pngs for use with CountryDropdown.js
#
# Dependencies:

View File

@@ -40,7 +40,7 @@ if [ -d matrix-analytics-events ]; then
fi
# Now set up the react-sdk
node_modules/matrix-react-sdk/scripts/fetchdep.sh matrix-org matrix-react-sdk develop
node_modules/matrix-react-sdk/scripts/fetchdep.sh element-hq matrix-react-sdk develop
pushd matrix-react-sdk
yarn link
yarn link matrix-js-sdk

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import "matrix-react-sdk/src/@types/global"; // load matrix-react-sdk's type extensions first
@@ -26,6 +26,7 @@ type ElectronChannel =
| "userDownloadAction"
| "openDesktopCapturerSourcePicker"
| "userAccessToken"
| "homeserverUrl"
| "serverSupportedVersions";
declare global {

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import "jitsi-meet";

4
src/@types/svg.d.ts vendored
View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
declare module "*.svg" {

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import React, { ReactNode } from "react";

View File

@@ -3,7 +3,7 @@ Copyright 2019-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import React, { ReactElement } from "react";

View File

@@ -3,7 +3,7 @@ Copyright 2019-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -2,7 +2,7 @@
Copyright 2019-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
interface IParams {

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import React from "react";

View File

@@ -2,7 +2,7 @@
Copyright 2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { idbLoad } from "matrix-react-sdk/src/utils/StorageAccess";
@@ -40,12 +40,15 @@ global.addEventListener("fetch", (event: FetchEvent) => {
// Note: ideally we'd keep the request headers etc, but in practice we can't even see those details.
// See https://stackoverflow.com/a/59152482
let url = event.request.url;
const url = new URL(event.request.url);
// We only intercept v3 download and thumbnail requests as presumably everything else is deliberate.
// For example, `/_matrix/media/unstable` or `/_matrix/media/v3/preview_url` are something well within
// the control of the application, and appear to be choices made at a higher level than us.
if (!url.includes("/_matrix/media/v3/download") && !url.includes("/_matrix/media/v3/thumbnail")) {
if (
!url.pathname.startsWith("/_matrix/media/v3/download") &&
!url.pathname.startsWith("/_matrix/media/v3/thumbnail")
) {
return; // not a URL we care about
}
@@ -53,34 +56,42 @@ global.addEventListener("fetch", (event: FetchEvent) => {
// later on we need to proxy the request through if it turns out the server doesn't support authentication.
event.respondWith(
(async (): Promise<Response> => {
let accessToken: string | undefined;
let auth: { accessToken?: string; homeserver: string } | undefined;
try {
// Figure out which homeserver we're communicating with
const csApi = url.substring(0, url.indexOf("/_matrix/media/v3"));
const csApi = url.origin;
// Add jitter to reduce request spam, particularly to `/versions` on initial page load
await new Promise<void>((resolve) => setTimeout(() => resolve(), Math.random() * 10));
// Locate our access token, and populate the fetchConfig with the authentication header.
// Locate the access token and homeserver url
// @ts-expect-error - service worker types are not available. See 'fetch' event handler.
const client = await global.clients.get(event.clientId);
accessToken = await getAccessToken(client);
auth = await getAuthData(client);
// Is this request actually going to the homeserver?
const isRequestToHomeServer = url.origin === new URL(auth.homeserver).origin;
if (!isRequestToHomeServer) {
throw new Error("Request appears to be for media endpoint but wrong homeserver!");
}
// Update or populate the server support map using a (usually) authenticated `/versions` call.
await tryUpdateServerSupportMap(csApi, accessToken);
await tryUpdateServerSupportMap(csApi, auth.accessToken);
// If we have server support (and a means of authentication), rewrite the URL to use MSC3916 endpoints.
if (serverSupportMap[csApi].supportsAuthedMedia && accessToken) {
url = url.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/");
if (serverSupportMap[csApi].supportsAuthedMedia && auth.accessToken) {
url.href = url.href.replace(/\/media\/v3\/(.*)\//, "/client/v1/media/$1/");
} // else by default we make no changes
} catch (err) {
// In case of some error, we stay safe by not adding the access-token to the request.
auth = undefined;
console.error("SW: Error in request rewrite.", err);
}
// Add authentication and send the request. We add authentication even if MSC3916 endpoints aren't
// being used to ensure patches like this work:
// https://github.com/matrix-org/synapse/commit/2390b66bf0ec3ff5ffb0c7333f3c9b239eeb92bb
return fetch(url, fetchConfigForToken(accessToken));
return fetch(url, fetchConfigForToken(auth?.accessToken));
})(),
);
});
@@ -106,35 +117,36 @@ async function tryUpdateServerSupportMap(clientApiUrl: string, accessToken?: str
// Ideally we'd use the `Client` interface for `client`, but since it's not available (see 'fetch' listener), we use
// unknown for now and force-cast it to something close enough later.
async function getAccessToken(client: unknown): Promise<string | undefined> {
async function getAuthData(client: unknown): Promise<{ accessToken: string; homeserver: string }> {
// Access tokens are encrypted at rest, so while we can grab the "access token", we'll need to do work to get the
// real thing.
const encryptedAccessToken = await idbLoad("account", "mx_access_token");
// We need to extract a user ID and device ID from localstorage, which means calling WebPlatform for the
// read operation. Service workers can't access localstorage.
const { userId, deviceId } = await askClientForUserIdParams(client);
const { userId, deviceId, homeserver } = await askClientForUserIdParams(client);
// ... and this is why we need the user ID and device ID: they're index keys for the pickle key table.
const pickleKeyData = await idbLoad("pickleKey", [userId, deviceId]);
if (pickleKeyData && (!pickleKeyData.encrypted || !pickleKeyData.iv || !pickleKeyData.cryptoKey)) {
console.error("SW: Invalid pickle key loaded - ignoring");
return undefined;
throw new Error("SW: Invalid pickle key loaded - ignoring");
}
// Finally, try decrypting the thing and return that. This may fail, but that's okay.
try {
const pickleKey = await buildAndEncodePickleKey(pickleKeyData, userId, deviceId);
return tryDecryptToken(pickleKey, encryptedAccessToken, ACCESS_TOKEN_IV);
const accessToken = await tryDecryptToken(pickleKey, encryptedAccessToken, ACCESS_TOKEN_IV);
return { accessToken, homeserver };
} catch (e) {
console.error("SW: Error decrypting access token.", e);
return undefined;
throw new Error("SW: Error decrypting access token.", { cause: e });
}
}
// Ideally we'd use the `Client` interface for `client`, but since it's not available (see 'fetch' listener), we use
// unknown for now and force-cast it to something close enough inside the function.
async function askClientForUserIdParams(client: unknown): Promise<{ userId: string; deviceId: string }> {
async function askClientForUserIdParams(
client: unknown,
): Promise<{ userId: string; deviceId: string; homeserver: string }> {
return new Promise((resolve, reject) => {
// Dev note: this uses postMessage, which is a highly insecure channel. postMessage is typically visible to other
// tabs, windows, browser extensions, etc, making it far from ideal for sharing sensitive information. This is

View File

@@ -1,12 +1,13 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018-2024 New Vector Ltd.
Copyright 2018, 2019 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
// To ensure we load the browser-matrix version first

View File

@@ -1,38 +0,0 @@
/*
Copyright 2021 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
*/
/**
* This code is removed on production builds.
*
* Webpack's `string-replace-loader` searches for the `use theming` string
* in this specific file, and replaces it with CSS requires statements that
* are specific to the themes we have enabled.
*
* Without this workaround, webpack would import the CSS of all themes, which
* would defeat the purpose of hot-reloading since all themes would be compiled,
* which would result in compilation times on the order of 30s, even on a
* powerful machine.
*
* For more details, see webpack.config.js:184 (string-replace-loader)
*/
if (process.env.NODE_ENV === "development") {
("use theming");
/**
* Clean up old hot-module script injections as they hog up memory
* and anything other than the newest one is really not needed at all.
* We don't need to do it more frequently than every half a minute or so,
* but it's done to delay full page reload due to app slowness.
*/
setInterval(() => {
const elements = Array.from(document.querySelectorAll("script[src*=hot-update]"));
if (elements.length > 1) {
const oldInjects = elements.slice(0, elements.length - 1);
oldInjects.forEach((e) => e.remove());
}
}, 1000);
}

View File

@@ -2,7 +2,7 @@
Copyright 2018-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import type { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions";

View File

@@ -75,11 +75,11 @@
<img src="<%= require('matrix-react-sdk/res/img/warning.svg').default %>" aria-hidden alt="" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/e2e/warning.svg').default %>" aria-hidden alt="" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/feather-customised/warning-triangle.svg').default %>" aria-hidden alt="" width="24" height="23" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('matrix-react-sdk/res/img/format/bold.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/code.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/italics.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/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;"/>
<img src="<%= require('@vector-im/compound-design-tokens/icons/bold.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('@vector-im/compound-design-tokens/icons/inline-code.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('@vector-im/compound-design-tokens/icons/italic.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('@vector-im/compound-design-tokens/icons/quote.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<img src="<%= require('@vector-im/compound-design-tokens/icons/strikethrough.svg').default %>" aria-hidden alt="" width="25" height="22" style="visibility: hidden; position: absolute; top: 0px; left: 0px;"/>
<!-- 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

@@ -1,12 +1,13 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018-2024 New Vector Ltd.
Copyright 2018, 2019 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { logger } from "matrix-js-sdk/src/logger";
@@ -21,14 +22,6 @@ import "./modernizr";
// in webpack.config.js
require("katex/dist/katex.css");
/**
* This require is necessary only for purposes of CSS hot-reload, as otherwise
* webpack has some incredible problems figuring out which CSS files should be
* hot-reloaded, even with proper hints for the loader.
*
* On production build it's going to be an empty module, so don't worry about that.
*/
require("./devcss");
require("./localstorage-fix");
async function settled(...promises: Array<Promise<any>>): Promise<void> {
@@ -61,11 +54,6 @@ 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.

View File

@@ -1,9 +1,9 @@
/*
Copyright 2017 Vector Creations Ltd
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { IndexedDBStoreWorker } from "matrix-js-sdk/src/indexeddb-worker";

View File

@@ -1,11 +1,11 @@
/*
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018-2024 New Vector Ltd.
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as ReactDOM from "react-dom";

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
/* TODO: Match the user's theme: https://github.com/element-hq/element-web/issues/12794 */

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { KJUR } from "jsrsasign";

View File

@@ -1,12 +1,13 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2018-2021 New Vector Ltd
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018-2024 New Vector Ltd.
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { UpdateCheckStatus, UpdateStatus } from "matrix-react-sdk/src/BasePlatform";
@@ -125,6 +126,11 @@ export default class ElectronPlatform extends VectorBasePlatform {
window.electron!.send("userAccessToken", MatrixClientPeg.get()?.getAccessToken());
});
// `homeserverUrl` (IPC) is requested by the main process. A reply is sent over the same channel.
window.electron.on("homeserverUrl", () => {
window.electron!.send("homeserverUrl", MatrixClientPeg.get()?.getHomeserverUrl());
});
// `serverSupportedVersions` is requested by the main process when it needs to know if the
// server supports a particular version. This is primarily used to detect authenticated media
// support. A reply is sent over the same channel.
@@ -471,6 +477,12 @@ export default class ElectronPlatform extends VectorBasePlatform {
public getOidcCallbackUrl(): URL {
const url = super.getOidcCallbackUrl();
url.protocol = "io.element.desktop";
// Trim the double slash into a single slash to comply with https://datatracker.ietf.org/doc/html/rfc8252#section-7.1
// Chrome seems to have a strange issue where non-standard protocols prevent URL object mutations on pathname
// field, so we cannot mutate `pathname` reliably and instead have to rewrite the href manually.
if (url.pathname.startsWith("//")) {
url.href = url.href.replace(url.pathname, url.pathname.slice(1));
}
return url;
}
}

View File

@@ -2,7 +2,7 @@
Copyright 2022-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { defer, IDeferred } from "matrix-js-sdk/src/utils";

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { logger } from "matrix-js-sdk/src/logger";

View File

@@ -2,7 +2,7 @@
Copyright 2022-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import BaseEventIndexManager, {

View File

@@ -1,11 +1,11 @@
/*
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2018-2024 New Vector Ltd.
Copyright 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import BasePlatform from "matrix-react-sdk/src/BasePlatform";

View File

@@ -4,7 +4,7 @@ Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { UpdateCheckStatus, UpdateStatus } from "matrix-react-sdk/src/BasePlatform";
@@ -14,6 +14,7 @@ import { Action } from "matrix-react-sdk/src/dispatcher/actions";
import { CheckUpdatesPayload } from "matrix-react-sdk/src/dispatcher/payloads/CheckUpdatesPayload";
import UAParser from "ua-parser-js";
import { logger } from "matrix-js-sdk/src/logger";
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
import VectorBasePlatform from "./VectorBasePlatform";
import { parseQs } from "../url_utils";
@@ -62,10 +63,12 @@ export default class WebPlatform extends VectorBasePlatform {
if (event.data?.["type"] === "userinfo" && event.data?.["responseKey"]) {
const userId = localStorage.getItem("mx_user_id");
const deviceId = localStorage.getItem("mx_device_id");
const homeserver = MatrixClientPeg.get()?.getHomeserverUrl();
event.source!.postMessage({
responseKey: event.data["responseKey"],
userId,
deviceId,
homeserver,
});
}
} catch (e) {

View File

@@ -1,9 +1,10 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2018-2024 New Vector Ltd.
Copyright 2018 New Vector Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
/*

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
// Parse the given window.location and return parameters that can be used when calling

View File

@@ -2,7 +2,7 @@
Copyright 2018-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { QueryDict, decodeParams } from "matrix-js-sdk/src/utils";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 Yorusaka Miyabi <shadowrz@disroot.org>
Copyright 2024 New Vector Ltd.
Copyright 2023 Yorusaka Miyabi <shadowrz@disroot.org>
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import SdkConfig from "matrix-react-sdk/src/SdkConfig";

View File

@@ -1,10 +1,10 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Mikhail Aheichyk
Copyright 2023 Nordeck IT + Consulting GmbH.
Copyright 2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import React from "react";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2020-2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2020-2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
// https://jestjs.io/docs/en/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom

View File

@@ -1,9 +1,9 @@
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import fetchMock from "fetch-mock-jest";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2016-2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2016-2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { RenderResult, screen, waitFor } from "@testing-library/react";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -102,7 +102,7 @@ exports[`<UnsupportedBrowserView /> should match snapshot 1`] = `
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: start; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-4x);"
>
<button
class="_button_zt6rp_17 _has-icon_zt6rp_61"
class="_button_i91xf_17 _has-icon_i91xf_66"
data-kind="secondary"
data-size="sm"
role="button"
@@ -143,7 +143,7 @@ exports[`<UnsupportedBrowserView /> should match snapshot 1`] = `
style="--mx-flex-display: flex; --mx-flex-direction: row; --mx-flex-align: start; --mx-flex-justify: start; --mx-flex-gap: var(--cpd-space-4x);"
>
<a
class="_button_zt6rp_17 _has-icon_zt6rp_61"
class="_button_i91xf_17 _has-icon_i91xf_66"
data-kind="secondary"
data-size="lg"
href="https://packages.element.io/desktop/install/macos/Element.dmg"
@@ -158,7 +158,7 @@ exports[`<UnsupportedBrowserView /> should match snapshot 1`] = `
Mac
</a>
<a
class="_button_zt6rp_17 _has-icon_zt6rp_61"
class="_button_i91xf_17 _has-icon_i91xf_66"
data-kind="secondary"
data-size="lg"
href="https://packages.element.io/desktop/install/win32/x64/Element%20Setup.exe"
@@ -173,7 +173,7 @@ exports[`<UnsupportedBrowserView /> should match snapshot 1`] = `
Windows (64-bit)
</a>
<a
class="_button_zt6rp_17 _has-icon_zt6rp_61"
class="_button_i91xf_17 _has-icon_i91xf_66"
data-kind="secondary"
data-size="lg"
href="https://packages.element.io/desktop/install/win32/ia32/Element%20Setup.exe"
@@ -188,7 +188,7 @@ exports[`<UnsupportedBrowserView /> should match snapshot 1`] = `
Windows (32-bit)
</a>
<a
class="_button_zt6rp_17 _has-icon_zt6rp_61"
class="_button_i91xf_17 _has-icon_i91xf_66"
data-kind="secondary"
data-size="lg"
href="https://element.io/download#linux"

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import * as React from "react";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import "jest-canvas-mock";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import fetchMock from "fetch-mock-jest";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { logger } from "matrix-js-sdk/src/logger";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { mocked } from "jest-mock";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import fetchMock from "fetch-mock-jest";

View File

@@ -1,9 +1,9 @@
/*
Copyright 2022 The Matrix.org Foundation C.I.C.
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { getInitialScreenAfterLogin, onNewScreen } from "../../../src/vector/routing";

View File

@@ -2,7 +2,7 @@
Copyright 2020-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE in the repository root for full details.
Please see LICENSE files in the repository root for full details.
*/
import { parseQsFromFragment, parseQs } from "../../../src/vector/url_utils";

View File

@@ -36,15 +36,6 @@ const cssThemes = {
"theme-dark-custom": "./node_modules/matrix-react-sdk/res/themes/dark-custom/css/dark-custom.pcss",
};
function getActiveThemes() {
// Default to `light` theme when the MATRIX_THEMES environment variable is not defined.
const theme = process.env.MATRIX_THEMES ?? "light";
return theme
.split(",")
.map((x) => x.trim())
.filter(Boolean);
}
// See docs/customisations.md
let fileOverrides = {
/* {[file: string]: string} */
@@ -105,7 +96,6 @@ module.exports = (env, argv) => {
// (called to build nightly and develop.element.io)
const nodeEnv = argv.mode;
const devMode = nodeEnv !== "production";
const useHMR = process.env.CSS_HOT_RELOAD === "1" && devMode;
const enableMinification = !devMode && !process.env.CI_PACKAGE;
const development = {};
@@ -130,19 +120,6 @@ module.exports = (env, argv) => {
const reactSdkSrcDir = path.resolve(require.resolve("matrix-react-sdk/package.json"), "..", "src");
const jsSdkSrcDir = path.resolve(require.resolve("matrix-js-sdk/package.json"), "..", "src");
const ACTIVE_THEMES = getActiveThemes();
function getThemesImports() {
const imports = ACTIVE_THEMES.map((t) => {
return cssThemes[`theme-${t}`].replace("./node_modules/", ""); // theme import path
});
const s = JSON.stringify(ACTIVE_THEMES);
return `
window.MX_insertedThemeStylesCounter = 0;
window.MX_DEV_ACTIVE_THEMES = (${s});
${imports.map((i) => `import("${i}")`).join("\n")};
`;
}
return {
...development,
@@ -157,7 +134,7 @@ module.exports = (env, argv) => {
import: "./src/serviceworker/index.ts",
filename: "sw.js", // update WebPlatform if this changes
},
...(useHMR ? {} : cssThemes),
...cssThemes,
},
optimization: {
@@ -276,14 +253,6 @@ module.exports = (env, argv) => {
/highlight\.js[\\/]lib[\\/]languages/,
],
rules: [
useHMR && {
test: /devcss\.ts$/,
loader: "string-replace-loader",
options: {
search: '"use theming";',
replace: getThemesImports(),
},
},
{
test: /\.(ts|js)x?$/,
include: (f) => {
@@ -369,42 +338,7 @@ module.exports = (env, argv) => {
{
test: /\.pcss$/,
use: [
/**
* This code is hopeful that no .pcss outside of our themes will be directly imported in any
* of the JS/TS files.
* Should be MUCH better with webpack 5, but we're stuck to this solution for now.
*/
useHMR
? {
loader: "style-loader",
/**
* If we refactor the `theme.js` in `matrix-react-sdk` a little bit,
* we could try using `lazyStyleTag` here to add and remove styles on demand,
* that would nicely resolve issues of race conditions for themes,
* at least for development purposes.
*/
options: {
insert: function insertBeforeAt(element) {
const parent = document.querySelector("head");
// We're in iframe
if (!window.MX_DEV_ACTIVE_THEMES) {
parent.appendChild(element);
return;
}
// Properly disable all other instances of themes
element.disabled = true;
element.onload = () => {
element.disabled = true;
};
const theme =
window.MX_DEV_ACTIVE_THEMES[window.MX_insertedThemeStylesCounter];
element.setAttribute("data-mx-theme", theme);
window.MX_insertedThemeStylesCounter++;
parent.appendChild(element);
},
},
}
: MiniCssExtractPlugin.loader,
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {
@@ -642,8 +576,8 @@ module.exports = (env, argv) => {
// This exports our CSS using the splitChunks and loaders above.
new MiniCssExtractPlugin({
filename: useHMR ? "bundles/[name].css" : "bundles/[fullhash]/[name].css",
chunkFilename: useHMR ? "bundles/[name].css" : "bundles/[fullhash]/[name].css",
filename: "bundles/[fullhash]/[name].css",
chunkFilename: "bundles/[fullhash]/[name].css",
ignoreOrder: false, // Enable to remove warnings about conflicting order
}),

1090
yarn.lock

File diff suppressed because it is too large Load Diff