Notificaciones de Discourse Amazon SNS

:information_source: Resumen Envía notificaciones push a una aplicación móvil personalizada a través de Amazon SNS.
:hammer_and_wrench: Enlace al Repositorio GitHub - discourse/discourse-amazon-sns
:open_book: Guía de Instalación Cómo instalar plugins en Discourse

El plugin discourse-amazon-sns habilita las notificaciones push en los foros de Discourse a través de Amazon Simple Notification Service (SNS). Está diseñado para funcionar junto con una aplicación móvil para enviar notificaciones push a dispositivos iOS y Android a través de APNS y GCM/FCM. Amazon SNS maneja la comunicación con cada protocolo, y este plugin asegura que los eventos de Discourse (respuestas, temas seguidos, mensajes privados, etc.) activen eventos en SNS.

Características

  • Soporte de notificaciones push para plataformas iOS (APNS) y Android (GCM/FCM)
  • Registro y gestión de tokens de dispositivos
  • Manejo automático de puntos finales deshabilitados o inválidos
  • Integración con el sistema de notificaciones existente de Discourse
  • Soporte para comunicación de webview React Native

Requisitos

  • Cuenta de AWS con acceso a SNS
  • Aplicaciones de plataforma de Amazon SNS configuradas para:
    • iOS (APNS o APNS_SANDBOX)
    • Android (GCM/FCM)
  • Credenciales de AWS con permisos para publicar en SNS
  • Aplicación móvil que pueda registrarse y recibir notificaciones push

Configuración

Nombre Descripción
enable_amazon_sns_pns Habilitar/deshabilitar la funcionalidad del plugin
amazon_sns_access_key_id ID de clave de acceso de AWS
amazon_sns_secret_access_key Clave de acceso secreta de AWS
amazon_sns_region Región de AWS (por ejemplo, us-east-1)
amazon_sns_apns_application_arn ARN de la aplicación de plataforma iOS en SNS
amazon_sns_gcm_application_arn ARN de la aplicación de plataforma Android en SNS
5 Me gusta

¡Hola a todos! Estoy usando Discourse 3.5.2 con la imagen discourse/discourse, y este es el único plugin que causa problemas durante la instalación, lo que resulta en un error 5xx en nuestra instalación. El error es el siguiente:

ActionView::Template::Error (No se encontró el recurso 'plugins/discourse-amazon-sns.js' en la ruta de carga.)
lib/freedom_patches/propshaft_patches.rb:16:in `compute_asset_path'
app/helpers/application_helper.rb:97:in `script_asset_path'
app/helpers/application_helper.rb:147:in `block in preload_script'
app/helpers/application_helper.rb:146:in `map'
app/helpers/application_helper.rb:146:in `preload_script'
app/views/layouts/application.html.erb:36
app/views/layouts/application.html.erb:35:in `each'
app/views/layouts/application.html.erb:35
lib/topic_list_responder.rb:16:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:7:in `respond_with_list'
app/controllers/list_controller.rb:115:in `block (2 levels) in <class:ListController>'
app/controllers/application_controller.rb:433:in `block in with_resolved_locale'
app/controllers/application_controller.rb:433:in `with_resolved_locale'
app/controllers/application_controller.rb:1065:in `ensure_dont_cache_page'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:410:in `call'

Todos los recursos ya han sido precompilados ejecutando:

RAILS_ENV=production bundle exec rake assets:precompile

¿Pueden ayudarme a entender qué podría estar causando este problema?

Disculpe por eso. ¿Es este un error nuevo? Es decir, ¿ya tenía este complemento instalado y dejó de funcionar en algún momento?

Es algo nuevo, acabamos de introducir el complemento en nuestra instalación (tenemos otros complementos y todos funcionan), pero luego el sitio arroja un error 5xx, y cuando reviso los registros, veo lo que les envié. Mi Dockerfile se ve algo así:

FROM discourse/discourse:3.5.2

WORKDIR /var/www/discourse

# Instalar el complemento discourse-amazon-sns
RUN git clone https://github.com/discourse/discourse-amazon-sns.git /var/www/discourse/plugins/discourse-amazon-sns \
    && chown -R discourse:discourse /var/www/discourse/plugins/discourse-amazon-sns

EXPOSE 80

Esa es una imagen experimental y tendrá muchos problemas de compatibilidad con los complementos

2 Me gusta

Sí, @caue-pareto, lo siento, creo que esto tiene que ver con esa imagen. No veo ningún problema con este complemento en mi instalación autoalojada siguiendo la instalación estándar.

1 me gusta