Grazie per averlo identificato @Moin. Ho implementato una correzione:
Vedi qualche errore nella console del browser?
Ho menzionato questo problema nell’altro argomento.
Ho notato un errore su un sito che utilizza il componente come anonimo:
Ho creato una PR per correggerlo:
Il PR è stato unito; grazie, Keegan!
gli utenti di questo componente stanno riscontrando questo errore più di recente
L’ho appena installato, ecco un’idea:
Fai clic sul pulsante di copia su più post per “costruire” la tua clipboard. In questo modo puoi copiare rapidamente una sezione intera di una discussione in modo selettivo.
Diciamo che ci sono cinque post:
Post A
Post B
Post C
Post D
Post E
Copi D, poi B, poi E. Ciò che è nella tua clipboard è in realtà:
B
D
E
Quindi la clipboard è organizzata in base alla loro cronologia nella conversazione, non all’ordine in cui li copi.
Ho avuto un errore qui, e poiché si tratta di un errore JavaScript lato client, non riesco a trovarlo in \logs. La mia versione di Discourse è 2026.7.0-latest +188
Ho indagato ulteriormente sulla revisione esatta di Discourse al momento in cui ho inizialmente riscontrato il problema, e sulla main attuale.
Su una configurazione storica di luglio ricostruita, sono stato in grado di riprodurre un errore correlato alla clipboard: Copy Post poteva mostrare l’indicazione di successo/check, mentre il contenuto della clipboard non veniva effettivamente sostituito. Non posso confermare che si trattasse dello stesso errore di fondo rispetto all’errore di tema/componente mostrato nel mio screenshot originale di luglio.
Tuttavia, la stessa implementazione di Copy Post funziona ora sulla mia istanza di produzione attuale, inclusa in una PWA su iOS Safari.
Ho confrontato il codice pertinente tra la revisione di Discourse di luglio e la main attuale. L’implementazione della clipboard di Copy Post stessa non è cambiata, e non ho trovato modifiche rilevanti in:
clipboardCopy/clipboardCopyAsync- la dispatch delle azioni di
DButton, incluso il percorso per iOS - lo shim legacy di
DButton - il percorso del transformer del menu del post
- il percorso GET in
discourse/lib/ajax
Ho anche scritto uno spec di sistema sperimentale che mette in pausa la richiesta raw-post e verifica se navigator.clipboard.write() è stato avviato prima che la richiesta si completi. Quel test passa se Copy Post viene modificato per usare clipboardCopyAsync, e fallisce contro l’implementazione attuale.
Tuttavia, l’attuale Copy Post funziona nei browser/dispositivi che ho testato, incluso iOS Safari PWA, quindi quel test sembra imporre un vincolo di implementazione più forte piuttosto che dimostrare una regressione attuale visibile all’utente.
Per questo motivo non sto attualmente proponendo quel test o la modifica a clipboardCopyAsync come soluzione. Il fallimento storico potrebbe aver dipeso dal comportamento del browser/WebKit piuttosto che da una modifica nella componente Copy Post stessa.
In seguito a questo, ho aperto una piccola PR che modifica l’indicazione di successo/verifica in modo che venga mostrata solo dopo che la scrittura negli appunti si è completata con successo, con una specifica di sistema di regressione:
Il workflow di GitHub Actions è attualmente in attesa dell’approvazione del manutentore prima che i job CI possano essere eseguiti.


