Il menu a comparsa per citare il testo non risponde su Android

Al momento non riesco a selezionare e citare il testo su Android. Questa è una situazione che si protrae da un po’ di tempo. Cosa mi sta sfuggendo? (Android 16 e 17, Chrome)

4 Mi Piace

Mi capita ogni tanto. Non riesco a selezionare il testo. Al momento sembra funzionare.

1 Mi Piace

Presumo che i seguenti suggerimenti non ti siano stati utili?

  1. Ricarica la pagina
  2. Prova a reagire a un post finché non appare la finestra delle reazioni, poi cerca di evidenziare il testo
4 Mi Piace

Wow. Ha funzionato! Che… è la soluzione alternativa più strana che abbia mai visto! Grazie!

3 Mi Piace

Sì, mi è già successo prima, e questo è sempre riuscito a risolvere il problema.

Mi chiedo se questo sia legato a qualche localStorage obsoleto. Molto interessante.

Mm. Ho sempre pensato che avesse a che fare con gli stati. Come se forzare il popup delle reazioni forzasse lo stato di hover a essere attivo di nuovo. Ma è solo una speculazione.

È appena successo di nuovo.

E la soluzione alternativa ha funzionato di nuovo.

Classificherò questo come Contribute > Bug

1 Mi Piace

Diagnosi AI (GPT 5.6 Sol Ultra) in Codex (se utile):

L’ho trovato: Discourse Reactions lascia trapelare uno stato globale di “nessuna selezione del testo”.

  • Il touchstart della reazione aggiunge discourse-reactions-no-select a in plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:222.
  • Questa classe applica user-select: none e disabilita il menu contestuale a lungo tocco di WebKit per l’intero documento in plugins/discourse-reactions/assets/stylesheets/common/discourse-reactions.scss:1.
  • Se uno scorrimento verticale inizia sopra il pulsante di reazione, plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:249 invalida il gesto senza rimuovere la classe.
  • plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:257 poi torna precocemente, lasciando la classe indefinitamente.
  • Non c’è nemmeno una pulizia per touchcancel o distruzione del componente.

L’unica rimozione è in plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:690. Questo spiega la soluzione alternativa segnalata (The popup menu for quoting text is unresponsive on Android): aprire e chiudere il popup delle reazioni chiama collapseAllPanels(), ripristinando la selezione.

La barra degli strumenti delle citazioni è a valle: ascolta selectionchange e richiede una reale selezione del browser in frontend/discourse/app/components/post-text-selection.gjs:58. Con user-select: none globale, Android non crea mai quella selezione.

La storia conferma questa famiglia di bug: una correzione dello scorrimento del 2023 (FIX: prevents triggering a reaction while scrolling (#224) · discourse/discourse-reactions@d1970cf · GitHub) ha introdotto il ritorno precoce per touch invalido, e una correzione parziale del 2024 (FIX: couldn't select text after dismissing a reaction (#296) · discourse/discourse-reactions@c6710ef · GitHub) ha spostato la pulizia al collasso del pannello ma ha lasciato scoperti i percorsi di scorrimento/cancellazione.

La correzione dovrebbe cancellare la classe in ogni ciclo di vita del touch completato, rifiutato, cancellato o distrutto, con test di regressione per touchstart → touchmove → touchend e touchcancel.

3 Mi Piace

Questo bug mi dava fastidio da un po’, sono contento che tu abbia trovato una soluzione :+1:

3 Mi Piace

@davidb per la tua attenzione

1 Mi Piace

Ciao @merefield, sto cercando di capire se questo è correlato all’altra correzione che ho rilasciato un paio di settimane fa. Dovrebbe essere stata limitata a iOS, quindi sono curioso: quanto è lungo “un po’ di tempo”? Parliamo di un paio di settimane o di più?

1 Mi Piace

Accidenti, scusami, non riesco a ricordarlo con precisione, ma ho l’impressione che siano passati almeno un paio di settimane, anche se non ne sono del tutto certo.

Sono piuttosto sicuro che si trattasse di un problema con Android 16, quindi prima del lancio dei Pixel.

In ogni caso, ovviamente, questo potrebbe non essere limitato ad Android…

1 Mi Piace

Nessun problema, farò alcuni test in locale senza le modifiche per vedere se era la mia correzione iOS a causare questo. Se era così, la patch che ho rilasciato oggi potrebbe aiutare, ma prima la verificherò.

2 Mi Piace

Grazie per averlo esaminato!

1 Mi Piace

Sto riscontrando questo problema su Chrome per Android da diversi mesi su un sito web, credo. (Anche se anch’io non tenevo un registro preciso, fino a quando un secondo sito che uso è stato aggiornato due giorni fa)

2 Mi Piace