¿Esto es solo para Enterprise o puede ejecutarse en Professional?
¿No hay un plan ‘Profesional’ para Discourse? Pero sí, dado que esto no es #oficial, solo se puede instalar en el plan más alto, Enterprise.
Supongo que nunca he asociado ‘Pro’ con ‘Profesional’…
¿No es ‘Pro’ una abreviatura de Profesional?
Es cierto, pero habría esperado que Profesional estuviera por encima de Empresarial (de ahí Pro?)
@Falco He completado la integración, aunque tuve que cambiar de WebRTC básico para incluir un SDK de SFU a través de un contenedor Docker separado. Además, he llegado a crear una interfaz independiente de tu barra lateral estándar e incorporado capacidades de transmisión en vivo para cuando un debate de audio es para una comunidad grande.
Se puede iniciar y detener desde la web de Discourse o desde Domniq - Una vista previa de la aplicación nativa de Discourse para Android+iOS. El control de administrador y el control de sala están disponibles.
No me enfoqué en un chat estilo Discord, sino más bien en curar Clubhouse X/Spaces a partir del núcleo de tu plugin, aunque he mantenido los créditos para ti.
He añadido la función de vídeo; tanto las transmisiones de pantalla como los vídeos de la cámara web ya están disponibles a través de una configuración del sitio en el plugin.
@Falco ¿Cuánto tardaríamos en probar un foro alojado? Esto es genial, solo que ahora mismo no puedo probarlo ![]()
Bueno, como no es oficial, necesitarías el plan Enterprise o autoalojarlo.
Parece haber un problema de compatibilidad con las instancias que se ejecutan en ESR; el complemento no se carga y muestra el siguiente error:
Uncaught (in promise) Error: Could not find module discourse/blocks imported from discourse/plugins/resenha/discourse/components/resenha-anon-rooms-block
f loader.js:247
f loader.js:258
findDeps loader.js:168
f loader.js:262
findDeps loader.js:168
f loader.js:262
requireModule loader.js:24
iI app.js:228
iN app.js:251
start app.js:210
start app.js:225
start-app.js:19
loader.js:247:1
Esto rompe la disposición de la lista de temas en el tema Horizon.
Intentar usar complementos experimentales con Discourse ESR no es una estrategia ganadora.
Si quieres usar este complemento, quédate con la versión más reciente.
Esperaba que hubiera mecanismos como d-compat para garantizar que las versiones más antiguas de Discourse permanecieran compatibles en estos casos. ![]()
Migrar a la última versión no es una opción para esta instancia, así que supongo que el plugin se mantendrá deshabilitado.
Sí, los tenemos para los plugins oficiales de producción, pero no es razonable esperar esto para cada experimento que publicamos.
Tomado nota ![]()
(Veinte caracteres)
Hoy tuve una rápida charla con @Falco y unos cuantos más usando este plugin y ¡fue divertido!
Estaba charlando con @markvanlan sobre otra cosa y noté el ícono del micrófono junto a su avatar. Decidí entrar a una charla en el canal Watercooler y pude ver algunas caras que no veo muy a menudo.
Muy genial ver lo que han estado haciendo aquí, Falco.
Hicimos casualmente una reunión interna de todo el equipo sobre este plugin en las últimas dos semanas, aquí está lo que pasó:
Resumen LLM de las últimas dos semanas en Resenha
Características
- Chat persistente en la sala — vincula una sala de voz con un canal de chat de Discourse; cada sesión abre un hilo real con reacciones, ediciones y cargas completas. Cambia a un nuevo hilo después de un tiempo de inactividad configurable.
- Compartir audio de pantalla — el audio de la pestaña y del sistema ahora viaja con las comparticiones de pantalla a través de una pista dedicada, separada del micrófono. Respeta el volumen/silencio/sordera por usuario.
- Modal de configuración de voz — selecciona dispositivos de entrada/salida, ve un medidor de nivel de micrófono en vivo y establece un umbral de puerta de ruido. Las preferencias persisten por dispositivo y se aplican durante la llamada sin renegociación.
- Widget anclado redimensionable — arrastra para redimensionar mediante un asa en la esquina superior izquierda, anclado en la inferior derecha, tamaño persistente. Nuevo estado extra-minimizado que muestra solo los botones Expandir y Salir. Los flujos de video funcionan correctamente en modo widget.
UX
- Los iconos de estado de los participantes en la barra lateral (silenciar/sordera/compartir pantalla/cámara/PTT) ahora aparecen todos juntos en el borde derecho; la onda de habla se anima sobre el avatar.
- Las salas de voz ahora son visibles en la barra lateral de chat a pantalla completa.
- La configuración del sitio
prioritize_username_in_uxse respeta en los mosaicos de video y en el bloque de salas anónimas.- Z-index del widget corregido para menús móviles; asa de redimensionamiento de SE restaurada; botón de anclaje recibió un
ariaLabeladecuado.
Correcciones
- El diseño de la cuadrícula de video se quedó atascado en dimensiones de pantalla completa después de salir de pantalla completa.
- Los conteos de participantes en la barra lateral se desviaban para usuarios no participantes (dirección de transmisión + Redis + limpieza del cliente).
- Las señales de audio estaban rotas en Android (AudioContext ahora se reanuda antes de la reproducción; singleton compartido evita el límite de contexto).
- El video remoto no aparecía cuando un par comenzaba a publicar después del handshake inicial.
- Dirección de transmisión de participantes obsoleta.
Si alguien está usando esto, me encantaría escuchar comentarios sobre los cambios recientes.
Qué buena mejora de la función. ¿Sería posible aplicar esto al plugin de eventos? ¿Se podría establecer un gancho que se ejecute en el tema de eventos? Eso redirigiría a la vista completa fuera de la barra lateral.
He notado que muchos foros no tienen habilitada la barra lateral en Discourse; en su lugar, utilizan el menú desplegable del encabezado. ¿Cómo afecta esto a Resenha? ¿Hay planes para que tenga su propia interfaz de chat emergente? Similar al dock de Canales y Mensajes Directos que existe actualmente.
Eso podría estar en nuestras planes para el futuro, pero por el momento no tenemos nada así programado. Quizás podría ser algo como esto: cuando un evento tenga una sala de Resenha en su URL de ubicación, 5 minutos antes del evento activamos una notificación dentro de la app, notificaciones push y correos electrónicos que, al hacer clic, redirijan al usuario a /resenha/r/#{room.slug} para que llegue directamente a la sala del evento.
Sinceramente, no tengo idea. Esto está muy abajo en mi lista de prioridades
.
Agregamos ambas opciones recientemente, así que tienes el widget emergente:
y la vista de página completa:
Así que técnicamente se puede usar siempre y cuando coloques el enlace a la sala en algún lugar donde tus usuarios puedan encontrarlo.
Acabo de echarle un vistazo a la demostración; es un salto enorme, un trabajo realmente impresionante. En mi publicación anterior, compartí que opté por el SDK de LiveKit para manejar el audio en grupos más grandes, con una página de transmisión alimentada por egress que retransmite a YouTube. Tu nueva vista a pantalla completa para las salas parece más robusta; echaré un vistazo más en profundidad para ver si la actualización actual puede ofrecer la continuidad que necesito mientras estoy en resenha.






