No meu fórum Discourse, ao clicar no ícone de sino para notificações, ele continua exibindo o carregador. No menu de carregamento, aparece a mensagem: ‘Devagar, muitas solicitações deste endereço IP’. Estou usando o Cloudflare.
Como você está usando o Cloudflare, especificamente?
Aqui está um tópico muito relevante:
Você seguiu os três passos indicados lá?
Sim, segui e estava funcionando bem até a atualização beta recente.
E funciona bem na maior parte também. Apenas as notificações estão causando problemas, fazendo um número infinito de requisições a cada poucos segundos.
E aqui está meu console
E aqui está o arquivo aberto
Desative o Cloudflare, ele está quebrando seu site.
Estou no plano gratuito do Cloudflare e usando o SSL do Cloudflare da assinatura de US$ 5, e nenhum recurso do Cloudflare está habilitado; ou seja, o Rocket Loader está desativado e todas as outras otimizações, como minificação, etc., estão desligadas. Além disso, outros recursos nem estão disponíveis no plano gratuito, como o Railgun, etc. O cache está configurado para respeitar os cabeçalhos de origem existentes. Tudo funcionava bem, mas acabei de perceber que atualizei para a branch master do Git ao acessar /admin/upgrade, o que pode ter causado problemas. Posteriormente, removi os scripts e as menções, mas o sistema continua verificando repetidamente por notificações. Apenas as notificações estão causando o problema; tudo o mais funciona.
Estou usando o Cloudflare para servir meus arquivos armazenados no Amazon S3 por meio do CloudFront. Se não usar o Cloudflare, meus custos aumentarão. O Cloudflare está atuando apenas como provedor de DNS e SSL; suas otimizações e recursos (a maioria deles) estão desativados, e muitos nem estão disponíveis no plano gratuito. Você acha que, no meu cenário, o Cloudflare ainda é o culpado?
Devo tentar reconstruir para resolver os problemas?
P.S.: Sou fã do StackOverflow, do blog CodingHorror e do Discourse. Saudações ![]()
Tente desativar o CloudFlare (exceto o DNS básico) como um primeiro experimento. Se o problema desaparecer, isso já lhe dará uma pista.
Eu desativei a nuvem laranja do Cloudflare, esperei o navegador exibir o SSL do Let’s Encrypt em vez do Cloudflare para verificar que o conteúdo está sendo acessado diretamente do servidor e não através do Cloudflare, e então reconstruí. Agora, ao clicar no menu do usuário e no ícone de notificação, ainda recebo o seguinte erro:
Uncaught (in promise) DOMException: Quota exceeded.
_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77250 Uncaught TypeError: Cannot read property 'dasherize' of undefined
at s.itemHtml (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77250)
at _application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77390
at _ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:39008
at t.u.Mixin.create.c.forEach (_ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:38995)
at t.u.Mixin.create.c.map (_ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:39007)
at s.html (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77389)
at s.value (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:80621)
at s.value (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:80371)
at s (_vendor-7fd29296ee54f8a7ced9508b106a09ec4aae4912ed1cf10eceb7eb2acca03309.js:20669)
at t.exports (_vendor-7fd29296ee54f8a7ced9508b106a09ec4aae4912ed1cf10eceb7eb2acca03309.js:20652)
E quando o arquivo é aberto, ele mostra o seguinte:
define("discourse/widgets/quick-access-notifications", ["discourse/lib/ajax", "discourse/widgets/widget", "discourse/widgets/quick-access-panel"], function (_ajax, _widget, _quickAccessPanel) {
"use strict";
(0, _widget.createWidgetFrom)(_quickAccessPanel.default, "quick-access-notifications", {
buildKey: function buildKey() {
return "quick-access-notifications";
},
emptyStatePlaceholderItemKey: "notifications.empty",
markReadRequest: function markReadRequest() {
return (0, _ajax.ajax)("/notifications/mark-read", { type: "PUT" });
},
newItemsLoaded: function newItemsLoaded() {
if (!this.currentUser.enforcedSecondFactor) {
this.currentUser.set("unread_notifications", 0);
}
},
itemHtml: function itemHtml(notification) {
var notificationName = this.site.notificationLookup[notification.notification_type];
return this.attach(notificationName.dasherize() + "-notification-item", notification, {}, { fallbackWidgetName: "default-notification-item" });
},
findNewItems: function findNewItems() {
return this._findStaleItemsInStore().refresh();
},
showAllHref: function showAllHref() {
return this.attrs.path + "/notifications";
},
hasUnread: function hasUnread() {
return this.getItems().filterBy("read", false).length > 0;
},
_findStaleItemsInStore: function _findStaleItemsInStore() {
return this.store.findStale("notification", {
recent: true,
silent: this.currentUser.enforcedSecondFactor,
limit: this.estimateItemLimit()
}, { cacheKey: "recent-notifications" });
}
});
});
Acabei de perceber que esse problema ocorre apenas quando estou logado como administrador e o mini_profiler também está sendo exibido. Fiz login como usuário normal e está funcionando como esperado.
Veja:
Talvez seja necessário limpar todo o armazenamento local.
Limpei o armazenamento e o erro de cota não é mais exibido. No entanto, ele continua fazendo múltiplas requisições e recebo uma resposta 429 informando para reduzir a velocidade. Agora não estou mais usando o Cloudflare (Devo também comentar o template do Cloudflare no app.yml?). O erro é o mesmo em dasherize. Esses erros ocorrem apenas para o usuário administrador. E sou rapidamente limitado pela taxa de requisições.
Quais plugins e temas não oficiais você está executando? É possível que um deles esteja gerando uma grande carga de solicitações.
Para começar, comente todos os plugins que você não está usando. Mesmo instalados e desativados, eles ainda sobrecarregam seu sistema.
Comece desativando todos os plugins de terceiros (aqueles sem o marcador de verificação verde). Provavelmente, esse é o seu problema.
Remova tudo que não tiver um sinal de verificação verde e reconstrua.
Confirme se a mesma falha ocorre em outro computador; talvez você esteja sem espaço em disco ou tenha algum outro problema local.
No meu navegador móvel está funcionando
Vou investigar, pois qual é o problema local que tenho? Provavelmente está relacionado ao espaço em disco e à velocidade do disco. De qualquer forma, é bom que eu tenha me livrado de vários plugins desnecessários ![]()
Acontece que ainda estou enfrentando esse problema com alguns usuários.
Acho que meu problema está relacionado a essa questão mencionada abaixo e estou experimentando esse problema após atualizar para esta versão:
Não consigo descobrir o que está causando esse problema. Funciona para os novos usuários, mas não funciona para os outros. Eu estava usando um plugin de acompanhamento do Discourse e depois comentei essa parte. Agora estou vendo esse problema. Será que é possível que eu esteja enfrentando esse problema porque removi esse plugin? Estou assumindo que isso está acontecendo com aqueles usuários que provavelmente tinham alguns seguidores ou usavam esse plugin? Na verdade, é uma suposição arriscada. Esse plugin pode ser responsável por isso?
Sim, isso é possível. Como não somos donos desse plugin, não fazemos ideia se esse é o caso. Você pode tentar ativá-lo novamente e verificar. Se isso resolver o problema, relate-o no tópico do plugin.
@Falco Sim, isso resolve o problema. Readicionei o plugin discourse-follow e o problema foi resolvido. Obrigado ![]()




