Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #6

Merged
merged 60 commits into from
Mar 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
c71b8fd
Saner releases clean up (#12258)
t3chguy Feb 19, 2024
618462b
Fix Native OIDC for Element Desktop (#12253)
t3chguy Feb 19, 2024
300f30e
Update dependency oidc-client-ts to v3 (#12223)
renovate[bot] Feb 19, 2024
0e22413
Improvements to Playwright test infrastructure (#12260)
t3chguy Feb 19, 2024
3714057
Fix branding in "migrating crypto" message (#12265)
richvdh Feb 20, 2024
ac435c8
Revert "Refine menu, toast, and popover colors (#12247)" (#12263)
florianduros Feb 20, 2024
dd5b741
Remove hardcoded `Element` in tac labs description (#12266)
florianduros Feb 20, 2024
a9add45
Improvements around docker in Playwright (#12261)
t3chguy Feb 20, 2024
d20e9e4
Fix gradients spacings on the space panel (#12262)
dbkr Feb 20, 2024
96a33b8
Revert "Use Compound primary colors for most actions" (#12264)
florianduros Feb 20, 2024
6e73d65
[create-pull-request] automated change (#12268)
RiotRobot Feb 21, 2024
36a8d50
Add Playwright tests for OIDC-aware & OIDC-native (#12252)
t3chguy Feb 21, 2024
6d55ce0
Use browser's font size instead of hardcoded `16px` as root font size…
florianduros Feb 21, 2024
d9a20b0
Ignore activity in TAC (#12269)
florianduros Feb 21, 2024
ebd0a04
Fix the space panel getting bigger when gaining a scroll bar (#12267)
dbkr Feb 21, 2024
7646b89
Upgrade dependency to [email protected]
RiotRobot Feb 21, 2024
15e5130
v3.93.0-rc.0
RiotRobot Feb 21, 2024
2716e95
Update stylelint (#12220)
renovate[bot] Feb 21, 2024
0db6c6d
Update dependency axe-core to v4.8.4 (#12273)
renovate[bot] Feb 21, 2024
e51cd16
Update dependency @sentry/browser to v7.101.1 (#12274)
renovate[bot] Feb 21, 2024
37672f3
Update dependency @types/sanitize-html to v2.11.0 (#12275)
renovate[bot] Feb 21, 2024
5e71c36
Update dependency eslint-plugin-unicorn to v51 (#12276)
renovate[bot] Feb 21, 2024
ce36a67
Update typescript-eslint monorepo to v7 (#12278)
renovate[bot] Feb 21, 2024
bbbb0e3
Update all non-major dependencies (#12214)
renovate[bot] Feb 22, 2024
b9bdd18
Use green dot for activity notification in `LegacyRoomHeader` (#12270)
florianduros Feb 22, 2024
8a70260
ModuleAPI: `overwrite_login` action was not stopping the existing cli…
BillCarsonFr Feb 22, 2024
729eca4
[create-pull-request] automated change (#12282)
RiotRobot Feb 23, 2024
7b1e8e3
Update MSC2965 OIDC Discovery implementation (#12245)
t3chguy Feb 23, 2024
f2101c6
[create-pull-request] automated change (#12284)
RiotRobot Feb 26, 2024
1403cd8
Fix spurious session corruption error (#12280)
dbkr Feb 26, 2024
76da40c
Fix spurious session corruption error (#12280)
dbkr Feb 26, 2024
8f65fbf
Merge pull request #12287 from matrix-org/backport-12280-to-staging
dbkr Feb 26, 2024
179d2a7
Add theme data to EC widget Url (#12279)
toger5 Feb 26, 2024
28f7aac
Hide the archived section (#12286)
dbkr Feb 27, 2024
494d9de
Fix buttons of widget in a room (#12288)
florianduros Feb 27, 2024
bcb6696
Upgrade dependency to [email protected]
RiotRobot Feb 27, 2024
a7f8e82
v3.93.0
RiotRobot Feb 27, 2024
8f5bdf5
Merge branch 'master' into develop
RiotRobot Feb 27, 2024
0b16c93
Resetting package fields for development
RiotRobot Feb 27, 2024
db6f7da
Reset matrix-js-sdk back to develop branch
RiotRobot Feb 27, 2024
5ac222e
Fix alignment of user menu avatar (#12289)
dbkr Feb 27, 2024
222010f
[create-pull-request] automated change (#12293)
RiotRobot Feb 28, 2024
2402cd5
Allow screenshot update docker to run multiple test files (#12291)
dbkr Feb 28, 2024
86469bd
Add custom reporter to auto-report flaky Playwright tests (#12290)
t3chguy Feb 28, 2024
48c7543
PR template: reminder to document your stuff (#12294)
richvdh Feb 28, 2024
5bd0afc
Prevent "Element" hardcoded in i18n files (#12296)
t3chguy Feb 29, 2024
29b79ef
Fix TAC opening with keyboard (#12285)
florianduros Feb 29, 2024
71cece7
Feeds event with relation to unknown to the widget (#12283)
maheichyk Feb 29, 2024
dc5803f
Increase decryption failure grace period (#12298)
BillCarsonFr Feb 29, 2024
5a0537b
[create-pull-request] automated change (#12300)
RiotRobot Mar 1, 2024
65bfc92
fix automatic DM avatar with functional members (#12157)
HarHarLinks Mar 3, 2024
c3e0535
Update dependency sanitize-html to v2.12.1 [SECURITY] (#12302)
renovate[bot] Mar 4, 2024
5c8b14c
Fix requests for senders to submit auto-rageshakes (#12304)
richvdh Mar 4, 2024
6eafe0e
Refine styles of controls to match Compound (#12299)
robintown Mar 5, 2024
0d76209
Update babel monorepo to v7.24.0 (#12311)
renovate[bot] Mar 5, 2024
2f6e967
Update dependency @sentry/browser to v7.104.0 (#12313)
renovate[bot] Mar 5, 2024
c334cd7
Update dependency @playwright/test to v1.42.1 (#12312)
renovate[bot] Mar 5, 2024
c7241e9
Update typescript-eslint monorepo to v7.1.0 (#12314)
renovate[bot] Mar 5, 2024
8f0e6aa
Update dependency @types/node to v18.19.21 (#12309)
renovate[bot] Mar 5, 2024
942fabc
Update all non-major dependencies (#12310)
renovate[bot] Mar 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 4 additions & 22 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,7 @@

## Checklist

- [ ] Tests written for new code (and old code if feasible)
- [ ] Linter and other CI checks pass
- [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/matrix-org/matrix-react-sdk/blob/develop/CONTRIBUTING.md))

<!--
If you would like to specify text for the changelog entry other than your PR title, add the following:

Notes: Add super cool feature

Changes in this project also generate changelogs in Element Web. To disable this, use the following:

element-web notes: none

or specify alternative text:

element-web notes: Add super cool feature

Changes to this project require tagging with the type of change. If you know the correct type, add the following:

Type: [enhancement/defect/task]

-->
- [ ] Tests written for new code (and old code if feasible).
- [ ] New or updated `public`/`exported` symbols have accurate [TSDoc](https://tsdoc.org/) documentation.
- [ ] Linter and other CI checks pass.
- [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/matrix-org/matrix-react-sdk/blob/develop/CONTRIBUTING.md)).
5 changes: 4 additions & 1 deletion .github/workflows/end-to-end-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,10 @@ jobs:
merge-multiple: true

- name: Merge into HTML Report
run: yarn playwright merge-reports --reporter=html,github ./all-blob-reports
run: yarn playwright merge-reports --reporter=html,github,./playwright/flaky-reporter.ts ./all-blob-reports
env:
# Only pass creds to the flaky-reporter on main branch runs
GITHUB_TOKEN: ${{ github.event.workflow_run.head_branch == 'develop' && secrets.ELEMENT_BOT_TOKEN || '' }}

- name: Upload HTML report
uses: actions/upload-artifact@v4
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/static_analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ jobs:
i18n_lint:
name: "i18n Check"
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
with:
hardcoded-words: "Element"
allowed-hardcoded-keys: |
console_dev_note
labs|element_call_video_rooms
labs|feature_disable_call_per_sender_encryption
voip|element_call

rethemendex_lint:
name: "Rethemendex Check"
Expand Down
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
Changes in [3.93.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.93.0) (2024-02-27)
=====================================================================================================
## 🦖 Deprecations

* Enable custom themes to theme Compound ([#12240](https://github.com/matrix-org/matrix-react-sdk/pull/12240)). Contributed by @robintown.
* Remove welcome bot `welcome_user_id` support ([#12153](https://github.com/matrix-org/matrix-react-sdk/pull/12153)). Contributed by @t3chguy.

## ✨ Features

* Ignore activity in TAC ([#12269](https://github.com/matrix-org/matrix-react-sdk/pull/12269)). Contributed by @florianduros.
* Use browser's font size instead of hardcoded `16px` as root font size ([#12246](https://github.com/matrix-org/matrix-react-sdk/pull/12246)). Contributed by @florianduros.
* Revert "Use Compound primary colors for most actions" ([#12264](https://github.com/matrix-org/matrix-react-sdk/pull/12264)). Contributed by @florianduros.
* Revert "Refine menu, toast, and popover colors" ([#12263](https://github.com/matrix-org/matrix-react-sdk/pull/12263)). Contributed by @florianduros.
* Fix Native OIDC for Element Desktop ([#12253](https://github.com/matrix-org/matrix-react-sdk/pull/12253)). Contributed by @t3chguy.
* Improve client metadata used for OIDC dynamic registration ([#12257](https://github.com/matrix-org/matrix-react-sdk/pull/12257)). Contributed by @t3chguy.
* Refine menu, toast, and popover colors ([#12247](https://github.com/matrix-org/matrix-react-sdk/pull/12247)). Contributed by @robintown.
* Call the AsJson forms of import and exportRoomKeys ([#12233](https://github.com/matrix-org/matrix-react-sdk/pull/12233)). Contributed by @andybalaam.
* Use Compound primary colors for most actions ([#12241](https://github.com/matrix-org/matrix-react-sdk/pull/12241)). Contributed by @robintown.
* Enable redirected media by default ([#12142](https://github.com/matrix-org/matrix-react-sdk/pull/12142)). Contributed by @turt2live.
* Reduce TAC width by `16px` ([#12239](https://github.com/matrix-org/matrix-react-sdk/pull/12239)). Contributed by @florianduros.
* Pop out of Threads Activity Centre ([#12136](https://github.com/matrix-org/matrix-react-sdk/pull/12136)). Contributed by @florianduros.
* Use new semantic tokens for username colors ([#12209](https://github.com/matrix-org/matrix-react-sdk/pull/12209)). Contributed by @robintown.

## 🐛 Bug Fixes

* [Backport staging] Fix spurious session corruption error ([#12287](https://github.com/matrix-org/matrix-react-sdk/pull/12287)). Contributed by @RiotRobot.
* Fix the space panel getting bigger when gaining a scroll bar ([#12267](https://github.com/matrix-org/matrix-react-sdk/pull/12267)). Contributed by @dbkr.
* Fix gradients spacings on the space panel ([#12262](https://github.com/matrix-org/matrix-react-sdk/pull/12262)). Contributed by @dbkr.
* Remove hardcoded `Element` in tac labs description ([#12266](https://github.com/matrix-org/matrix-react-sdk/pull/12266)). Contributed by @florianduros.
* Fix branding in "migrating crypto" message ([#12265](https://github.com/matrix-org/matrix-react-sdk/pull/12265)). Contributed by @richvdh.
* Use h1 as first heading in dialogs ([#12250](https://github.com/matrix-org/matrix-react-sdk/pull/12250)). Contributed by @dbkr.
* Fix forced lowercase username in login/registration flows ([#9329](https://github.com/matrix-org/matrix-react-sdk/pull/9329)). Contributed by @vrifox.
* Update the TAC indicator on event decryption ([#12243](https://github.com/matrix-org/matrix-react-sdk/pull/12243)). Contributed by @dbkr.
* Fix OIDC delegated auth account url check ([#12242](https://github.com/matrix-org/matrix-react-sdk/pull/12242)). Contributed by @t3chguy.
* New Header edgecase fixes: Close lobby button not shown, disable join button in various places, more... ([#12235](https://github.com/matrix-org/matrix-react-sdk/pull/12235)). Contributed by @toger5.
* Fix TAC button alignment when expanded ([#12238](https://github.com/matrix-org/matrix-react-sdk/pull/12238)). Contributed by @florianduros.
* Fix tooltip behaviour in TAC ([#12236](https://github.com/matrix-org/matrix-react-sdk/pull/12236)). Contributed by @florianduros.


Changes in [3.92.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.92.0) (2024-02-13)
=====================================================================================================
## ✨ Features
Expand Down
2 changes: 1 addition & 1 deletion docs/playwright.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ to be left with some stray containers if, for example, you terminate a test such
that the `after()` does not run and also exit Playwright uncleanly. All the containers
it starts are prefixed, so they are easy to recognise. They can be removed safely.

After each test run, logs from the Synapse instances are saved in `playwright/synapselogs`
After each test run, logs from the Synapse instances are saved in `playwright/logs/synapse`
with each instance in a separate directory named after its ID. These logs are removed
at the start of each test run.

Expand Down
37 changes: 19 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "matrix-react-sdk",
"version": "3.92.0",
"version": "3.93.0",
"description": "SDK for matrix.org using React",
"author": "matrix.org",
"repository": {
Expand Down Expand Up @@ -61,7 +61,9 @@
},
"resolutions": {
"@types/react-dom": "17.0.21",
"@types/react": "17.0.68"
"@types/react": "17.0.68",
"oidc-client-ts": "3.0.1",
"jwt-decode": "4.0.0"
},
"dependencies": {
"@babel/runtime": "^7.12.5",
Expand All @@ -81,7 +83,7 @@
"await-lock": "^2.1.0",
"blurhash": "^2.0.3",
"classnames": "^2.2.6",
"commonmark": "^0.30.0",
"commonmark": "^0.31.0",
"counterpart": "^0.18.6",
"diff-dom": "^5.0.0",
"diff-match-patch": "^1.0.5",
Expand Down Expand Up @@ -110,11 +112,11 @@
"matrix-widget-api": "^1.5.0",
"memoize-one": "^6.0.0",
"minimist": "^1.2.5",
"oidc-client-ts": "^2.2.4",
"oidc-client-ts": "^3.0.1",
"opus-recorder": "^8.0.3",
"pako": "^2.0.3",
"png-chunks-extract": "^1.0.0",
"posthog-js": "1.100.0",
"posthog-js": "1.110.0",
"proposal-temporal": "^0.9.0",
"qrcode": "1.5.3",
"re-resizable": "^6.9.0",
Expand All @@ -126,15 +128,15 @@
"react-transition-group": "^4.4.1",
"rfc4648": "^1.4.0",
"sanitize-filename": "^1.6.3",
"sanitize-html": "2.11.0",
"sanitize-html": "2.12.1",
"tar-js": "^0.3.0",
"ua-parser-js": "^1.0.2",
"uuid": "^9.0.0",
"what-input": "^5.2.10"
},
"devDependencies": {
"@action-validator/cli": "^0.5.3",
"@action-validator/core": "^0.5.3",
"@action-validator/cli": "^0.6.0",
"@action-validator/core": "^0.6.0",
"@axe-core/playwright": "^4.8.1",
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
Expand Down Expand Up @@ -170,26 +172,25 @@
"@types/katex": "^0.16.0",
"@types/lodash": "^4.14.168",
"@types/modernizr": "^3.5.3",
"@types/node": "^16",
"@types/node": "18",
"@types/node-fetch": "^2.6.2",
"@types/pako": "^2.0.0",
"@types/qrcode": "^1.3.5",
"@types/react": "17.0.68",
"@types/react-beautiful-dnd": "^13.0.0",
"@types/react-dom": "17.0.21",
"@types/react-transition-group": "^4.4.0",
"@types/sanitize-html": "2.9.5",
"@types/sanitize-html": "2.11.0",
"@types/sdp-transform": "^2.4.6",
"@types/tar-js": "^0.3.2",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^9.0.2",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"allchange": "^1.1.0",
"axe-core": "4.8.3",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"axe-core": "4.8.4",
"babel-jest": "^29.0.0",
"blob-polyfill": "^7.0.0",
"eslint": "8.56.0",
"eslint": "8.57.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-deprecate": "0.8.4",
Expand All @@ -199,7 +200,7 @@
"eslint-plugin-matrix-org": "1.2.1",
"eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-unicorn": "^50.0.0",
"eslint-plugin-unicorn": "^51.0.0",
"express": "^4.18.2",
"fake-indexeddb": "^5.0.2",
"fetch-mock-jest": "^1.5.1",
Expand All @@ -211,11 +212,11 @@
"jest-raw-loader": "^1.0.1",
"jsqr": "^1.4.0",
"mailhog": "^4.16.0",
"matrix-web-i18n": "^3.1.5",
"matrix-web-i18n": "^3.2.1",
"mocha-junit-reporter": "^2.2.0",
"node-fetch": "2",
"postcss-scss": "^4.0.4",
"prettier": "3.2.4",
"prettier": "3.2.5",
"raw-loader": "^4.0.2",
"rimraf": "^5.0.0",
"stylelint": "^16.1.0",
Expand Down
2 changes: 1 addition & 1 deletion playwright/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/test-results/
/html-report/
/synapselogs/
/logs/
# Only commit snapshots from Linux
/snapshots/**/*.png
!/snapshots/**/*-linux.png
2 changes: 1 addition & 1 deletion playwright/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/playwright:v1.41.1-jammy
FROM mcr.microsoft.com/playwright:v1.42.1-jammy

WORKDIR /work/matrix-react-sdk
VOLUME ["/work/element-web/node_modules"]
Expand Down
2 changes: 1 addition & 1 deletion playwright/docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ set -e
yarn link
yarn --cwd ../element-web install
yarn --cwd ../element-web link matrix-react-sdk
npx playwright test --update-snapshots --reporter line --project='Legacy Crypto' $1
npx playwright test --update-snapshots --reporter line --project='Legacy Crypto' $@
2 changes: 0 additions & 2 deletions playwright/e2e/crypto/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@ import { ElementAppPage } from "../../pages/ElementAppPage";
export async function waitForVerificationRequest(client: Client): Promise<JSHandle<VerificationRequest>> {
return client.evaluateHandle((cli) => {
return new Promise<VerificationRequest>((resolve) => {
console.log("~~");
const onVerificationRequestEvent = async (request: VerificationRequest) => {
console.log("@@", request);
await request.accept();
resolve(request);
};
Expand Down
4 changes: 2 additions & 2 deletions playwright/e2e/knock/knock-into-room.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,8 @@ test.describe("Knock Into Room", () => {
await expect(roomPreviewBar.getByRole("button", { name: "Request access" })).toBeVisible();

await expect(
page.getByRole("group", { name: "Historical" }).getByRole("treeitem", { name: "Cybersecurity" }),
).toBeVisible();
page.getByRole("group", { name: "Rooms" }).getByRole("treeitem", { name: "Cybersecurity" }),
).not.toBeVisible();
});

test("should knock into the room then knock is cancelled by another user and room is forgotten", async ({
Expand Down
53 changes: 53 additions & 0 deletions playwright/e2e/login/overwrite_login.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
Copyright 2024 The Matrix.org Foundation C.I.C.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import { test, expect } from "../../element-web-test";
import { logIntoElement } from "../crypto/utils";

test.describe("Overwrite login action", () => {
test("Try replace existing login with new one", async ({ page, app, credentials, homeserver }) => {
await logIntoElement(page, homeserver, credentials);

const userMenu = await app.openUserMenu();
await expect(userMenu.getByText(credentials.userId)).toBeVisible();

const bobRegister = await homeserver.registerUser("BobOverwrite", "p@ssword1!", "BOB");

// just assert that it's a different user
expect(credentials.userId).not.toBe(bobRegister.userId);

const clientCredentials /* IMatrixClientCreds */ = {
homeserverUrl: homeserver.config.baseUrl,
...bobRegister,
};

// Trigger the overwrite login action
await app.client.evaluate(async (cli, clientCredentials) => {
// @ts-ignore - raw access to the dispatcher to simulate the action
window.mxDispatcher.dispatch(
{
action: "overwrite_login",
credentials: clientCredentials,
},
true,
);
}, clientCredentials);

// It should be now another user!!
const newUserMenu = await app.openUserMenu();
await expect(newUserMenu.getByText(bobRegister.userId)).toBeVisible();
});
});
Loading
Loading