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
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:
É 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
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.