Better voice chat UI and fix bug

This commit is contained in:
2026-08-28 16:32:18 +02:00
parent e280614829
commit 4f128915d0
5 changed files with 97 additions and 75 deletions
+3 -4
View File
@@ -170,6 +170,8 @@ export default class Enclave<P = Page> {
if (!server || channel.kind !== "voice") return;
if (server.voiceChannelId) this.leaveVoice();
server.voiceJoin = (pin, channelId) => {
invoke("connect_to_vc", {
hostname: server.hostname,
@@ -177,14 +179,12 @@ export default class Enclave<P = Page> {
sharedSecret: server.websocket?.sharedSecret,
})
.then(() => {
server.isInVoiceChat = true;
server.voiceChannelId = channelId;
this.forceRender();
})
.catch(console.error);
};
server.isInVoiceChat = true;
server.voiceChannelId = channel.id;
server.websocket?.send({ method: "JoinVoice", channel_id: channel.id });
@@ -195,12 +195,11 @@ export default class Enclave<P = Page> {
public leaveVoice() {
const server = this.server;
if (!server || !server.isInVoiceChat) return;
if (!server || !server.voiceChannelId) return;
server.websocket?.send({ method: "LeaveVoice" });
invoke("disconnect_from_vc").catch(console.error);
server.isInVoiceChat = false;
server.voiceChannelId = undefined;
server.voiceChatSpeakers = {};