El tema fijado predeterminado no se muestra debido al plugin de políticas

He notado algo extraño en el tema de bienvenida predeterminado (fijado) en Sin categoría: no aparece para solicitudes anónimas.

No parece haber ningún límite para leerlo: el registro está abierto, esta es la categoría Sin categoría predeterminada (con las características de seguridad especiales) y ninguna configuración limita la visualización del contenido.

La vista JSON muestra la versión cocinada del post, pero la versión HTML está vacía:

Este comportamiento solo ocurre en este foro, el principal de una configuración multi-sitio.

https://ps.zoethical.org/t/welcome-to-p-s/8/1.json

¿Alguna idea?

Hay una respuesta con una policy que da problemas y carece de botones… ¿Quizás tenga algo que ver?

Solo para ser exhaustivo, así es como se ve cuando he iniciado sesión:

It’s visible via Safe mode, so it’s a customization or plugin:

@hellekin Tengo exactamente el mismo problema. Si eliminas el post de la política o desactivas el plugin en la configuración, el tema aparecerá.
Parece que hay un error y los usuarios no registrados no pueden ver el tema si se utiliza una política en un post.

¿Puede alguien ayudarnos?

He estado rastreando al culpable: discourse-policy, como sugirió @Vraag. A diferencia de lo que dice @Vraag, el plugin afecta al tema que “desaparece” incluso cuando está desactivado: el hecho de que esté en la lista de plugins es suficiente para que el tema “desaparezca” cuando no hay sesión iniciada.

La primera respuesta que utiliza el plugin Policy es esta: Exploring community-based social media - #2 by system - Share - petites singularités
El Markdown de ese mensaje:

[policy group=trust_level_1 reminder=daily]
No utilizamos cookies de terceros.
[/policy]

Aquí está el registro de errores:

TypeError: p es null
Url: https://ps.zoethical.org/assets/plugins/discourse-policy-60b8413b741df408ff16f757f644f9de7cb64099d24c33dc3d85ef735478d72a.js
Línea: 1
Columna: 3373
Ubicación de la ventana: https://ps.zoethical.org/t/welcome-to-p-s/8

Y aquí está el rastreo de la pila:

r@https://ps.zoethical.org/assets/plugins/discourse-policy-60b8413b741df408ff16f757f644f9de7cb64099d24c33dc3d85ef735478d72a.js:1:3373
m@https://ps.zoethical.org/assets/plugins/discourse-policy-60b8413b741df408ff16f757f644f9de7cb64099d24c33dc3d85ef735478d72a.js:1:5934
value/<@https://ps.zoethical.org/assets/application-e5979c62e7a903663f877b29059ee0b4707ac3d11c783460ad7d0920ed92e017.js:73:2648
value@https://ps.zoethical.org/assets/application-e5979c62e7a903663f877b29059ee0b4707ac3d11c783460ad7d0920ed92e017.js:73:2619
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10297
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10576
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10576
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10576
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10576
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:10576
u@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:12330
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:11710
o@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:13433
i@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:13297
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:11816
o@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:13433
i@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:13297
r@https://ps.zoethical.org/assets/vendor-fae393575cd14697b31e9fdbeb8c016d165a8a3af765ec8ca719a454585aedf4.js:5:13118
rerenderWidget@https://ps.zoethical.org/assets/application-e5979c62e7a903663f877b29059ee0b4707ac3d11c783460ad7d0920ed92e017.js:33:21229
y</t.invoke@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:9727
y</t.flush@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:8732
b</t.flush@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:10780
H</n._end@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:15438
H</n.end@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:12105
H</n._run@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:15973
H</n._join@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:15758
H</n.join@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:16:12813
c@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:12:3338
R/<@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:12:4903
h@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:2:9935
o/</f<@https://ps.zoethical.org/assets/ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:2:10240

Tenga en cuenta que plugin.rb carga un montón de dependencias incluso antes de hacer cualquier cosa. Quizás el error provenga de una de estas dependencias que espera un usuario con sesión iniciada.

Hola
Sí, olvidé decirte que debes editar la publicación después de desactivar el complemento, de lo contrario seguirá afectándola.

¿Editar el post como…? ¿Eliminando el marcado de políticas?

No, desactiva el plugin, edita la publicación que contiene el plugin (por ejemplo, añade una letra aleatoria al inicio de la publicación), guárdala y los usuarios no registrados podrán ver la publicación. El código de marcado se mostrará como [policy][/policy] y no tendrá ningún efecto. Me pregunto por qué no basta con desactivar el plugin. Debes editar la publicación después de eso, de lo contrario seguirá teniendo efecto.

De hecho, editar la publicación mientras el complemento está desactivado, incluso cambiando el contenido dentro de las etiquetas [policy], es suficiente para restaurar la vista del tema.

Parece ser un error en el complemento discourse-policy, ¿verdad, @sam?

Curiosamente, volver a habilitar el plugin restablece la situación a la normalidad. No estoy seguro de qué hacer con esto.

Supongo que este tema servirá de referencia futura, así que aquí va: si algún tema “desaparece” de la vista anónima y tienes una publicación que utiliza el plugin discourse-policy

  1. Desactiva el plugin; si eso no funciona: elimínalo del archivo de configuración YAML del contenedor y reconstrúyelo.
  2. Edita la publicación usando la etiqueta [policy] para que se vuelva a renderizar y se desactive (¿quizás con “reconstruir HTML” sea suficiente?).
  3. Restaura el plugin.

¡Tadaa! Sucedió algo mágico.

¿Qué quieres decir con “sucedió algo mágico”?

Hice lo que dijiste y obtuve esto:

    [policy group=testgroup reminder=daily]
Test
    [/policy]

Lo cual no soluciona el problema. Más que una solución, es… simplemente no usar el plugin.
Si edito la publicación o reconstruyo el HTML, el plugin funcionará, pero el tema volverá a desaparecer para los usuarios no registrados.

edición

Parece que para ti ocurre lo mismo. En tu tema, la segunda publicación se ve así:

[policy group=trust_level_1 reminder=daily]
    No utilizamos cookies de terceros.
    [/policy]

Así que seguimos sin tener una “solución”. A menos que llames solución no usar el plugin xD. Podrías haber eliminado el marcado de la segunda publicación; el resultado sería el mismo.
En su estado actual, solo puedes usarlo en categorías privadas, de modo que los usuarios no registrados no pueden ver el tema de todos modos.