Immersive Translate faz a barra de progresso de vídeos do X/Twitter falhar: causa raiz, hotfix e PR

Foi investigado no Chrome desta máquina um conflito real de interação relacionado ao Immersive Translate:

Fenômeno do problema:

  • Ao ativar o Immersive Translate, a barra de progresso na parte inferior do player de vídeo do X/Twitter não pode ser clicada nem arrastada
  • A sensação é como se o player tivesse quebrado, mas na verdade existe uma camada extra de legendas sobre a página que “engole” os eventos de clique

Resultado do diagnóstico:

  • Extensão: Immersive Translate
  • ID da extensão: bpoadfkcbjbfhfodiogcnhhhpibjhbnh
  • Diretório atualmente efetivo nesta máquina: 1.26.6_1
  • A causa raiz está em attach_subtitle.css injetado pela extensão
  • Nele, .imt-caption-window usa pointer-events: auto; e, no X/Twitter, acaba cobrindo a área de controles inferior, fazendo com que os cliques de seek na barra de progresso sejam interceptados

Ideia de correção:

  • Alterar .imt-caption-window para pointer-events: none;
  • Ao mesmo tempo, manter .imt-captions-text e .imt-cue como pointer-events: auto;
  • Assim, a área em branco das legendas deixa de interceptar cliques, e o texto das legendas em si continua interativo

Tratamento nesta máquina:

  • Já foi feito um hotfix nos arquivos da extensão dentro do diretório de instalação atual do Chrome
  • O Chrome foi reiniciado à força para que a instância em execução recarregasse os arquivos corrigidos da extensão
  • Também foi organizado o patch em um repositório independente, evitando distribuir diretamente os artefatos compilados da extensão

PR:

No repositório há:

  • Script de patch reutilizável
  • Script para reiniciar o Chrome à força
  • Explicação do problema e da correção em chinês

Depois, se uma atualização da extensão sobrescrever content_script.js, basta executar novamente o script de patch.