Argomento predefinito fissato non visualizzato a causa del plugin delle policy

Ho notato qualcosa di strano nel topic di benvenuto predefinito (fissato) in Senza categoria: non viene visualizzato per le richieste anonime.

Non sembra esserci alcun limite alla lettura: la registrazione è aperta, questa è la categoria Senza categoria predefinita (con le funzioni di sicurezza speciali) e nessuna impostazione limita la visualizzazione dei contenuti.

La visualizzazione JSON mostra la versione renderizzata del post, ma la versione HTML è vuota:

Questo comportamento si verifica solo su questo forum, il master di una configurazione multi-sito.

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

Qualche idea?

C’è una risposta con una policy che presenta problemi e manca di pulsanti… Forse è correlato?

Per completezza, ecco come appare quando sono loggato:

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

@hellekin Ho esattamente lo stesso problema. Se rimuovi il post delle policy o disabiliti il plugin nelle impostazioni, l’argomento apparirà.
Sembra esserci un bug: gli utenti non registrati non possono vedere l’argomento se viene utilizzata una policy in un post.

Qualcuno può aiutarci?

Ho individuato il colpevole: discourse-policy, come suggerito da @Vraag. Contrariamente a quanto affermato da @Vraag, il plugin influisce sul tema “scomparso” anche quando è disattivato: il solo fatto che sia presente nell’elenco dei plugin è sufficiente affinché il tema “scompaia” quando non si è loggati.

La risposta che utilizza il plugin Policy è la prima: Exploring community-based social media - #2 by system - Share - petites singularités
Il Markdown per quel post:

[policy group=trust_level_1 reminder=daily]
Non utilizziamo cookie di terze parti.
[/policy]

Ecco il registro degli errori:

TypeError: p è null
Url: https://ps.zoethical.org/assets/plugins/discourse-policy-60b8413b741df408ff16f757f644f9de7cb64099d24c33dc3d85ef735478d72a.js
Linea: 1
Colonna: 3373
Posizione della finestra: https://ps.zoethical.org/t/welcome-to-p-s/8

Ecco il backtrace:

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
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

Nota che plugin.rb carica un sacco di dipendenze prima ancora di fare qualsiasi cosa. Forse l’errore deriva da una di queste dipendenze che si aspetta un utente loggato.

Ciao
Sì, ho dimenticato di dirti che devi modificare il post dopo aver disattivato il plugin, altrimenti continuerà ad avere effetto su di esso

Modifica il post come in… Rimuovere il markup delle policy?

No, disattiva il plugin, modifica il post contenente il plugin (ad esempio, aggiungi una lettera casuale all’inizio del post), salvalo e gli utenti non registrati potranno vedere il post.
Il markup verrà visualizzato come [policy][/policy] e non avrà alcun effetto.
Mi chiedo perché non basti semplicemente disattivare il plugin. Devi modificare il post dopo di ciò, altrimenti continuerà ad avere effetto.

Infatti, modificare il post mentre il plugin è disabilitato, anche cambiando solo il contenuto all’interno dei tag [policy], è sufficiente per ripristinare la visualizzazione dell’argomento.

Sembra quindi trattarsi di un bug nel plugin discourse-policy, @sam?

Stranamente, riattivare il plugin ripristina la situazione alla normalità. Non sono sicuro di cosa fare in questo caso.

Immagino che questo argomento servirà come riferimento futuro, quindi eccolo: se un argomento “scompare” dalla visualizzazione anonima e hai un post che utilizza il plugin discourse-policy

  1. disattiva il plugin – se ciò non funziona: rimuovilo dal file di configurazione YAML del contenitore e ricostruisci.
  2. modifica il post utilizzando il tag [policy] in modo che venga rigenerato e disattivato (forse rebuild HTML è sufficiente?)
  3. riattiva il plugin.

Tadaa! È avvenuta una specie di magia.

Cosa intendi per “è successo qualcosa di magico”?

Ho fatto come hai detto e ho ottenuto questo:

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

Il che non risolve il problema. Più che una soluzione, è… semplicemente non usare il plugin.
Se modifico il post o ricompilo l’HTML, il plugin funziona, ma il argomento scompare di nuovo per gli utenti non registrati.

modifica

Da quello che vedo, per te è la stessa cosa. Nel tuo argomento il secondo post appare così:

[policy group=trust_level_1 reminder=daily]
    Non utilizziamo cookie di terze parti.
    [/policy]

Quindi non abbiamo ancora una “soluzione”. A meno che tu non chiami soluzione il non usare il plugin xD. Saresti potuto anche cancellare il markup dal secondo post, stesso risultato.
Allo stato attuale, puoi usarlo solo nelle categorie private, così gli utenti non registrati non possono vedere l’argomento comunque.