El plugin User Notes está rompiendo mi sitio

Acabo de actualizar dos sitios que mantengo y con ambos me encontré con dificultades que me llevaron al plugin de notas de usuario.

En uno de mis sitios ayer, obtuve la “pantalla blanca de la muerte”, el sitio no era visible en absoluto excepto en modo seguro. Comenté el plugin en app.yml y reconstruí, y el sitio volvió.

En otro, solo desapareció la barra de navegación superior con el logo y el menú de hamburguesa, etc., y obtuve un error en la consola, ver abajo. Deshabilitar el plugin a través del panel de administración lo devolvió.

vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:12 Uncaught (in promise) Error: Could not find module `discourse/plugins/discourse-user-notes/discourse-user-notes/connectors/user-profile-controls/show-notes-on-profile` imported from `discourse/plugins/discourse-staff-notes/discourse-user-notes/connectors/admin-user-controls-after/add-user-notes-button`
    at vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:12:31
    at c (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:12:96)
    at s.findDeps (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:24:158)
    at c (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:12:152)
    at requireModule (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:6:60)
    at discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4420:78
    at discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4420:1
    at Array.forEach (<anonymous>)
    at a (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4417:32)
    at u (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4420:39)
    at discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4424:261
    at discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4420:1
    at Array.forEach (<anonymous>)
    at a (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4417:32)
    at c (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4424:64)
    at e.renderedConnectorsFor (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:4414:65)
    at e.init (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:1196:50)
    at e.r [as init] (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2090:9)
    at g (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2007:98)
    at e.create (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2015:108)
    at g.create (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:604:93)
    at ye.create (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:747:9)
    at Object.evaluate (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3299:9)
    at Object.evaluate (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3134:13)
    at Dt.evaluateSyscall (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3435:61)
    at Dt.evaluateInner (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3429:138)
    at Dt.evaluateOuter (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3429:59)
    at Wt.next (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3490:26)
    at Wt._execute (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3489:25)
    at Wt.execute (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3488:298)
    at Yt.sync (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3492:86)
    at Er.render (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1061:546)
    at vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1087:31
    at It (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3425:5)
    at Rr._renderRoots (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1086:34)
    at Rr._renderRootsTransaction (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1091:10)
    at Rr._renderRoot (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1085:50)
    at Rr._appendDefinition (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1080:6)
    at Rr.appendOutletView (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1078:6)
    at invoke (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3834:139)
    at p.flush (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3826:74)
    at h.flush (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3839:207)
    at q._end (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3896:9)
    at _boundAutorunEnd (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3848:605)
discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:5224 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'addEventListener')
    at discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:5224:291
    at Array.forEach (<anonymous>)
    at e.didInsertElement (discourse-aebc0fdc441730b0e5f42bf52a5341cffca664e9a40a015a846b1b64f61dd773.js:5224:253)
    at e.r [as didInsertElement] (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2090:9)
    at e.trigger (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2233:34)
    at e.r [as trigger] (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:2090:9)
    at ye.didCreate (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:761:32)
    at Nt.commit (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3414:3)
    at Mt.commit (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3423:17)
    at It (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3425:19)
    at Rr._renderRoots (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1086:34)
    at Rr._renderRootsTransaction (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1091:10)
    at Rr._revalidate (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:1091:490)
    at invoke (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3834:129)
    at p.flush (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3826:74)
    at h.flush (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3839:207)
    at q._end (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3896:9)
    at _boundAutorunEnd (vendor-fded770671ed964514369b968313e4ab522dc911c142420bcc24ae31cf85252f.js:3848:605)
4 Me gusta

¿Pensé que también estaba instalado en meta? ¿Alguna forma de reproducirlo aquí?

4 Me gusta

Te haré saber qué sucede cuando actualice mi sitio de prueba que lo tiene…

EDITAR: Me aseguré de agregar algunas notas de usuario antes de la actualización para ver si eso causaba algún problema, pero no tuve ninguno. Funcionó perfectamente.

