mirror of
https://github.com/element-hq/element-web.git
synced 2025-12-05 01:10:40 +00:00
* MatrixChat: add a load of logging for view transitions This stuff was essentially impossible to follow and debug. I think a load of logging will help. * Add more comments on `state.view` * Add a new state between LOADING/SOFT_LOGOUT and LOGGED_IN ... so that we can transition into COMPLETE_SECURITY without going via LOGGED_IN. * Remove redundant check for `force_verification` This check was previously necessary to keep the tests working, because: * onLoggedIn would call `onShowPostLoginScreen`, * which (without the check) would call `showScreenAfterLogin` * which would queue up an action `Action.ViewHomePage` * Then we would receive an already-queued `ClientStarted` action, which would transition us (correctly) to the `COMPLETE_SECURITY` view * Then we would receive the `ViewHomePage` action, taking us back to `LOGGED_IN`. I don't think the check was necessary in practice, because in practice there would be enough delay between the OnLoggedIn and ClientStarted actions that the race didn't happen. The *problem* with the check was that it meant that, whenever `force_verification` was enabled, we would get stuck in the LOADING state. The check is now unnecessary, because `onLoggedIn` no longer calls `onShowPostLoginScreen`. * `onShowPostLoginScreen` need no longer be `async` * Regression test for https://github.com/element-hq/element-web/issues/31203
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
/*
|
|
Copyright 2025 Element Creations Ltd.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import { expect, test } from "../../element-web-test";
|
|
import { logIntoElement } from "../crypto/utils.ts";
|
|
|
|
test.describe(`With force_verification: true`, () => {
|
|
test.use({
|
|
config: {
|
|
force_verification: true,
|
|
},
|
|
});
|
|
|
|
test("Can reload after login", async ({ page, credentials }) => {
|
|
// The page should reload fine when going to the base client URL
|
|
// Regression test for https://github.com/element-hq/element-web/issues/31203
|
|
await logIntoElement(page, credentials);
|
|
|
|
// We should auto-upload the E2EE keys, and show a welcome page
|
|
await expect(page.getByRole("heading", { name: `Welcome ${credentials.displayName}` })).toBeVisible();
|
|
|
|
await page.goto("/");
|
|
|
|
await expect(page.getByRole("heading", { name: `Welcome ${credentials.displayName}` })).toBeVisible();
|
|
});
|
|
});
|