LiveKit-Status im Serializer der Seiteneinstellungen ausgeben

@Falco Ist es möglich, in den Site-Einstellungen bzw. im Serializer einen öffentlichen Check bereitzustellen, der angibt, ob LiveKit konfiguriert ist – neben voice_enabled?

Aktuell ist voice_enabled für den Client verfügbar, aber es gibt kein öffentliches Signal dafür, ob eine Site LiveKit bereitstellen kann. Das einzige LiveKit-bezogene Site-Attribut, voice_livekit_per_room_available, ist auf das Checkbox-Feld im Raumformular beschränkt. Es liefert unter der all_rooms-Richtung false zurück und kann daher nicht verwendet werden, um die Frage zu beantworten, ob die Site überhaupt LiveKit einsetzt.

RoomSerializer#expected_transport deckt den Fall pro Raum gut ab, erfordert aber zunächst das Abrufen der Räume. Zudem liefert es bei deaktiviertem voice_public_access einen leeren Wert zurück, selbst auf einer Site, auf der LiveKit vollständig konfiguriert ist.

Wäre etwas in dieser Art akzeptabel? Es leitet sich aus dem vorhandenen Zustand ab, gibt keine Zugangsdaten oder Richtungsdetails preis und benötigt keinen neuen Endpunkt.

Es würde in plugins/voice/plugin.rb nach dem Block für voice_livekit_per_room_available und direkt vor der Zeile Voice::DefaultRoomSeeder.ensure! eingefügt:

# Öffentliches Signal ohne Zugangsdaten, dass die Site LiveKit bereitstellen kann.
add_to_serializer(:site, :voice_livekit_available) do
Voice::Livekit.configured? && SiteSetting.voice_livekit_room_policy != "disabled"
end

1 „Gefällt mir“