No momento, não consigo selecionar e citar textos no Android. Isso já vem acontecendo há algum tempo. O que estou perdendo? (Android 16 e 17, Chrome)
Isso acontece comigo de vez em quando. Não consigo destacar o texto. Achei que, no momento, estava funcionando.
Estou assumindo que o seguinte não ajuda?
- Recarregar
- Tente reagir a uma publicação até que o popup de reações apareça, depois tente destacar o texto
Uau. Isso resolveu! Que diabos… essa é a solução alternativa mais estranha que já vi! Obrigado!
Sim, já aconteceu comigo antes, e isso sempre conseguiu corrigir o problema.
Me pergunto se isso tem a ver com algum localStorage obsoleto. Muito interessante.
Hm. Sempre achei que tivesse a ver com estados. Como forçar o popup de reações para que o estado de hover ficasse ativo novamente. Mas isso é apenas especulação.
Aconteceu de novo.
E a solução alternativa funcionou novamente.
Vou classificar isso como Contribute > Bug
Diagnóstico da IA (GPT 5.6 Sol Ultra) no Codex (se útil):
Encontrei: as Reações do Discourse vazam um estado global de “sem seleção de texto”.
- O touchstart da reação adiciona discourse-reactions-no-select ao em
plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:222. - Essa classe aplica user-select: none e desabilita o callout de toque longo do WebKit para todo o documento em
plugins/discourse-reactions/assets/stylesheets/common/discourse-reactions.scss:1. - Se uma rolagem vertical começar sobre o botão de reação,
plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:249invalida o gesto sem remover a classe. plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:257então retorna antecipadamente, deixando a classe por tempo indeterminado.- Também não há limpeza para touchcancel ou destruição do componente.
A única remoção está em plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:690. Isso explica a solução alternativa relatada (The popup menu for quoting text is unresponsive on Android): abrir e dispensar o pop-up de reações chama collapseAllPanels(), restaurando a seleção.
A própria barra de ferramentas de citação é a jusante — ela escuta selectionchange e exige uma seleção real do navegador em frontend/discourse/app/components/post-text-selection.gjs:58. Com user-select: none global, o Android nunca cria essa seleção.
O histórico confirma essa família de bugs: uma correção de rolagem de 2023 (FIX: prevents triggering a reaction while scrolling (#224) · discourse/discourse-reactions@d1970cf · GitHub) introduziu o retorno antecipado de toque inválido, e uma correção parcial de 2024 (FIX: couldn't select text after dismissing a reaction (#296) · discourse/discourse-reactions@c6710ef · GitHub) moveu a limpeza para o fechamento do painel, mas deixou os caminhos de rolagem/cancelamento sem cobertura.
A correção deve limpar a classe em todos os ciclos de toque concluídos, rejeitados, cancelados ou destruídos, com testes de regressão para touchstart → touchmove → touchend e touchcancel.
Esse bug me incomoda há algum tempo, fico feliz que você tenha encontrado uma solução ![]()
@davidb para sua atenção
Olá @merefield, estou tentando verificar se isso está relacionado à outra correção que lancei há algumas semanas. Ela deveria ter sido restrita ao iOS, então estou curioso: quanto tempo é “algum tempo”? São algumas semanas ou mais?
Nossa, peço desculpas, não me lembro com precisão, mas minha intuição diz que foram pelo menos algumas semanas, embora eu não esteja totalmente certo.
Estou bastante certo de que isso era um problema no Android 16, ou seja, antes do lançamento do Pixel.
Em qualquer caso, é claro que isso pode não estar isolado ao Android…
Sem problemas, vou fazer alguns testes localmente sem as alterações e ver se foi a minha correção do iOS que causou isso. Se foi, o patch que lancei hoje pode ajudar, mas vou verificar primeiro.
Obrigado por dar uma olhada!
Estou tendo esse problema no Chrome para Android há vários meses em um site, acho. (Embora eu também não estivesse acompanhando exatamente, até que um segundo site que uso foi atualizado há dois dias.)