hexlet-rus / runit

Online Editor Form Embedding
https://runit.hexlet.ru/
Other
34 stars 119 forks source link

Bug: Ошибка копирования сниппета #428

Closed ElenaSimanina closed 6 months ago

ElenaSimanina commented 7 months ago

Summary

Пользователь не может скопировать сниппет

Reproduction steps

1. Открыть страницу https://runit.hexlet.ru/
2. Авторизоваться
3. Выбрать сниппет 
4. Нажать на кнопку выбора меню (три вертикальных точки) на сниппете
5. Нажать на кнопку копирования из открывшегося меню 
6. Нажать на кнопку "Подтвердить"  в открывшемся сообщении
7. Проверить , что сниппет  успешно скопирован)

Expected result

Сниппет успешно скопирован

Actual result

появляется сообщение "Ошибка сети", сниппет не скопирован

Screen_4

Browsers

Chrome

OS

Windows

bobronaud commented 7 months ago

взял в работу

fey commented 7 months ago

подтверждаю, баг воспроизводится.

bobronaud commented 7 months ago

@fey нашёл в чем ошибка, сейчас все сделаю

но заранее хочу сказать, что доку апи нужно обновить.

в проекте метод POST api/snippets ожидает три аргумента {code, name, language}

а в доке ожидает только два аргумента {code, name}. и сабмит отправляет два аргумента.

поэтому ошибка сети (400) приходит, т.к. вместо ожидаемых трёх аргументов, приходит два.

bobronaud commented 7 months ago

@fey еще уточнить хочу. Сейчас при копировании сниппета, он создается в профиле и происходит редирект на новый спиппет-копию. Как-то не очевидно, что при нажатии кнопки "копировать" произойдет редирект на копию. Оставить как есть или поменяем поведение?

fey commented 7 months ago

почему? Можем назвать по другому кнопку, например "Fork". В гитхабе такая же логика - вы форкаете репоиторий и открывается страница с редактированием.

Еще проверьте, выводится ли модалка, когда открывается редактор с копией сниппета. Хорошо бы пользователю писать, что произошло, типа "сниппет успешно скопирован"

fey commented 7 months ago

по идее надо на бекенде поправить, чтобы он три параметра принимал. @dzencot поможешь с доработкой бекенда?