diff --git a/src/home/RegisteredView.jsx b/src/home/RegisteredView.jsx index 0fc1b3e2..aaa8a339 100644 --- a/src/home/RegisteredView.jsx +++ b/src/home/RegisteredView.jsx @@ -15,7 +15,7 @@ limitations under the License. */ import React, { useState, useCallback } from "react"; -import { createRoom, roomAliasFromRoomName } from "../matrix-utils"; +import { createRoom, roomAliasLocalpartFromRoomName } from "../matrix-utils"; import { useGroupCallRooms } from "./useGroupCallRooms"; import { Header, HeaderLogo, LeftNav, RightNav } from "../Header"; import commonStyles from "./common.module.css"; @@ -56,7 +56,7 @@ export function RegisteredView({ client }) { submit().catch((error) => { if (error.errcode === "M_ROOM_IN_USE") { - setExistingRoomId(roomAliasFromRoomName(roomName)); + setExistingRoomId(roomAliasLocalpartFromRoomName(roomName)); setLoading(false); setError(undefined); modalState.open(); diff --git a/src/home/UnauthenticatedView.jsx b/src/home/UnauthenticatedView.jsx index 51e8eedd..aea8ae84 100644 --- a/src/home/UnauthenticatedView.jsx +++ b/src/home/UnauthenticatedView.jsx @@ -22,7 +22,7 @@ import { useHistory } from "react-router-dom"; import { FieldRow, InputField, ErrorMessage } from "../input/Input"; import { Button } from "../button"; import { randomString } from "matrix-js-sdk/src/randomstring"; -import { createRoom, roomAliasFromRoomName } from "../matrix-utils"; +import { createRoom, roomAliasLocalpartFromRoomName } from "../matrix-utils"; import { useInteractiveRegistration } from "../auth/useInteractiveRegistration"; import { useModalTriggerState } from "../Modal"; import { JoinExistingCallModal } from "./JoinExistingCallModal"; @@ -75,7 +75,7 @@ export function UnauthenticatedView() { if (error.errcode === "M_ROOM_IN_USE") { setOnFinished(() => () => { setClient(client, session); - const aliasLocalpart = roomAliasFromRoomName(roomName); + const aliasLocalpart = roomAliasLocalpartFromRoomName(roomName); const [, serverName] = client.getUserId().split(":"); history.push(`/room/#${aliasLocalpart}:${serverName}`); }); diff --git a/src/matrix-utils.ts b/src/matrix-utils.ts index 7f98f9f1..2f7897b8 100644 --- a/src/matrix-utils.ts +++ b/src/matrix-utils.ts @@ -108,7 +108,7 @@ export async function initClient( return client; } -export function roomAliasFromRoomName(roomName: string): string { +export function roomAliasLocalpartFromRoomName(roomName: string): string { return roomName .trim() .replace(/\s/g, "-") @@ -116,6 +116,13 @@ export function roomAliasFromRoomName(roomName: string): string { .toLowerCase(); } +export function fullAliasFromRoomName( + roomName: string, + client: MatrixClient +): string { + return `#${roomAliasLocalpartFromRoomName(roomName)}:${client.getDomain()}`; +} + export function roomNameFromRoomId(roomId: string): string { return roomId .match(/([^:]+):.*$/)[1] @@ -151,7 +158,7 @@ export async function createRoom( visibility: Visibility.Private, preset: Preset.PublicChat, name, - room_alias_name: roomAliasFromRoomName(name), + room_alias_name: roomAliasLocalpartFromRoomName(name), power_level_content_override: { invite: 100, kick: 100, @@ -177,7 +184,7 @@ export async function createRoom( }, }); - console.log({ isPtt }); + console.log(`Creating ${isPtt ? "PTT" : "video"} group call room`); await client.createGroupCall( createRoomResult.room_id, @@ -186,7 +193,7 @@ export async function createRoom( GroupCallIntent.Prompt ); - return createRoomResult.room_id; + return fullAliasFromRoomName(name, client); } export function getRoomUrl(roomId: string): string {