Клавиатурное сочетание «Esc» работает некорректно в режиме редактирования

Как воспроизвести:

  1. Перейдите на один из ваших постов и нажмите «Редактировать», чтобы открыть редактор. Ничего не вводите.
  2. Нажмите клавишу Esc — как и ожидалось, редактор полностью исчезает (он не сворачивается, поскольку пост не был изменён).
  3. Обновите страницу браузера — редактор появляется снова.

На шаге 2, если вы нажмёте кнопку «Отмена» вместо нажатия клавиши Esc, поведение будет правильным, то есть редактор не появится после обновления страницы браузера.

5 лайков

@jack2

Я только что проверил, да, это делает именно то, что вы сказали. Не уверен, является ли это ошибкой или так и должно быть на самом деле.

3 лайка

Я больше не могу воспроизвести это. Вы всё ещё можете воспроизвести это на try.discourse.org, пожалуйста?

Да, я только что воспроизвёл это на try.discourse.org.

Погодите! Это происходит случайно! Иногда проблема не возникает.

Вы можете найти стабильный сценарий воспроизведения? У меня есть идея для исправления, но я бы предпочел иметь стабильный сценарий воспроизведения. Пожалуйста.

1 лайк

Вот последовательный сценарий воспроизведения:

  1. Перейдите к одному из ваших постов и нажмите «Изменить», чтобы открыть редактор. Ничего не вводите.
  2. Подождите несколько секунд, пока в правом нижнем углу редактора не появится галочка.
  3. Нажмите клавишу Esc — как и ожидалось, редактор полностью исчезает (он не сворачивается, так как пост не был изменён).
  4. Обновите страницу браузера — редактор появляется снова.
2 лайка

Отлично! Значит, моя идея исправления, скорее всего, сработает. Большое спасибо, очень ценю :heart:

3 лайка

Это оказалось намного сложнее, чем ожидалось. Думаю, это должно исправить проблему:

Я запросил несколько ревью, и слияние может занять время. Ещё раз спасибо за подробный пример воспроизведения :+1:

5 лайков

Короткое обновление: я только что закрыл PR. Исправление работало, но мы попробуем решить проблему на более высоком уровне.

Это может занять немного времени :slight_smile:

4 лайка

Я применил это исправление:

Этот файл невероятно хитрый, @eviltrout… Не терпится, когда у нас появится поддержка async, потому что большой набор методов иногда возвращает промис, а иногда — объект, что сильно усложняет понимание логики.

Пока я добавил несколько промисов и обходных путей, чтобы мы не сохраняли черновик сразу же после нажатия кнопки редактирования. Это также сводило с ума @supermathie, так как делало очень сложным и неудобным копирование текста из N ответов в исходный пост.

7 лайков

Это объясняет многое из того, что вызывало у меня раздражение, :clap:

4 лайка

Эта тема была автоматически закрыта через 4 дня после последнего ответа. Новые ответы больше не принимаются.