Remove support for MSC3391 & MSC3852 (#34400)

* Remove support for MSC3391 & MSC3852

As they were both rejected & closed.

Synapse already removed support for MSC3852 which means it already did nothing: https://github.com/element-hq/synapse/pull/19430

* Update snapshot
This commit is contained in:
Michael Telatynski
2026-07-23 13:18:00 +00:00
committed by GitHub
parent f3033e91db
commit 106d6024b2
15 changed files with 34 additions and 98 deletions
@@ -96,12 +96,7 @@ const DeviceDetails: React.FC<Props> = ({
{
id: "device",
heading: _t("common|device"),
values: [
{ label: _t("common|model"), value: device.deviceModel },
{ label: _t("settings|sessions|os"), value: device.deviceOperatingSystem },
{ label: _t("settings|sessions|browser"), value: device.client },
{ label: _t("settings|sessions|ip"), value: device.last_seen_ip },
],
values: [{ label: _t("settings|sessions|ip"), value: device.last_seen_ip }],
},
]
.map((section) =>
@@ -14,6 +14,7 @@ import { type ExtendedDevice } from "./types";
import { DeviceTypeIcon } from "./DeviceTypeIcon";
import { preventDefaultWrapper } from "../../../../utils/NativeEventUtils";
import { DeviceMetaData } from "./DeviceMetaData";
import { DeviceType } from "../../../../utils/device/parseUserAgent.ts";
export interface DeviceTileProps {
device: ExtendedDevice;
isSelected?: boolean;
@@ -38,7 +39,7 @@ const DeviceTile: React.FC<DeviceTileProps> = ({ device, children, isSelected, o
data-testid={`device-tile-${device.device_id}`}
onClick={onClick}
>
<DeviceTypeIcon isVerified={device.isVerified} isSelected={isSelected} deviceType={device.deviceType} />
<DeviceTypeIcon isVerified={device.isVerified} isSelected={isSelected} deviceType={DeviceType.Unknown} />
<div className="mx_DeviceTile_info">
<DeviceTileName device={device} />
<div className="mx_DeviceTile_metadata">
@@ -8,8 +8,6 @@ Please see LICENSE files in the repository root for full details.
import { type IMyDevice } from "matrix-js-sdk/src/matrix";
import { type ExtendedDeviceInformation } from "../../../../utils/device/parseUserAgent";
export type DeviceWithVerification = IMyDevice & {
/**
* `null` if the device is unknown or has not published encryption keys; otherwise a boolean
@@ -23,7 +21,7 @@ export type ExtendedDeviceAppInfo = {
appVersion?: string;
url?: string;
};
export type ExtendedDevice = DeviceWithVerification & ExtendedDeviceAppInfo & ExtendedDeviceInformation;
export type ExtendedDevice = DeviceWithVerification & ExtendedDeviceAppInfo;
export type DevicesDictionary = Record<ExtendedDevice["device_id"], ExtendedDevice>;
export enum DeviceSecurityVariation {
@@ -16,7 +16,6 @@ import {
type MatrixEvent,
PUSHER_DEVICE_ID,
PUSHER_ENABLED,
UNSTABLE_MSC3852_LAST_SEEN_UA,
type MatrixError,
type LocalNotificationSettings,
} from "matrix-js-sdk/src/matrix";
@@ -27,7 +26,6 @@ import { _t } from "../../../../languageHandler";
import { getDeviceClientInformation, pruneClientInformation } from "../../../../utils/device/clientInformation";
import { type DevicesDictionary, type ExtendedDevice, type ExtendedDeviceAppInfo } from "./types";
import { useEventEmitter } from "../../../../hooks/useEventEmitter";
import { parseUserAgent } from "../../../../utils/device/parseUserAgent";
import { isDeviceVerified } from "../../../../utils/device/isDeviceVerified";
import { SDKContext } from "../../../../contexts/SDKContext";
@@ -56,7 +54,6 @@ export async function fetchExtendedDeviceInformation(matrixClient: MatrixClient)
...device,
isVerified: await isDeviceVerified(matrixClient, device.device_id),
...parseDeviceExtendedInformation(matrixClient, device),
...parseUserAgent(device[UNSTABLE_MSC3852_LAST_SEEN_UA.name]),
};
}
return devicesDict;
-3
View File
@@ -504,7 +504,6 @@
"message_layout": "Message layout",
"message_timestamp_invalid": "Invalid timestamp",
"microphone": "Microphone",
"model": "Model",
"moderation_and_safety": "Moderation and safety",
"modern": "Modern",
"mute": "Mute",
@@ -2852,7 +2851,6 @@
"send_typing_notifications": "Send typing notifications",
"sessions": {
"best_security_note": "For best security, verify your sessions and remove any session that you don't recognize or use anymore.",
"browser": "Browser",
"confirm_sign_out": {
"one": "Confirm removing this device",
"other": "Confirm removing these devices"
@@ -2903,7 +2901,6 @@
"no_sessions": "No sessions found.",
"no_unverified_sessions": "No unverified sessions found.",
"no_verified_sessions": "No verified sessions found.",
"os": "Operating system",
"other_sessions_heading": "Other sessions",
"push_heading": "Push notifications",
"push_subheading": "Receive push notifications on this session.",
@@ -17,8 +17,8 @@ import ToastStore from "../stores/ToastStore";
import GenericToast from "../components/views/toasts/GenericToast";
import { Action } from "../dispatcher/actions";
import { isDeviceVerified } from "../utils/device/isDeviceVerified";
import { DeviceType } from "../utils/device/parseUserAgent";
import { DeviceMetaData } from "../components/views/settings/devices/DeviceMetaData";
import type { ExtendedDevice } from "../components/views/settings/devices/types.ts";
function toastKey(deviceId: string): string {
return "unverified_session_" + deviceId;
@@ -39,10 +39,9 @@ export const showToast = async (deviceId: string): Promise<void> => {
};
const device = await cli.getDevice(deviceId);
const extendedDevice = {
const extendedDevice: ExtendedDevice = {
...device,
isVerified: await isDeviceVerified(cli, deviceId),
deviceType: DeviceType.Unknown,
};
ToastStore.sharedInstance().addOrReplaceToast({