Block WS access if Matrix account is not linked

This commit is contained in:
2025-11-21 09:12:13 +01:00
parent 6b70842b61
commit 24f06a78a9
7 changed files with 26 additions and 4 deletions

View File

@@ -4,7 +4,9 @@ import "react-json-view-lite/dist/index.css";
import { WsApi, type WsMessage } from "../api/WsApi";
import { useSnackbar } from "../hooks/contexts_provider/SnackbarProvider";
import { time } from "../utils/DateUtils";
import { useUserInfo } from "../widgets/dashboard/BaseAuthenticatedPage";
import { MatrixGWRouteContainer } from "../widgets/MatrixGWRouteContainer";
import { NotLinkedAccountMessage } from "../widgets/NotLinkedAccountMessage";
const State = {
Closed: "Closed",
@@ -15,6 +17,9 @@ const State = {
type TimestampedMessages = WsMessage & { time: number };
export function WSDebugRoute(): React.ReactElement {
const user = useUserInfo();
if (!user.info.matrix_account_connected) return <NotLinkedAccountMessage />;
const snackbar = useSnackbar();
const [state, setState] = React.useState<string>(State.Closed);
@@ -28,7 +33,7 @@ export function WSDebugRoute(): React.ReactElement {
ws.onopen = () => setState(State.Connected);
ws.onerror = (e) => {
console.error(`WS Debug error! ${e}`);
console.error(`WS Debug error!`, e);
snackbar(`WebSocket error! ${e}`);
setState(State.Error);
};