Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/room/InCallView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -842,6 +842,7 @@ export const InCallView: FC<InCallViewProps> = ({
.getConnections()
.map((connectionItem) => ({
room: connectionItem.livekitRoom,
livekitAlias: connectionItem.livekitAlias,
// TODO compute is local or tag it in the livekit room items already
isLocal: undefined,
url: connectionItem.transport.livekit_service_url,
Expand Down
5 changes: 4 additions & 1 deletion src/settings/DeveloperSettingsTab.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function createMockLivekitRoom(
wsUrl: string,
serverInfo: object,
metadata: string,
): { isLocal: boolean; url: string; room: LivekitRoom } {
): { isLocal: boolean; url: string; room: LivekitRoom; livekitAlias: string } {
const mockRoom = {
serverInfo,
metadata,
Expand All @@ -38,6 +38,7 @@ function createMockLivekitRoom(
isLocal: true,
url: wsUrl,
room: mockRoom,
livekitAlias: "TestAlias",
};
}

Expand All @@ -61,6 +62,7 @@ describe("DeveloperSettingsTab", () => {
room: LivekitRoom;
url: string;
isLocal?: boolean;
livekitAlias: string;
}[] = [
createMockLivekitRoom(
"wss://local-sfu.example.org",
Expand All @@ -69,6 +71,7 @@ describe("DeveloperSettingsTab", () => {
),
{
isLocal: false,
livekitAlias: "TestAlias2",
url: "wss://remote-sfu.example.org",
room: {
localParticipant: { identity: "localParticipantIdentity" },
Expand Down
8 changes: 7 additions & 1 deletion src/settings/DeveloperSettingsTab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,12 @@ import { useUrlParams } from "../UrlParams";

interface Props {
client: MatrixClient;
livekitRooms?: { room: LivekitRoom; url: string; isLocal?: boolean }[];
livekitRooms?: {
room: LivekitRoom;
url: string;
isLocal?: boolean;
livekitAlias?: string;
}[];
env: ImportMetaEnv;
}

Expand Down Expand Up @@ -310,6 +315,7 @@ export const DeveloperSettingsTab: FC<Props> = ({
url: livekitRoom.url || "unknown",
})}
</h4>
<p>LivekitAlias: {livekitRoom.livekitAlias}</p>
Copy link
Copy Markdown
Member

@BillCarsonFr BillCarsonFr Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are inconsistent regarding i18n. Let's use t() for all labels

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to still not add it to LivekitAlias since its the same in all languages.
I added it to remote/local participant

{livekitRoom.isLocal && <p>ws-url: {localSfuUrl?.href}</p>}
<p>
{t("developer_mode.livekit_server_info")}(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,10 @@ exports[`DeveloperSettingsTab > renders and matches snapshot 1`] = `
<h4>
LiveKit SFU: wss://local-sfu.example.org
</h4>
<p>
LivekitAlias:
TestAlias
</p>
<p>
ws-url:
wss://local-sfu.example.org/
Expand Down Expand Up @@ -393,6 +397,10 @@ exports[`DeveloperSettingsTab > renders and matches snapshot 1`] = `
<h4>
LiveKit SFU: wss://remote-sfu.example.org
</h4>
<p>
LivekitAlias:
TestAlias2
</p>
<p>
LiveKit Server Info
(
Expand Down
11 changes: 10 additions & 1 deletion src/state/CallViewModel/remoteMembers/Connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,14 @@ export class Connection {
*/
public readonly remoteParticipants$: Behavior<RemoteParticipant[]>;

/**
* The alias of the LiveKit room.
*/
public get livekitAlias(): string | undefined {
return this._livekitAlias;
}
private _livekitAlias?: string;

/**
* Whether the connection has been stopped.
* @see Connection.stop
Expand Down Expand Up @@ -144,9 +152,10 @@ export class Connection {
this._state$.next(ConnectionState.FetchingConfig);
// We should already have this information after creating the localTransport.
// only call getSFUConfigWithOpenID for connections where we do not have a token yet. (existingJwtTokenData === undefined)
const { url, jwt } =
const { url, jwt, livekitAlias } =
this.existingSFUConfig ??
(await this.getSFUConfigForRemoteConnection());
this._livekitAlias = livekitAlias;
// If we were stopped while fetching the config, don't proceed to connect
if (this.stopped) return;

Expand Down