Le virgolette intelligenti interrompono il struttura delle citazioni

Ho riscontrato un problema su almeno due diversi siti Discourse in cui, quando seleziono del testo e premo “Cita” per rispondere, vengono utilizzate virgolette intelligenti in un punto che interrompono l’aspetto del mio post. Ecco uno screenshot di un post di esempio che viene visualizzato in modo errato a causa della virgoletta intelligente alla fine della prima riga (all’interno delle parentesi):

Questo accade da mesi e solo ora ho capito cosa stava succedendo con quei post.

Posso riprodurlo circa il 50% delle volte su Safari 18.4 su Mac OS 15.4, nonché su una versione precedente di Safari su Mac OS 15.3.

Il sito che gestisco dove lo vedo sta eseguendo Discourse 3.4.2. Un altro sito su cui l’ho appena riscontrato sta eseguendo 3.4.0.beta3-dev.

Credo di aver visto anche altre persone riscontrare questo problema sul mio sito, ma non l’ho ricontrollato oggi.

1 Mi Piace

Ovviamente una vera correzione dovrebbe essere apportata per un bug, ma nel caso fosse utile nel frattempo menzionerò che una soluzione alternativa potrebbe essere quella di rimuovere le virgolette doppie dall’impostazione del sito Markdown typographer quotation marks, o disabilitare l’impostazione del sito Enable markdown typographer.

Presumo che sia questa funzionalità “Markdown typographer” a causare la sostituzione del carattere virgolette doppie dritto corretto nel tag BBCode con il carattere errato “smart” o “curly quote”.

È una buona intuizione, ma ricordo un problema simile di anni fa e ricordo che abbiamo persino del codice in Discourse che converte “→” per gestire questo caso limite.

@jtbayly questi siti hanno abilitato il nuovo composer?

Neanche il nuovo compose è abilitato.

Un altro utente ha segnalato che se disattivo le Sostituzioni delle virgolette intelligenti nelle Preferenze di Safari → Modifica → Sostituzioni → Virgolettature intelligenti, risolverà il problema.

Non vorrei farlo però. lol. Mi piacciono le virgolette intelligenti quasi sempre.

Penso che questo sia il problema, oltre al fatto che imitiamo l’input dell’utente sull’elemento textarea in questo tipo di aggiunta per evitare di perdere la cronologia di annullamento.

Credo che possa essere “risolto” con un spellcheck="false" sull’elemento, ma ha un ovvio svantaggio.

Ciò che causa il problema è l’incoerenza delle virgolette, funzionerebbe se ci fosse lo stesso stile di virgolette su entrambe le estremità – è possibile utilizzare uno qualsiasi di questi set:

È strano che solo la seconda virgoletta sia stata convertita durante la citazione, mentre entrambi i lati vengono convertiti se lo stesso BBCode viene digitato manualmente.

2 Mi Piace

Il problema è anche incoerente. Non succede ogni volta, anche se non ho ancora capito quando succede e quando no.

È divertente che funzioni con così tante opzioni di virgolette diverse, ma questa no. Mi chiedo…

Sarebbe in realtà una soluzione semplice e non causerebbe problemi uniformare gli stili di segni diacritici incoerenti? " e ” in particolare?

dovremmo modificare il nostro parser per consentire la coppia " ” e varie citazioni oscure e strane che si trovano nel bbcode?

1 Mi Piace