Notificaciones Push de iOS/Android en Discourse auto-alojado (Docker)

He pasado más de 6 horas leyendo mensajes de 2018 en adelante en Discourse Meta, hablando con el Bot de IA de Discourse, utilizando múltiples modelos para investigar a fondo y realizando pruebas. Busco confirmar mi entendimiento. Gracias por su paciencia, me doy cuenta de que esta pregunta se hace a menudo.

Éxito de alto nivel: Valoro una gran experiencia de usuario (UX), y una gran UX requiere que un usuario piense lo menos posible para lograr lo que desea. Espero notificaciones de nuevos mensajes similares a las de WhatsApp en mi dispositivo iOS (iPhone 15 Pro, iOS 26.2).

  1. Al más alto nivel, parece que la “mejor respuesta” a este dilema/limitaciones de iOS es Discourse Hub. Utiliza sondeo (polling), por lo que hay un ligero retraso, pero esta es la mejor/más estable forma actual de obtener notificaciones push de iOS/Android desde una instancia de Discourse autohospedada (en docker). Si es así, ¿alguien sabe de qué tipo de retrasos estamos hablando, minutos u horas? No encuentro detalles al respecto.

  2. Si el punto 1 es cierto, ¿parece que las notificaciones push se limitan a los chats si leí correctamente?

  3. He pasado muchas, muchas horas probando entre Mac OS X Safari, Chrome, Safari Incógnito, Chrome Incógnito, en mi entorno de prueba entre varios usuarios. Junto con unos 20 o más intentos de configurar y reinstalar la PWA. He comprobado tres veces la configuración de notificaciones en la PWA. He probado con varias cuentas, en diferentes navegadores, todo enviando mensajes de chat en Discourse. Deliberadamente cerré la sesión de todas las sesiones para asegurar que una cuenta no estuviera activa. Aparte del mensaje push inicial de “notificaciones habilitadas”, después de más de 3 horas de pruebas y más de 20 reinstalaciones diferentes de la PWA entre varias cuentas, no puedo conseguir que aparezca ninguna notificación push o insignia en la PWA. ¿Suena esto como el estado preciso de las notificaciones push de PWA en iOS en enero de 2026? No tengo un teléfono Android para probar.

  4. Parece que la razón principal de estos comportamientos inconsistentes con las notificaciones push se debe a “cosas técnicas” de las notificaciones de iOS Safari. En este momento, no hay luz al final del túnel.

  5. Existe la opción de la aplicación Pushover, aunque eso requiere configurar una cuenta y $5/mes. Si busco crear una gran experiencia de usuario para mis usuarios, algo como Pushover ciertamente no es una opción. No he usado ntfy, tal vez sea más fácil. Aun así, probablemente no les pediría a mis usuarios que hicieran eso. Este es un grupo social de personas no técnicas.

  6. He tenido notificaciones push funcionando en Safari de escritorio. Los correos electrónicos también funcionan bien.

  7. Si las personas pudieran autoautenticarse para recibir notificaciones en una aplicación de terceros de su elección, por ejemplo, Telegram o WhatsApp, eso podría tener potencial. Veo https://www.discourse.org/plugins/chat-integration para Telegram. Esto podría ser una solución alternativa… aunque la única aplicación que la gente probablemente tendría en mi mundo es Telegram.

  8. No me opongo a una integración con Twilio, incluso si tuviera que pagar por mensajes de texto a través de Twilio. No veo una opción para esto ni un plugin. Este movimiento sería puramente por desesperación. Y tendría que cobrar una suscripción de 1 a 3 centavos por mensaje o lo que cobre Twilio.

  9. ¿Es probable que optar por una “aplicación nativa de Discourse para iOS” no sea factible y sea muy probable que sea rechazada en la App Store de Apple? He visto muchos informes sobre esto.

  10. ¿Es posible que las notificaciones push funcionen mejor y sean consistentes/fiables en Android?

Tldr; Enero de 2026, la forma más única, mejor, más fiable y consistente de obtener notificaciones push en iOS/Android como una aplicación nativa es usar Discourse Hub.

PD. En secreto realmente espero estar omitiendo algo, y que mi experiencia no sea precisa.

2 Me gusta

En Android, la PWA debería funcionar muy bien. Varios miembros del personal utilizan las PWA a diario.

En iOS, los sitios alojados por Discourse reciben notificaciones push completas en DiscourseHub. Los que se autoalojan reciben notificaciones push mediante sondeo (polling), sí.

