Skip to content

Commit

Permalink
Remove redundant MSC implementation for io.element.rendezvous (#28583)
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
  • Loading branch information
t3chguy authored Nov 28, 2024
1 parent 08418c1 commit 95175ca
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 26 deletions.
3 changes: 0 additions & 3 deletions src/components/views/auth/LoginWithQR.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,9 @@ export default class LoginWithQR extends React.Component<IProps, IState> {
private generateAndShowCode = async (): Promise<void> => {
let rendezvous: MSC4108SignInWithQR;
try {
const fallbackRzServer = this.props.client?.getClientWellKnown()?.["io.element.rendezvous"]?.server;

const transport = new MSC4108RendezvousSession({
onFailure: this.onFailure,
client: this.props.client,
fallbackRzServer,
});
await transport.send("");
const channel = new MSC4108SecureChannel(transport, undefined, this.onFailure);
Expand Down
23 changes: 4 additions & 19 deletions src/components/views/settings/devices/LoginWithQRSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,7 @@ Please see LICENSE files in the repository root for full details.
*/

import React from "react";
import {
IServerVersions,
IClientWellKnown,
OidcClientConfig,
MatrixClient,
DEVICE_CODE_SCOPE,
} from "matrix-js-sdk/src/matrix";
import { IServerVersions, OidcClientConfig, MatrixClient, DEVICE_CODE_SCOPE } from "matrix-js-sdk/src/matrix";
import QrCodeIcon from "@vector-im/compound-design-tokens/assets/web/icons/qr-code";
import { Text } from "@vector-im/compound-web";

Expand All @@ -25,7 +19,6 @@ import { useMatrixClientContext } from "../../../../contexts/MatrixClientContext
interface IProps {
onShowQr: () => void;
versions?: IServerVersions;
wellKnown?: IClientWellKnown;
oidcClientConfig?: OidcClientConfig;
isCrossSigningReady?: boolean;
}
Expand All @@ -35,10 +28,8 @@ export function shouldShowQr(
isCrossSigningReady: boolean,
oidcClientConfig?: OidcClientConfig,
versions?: IServerVersions,
wellKnown?: IClientWellKnown,
): boolean {
const msc4108Supported =
!!versions?.unstable_features?.["org.matrix.msc4108"] || !!wellKnown?.["io.element.rendezvous"]?.server;
const msc4108Supported = !!versions?.unstable_features?.["org.matrix.msc4108"];

const deviceAuthorizationGrantSupported =
oidcClientConfig?.metadata?.grant_types_supported.includes(DEVICE_CODE_SCOPE);
Expand All @@ -51,15 +42,9 @@ export function shouldShowQr(
);
}

const LoginWithQRSection: React.FC<IProps> = ({
onShowQr,
versions,
wellKnown,
oidcClientConfig,
isCrossSigningReady,
}) => {
const LoginWithQRSection: React.FC<IProps> = ({ onShowQr, versions, oidcClientConfig, isCrossSigningReady }) => {
const cli = useMatrixClientContext();
const offerShowQr = shouldShowQr(cli, !!isCrossSigningReady, oidcClientConfig, versions, wellKnown);
const offerShowQr = shouldShowQr(cli, !!isCrossSigningReady, oidcClientConfig, versions);

return (
<SettingsSubsection heading={_t("settings|sessions|sign_in_with_qr")}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/

import React, { lazy, Suspense, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
import React, { lazy, Suspense, useCallback, useContext, useEffect, useRef, useState } from "react";
import { discoverAndValidateOIDCIssuerWellKnown, MatrixClient } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger";
import { defer } from "matrix-js-sdk/src/utils";
Expand Down Expand Up @@ -184,7 +184,6 @@ const SessionManagerTab: React.FC<{
const userId = matrixClient?.getUserId();
const currentUserMember = (userId && matrixClient?.getUser(userId)) || undefined;
const clientVersions = useAsyncMemo(() => matrixClient.getVersions(), [matrixClient]);
const wellKnown = useMemo(() => matrixClient?.getClientWellKnown(), [matrixClient]);
const oidcClientConfig = useAsyncMemo(async () => {
try {
const authIssuer = await matrixClient?.getAuthIssuer();
Expand Down Expand Up @@ -305,7 +304,6 @@ const SessionManagerTab: React.FC<{
<LoginWithQRSection
onShowQr={onShowQrClicked}
versions={clientVersions}
wellKnown={wellKnown}
oidcClientConfig={oidcClientConfig}
isCrossSigningReady={isCrossSigningReady}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ describe("<LoginWithQRSection />", () => {
const defaultProps = {
onShowQr: () => {},
versions: makeVersions({ "org.matrix.msc4108": true }),
wellKnown: {},
};

const getComponent = (props = {}) => <LoginWithQRSection {...defaultProps} {...props} />;
Expand Down

0 comments on commit 95175ca

Please sign in to comment.