Платформа: Discourse mobile iOS (не тестировалось на других платформах). Воспроизводится на Discourse meta и try.Discourse.org.
Описание: При сохранении черновика новой темы по запросу кнопка «Открыть черновик» не работает.
Шаги для воспроизведения:
Перейдите на главную страницу Discourse.
Нажмите «+ Новая тема».
Введите тему «Testing Drafts» и текст в редакторе «Testing». Оставьте без категории.
Нажмите «Отмена» (иконка корзины в мобильной версии Discourse). Вам будет предложено сохранить черновик на потом — выберите этот вариант.
Кнопка «+ Новая тема» изменится на «+ Открыть черновик».
Нажмите «+ Открыть черновик». Ничего не происходит.
Проверьте папку «Черновики» — черновик не сохранён.
Последствия: Это временно сделало невозможным создание новой темы.
Обходное решение: Многократное нажатие неактивной кнопки «+ Открыть черновик» в конечном итоге приводит к сбою сайта Discourse в мобильном приложении и возврату к выбору домена. При возвращении в Discourse кнопка «+ Открыть черновик» сбрасывается и снова отображается как «+ Новая тема».
К сожалению, этот код сохранения — один из наших самых старых и часто самых хрупких. За годы мы наложили на него множество функций, а такие вещи, как сохранение черновиков, которые могут завершиться успехом или неудачей, требуют собственной кастомной логики, что лишь ещё больше усложняет ситуацию.
Мне кажется, ваша интуиция здесь, скорее всего, верна, но без того, чтобы увидеть, как выполняются все наши тесты, я не могу это подтвердить. Если у вас в будущем найдётся время на PR, это было бы здорово.
Спасибо за сообщение об ошибке. Она была исправлена в последней версии Discourse. Проблема заключалась в том, что система предлагала сохранять очень короткие черновики, даже когда этого не должно происходить.