Atalho de teclado "Esc" não funcionando corretamente no modo de edição

How to reproduce:

  1. Go to one of your post and click Edit to open the composer. Don’t type anything.
  2. Press the Esc key => as expected, the composer disappears completely (it isn’t minimized, because the post hasn’t been modified).
  3. Refresh the browser page => the composer comes back.

In step 2, if you click the Cancel button instead of pressing the Esc key, the behavior is correct, i.e. the composer doesn’t come back after browser refresh.

5 curtidas

@jack2

I just did it, Yes it does exactly what you say. Not sure if it’s a bug or its suppose to do this actually.

3 curtidas

Não consigo mais reproduzir isso. Você ainda consegue reproduzir isso em try.discourse.org, por favor?

Sim, acabei de reproduzir no try.discourse.org.

Espere! É aleatório! Às vezes não ocorre.

Você consegue encontrar uma reprodução consistente? Tenho uma ideia para uma correção, mas prefiro ter uma reprodução consistente. Por favor.

1 curtida

Aqui está uma reprodução consistente:

  1. Acesse uma de suas postagens e clique em Editar para abrir o editor. Não digite nada.
  2. Aguarde alguns segundos, até que um símbolo de verificação apareça no canto inferior direito do editor
  3. Pressione a tecla Esc => como esperado, o editor desaparece completamente (não é minimizado, pois a postagem não foi modificada).
  4. Atualize a página do navegador => o editor reaparece.
2 curtidas

Legal! Ok, então minha ideia de correção provavelmente vai funcionar, muito obrigado :heart:

3 curtidas

Isso foi muito mais complicado do que o esperado. Acho que isso deve resolver:

Solicitei várias revisões e pode demorar um pouco para ser mesclado. Obrigado novamente pelo relatório detalhado :+1:

5 curtidas

Atualização rápida: acabei de fechar o PR. A correção estava funcionando, mas vamos tentar resolver em um nível mais alto.

Pode levar algum tempo :slight_smile:

4 curtidas

Fiz essa correção:

Esse arquivo é super complicado, @eviltrout… Mal posso esperar até termos suporte para async, porque um grande conjunto de métodos às vezes retorna uma promessa e às vezes retorna um objeto, o que torna muito difícil raciocinar sobre as coisas.

Por enquanto, introduzi algumas promessas e alternativas para que não salvemos um rascunho imediatamente após clicar no botão de editar. Isso também estava deixando o @supermathie maluco, pois tornava muito complicado e chato copiar texto de N respostas para a OP.

7 curtidas

Isso explica muito da frustração que eu estava tendo. :clap:

4 curtidas

Este tópico foi automaticamente fechado 4 dias após a última resposta. Novas respostas não são mais permitidas.