Plots2: СТАРЫЙ ЗАКРЫТО Проблема капитального ремонта редактора комментариев

Созданный на 9 окт. 2020  ·  14Комментарии  ·  Источник: publiclab/plots2

ПЕРЕМЕЩЕННЫЙ ВОПРОС ПЛАНИРОВАНИЯ ЗДЕСЬ -> # 9069

Я решил переместить свой вопрос о планировании на новую страницу выпуска, в основном из-за проблем с удобочитаемостью. Приносим извинения за возможные недоразумения! - @ noi5e

outreachy planning

Самый полезный комментарий

@jywarren Большое спасибо за очень полезный и подробный отзыв !!! Это действительно помогло мне во многом разобраться в кодовой базе. Еще есть чему поучиться. Я сделал предварительный пиар для теста - с множеством вопросов.

Все 14 Комментарий

На более поздних этапах проекта редактора комментариев, когда он может быть выделен в собственный репозиторий, мы можем внимательно рассмотреть этот рабочий процесс, задокументированный Sagarpreet, чтобы помочь создать стандартный цикл выпуска!

https://publiclab.org/notes/sagarpreet_chadha/10-20-2020/first-timer-only-release-workflow

Обратите внимание на этот пример перекрестных полей комментариев во время загрузки изображения в редактируемый (не новый) комментарий: https://github.com/publiclab/plots2/issues/8670

ПЕРЕМЕЩЕННЫЙ ВОПРОС ПЛАНИРОВАНИЯ ЗДЕСЬ -> # 9069

Я решил переместить свой вопрос о планировании на новую страницу выпуска, в основном из-за проблем с удобочитаемостью. Приносим извинения за возможные недоразумения! - @ noi5e

Привет @ noi5e , вопрос планирования выглядит отлично.
Над какой проблемой вы сейчас работаете? Можете ли вы указать мне на PR, если таковые имеются, также дайте мне знать, если вы где-то застряли или нуждаетесь в некоторой ясности. Спасибо 😄

@ sagarpreet-chadha Спасибо, что заглянули ко мне! С момента публикации этого сообщения я писал свой блог для Outreachy (по частям, почти готово), исследовал и работал над PR для 8618, а также освежал знания о Rails - в чем у меня нет сильного опыта, но я был многому научился на этой неделе. Два дня проработал на другой работе, так что чувствую себя немного отстающим, но сегодня много наверстывал и сделаю больше завтра и в понедельник. Завтра планирую написать тесты для комментариев.

Мне нужно небольшое пояснение по поводу комментариев к тестированию. Я взглянул на /plots2/blob/main/test/system/comment_test.rb и похоже, что уже есть тесты для ввода комментариев как вручную, так и через URL-адрес API, оба указывают на /wiki/wiki-page-path/comments .

Если я собираюсь написать новые тесты комментариев для страниц вопросов и заметок, будет ли это для другого URL API или такого же, как указано выше ( wiki-page-path )? Я запустил rails routes но для меня не очевидно, какие из них я должен тестировать. Заранее спасибо, это сэкономит время на поиске кода. 😅

РЕДАКТИРОВАТЬ: Также дайте мне знать, если у вас есть конкретные запросы на типы тестов, которые я могу написать!

Привет @ noi5e, я считаю, что маршрут «вики-комментарии» отличается от «заметок» - и вики, и заметки являются вариантами Node, но должны быть очень похожими.

Прошло некоторое время с тех пор, как я изучал эту область кода, но обычно Rails имеет действие контроллера для каждого маршрута, но исключение составляют случаи, когда они являются ресурсными маршрутами: https://guides.rubyonrails.org/routing.html#resource -routing-the-rails-default

Это действие необходимо для просмотра комментариев:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/controllers/wiki_controller.rb#L467 -L470

похоже, нет действия контроллера для публикации. Но я вижу, что этот маршрут:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/config/routes.rb#L58

указывает на это действие просмотра. Так где же маршруты и действия создания? Я вижу здесь кое-что, хотя и не относящееся к вики:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/config/routes.rb#L368 -L373

Итак, давайте посмотрим на другую сторону вещей - на шаблоны. Вот основная форма комментария:

https://github.com/publiclab/plots2/blob/main/app/views/comments/_form.html.erb

Я думаю, что комментарии к вопросам могут повторно использовать эту форму, основываясь на логике тега <form> здесь?

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/views/comments/_form.html.erb#L3

Итак, они указывают на /comments/create/NID методом POST, то есть на самый последний маршрут из строки 373 файла routes.rb. Они указывают на действие контроллера комментариев create :

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/app/controllers/comment_controller.rb#L19 -L56

Поэтому я думаю, что можно с уверенностью сказать, что в большинстве комментариев используется контроллер комментариев create action. Но как насчет тех системных тестов, где этот маршрут не упоминается?

Другой способ - это использовать метод JavaScript:

https://github.com/publiclab/plots2/blob/cbb807ba8e2302f09dafc0060475aa118e34c2c6/test/system/comment_test.rb#L32

Это приводит нас к этому JS-файлу, который отправляет его по тому же маршруту через AJAX:

https://github.com/publiclab/plots2/blob/484bf69ead7a1f69c9047a25b3f63b9d6f875728/app/assets/javascripts/comment.js#L62 -L70

