Riesco a riprodurre un conflitto di bozza su meta.discourse.org creando due bozze di nuovi argomenti utilizzando la scorciatoia da tastiera nativa c mentre si visualizza un argomento esistente.
Passaggi per riprodurre
- Apri un argomento pubblico esistente.
- Premi
cper creare un nuovo argomento. - Inserisci un titolo e un corpo del messaggio.
- Attendi che la bozza venga salvata, quindi fai clic sul pulsante Salva e chiudi (X) del compositore.
- Mentre stai ancora visualizzando un argomento esistente, premi di nuovo
cper creare un altro nuovo argomento. - Inserisci un titolo diverso.
- Premi Tab per passare dal campo titolo al corpo del messaggio e attendi il salvataggio automatico.
Entrambi i compositori di nuovi argomenti devono essere aperti mentre si visualizza un argomento esistente per la riproduzione che ho confermato su Meta.
Risultato effettivo
Viene visualizzato un avviso che indica che la bozza è in fase di modifica in un’altra finestra e chiede di ricaricare la pagina.
Ciò avviene senza aver modificato la bozza in un’altra finestra.
Sul mio sito, la richiesta di salvataggio automatico non riuscita a /drafts.json restituisce HTTP 409.
Risultato atteso
Il secondo nuovo argomento dovrebbe ottenere la propria bozza, preservando la prima bozza salvata senza conflitti.
Dove l’ho riprodotto
- Su meta.discourse.org, seguendo i passaggi sopra indicati.
- Sul mio sito in Modalità Sicura, con i temi e tutte le personalizzazioni dei plugin lato client disabilitati.
- Il mio sito esegue Discourse
2026.10.0-latest, commitb28f2a44c.
Possibile causa
L’ispezione del codice suggerisce che il fallback in KeyboardShortcuts#createTopic utilizzi ancora la chiave fissa Composer.NEW_TOPIC_KEY (new_topic) e non fornisca un draftSequence:
A confronto, composer.openNewTopic() genera una chiave di bozza unica.
Nella riproduzione catturata sul mio sito, la prima bozza è stata salvata sotto new_topic e ha raggiunto la sequenza 1. Il secondo compositore ha tentato di salvare sotto la stessa chiave senza una sequenza, risultando in HTTP 409 e nell’avviso.
Potrebbe questo fallback utilizzare composer.openNewTopic() in modo che ogni nuovo argomento ottenga una bozza separata?
Cordiali saluti,
Prof. Caju