On my discourse forum, when I click on the bell icon for notifications, it keeps displaying the loader. In the loader menu it says, Slow down, too Many Requests from this IP Address. I’m using Cloudflare.
How are you using Cloudflare, specifically?
Here is a very relevant topic:
Have you followed the three steps given there?
Yes, I have and it was working fine until the recent beta update.
And it works fine for the most part as well. Just notifications are causing issues, it makes infinite number of requests, every few seconds.
And here is my console
And here’s the file opened
Disable cloudflare, it is breaking your site.
I’m on the free plan of Cloudflare and using Cloudflare SSL of 5$ subscription and there’s no feature of Cloudflare which is enabled, ie. rocket loader is off and every other optimization eg. minification, etc is turned off and other features are not even available on free plan eg. railgun, etc. And caching is set to respect existing origin headers. And it was working fine, I have just realized that I have upgraded to master git branch by going to /admin/upgrade that may have screwed things up. I have later removed the scripts and the mentions but it’s still repeatedly checking for notifications. And it’s only the notifications which cause the issue, everything else works.
I’m using Cloudflare to serve my files stored in amazon s3 through CloudFront, If I don’t use Cloudflare, my costs will go up. Cloudflare is only serving as DNS and SSL provider, its optimizations & features (most of them) are turned off and many are not even available on the free plan. Do you think in my scenario, Cloudflare is still a culprit?
Should I try rebuilding to resolve the issues?
P.S.: I’m a fan of StackOverflow, CodingHorror Blog, and discourse. Regards 
Try disabling CloudFlare (excepting basic DNS) as an experiment first. If the problem goes away that tells you something.
I had disabled cloudflare orange cloud, waited for browser to show letsencrypt ssl instead of cloudflare to verify that content is accessed directly from server and not through cloudflare and then rebuild and now visiting clicking on user menu and notification icon, I still get following error
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)
And when file opened, it shows following
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" });
}
});
});
Just noticed that this issue only happens when I’m logged in as an admin user and mini_profiler is being displayed as well. I’ve logged in using normal user and it’s working as expected.
See:
Maybe clear all local storage
I have cleared the storage, it doesn’t display quota error now. However, it continue to make multiple requests and I get 429 response tellling to slow down. I’m now not using Cloudflare (Should I also comment out cloudflare template from app.yml?). And the error is same at dasherize. I get these errors for admin user only. And I quickly get rate limited.
What non-official plugins, and themes, are you running? It’s possible one is generating a large request load.
As a starter for ten I would comment out every plugin you aren’t using. Installed but disabled still burdens your system.
Start by disabling all third party plugins (the ones without the green checkmark). Most likely that’s your problem.
I have removed cloudflare, removed many plugins and third party plugins, but the issue is still not resolved.
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.
On my mobile browser it’s working
I will look into it, as what’s the local issue I have? It’s probably the disk space and slow disk drive related. Anyways, it’s good that I have got rid of several unnecessary plugins 
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 ![]()




