@Falco Est-il possible d’exposer un contrôle public dans les paramètres du site/sérialiseur indiquant si LiveKit est configuré, en plus de voice_enabled ?
Actuellement, voice_enabled est exposé au client, mais il n’y a pas de signal public indiquant si un site peut servir LiveKit. L’unique attribut de site lié à LiveKit, voice_livekit_per_room_available, est limité à la case à cocher du formulaire de salle, il renvoie donc false avec la politique all_rooms et ne peut pas être utilisé pour répondre à la question « ce site utilise-t-il LiveKit du tout ? ».
RoomSerializer#expected_transport couvre bien le cas par salle, mais cela nécessite d’abord de récupérer les salles, et il renvoie vide lorsque voice_public_access est désactivé, même sur un site où LiveKit est entièrement configuré.
Quelque chose comme ceci serait-il acceptable ? Il est dérivé de l’état existant, n’expose aucune information d’authentification ni détail de politique, et ne nécessite pas de nouveau point d’accès.
Cela irait dans plugins/voice/plugin.rb, après le bloc voice_livekit_per_room_available et juste avant la ligne Voice::DefaultRoomSeeder.ensure! :
# Signal public, sans informations d'authentification, indiquant que le site peut servir LiveKit.
add_to_serializer(:site, :voice_livekit_available) do
Voice::Livekit.configured? && SiteSetting.voice_livekit_room_policy != "disabled"
end