From 5994826d7ba3d74f27fd770d1f984fca47681c09 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Tue, 14 Jan 2025 11:47:22 -0600 Subject: [PATCH] fix: Fix detecting transcriber (the extension is not added on initial join). --- .../org/jitsi/jicofo/xmpp/muc/ChatRoomMemberImpl.kt | 8 +++++--- jicofo/src/main/kotlin/org/jitsi/jicofo/xmpp/Smack.kt | 8 -------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomMemberImpl.kt b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomMemberImpl.kt index fd4545daee..d0dafe2eba 100644 --- a/jicofo-common/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomMemberImpl.kt +++ b/jicofo-common/src/main/kotlin/org/jitsi/jicofo/xmpp/muc/ChatRoomMemberImpl.kt @@ -31,7 +31,6 @@ import org.jitsi.xmpp.extensions.jitsimeet.JitsiParticipantCodecList import org.jitsi.xmpp.extensions.jitsimeet.JitsiParticipantRegionPacketExtension import org.jitsi.xmpp.extensions.jitsimeet.StartMutedPacketExtension import org.jitsi.xmpp.extensions.jitsimeet.StatsId -import org.jitsi.xmpp.extensions.jitsimeet.TranscriptionStatusExtension import org.jitsi.xmpp.extensions.jitsimeet.VideoMutedExtension import org.jivesoftware.smack.packet.Presence import org.jivesoftware.smack.packet.StandardExtensionElement @@ -162,9 +161,13 @@ class ChatRoomMemberImpl( val jidTrusted = domain != null && XmppConfig.config.trustedDomains.contains(domain) val jibriSignaled = features.featureExtensions.any { it.`var` == "http://jitsi.org/protocol/jibri" } val jigasiSignaled = features.featureExtensions.any { it.`var` == "http://jitsi.org/protocol/jigasi" } + val transcriberSignaled = features.featureExtensions.any { + it.`var` == "http://jitsi.org/protocol/transcriber" + } isJibri = jibriSignaled && jidTrusted isJigasi = jigasiSignaled && jidTrusted + isTranscriber = transcriberSignaled && jidTrusted if (jibriSignaled && !jidTrusted) { logger.warn( @@ -181,6 +184,7 @@ class ChatRoomMemberImpl( } else { isJigasi = false isJibri = false + isTranscriber = false } var newRole: MemberRole = MemberRole.VISITOR @@ -195,8 +199,6 @@ class ChatRoomMemberImpl( role = newRole } - isTranscriber = isJigasi && presence.getExtension(TranscriptionStatusExtension::class.java) != null - presence.getExtension(JitsiParticipantRegionPacketExtension::class.java)?.let { region = it.regionId } diff --git a/jicofo/src/main/kotlin/org/jitsi/jicofo/xmpp/Smack.kt b/jicofo/src/main/kotlin/org/jitsi/jicofo/xmpp/Smack.kt index b3dc38a79c..721622e741 100644 --- a/jicofo/src/main/kotlin/org/jitsi/jicofo/xmpp/Smack.kt +++ b/jicofo/src/main/kotlin/org/jitsi/jicofo/xmpp/Smack.kt @@ -45,7 +45,6 @@ import org.jitsi.xmpp.extensions.jitsimeet.MuteIqProvider import org.jitsi.xmpp.extensions.jitsimeet.MuteVideoIqProvider import org.jitsi.xmpp.extensions.jitsimeet.StartMutedProvider import org.jitsi.xmpp.extensions.jitsimeet.StatsId -import org.jitsi.xmpp.extensions.jitsimeet.TranscriptionStatusExtension import org.jitsi.xmpp.extensions.jitsimeet.UserInfoPacketExt import org.jitsi.xmpp.extensions.jitsimeet.VideoMutedExtension import org.jitsi.xmpp.extensions.rayo.RayoIqProvider @@ -128,13 +127,6 @@ fun registerXmppExtensions() { DefaultPacketExtensionProvider(JitsiParticipantCodecList::class.java) ) - // The extension used for detecting a transcriber - ProviderManager.addExtensionProvider( - TranscriptionStatusExtension.ELEMENT, - TranscriptionStatusExtension.NAMESPACE, - DefaultPacketExtensionProvider(TranscriptionStatusExtension::class.java) - ) - // register Jingle ProviderManager.addIQProvider( JingleIQ.ELEMENT,