En mi foro de Discourse, cuando hago clic en el icono de la campana para las notificaciones, sigue mostrando el indicador de carga. En el menú del indicador de carga dice: ‘Detente, demasiadas solicitudes desde esta dirección IP’. Estoy usando Cloudflare.
¿Cómo estás utilizando Cloudflare, específicamente?
Aquí hay un tema muy relevante:
¿Has seguido los tres pasos indicados allí?
Sí, lo he hecho y funcionaba correctamente hasta la última actualización beta.
Y en general sigue funcionando bien. Solo las notificaciones están causando problemas; realiza un número infinito de solicitudes cada pocos segundos.
Y aquí está mi consola:
Y aquí está el archivo abierto:
Desactiva Cloudflare, está rompiendo tu sitio.
Estoy en el plan gratuito de Cloudflare y utilizo el SSL de Cloudflare con una suscripción de 5 $, pero ninguna característica de Cloudflare está habilitada; es decir, Rocket Loader está desactivado y todas las demás optimizaciones, como la minificación, etc., también están desactivadas. Además, otras funciones ni siquiera están disponibles en el plan gratuito, como Railgun, etc. La configuración de caché está establecida para respetar las cabeceras del origen existentes. Todo funcionaba bien hasta que me di cuenta de que actualicé a la rama master de Git al acceder a /admin/upgrade, lo que pudo haber causado problemas. Posteriormente eliminé los scripts y las menciones, pero sigue comprobando repetidamente las notificaciones. Solo las notificaciones causan el problema; todo lo demás funciona correctamente.
Estoy utilizando Cloudflare para servir mis archivos almacenados en Amazon S3 a través de CloudFront. Si no uso Cloudflare, mis costos aumentarán. Cloudflare solo actúa como proveedor de DNS y SSL; la mayoría de sus optimizaciones y funciones están desactivadas, y muchas ni siquiera están disponibles en el plan gratuito. ¿Crees que, en mi caso, Cloudflare sigue siendo el culpable?
¿Debería intentar reconstruir para resolver los problemas?
P.D.: Soy fan de StackOverflow, el blog CodingHorror y Discourse. Saludos ![]()
Prueba desactivando CloudFlare (excepto el DNS básico) como primer experimento. Si el problema desaparece, eso te da una pista.
He desactivado la nube naranja de Cloudflare, esperé a que el navegador mostrara el SSL de Let’s Encrypt en lugar de Cloudflare para verificar que el contenido se accede directamente desde el servidor y no a través de Cloudflare, y luego reconstruí. Ahora, al hacer clic en el menú de usuario y en el icono de notificaciones, todavía obtengo el siguiente error:
Uncaught (in promise) DOMException: Cuota excedida.
_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77250 Uncaught TypeError: No se puede leer la propiedad 'dasherize' de undefined
en s.itemHtml (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77250)
en _application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77390
en _ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:39008
en t.u.Mixin.create.c.forEach (_ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:38995)
en t.u.Mixin.create.c.map (_ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:39007)
en s.html (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:77389)
en s.value (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:80621)
en s.value (_application-977ce16935600e0a620c1ea565154ab68e46f60a9fe0f207139e0f2128dd9474.js:80371)
en s (_vendor-7fd29296ee54f8a7ced9508b106a09ec4aae4912ed1cf10eceb7eb2acca03309.js:20669)
en t.exports (_vendor-7fd29296ee54f8a7ced9508b106a09ec4aae4912ed1cf10eceb7eb2acca03309.js:20652)
Y cuando se abre el archivo, muestra lo siguiente:
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" });
}
});
});
Acabo de notar que este problema solo ocurre cuando inicio sesión como administrador y también se muestra mini_profiler. He iniciado sesión como usuario normal y funciona como se espera.
Vea:
Tal vez sea necesario borrar todo el almacenamiento local.
He limpiado el almacenamiento y ya no muestra el error de cuota. Sin embargo, sigue realizando múltiples solicitudes y recibo una respuesta 429 indicándome que reduzca la velocidad. Ahora no estoy usando Cloudflare (¿Debería comentar también la plantilla de Cloudflare en app.yml?). El error es el mismo en dasherize. Recibo estos errores solo para el usuario administrador y rápidamente me limitan la tasa de solicitudes.
¿Qué plugins y temas no oficiales estás ejecutando? Es posible que uno de ellos esté generando una gran carga de solicitudes.
Como primer paso, comenta todos los plugins que no estés utilizando. Aunque estén instalados pero desactivados, siguen suponiendo una carga para tu sistema.
Comienza desactivando todos los complementos de terceros (los que no tienen la marca de verificación verde). Lo más probable es que ese sea tu problema.
He eliminado Cloudflare y muchos plugins y plugins de terceros, pero el problema aún no se ha solucionado.
Elimina todo lo que no tenga una marca de verificación verde y vuelve a generar.
Confirma que el mismo error ocurre en otro equipo; es posible que te hayas quedado sin espacio en el disco o que tengas algún otro problema local.
En mi navegador móvil está funcionando
Lo revisaré, ¿cuál es el problema local que tengo? Probablemente esté relacionado con el espacio en disco y la unidad de disco lenta. De todos modos, es bueno que me haya deshecho de varios plugins innecesarios ![]()
Resulta que todavía estoy enfrentando este problema con algunos usuarios.
Creo que mi problema está relacionado con el siguiente tema mencionado y estoy experimentando este problema después de actualizar a esta versión:
No logro averiguar qué está causando este problema. Funciona para los usuarios nuevos, pero no para otros. Estaba usando un plugin de seguimiento de Discourse y luego lo comenté. Ahora estoy viendo este problema. ¿Será posible que tenga este problema porque eliminé ese plugin? Asumo que esto está ocurriendo con aquellos usuarios que probablemente tenían algunos seguidores o usaron ese plugin. Es una suposición arriesgada, en realidad. ¿Podría ese plugin ser el responsable de esto?
Sí, es posible. Como no somos los propietarios de dicho plugin, no tenemos forma de saber si ese es el caso. Puedes probar habilitándolo de nuevo y verificando. Si eso soluciona el problema, repórtalo en el tema del plugin.
@Falco Sí, eso soluciona este problema. He vuelto a agregar el plugin discourse-follow y ha resuelto el problema. Gracias ![]()




