Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 84880d7

Browse files
author
Alun Turner
committed
Merge remote-tracking branch 'origin/develop' into alunturner/bump-rte
2 parents a4bc3ee + c47ebb9 commit 84880d7

File tree

213 files changed

+1908
-1216
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+1908
-1216
lines changed

.editorconfig

+3
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,6 @@ trim_trailing_whitespace = true
2424

2525
[*.{yml,yaml}]
2626
indent_size = 4
27+
28+
[*.tsx.snap]
29+
trim_trailing_whitespace = false

.github/workflows/static_analysis.yaml

-40
Original file line numberDiff line numberDiff line change
@@ -43,46 +43,6 @@ jobs:
4343
- name: Typecheck (release mode)
4444
run: "yarn run lint:types"
4545

46-
tsc-strict:
47-
name: Typescript Strict Error Checker
48-
if: github.event_name == 'pull_request'
49-
runs-on: ubuntu-latest
50-
permissions:
51-
pull-requests: read
52-
checks: write
53-
steps:
54-
- uses: actions/checkout@v3
55-
with:
56-
ref: ${{ github.event.pull_request.head.sha }}
57-
58-
- name: Install Deps
59-
run: "scripts/ci/layered.sh"
60-
61-
- name: Get diff lines
62-
id: diff
63-
uses: Equip-Collaboration/diff-line-numbers@e752977e2cb4207d671bb9e4dad18c07c1b73d52 # v1.1.0
64-
with:
65-
include: '["\\.tsx?$"]'
66-
67-
- name: Detecting files changed
68-
id: files
69-
uses: futuratrepadeira/changed-files@0239328a3a6268aad16af7c3e4efc78e32d6c0f0 # v4.0.1
70-
with:
71-
repo-token: ${{ secrets.GITHUB_TOKEN }}
72-
pattern: '^.*\.tsx?$'
73-
74-
- uses: t3chguy/typescript-check-action@main
75-
with:
76-
repo-token: ${{ secrets.GITHUB_TOKEN }}
77-
use-check: false
78-
check-fail-mode: added
79-
output-behaviour: annotate
80-
ts-extra-args: "--strict --noImplicitAny"
81-
files-changed: ${{ steps.files.outputs.files_updated }}
82-
files-added: ${{ steps.files.outputs.files_created }}
83-
files-deleted: ${{ steps.files.outputs.files_deleted }}
84-
line-numbers: ${{ steps.diff.outputs.lineNumbers }}
85-
8646
i18n_lint:
8747
name: "i18n Check"
8848
uses: matrix-org/matrix-react-sdk/.github/workflows/i18n_check.yml@develop

CHANGELOG.md

