Skip to content
Snippets Groups Projects
Commit 30325564 authored by Hugh Nimmo-Smith's avatar Hugh Nimmo-Smith
Browse files

Update failure reasons to match MSC

parent 737f2075
No related branches found
No related tags found
No related merge requests found
......@@ -16,14 +16,14 @@ limitations under the License.
import React, { lazy, Suspense } from "react";
// We import "matrix-js-sdk/src/rendezvous" asynchronously to avoid importing the entire Rust Crypto WASM into the main bundle.
import { RendezvousFailureReason } from "matrix-js-sdk/src/rendezvous/RendezvousFailureReason";
import { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousFailureReason } from "matrix-js-sdk/src/rendezvous/RendezvousFailureReason";
import { RendezvousIntent } from "matrix-js-sdk/src/rendezvous/RendezvousIntent";
import { logger } from "matrix-js-sdk/src/logger";
import { MatrixClient, discoverAndValidateOIDCIssuerWellKnown, generateScope } from "matrix-js-sdk/src/matrix";
import { OnResultFunction } from "react-qr-reader";
import { OidcClient } from "oidc-client-ts";
import { RendezvousError, type MSC4108SignInWithQR } from "matrix-js-sdk/src/rendezvous";
import { getOidcClientId } from "../../../utils/oidc/registerClient";
import SdkConfig from "../../../SdkConfig";
import { completeDeviceAuthorizationGrant } from "../../../Lifecycle";
......@@ -144,7 +144,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
// eslint-disable-next-line react/no-direct-mutation-state
this.state.rendezvous.onFailure = undefined;
// calling cancel will call close() as well to clean up the resources
this.state.rendezvous.cancel(RendezvousFailureReason.UserCancelled).then(() => {});
this.state.rendezvous.cancel(MSC4108FailureReason.UserCancelled).then(() => {});
}
}
......@@ -197,7 +197,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
});
} catch (e) {
logger.error("Error whilst generating QR code", e);
this.setState({ phase: Phase.Error, failureReason: RendezvousFailureReason.HomeserverLacksSupport });
this.setState({ phase: Phase.Error, failureReason: ClientRendezvousFailureReason.HomeserverLacksSupport });
return;
}
......@@ -228,7 +228,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
// we ask the user to confirm that the channel is secure
} catch (e: RendezvousError | unknown) {
logger.error("Error whilst generating QR", e);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : RendezvousFailureReason.Unknown);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : ClientRendezvousFailureReason.Unknown);
}
};
......@@ -239,7 +239,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
return; // suppress duplicate scans
}
if (this.state.rendezvous) {
await this.state.rendezvous.cancel(RendezvousFailureReason.UserCancelled);
await this.state.rendezvous.cancel(MSC4108FailureReason.UserCancelled);
this.reset();
}
......@@ -314,7 +314,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
}
} catch (e: RendezvousError | unknown) {
logger.error("Error whilst scanning QR", e);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : RendezvousFailureReason.Unknown);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : ClientRendezvousFailureReason.Unknown);
}
};
......@@ -388,7 +388,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
}
} catch (e: RendezvousError | unknown) {
logger.error("Error whilst approving login", e);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : RendezvousFailureReason.Unknown);
await this.state.rendezvous?.cancel(e instanceof RendezvousError ? e.code : ClientRendezvousFailureReason.Unknown);
}
};
......@@ -413,7 +413,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
private onClick = async (type: Click, checkCode?: string): Promise<void> => {
switch (type) {
case Click.Cancel:
await this.state.rendezvous?.cancel(RendezvousFailureReason.UserCancelled);
await this.state.rendezvous?.cancel(MSC4108FailureReason.UserCancelled);
this.reset();
this.props.onFinished(false);
break;
......@@ -430,7 +430,7 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
await this.updateMode(this.props.mode);
break;
case Click.Back:
await this.state.rendezvous?.cancel(RendezvousFailureReason.UserCancelled);
await this.state.rendezvous?.cancel(MSC4108FailureReason.UserCancelled);
this.props.onFinished(false);
break;
case Click.ScanQr:
......
......@@ -15,7 +15,7 @@ limitations under the License.
*/
import React, { RefObject, createRef } from "react";
import { RendezvousFailureReason } from "matrix-js-sdk/src/rendezvous";
import { MSC4108FailureReason, ClientRendezvousFailureReason } from "matrix-js-sdk/src/rendezvous";
import { Icon as ChevronLeftIcon } from "@vector-im/compound-design-tokens/icons/chevron-left.svg";
import { QrReader, OnResultFunction } from "react-qr-reader";
import { logger } from "matrix-js-sdk/src/logger";
......@@ -95,44 +95,43 @@ export default class LoginWithQRFlow extends React.Component<IProps> {
switch (this.props.phase) {
case Phase.Error:
switch (this.props.failureReason) {
case RendezvousFailureReason.Expired:
case ClientRendezvousFailureReason.Expired:
cancellationMessage = _t("auth|qr_code_login|error_linking_incomplete");
break;
case RendezvousFailureReason.InvalidCode:
case ClientRendezvousFailureReason.InvalidCode:
cancellationMessage = _t("auth|qr_code_login|error_invalid_scanned_code");
break;
case RendezvousFailureReason.UnsupportedTransport:
case RendezvousFailureReason.UnsupportedAlgorithm:
case MSC4108FailureReason.UnsupportedProtocol:
cancellationMessage = _t("auth|qr_code_login|error_device_unsupported");
break;
case RendezvousFailureReason.UserDeclined:
case ClientRendezvousFailureReason.UserDeclined:
cancellationMessage = _t("auth|qr_code_login|error_request_declined");
break;
case RendezvousFailureReason.OtherDeviceAlreadySignedIn:
case ClientRendezvousFailureReason.OtherDeviceAlreadySignedIn:
cancellationMessage = _t("auth|qr_code_login|error_device_already_signed_in");
break;
case RendezvousFailureReason.OtherDeviceNotSignedIn:
case ClientRendezvousFailureReason.OtherDeviceNotSignedIn:
cancellationMessage = _t("auth|qr_code_login|error_device_not_signed_in");
break;
case RendezvousFailureReason.UserCancelled:
case MSC4108FailureReason.UserCancelled:
cancellationMessage = _t("auth|qr_code_login|error_request_cancelled");
break;
case RendezvousFailureReason.Unknown:
case ClientRendezvousFailureReason.Unknown:
cancellationMessage = _t("auth|qr_code_login|error_unexpected");
break;
case RendezvousFailureReason.HomeserverLacksSupport:
case ClientRendezvousFailureReason.HomeserverLacksSupport:
cancellationMessage = _t("auth|qr_code_login|error_homeserver_lacks_support");
break;
case RendezvousFailureReason.InsecureChannelDetected:
case ClientRendezvousFailureReason.InsecureChannelDetected:
cancellationMessage = _t("auth|qr_code_login|error_insecure_connection");
break;
case RendezvousFailureReason.UnexpectedMessage:
case MSC4108FailureReason.UnexpectedMessageReceived:
cancellationMessage = _t("auth|qr_code_login|error_unexpected_message");
break;
case RendezvousFailureReason.DeviceAlreadyExists:
case MSC4108FailureReason.DeviceAlreadyExists:
cancellationMessage = _t("auth|qr_code_login|error_device_already_exists");
break;
case RendezvousFailureReason.DeviceNotFound:
case MSC4108FailureReason.DeviceNotFound:
cancellationMessage = _t("auth|qr_code_login|error_device_not_found");
break;
default:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment