Notificações do Discourse via Amazon SNS

:information_source: Resumo Envia notificações push via Amazon SNS para um aplicativo móvel personalizado.
:hammer_and_wrench: Link do Repositório GitHub - discourse/discourse-amazon-sns
:open_book: Guia de Instalação Como instalar plugins no Discourse

O plugin discourse-amazon-sns habilita notificações push em fóruns do Discourse através do Amazon Simple Notification Service (SNS). Ele foi projetado para funcionar em conjunto com um aplicativo móvel para entregar notificações push a dispositivos iOS e Android via APNS e GCM/FCM. O Amazon SNS gerencia a comunicação com cada protocolo, e este plugin garante que eventos do Discourse (respostas, tópicos observados, MPs, etc.) acionem eventos no SNS.

Funcionalidades

  • Suporte a notificações push para as plataformas iOS (APNS) e Android (GCM/FCM)
  • Registro e gerenciamento de tokens de dispositivo
  • Tratamento automático de endpoints desativados ou inválidos
  • Integração com o sistema de notificações existente do Discourse
  • Suporte para comunicação via webview React Native

Requisitos

  • Conta AWS com acesso ao SNS
  • Aplicações de plataforma Amazon SNS configuradas para:
    • iOS (APNS ou APNS_SANDBOX)
    • Android (GCM/FCM)
  • Credenciais AWS com permissões para publicar no SNS
  • Aplicativo móvel capaz de registrar e receber notificações push

Configurações

Nome Descrição
enable_amazon_sns_pns Habilita/desabilita a funcionalidade do plugin
amazon_sns_access_key_id ID da chave de acesso da AWS
amazon_sns_secret_access_key Chave de acesso secreta da AWS
amazon_sns_region Região da AWS (ex: us-east-1)
amazon_sns_apns_application_arn ARN para a aplicação de plataforma iOS no SNS
amazon_sns_gcm_application_arn ARN para a aplicação de plataforma Android no SNS
5 curtidas

Olá a todos! Estou usando o Discourse 3.5.2 pela imagem discourse/discourse, e este é o único plugin que causa problemas durante a instalação, resultando em um erro 5xx em nossa instalação. O erro é o seguinte:

ActionView::Template::Error (O asset 'plugins/discourse-amazon-sns.js' não foi encontrado no caminho de carregamento.)
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 os assets já foram pré-compilados executando:

RAILS_ENV=production bundle exec rake assets:precompile

Você pode me ajudar a entender o que pode estar causando esse problema?

Desculpe por isso. Este é um novo erro? Quer dizer, você já tinha este plugin instalado e ele parou de funcionar em algum momento?

É algo novo, acabamos de introduzir o plugin em nossa instalação (temos outros plugins e todos funcionam), mas então o site retorna um erro 5xx, e quando verifico os logs, vejo o que enviei para você. Meu Dockerfile se parece com isto:

FROM discourse/discourse:3.5.2

WORKDIR /var/www/discourse

# Instala o plugin 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

Essa é uma imagem experimental e terá muitos problemas de compatibilidade com plugins

2 curtidas

Sim, @caue-pareto, desculpe, acho que isso tem a ver com aquela imagem. Não vejo problemas com este plugin na minha instalação auto-hospedada seguindo a instalação padrão.

1 curtida