+38
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,41 @@
1+
Changes in [3.75.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.75.0) (2023-07-04)
2+
=====================================================================================================
3+
4+
## 🦖 Deprecations
5+
* Remove `feature_favourite_messages` as it is has been abandoned for now ([\#11097](https://github.com/matrix-org/matrix-react-sdk/pull/11097)). Fixes vector-im/element-web#25555.
6+
7+
## ✨ Features
8+
* Don't setup keys on login when encryption is force disabled ([\#11125](https://github.com/matrix-org/matrix-react-sdk/pull/11125)). Contributed by @kerryarchibald.
9+
* OIDC: attempt dynamic client registration ([\#11074](https://github.com/matrix-org/matrix-react-sdk/pull/11074)). Fixes vector-im/element-web#25468 and vector-im/element-web#25467. Contributed by @kerryarchibald.
10+
* OIDC: Check static client registration and add login flow ([\#11088](https://github.com/matrix-org/matrix-react-sdk/pull/11088)). Fixes vector-im/element-web#25467. Contributed by @kerryarchibald.
11+
* Improve message body output from plain text editor ([\#11124](https://github.com/matrix-org/matrix-react-sdk/pull/11124)). Contributed by @alunturner.
12+
* Disable encryption toggle in room settings when force disabled ([\#11122](https://github.com/matrix-org/matrix-react-sdk/pull/11122)). Contributed by @kerryarchibald.
13+
* Add .well-known config option to force disable encryption on room creation ([\#11120](https://github.com/matrix-org/matrix-react-sdk/pull/11120)). Contributed by @kerryarchibald.
14+
* Handle permalinks in room topic ([\#11115](https://github.com/matrix-org/matrix-react-sdk/pull/11115)). Fixes vector-im/element-web#23395.
15+
* Add at room avatar for RTE ([\#11106](https://github.com/matrix-org/matrix-react-sdk/pull/11106)). Contributed by @alunturner.
16+
* Remove new room breadcrumbs ([\#11104](https://github.com/matrix-org/matrix-react-sdk/pull/11104)).
17+
* Update rich text editor dependency and associated changes ([\#11098](https://github.com/matrix-org/matrix-react-sdk/pull/11098)). Contributed by @alunturner.
18+
* Implement new model, hooks and reconcilation code for new GYU notification settings ([\#11089](https://github.com/matrix-org/matrix-react-sdk/pull/11089)). Contributed by @justjanne.
19+
* Allow maintaining a different right panel width for thread panels ([\#11064](https://github.com/matrix-org/matrix-react-sdk/pull/11064)). Fixes vector-im/element-web#25487.
20+
* Make AppPermission pane scrollable ([\#10954](https://github.com/matrix-org/matrix-react-sdk/pull/10954)). Fixes vector-im/element-web#25438 and vector-im/element-web#25511. Contributed by @luixxiul.
21+
* Integrate compound design tokens ([\#11091](https://github.com/matrix-org/matrix-react-sdk/pull/11091)). Fixes vector-im/internal-planning#450.
22+
* Don't warn about the effects of redacting state events when redacting non-state-events ([\#11071](https://github.com/matrix-org/matrix-react-sdk/pull/11071)). Fixes vector-im/element-web#8478.
23+
* Allow specifying help URLs in config.json ([\#11070](https://github.com/matrix-org/matrix-react-sdk/pull/11070)). Fixes vector-im/element-web#15268.
24+
25+
## 🐛 Bug Fixes
26+
* Fix spurious notifications on non-live events ([\#11133](https://github.com/matrix-org/matrix-react-sdk/pull/11133)). Fixes vector-im/element-web#24336.
27+
* Prevent auto-translation within composer ([\#11114](https://github.com/matrix-org/matrix-react-sdk/pull/11114)). Fixes vector-im/element-web#25624.
28+
* Fix caret jump when backspacing into empty line at beginning of editor ([\#11128](https://github.com/matrix-org/matrix-react-sdk/pull/11128)). Fixes vector-im/element-web#22335.
29+
* Fix server picker not allowing you to switch from custom to default ([\#11127](https://github.com/matrix-org/matrix-react-sdk/pull/11127)). Fixes vector-im/element-web#25650.
30+
* Consider the unthreaded read receipt for Unread dot state ([\#11117](https://github.com/matrix-org/matrix-react-sdk/pull/11117)). Fixes vector-im/element-web#24229.
31+
* Increase RTE resilience ([\#11111](https://github.com/matrix-org/matrix-react-sdk/pull/11111)). Fixes vector-im/element-web#25277. Contributed by @alunturner.
32+
* Fix RoomView ignoring alias lookup errors due to them not knowing the roomId ([\#11099](https://github.com/matrix-org/matrix-react-sdk/pull/11099)). Fixes vector-im/element-web#24783 and vector-im/element-web#25562.
33+
* Fix style inconsistencies on SecureBackupPanel ([\#11102](https://github.com/matrix-org/matrix-react-sdk/pull/11102)). Fixes vector-im/element-web#25615. Contributed by @luixxiul.
34+
* Remove unknown MXIDs from invite suggestions ([\#11055](https://github.com/matrix-org/matrix-react-sdk/pull/11055)). Fixes vector-im/element-web#25446.
35+
* Reduce volume of ring sounds to normalised levels ([\#9143](https://github.com/matrix-org/matrix-react-sdk/pull/9143)). Contributed by @JMoVS.
36+
* Fix slash commands not being enabled in certain cases ([\#11090](https://github.com/matrix-org/matrix-react-sdk/pull/11090)). Fixes vector-im/element-web#25572.
37+
* Prevent escape in threads from sending focus to main timeline composer ([\#11061](https://github.com/matrix-org/matrix-react-sdk/pull/11061)). Fixes vector-im/element-web#23397.
38+
139
Changes in [3.74.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.74.0) (2023-06-20)
240
=====================================================================================================
341

cypress/e2e/crypto/crypto.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ const verify = function (this: CryptoTestContext) {
116116
// this requires creating a DM, so can take a while. Give it a longer timeout.
117117
cy.findByRole("button", { name: "Verify by emoji", timeout: 30000 }).click();
118118

119-
cy.wrap(bobsVerificationRequestPromise).then((request: VerificationRequest) => {
119+
cy.wrap(bobsVerificationRequestPromise).then(async (request: VerificationRequest) => {
120120
// the bot user races with the Element user to hit the "verify by emoji" button
121-
const verifier = request.beginKeyVerification("m.sas.v1");
121+
const verifier = await request.startVerification("m.sas.v1");
122122
doTwoWaySasVerification(verifier);
123123
});
124124
cy.findByRole("button", { name: "They match" }).click();

cypress/e2e/crypto/utils.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,11 @@ export type EmojiMapping = [emoji: string, name: string];
2828
export function waitForVerificationRequest(cli: MatrixClient): Promise<VerificationRequest> {
2929
return new Promise<VerificationRequest>((resolve) => {
3030
const onVerificationRequestEvent = async (request: VerificationRequest) => {
31-
// @ts-ignore CryptoEvent is not exported to window.matrixcs; using the string value here
32-
cli.off("crypto.verification.request", onVerificationRequestEvent);
3331
await request.accept();
3432
resolve(request);
3533
};
36-
// @ts-ignore
37-
cli.on("crypto.verification.request", onVerificationRequestEvent);
34+
// @ts-ignore CryptoEvent is not exported to window.matrixcs; using the string value here
35+
cli.once("crypto.verificationRequestReceived", onVerificationRequestEvent);
3836
});
3937
}
4038

@@ -59,7 +57,6 @@ export function handleSasVerification(verifier: Verifier): Promise<EmojiMapping[
5957

6058
// @ts-ignore as above, avoiding reference to VerifierEvent
6159
verifier.on("show_sas", onShowSas);
62-
verifier.verify();
6360
});
6461
}
6562

@@ -134,7 +131,10 @@ export function doTwoWaySasVerification(verifier: Verifier): void {
134131
cy.wrap(emojiPromise).then((emojis: EmojiMapping[]) => {
135132
cy.get(".mx_VerificationShowSas_emojiSas_block").then((emojiBlocks) => {
136133
emojis.forEach((emoji: EmojiMapping, index: number) => {
137-
expect(emojiBlocks[index].textContent.toLowerCase()).to.eq(emoji[0] + emoji[1]);
134+
// VerificationShowSas munges the case of the emoji descriptions returned by the js-sdk before
135+
// displaying them. Once we drop support for legacy crypto, that code can go away, and so can the
136+
// case-munging here.
137+
expect(emojiBlocks[index].textContent.toLowerCase()).to.eq(emoji[0] + emoji[1].toLowerCase());
138138
});
139139
});
140140
});

cypress/e2e/crypto/verification.spec.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ limitations under the License.
1717
import type { VerificationRequest, Verifier } from "matrix-js-sdk/src/crypto-api/verification";
1818
import { CypressBot } from "../../support/bot";
1919
import { HomeserverInstance } from "../../plugins/utils/homeserver";
20-
import { emitPromise, skipIfRustCrypto } from "../../support/util";
20+
import { emitPromise } from "../../support/util";
2121
import { checkDeviceIsCrossSigned, doTwoWaySasVerification, logIntoElement, waitForVerificationRequest } from "./utils";
2222
import { getToast } from "../../support/toasts";
2323

@@ -26,7 +26,6 @@ describe("Device verification", () => {
2626
let homeserver: HomeserverInstance;
2727

2828
beforeEach(() => {
29-
skipIfRustCrypto();
3029
cy.startHomeserver("default").then((data: HomeserverInstance) => {
3130
homeserver = data;
3231

@@ -37,7 +36,7 @@ describe("Device verification", () => {
3736
cy.window({ log: false }).should("have.property", "matrixcs");
3837

3938
// Create a new device for alice
40-
cy.getBot(homeserver, { bootstrapCrossSigning: true }).then((bot) => {
39+
cy.getBot(homeserver, { rustCrypto: true, bootstrapCrossSigning: true }).then((bot) => {
4140
aliceBotClient = bot;
4241
});
4342
});
@@ -72,9 +71,9 @@ describe("Device verification", () => {
7271

7372
// Handle emoji SAS verification
7473
cy.get(".mx_InfoDialog").within(() => {
75-
cy.get<VerificationRequest>("@verificationRequest").then((request: VerificationRequest) => {
74+
cy.get<VerificationRequest>("@verificationRequest").then(async (request: VerificationRequest) => {
7675
// the bot chooses to do an emoji verification
77-
const verifier = request.beginKeyVerification("m.sas.v1");
76+
const verifier = await request.startVerification("m.sas.v1");
7877

7978
// Handle emoji request and check that emojis are matching
8079
doTwoWaySasVerification(verifier);

cypress/e2e/settings/hidden-rr-migration.spec.ts

-90
This file was deleted.

0 commit comments

Comments
 (0)