4 Me gusta

Tengo ese plugin en mi sitio de prueba (80fce67150) así como aquí en Meta y todo parece estar funcionando bien.

De hecho, dicho esto, el botón ‘añadir nota de usuario’ solo aparece en algunas tarjetas de usuario y no en otras.

Creo que solo aparece para personas que han tenido una nota de usuario adjunta en algún momento. Aquellos que nunca han tenido una no parecen generarla.

@tobiaseigen ¿Has usado alguna nota de usuario todavía en ninguno de esos sitios?

5 Me gusta

Qué rompecabezas. Lo he deshabilitado ahora porque no funciona en mis sitios, así que no puedo comprobarlo. En el sitio que presenta la pantalla blanca de la muerte, lo había usado en el pasado pero no recuerdo en qué usuarios. En el sitio que presenta la cabecera faltante, nunca lo usé.

2 Me gusta

Estaba pensando que tal vez podría ser porque no había ninguna, y que estaba teniendo dificultades para averiguar algo porque no había ningún precedente que seguir:


`Uncaught (in promise) Error: Could not find module `discourse/plugins/discourse-user-notes/discourse-user-notes/connectors/user-profile-controls/show-notes-on-profile` imported from `discourse/plugins/discourse-staff-notes/discourse-user-notes/connectors/admin-user-controls-after/add-user-notes-button`
    

Y, para el segundo,
Cannot read properties of null

Estoy bastante seguro de que el icono :memo: normalmente se muestra en la tarjeta de usuario de todos, así que algo está un poco raro incluso aquí.

1 me gusta

hmm.. el sitio de la pantalla blanca de la muerte muestra esto en la configuración de un componente de tema personalizado. tal vez un próximo paso para mí sea intentar deshabilitar este componente de tema y luego volver a habilitar las notas del usuario.

\u003e Lo siento, no se permite el uso de selectores CSS ember o .ember-view, porque estos nombres se generan dinámicamente en tiempo de ejecución y cambiarán con el tiempo, lo que eventualmente resultará en CSS roto. Intenta con un selector diferente.

2 Me gusta

A menos que no entienda tu punto… no creo que esto sea correcto. Solo he visto el icono :memo: cuando se ha creado una nota de usuario para ese usuario específico. Nunca los he visto aplicados a todos los usuarios simplemente cuando el plugin está habilitado.

3 Me gusta

El que está al lado del nombre de usuario en las publicaciones solo se muestra cuando hay una nota. Pero pensé que el de la tarjeta de usuario era una forma de agregarlos fácilmente.

Aunque puede que lo recuerde mal. :slightly_smiling_face:

2 Me gusta

Ah… sí, creo que estamos hablando de la interfaz de usuario en dos lugares diferentes: en el perfil del usuario, el botón siempre debe estar presente cuando el plugin está habilitado, así:\n\n2022-08-26_jammy_user_notes\n\nPero solo aparece junto a su nombre en un tema si tienen una nota de usuario:\n\n

\n\n¿Y quién usa “así” en una oración? Este tipo.

2 Me gusta

Lo siento, debería haber incluido una captura de pantalla también. :slight_smile: Me refiero a la :memo: en la tarjeta de usuario:

Solo aparece para algunos y no para otros, mientras que pensé que solía aparecer en todos.

2 Me gusta

Ah… nos estamos acercando. :wink:
Solo lo he visto allí cuando el usuario tiene una nota asociada. Eso es lo que he llegado a esperar, pero tendría que revisar el código para ver si eso es lo que se pretende.

3 Me gusta

Tengo el mismo problema desde que reconstruí la imagen de docker.

Esto aparece una y otra vez en la consola de desarrollador de Chrome en la página principal del sitio:

Uncaught (in promise) Error: Could not find module `discourse/plugins/discourse-user-notes/discourse-user-notes/connectors/user-profile-controls/show-notes-on-profile` imported from `discourse/plugins/discourse-staff-notes/discourse-user-notes/connectors/admin-user-controls-after/add-user-notes-button`
    at loader.js:247:1
    at c (loader.js:258:1)
    at s.findDeps (loader.js:168:1)
    at c (loader.js:262:1)
    at requireModule (loader.js:24:1)
    at plugin-connectors.js:65:1
    at plugin-connectors.js:51:1
    at Array.forEach (<anonymous>)
    at a (plugin-connectors.js:46:1)
    at u (plugin-connectors.js:64:1)
    at plugin-connectors.js:93:1
    at plugin-connectors.js:51:1
    at Array.forEach (<anonymous>)
    at a (plugin-connectors.js:46:1)
    at c (plugin-connectors.js:84:1)
    at e.renderedConnectorsFor (plugin-connectors.js:107:1)
    at e.init (plugin-outlet.js:53:1)
    at e.r [as init] (index.js:449:1)
    at g (core_object.js:149:1)
    at e.create (core_object.js:685:1)
    at g.create (index.js:551:1)
    at ye.create (index.js:1054:1)
    at Object.evaluate (runtime.js:3301:1)
    at Object.evaluate (runtime.js:1312:1)
    at Dt.evaluateSyscall (runtime.js:5232:1)
    at Dt.evaluateInner (runtime.js:5188:1)
    at Dt.evaluateOuter (runtime.js:5180:1)
    at Wt.next (runtime.js:6191:1)
    at Wt._execute (runtime.js:6175:1)
    at Wt.execute (runtime.js:6166:1)
    at Yt.sync (runtime.js:6250:1)
    at Er.render (index.js:7576:1)
    at index.js:7896:1
    at It (runtime.js:5074:1)
    at Rr._renderRoots (index.js:7876:1)
    at Rr._renderRootsTransaction (index.js:7928:1)
    at Rr._renderRoot (index.js:7863:1)
    at Rr._appendDefinition (index.js:7770:1)
    at Rr.appendOutletView (index.js:7752:1)
    at invoke (backburner.js:353:1)
    at p.flush (backburner.js:241:1)
    at h.flush (backburner.js:447:1)
    at B._end (backburner.js:999:1)
    at B._boundAutorunEnd (backburner.js:648:1)

deshabilitar el plugin en admin->plugins hace que el error desaparezca, pero ahora no hay notas :frowning:

¿Es posible que sea porque estoy ejecutando discourse-staff-notes y no discourse-user-notes?

2 Me gusta

Según tengo entendido, las notas de usuario son el nombre más reciente de las notas del personal, son lo mismo. Si visitas https://github.com/discourse/discourse-staff-notes serás redirigido a:

Ciertamente no hace daño corregir el app.yml si hace referencia a la ruta antigua.

3 Me gusta

Para que conste, hoy nos encontramos con el mismo error que Tobias.

Mismo error, pantalla en blanco en el móvil, sin navegación superior en el escritorio.
Ocurrió en la página de inicio (quizás en más páginas, no lo comprobé).

Historia muy larga :sleeping: corta, el comentario ganador está aquí

Aunque enlazan al mismo repositorio, el plugin se rompe cuando se instala en un directorio de plugins que no se llama discourse-user-notes.

Entonces Tobias, quiero apostar que eres de la vieja escuela y todavía lo llamabas discourse-staff-notes, ¿verdad?

6 Me gusta

¡Pero por supuesto! Monté este sitio en 2015, así que soy bastante de la vieja escuela. Acabo de renombrarlo y lo estoy reconstruyendo ahora, así que veremos qué pasa. ¡Gracias por el consejo!

4 Me gusta

¡Acabo de renombrar y reconstruir, habilitarlo y estoy funcionando de nuevo!

¡Gracias @RGJ!

¡2015 para nosotros también!

6 Me gusta

Supongo que girar es como actualizar. Solo tienes que recordar hacerlo.

5 Me gusta

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.