“Il corpo è troppo simile a quello che hai pubblicato di recente”
Utilizzo un messaggio a me stesso come buffer di bozza per post elaborati che vorrei pubblicare privatamente prima di pubblicarli. (Il motivo principale è che il riquadro di anteprima non viene sempre visualizzato allo stesso modo del post/messaggio pubblicato, quindi devo pubblicare per vedere la forma finale. La pubblicazione in privato mi consente anche di evitare il limite di tempo della “finestra di modifica” prima che vengano inviate e-mail dopo la prima pubblicazione di un post o di un argomento.)
Quando ho provato a incollare il corpo del messaggio in un post del forum, ho ricevuto il messaggio “\u003cdel\u003eSmettila di spammare tutti con lo stesso contenuto\u003c/del\u003e” “Il corpo è troppo simile a quello che hai pubblicato di recente”. Dato che un utente può eliminare un messaggio, questo sembra un controllo non necessario. Inoltre, potrei inviare un messaggio a qualcuno e poi volerlo convertire in un post di risposta (magari gli ho chiesto di correggerlo, per esempio).
NON sto parlando di convertire un messaggio nel primo post di un argomento. Sto parlando di aggiungere un messaggio a un argomento esistente. Non so nulla della struttura del database di Discourse e di quanto un post e un messaggio possano essere diversi. Poiché è possibile rimuovere da un messaggio i suoi attributi di “messaggio” e trasformarlo in un argomento, sembra che un processo simile sarebbe possibile per convertirlo in una risposta.
Al minimo, vorrei poter riutilizzare il corpo del messaggio in un post.
Potrebbe esserci un riferimento a una soluzione alternativa QUI, ma non sono in grado di analizzare chiaramente il processo dell’OP per saperlo.
Temo di non pensare che questo possa essere considerato un bug, poiché sembra funzionare correttamente.
È controllato dall’impostazione admin unique posts mins (predefinita 5 minuti), quindi potresti chiedere all’admin di ridurla se l’attesa causa problemi significativi?
Eccellenti approfondimenti “back-of-house”, come al solito!
Quando sono tornato su discuss.python.org, il timer era scaduto e sono stato in grado di pubblicare il corpo della mia bozza finale di “messaggio”. Se non fossi stato fermato al primo duplicato, non avrei pubblicato qui. (Questo in qualche modo mi ricorda il meme “il serpente che si mangia la coda”. )
Temo di non pensare che questo possa essere considerato un bug, …
Sì, sembra rientrare in una via di mezzo. Questa domanda riguarda il motivo per cui il primo duplicato in un tipo di oggetto di piattaforma diverso verrebbe bloccato in primo luogo. Sembra un caso di scambio di una soluzione per un problema diverso (sebbene minore, quindi l’aspetto “funzionalità” di questo comportamento è un vantaggio netto come protezione contro post e messaggi di disturbo). Tuttavia, sembra incongruente e quindi inapplicabile confrontare il corpo di un post con il corpo di un messaggio, poiché hanno ambiti così diversi.
…poiché sembra funzionare correttamente.
Sono d’accordo, a patto che definiamo “funzionare correttamente” come “come previsto” e questa sia stata una decisione di progettazione piuttosto che una svista o un comportamento non intenzionale, che sono entrambi un tipo di bug. Non l’ho visto pubblicato nelle funzionalità (o discusso altrove) e ho pensato che questo fosse il posto giusto per segnalare un comportamento non ottimale esistente.
Proprio come qualsiasi bug che non sai come correggere diventa una “funzionalità” per impostazione predefinita, qualsiasi “funzionalità” che intralcia può essere considerata un bug.
Aspettare che scadano i unique posts mins è persino una soluzione alternativa.
Non ho dovuto aspettare molto per pubblicare il testo del messaggio, ma blocca completamente il flusso. Forse sono il primo utente a provare a spostare contenuti da un messaggio a una risposta di un argomento.
Sono un grande fan dell’approccio “pm-as-draft-message” e ho ricevuto anche diversi di questi avvisi. Forse sono stato troppo accondiscendente con lo status quo. Non so quanto sia popolare questo flusso di lavoro, quindi potremmo essere in minoranza, ma potremmo trasformarlo in una richiesta di #funzionalità?
In alternativa, su scala più ridotta, un approccio di UX potrebbe essere quello di includere maggiori informazioni nel messaggio di avviso (ad esempio, “Il corpo è troppo simile a quello che hai pubblicato di recente. Riprova tra %{unique posts mins}”). Questo almeno potrebbe sottolineare che si tratta di una restrizione basata sul tempo e solo temporanea (anche se potrebbe minare l’intento?).
Penso che @codinghorror sia stato un grande sostenitore dell’uso dei messaggi privati per bozze lunghe, bloccare te stesso non è la nostra intenzione qui:
C’è una correzione/modifica molto semplice in Discourse:
Sostituisci con:
def unique_post_key
"unique-post-#{user_id}:topic?.private_message?:#{raw_hash}"
end
Questo, più un rapido test, risolverà questo flusso di lavoro.
Non penso che le garanzie di sicurezza siano compromesse da questa modifica.
Procederò con questa modifica domani, a meno che non ci siano obiezioni.
Sarà presto in una release? Tendo a comporre risposte più lunghe su discuss.python.org che qui, e anche a correggere e rivedere più ampiamente poiché le discussioni riguardano tecnicismi con molte opportunità di affermazioni errate e refusi quando si pubblicano codice non testato.
Dovrebbe essere unita presto e il sito verrà distribuito nelle prossime due settimane.
Nel frattempo, consiglio una facile soluzione alternativa. Esegui semplicemente un rapido “riempimento con spazi” quando vai a pubblicare la tua bozza.