mirror of
https://github.com/vector-im/element-web.git
synced 2026-05-08 05:36:13 +02:00
Ensure the incoming verification request appears above the please verify prompt (#32931)
This commit is contained in:
parent
e0cf78b5b8
commit
36ddd5eae5
@ -270,10 +270,9 @@ test.describe("Device verification", { tag: "@no-webkit" }, () => {
|
||||
await checkDeviceIsConnectedKeyBackup(app, expectedBackupVersion, true);
|
||||
}
|
||||
|
||||
test("Handle incoming verification request with SAS", async ({ page, credentials, homeserver, toasts }) => {
|
||||
test("Handle incoming verification request with SAS", async ({ page, credentials, homeserver, toasts, app }) => {
|
||||
/* Log in but don't verify the device */
|
||||
await logIntoElement(page, credentials);
|
||||
|
||||
/* Dismiss "Verify this device" */
|
||||
const authPage = page.locator(".mx_AuthPage");
|
||||
await authPage.getByRole("button", { name: "Skip verification for now" }).click();
|
||||
await authPage.getByRole("button", { name: "I'll verify later" }).click();
|
||||
@ -281,6 +280,17 @@ test.describe("Device verification", { tag: "@no-webkit" }, () => {
|
||||
await page.waitForSelector(".mx_MatrixChat");
|
||||
const elementDeviceId = await page.evaluate(() => window.mxMatrixClientPeg.get().getDeviceId());
|
||||
|
||||
/* Create an encrypted room so the "Verify this device" toast appears */
|
||||
await app.client.createRoom({
|
||||
initial_state: [
|
||||
{
|
||||
type: "m.room.encryption",
|
||||
state_key: "",
|
||||
content: { algorithm: "m.megolm.v1.aes-sha2" },
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
/* Now initiate a verification request from the *bot* device. */
|
||||
const botVerificationRequest = await aliceBotClient.evaluateHandle(
|
||||
async (client, { userId, deviceId }) => {
|
||||
|
||||
@ -365,7 +365,12 @@ export const showToast = (state: DeviceStateForToast): void => {
|
||||
overrideWidth: state === "key_storage_out_of_sync" ? "366px" : undefined,
|
||||
},
|
||||
component: GenericToast,
|
||||
priority: state === "verify_this_session" ? 95 : 40,
|
||||
// verify_this_session is more important than most toasts, but
|
||||
// needs to appear below an incoming verification request, so we can fix
|
||||
// the problem by accepting it.
|
||||
//
|
||||
// Other states are less urgent.
|
||||
priority: state === "verify_this_session" ? 85 : 40,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user