Как теперь выглядит наша кодовая база, функция sendFormSubmissionAjax() может выглядеть так, будто она не должна быть в отдельном файле, но я думаю, что @nstjean (фантастические квасцы Outreachy, привет !!!!!! 🎉) запланировано, чтобы упростить отправку JS-форм в нашей кодовой базе, которую я полностью поддерживаю. Вот!

https://github.com/publiclab/plots2/blob/876d0fc084064aaecc23f8003630d7d1ab858fa1/app/assets/javascripts/submit_form_ajax.js#L1 -L4

Надеюсь, это будет полезно! Это не самое худшее, что я видел с точки зрения организации кода, но определенно запутанная. Отчасти это связано с тем, что это большая и старая кодовая база, которая претерпела множество различных этапов пересмотра. Фактически, до системных тестов, которые были установлены только за последние 2 года или около того, у нас не было возможности провести полное тестирование отправки комментариев JavaScript! Так постоянно ломалась :-(

Спасибо, ребята !!!

@jywarren Большое спасибо за очень полезный и подробный отзыв !!! Это действительно помогло мне во многом разобраться в кодовой базе. Еще есть чему поучиться. Я сделал предварительный пиар для теста - с множеством вопросов.

Также хочу прояснить это:

«Сохранение и восстановление значков - ключевая функция, которая заставляет Mimi обходное решение» (не понимайте этого)

На самом деле я не мог найти это на https://pad.publiclab.org/p/outreachy - откуда это взялось? Звучит смутно знакомо ... извините!

Предварительный просмотр иногда не работает (я не могу воспроизвести)

Может быть, это хороший кандидат для своего рода «стандартного набора тестов», который мы могли бы автоматически запускать в нескольких вариантах редактора комментариев, когда мы реорганизуем тестовый код? Интересно, поймает ли это его, или, возможно, он просто уже решен.

Кнопки, выделенные жирным шрифтом и курсивом, имеют перекрестное соединение (воспроизведение невозможно).

Кажется, это находится в https://github.com/publiclab/plots2/issues/8478, и мне интересно, может ли помочь та же стратегия, включая ее включение в стандартный набор тестов редактора комментариев и выполнение во всех вариантах.

Убедитесь, что серый «перетаскивание для вставки изображений» присутствует повсюду (невозможно воспроизвести, хотелось бы несколько примеров)

Возможно, то же самое, что и выше ... и я также не смог найти его на https://pad.publiclab.org/p/outreachy, так что, может быть, я могу добавить больше, зная, откуда оно взялось?

Проблемы с отметками "Нравится" (см. "Комментарий" Нравится "не работает # 5113"). Я понимаю проблему, в основном мне нужно уточнить, каково здесь ожидаемое поведение.

Это может быть действительно старое ?? У нас больше нет лайков в комментариях, так как она была заменена системой «реакции». Но, может быть, уточним, спросив Сашу, кто сделал # 5113

Спасибо, @ noi5e ! Надеюсь на эту помощь !!!!

Спасибо @jywarren, определенно полезно ... Я думаю, что моменты, которые вы искали, находятся в этом документе Google

Привет @ noi5e, я не уверен, видели ли вы это или исправили это уже, но я заметил это в наших комментариях - кажется, под формой есть ненужная серая полоса:

image

Кроме того, я думаю, что некоторые интервалы между смайликами немного отклонены. Видите, как кажется, что у него есть белые отступы сверху и снизу, особенно по сравнению со стилем GitHub?

image

Возможно, мы могли бы затронуть всего пару крошечных вещей в предстоящем PR, но ничего срочного. Спасибо!

@jywarren Я тоже это заметил! Добавление к моим задачам.

Мне также было интересно после оптимизации скорости https://github.com/publiclab/plots2/pull/9045 , я помню, что Skylight показывает, что на самом деле публикация комментария на PublicLab.org может занять довольно много времени ... и я подумал мы немного оптимизировали, но не так сильно, как мы надеялись. Вы по-прежнему считаете, что загрузка комментария занимает много времени? Интересно, может ли это также улучшить время выполнения системного тестирования, а также улучшить взаимодействие с пользователем.

Вот снимок; по-видимому, иногда это все еще занимает до 10 секунд, но, к сожалению, наш мониторинг недостаточно хорош, чтобы показать больше, чем то, что это время тратится в контроллере, кажется:

image

Это тоже не требование вашего проекта, но я подумал, что это может быть интересно. Код, управляющий этим, находится здесь и здесь .

Честно говоря, не беспокойтесь об этом ... но мне любопытно, чувствовали ли вы, что время публикации комментариев было довольно медленным или нет?

@jywarren Да! Я определенно считаю, что время для публикации комментариев очень медленное! (также время реагировать на комментарий)

Интересно узнать о Skylight и о том, что он делает. Интересно, что именно вызывает замедление, как вы думаете, это может быть запрос ActiveRecord?

РЕДАКТИРОВАТЬ: добавьте его в список желаний сложных целей в этом выпуске по планированию!

ПЕРЕМЕЩЕННЫЙ ВОПРОС ПЛАНИРОВАНИЯ ЗДЕСЬ -> # 9069

Я решил переместить свой вопрос о планировании на новую страницу выпуска, в основном из-за проблем с удобочитаемостью. Приносим извинения за возможные недоразумения! - @ noi5e

Была ли эта страница полезной?
0 / 5 - 0 рейтинги