Desafortunadamente, el sondeo de DiscourseHub para los que se autoalojan depende de las tareas en segundo plano del sistema. No se garantiza que se ejecuten en ningún momento en particular… así que, nadie sabe cuáles son los retrasos. El sistema operativo decide. Si usas la aplicación regularmente, creo (con muy poca certeza) que el sondeo ocurre aproximadamente cada 15 minutos. Si no usas la aplicación regularmente, puede ser considerablemente menos frecuente.

No, debería ser para temas, chats y mensajes privados.

Una aplicación envoltorio (wrapper) de webview tiene muchas posibilidades de ser rechazada, sí. Una aplicación completamente nativa, probablemente no. Pero una aplicación completamente nativa es considerablemente más complicada de construir.

3 Me gusta

También estoy muy confundido por la situación de las notificaciones push.

Funciona como PWA en Mac pero no en iOS. Recibo insignias pero no notificaciones (aparte de la inicial de “éxito”).

¿Por qué no funciona? Estoy alojado usando communiteq.com y no quiero tener que instalar una aplicación.

Nuestro alojamiento no impone ninguna restricción y funciona bien con las notificaciones en iOS.

Sin embargo, generalmente es bastante frágil, especialmente cuando eres administrador: suplantar la identidad de otras cuentas parece romper la configuración de notificación.

He pedido a soporte técnico que lo pruebe y no parece funcionar (no estoy suplantando la identidad de nadie ni nada parecido).

La conclusión fue que no funcionaba en tu dispositivo específico, si no recuerdo mal, ¿verdad?

Entiendo que esta no es una respuesta satisfactoria, pero preguntar “¿por qué no funciona?” es quizás demasiado general.

Dicho esto, sería genial si hubiera una buena guía de solución de problemas para iOS.

No, no le ha funcionado a nadie de nuestra comunidad en dispositivos iOS.

¡Decidí probarlo de nuevo, así que lo encendí y ¡ahora funciona! :exploding_head:

¿Quizás una actualización de Discourse lo arregló? ¡Quién sabe!

1 me gusta

Yo apostaría por una actualización de iOS.

1 me gusta

¿Alguien más lo ha confirmado?

Acabo de eliminarlo de la pantalla de inicio y volver a añadirlo. ¡Sería genial si las notificaciones estuvieran activadas!

1 me gusta

Debería funcionar para cualquier instancia de Discourse agregada a la pantalla de inicio en iOS 16.4 o superior.

Si tienes Meta agregado a la pantalla de inicio, esta respuesta de mi parte debería activar una.

2 Me gusta

¡Gracias @Falco!

Me di cuenta de que tenía una segunda cuenta de prueba en mis otros foros autoalojados… Inicié sesión y me envié un chat de prueba.

¡Funcionó! Ha funcionado un par de veces ahora.

Guau, esto es increíble.

1 me gusta

Esta línea muy desafortunada es la razón

A mi juicio, no tiene ningún sentido.

2 Me gusta

Tal vez sea hora de deshacerse de esa línea :grinning_face:

2 Me gusta

Es para evitar el caso extraño en el que no deseas que las notificaciones push se envíen a dispositivos desconectados. Estás en un dispositivo con las notificaciones push activadas, pero ya terminaste, así que cierras sesión.

Luego, alguien más tarde te envía un mensaje confidencial por mensaje privado. Se envía una notificación push a todos los dispositivos registrados. El dispositivo en el que cerraste sesión sigue técnicamente registrado, por lo que aún recibe la vista previa completa de tu notificación. Ups.

Para la primera notificación push, actué con precaución eliminando todas las claves, lo cual es obviamente excesivo y molesto. ¿Quizás deberíamos empezar a asociar las suscripciones a notificaciones push a una sesión de usuario específica o de alguna manera confirmar que el usuario esperado sigue conectado?

1 me gusta

¡Sí, esto! En lugar de tener un user_id, creo que deberían tener un user_auth_tokens.id.

1 me gusta

Ok, así que parece que todos estamos de acuerdo en que Discourse con la última versión de iOS arregló las notificaciones. Puedo iniciar sesión en modo incógnito con otra cuenta y enviar mensajes a mi teléfono; parece que funciona bien. Todo lo que tuve que hacer fue reinstalar la aplicación. Genial.

Esto es excelente. Lo siguiente es arreglar las notificaciones para que pueda mencionar a un grupo y, potencialmente, integrar Twilio.