🎯 [Хвост] Браузерный прогон: 33 находки, видимые только глазами
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- css, javascript, playwright, python
- Domain
- frontend, testing-qa
Research direction
Start with the reproduction details in docs/audit/2026-08-10-full-roles.md § 5 and the four medium findings listed here, then run the browser checks with Chromium and Playwright as described in the issue. The work spans the listed web/ and core/ files, and some items require browser verification rather than code inspection. Done means each finding is closed by a PR or explicitly rejected with a reason, and the untested scenarios and post-fix checks have been run.
Written by the indexing model from the issue text.
Description
Фаза 5 аудита 2026-08-10 — реальный браузер. Полные формулировки и репро: docs/audit/2026-08-10-full-roles.md § 5-тер. Эпик хвоста: #995
33 находки: 0 high · 4 medium · 29 low. Верифицированы: 27 CONFIRMED, 6 PARTIAL, 1 REFUTED.
Отдельный подэпик, потому что метод другой: не чтение и не curl, а Chromium через Playwright — клики, ввод, переключение вкладок, перехват console / pageerror / 4xx. Класс дефектов «в коде верно, в браузере ломается» до фазы 5 не проверял никто.
Четыре medium — с них и начинать
-
BRW-4-01— режим «Папка», включённый по умолчанию, считает задачу нерешённой, если хоть один файл в папке падает: держишь рядом черновики — «Прогресс» показывает, что задача не сдана (web/viewmodels.py) -
BRW-3-01— многострочный пример в карточке глоссария распадается на строки-плитки без отступов, вложенность потеряна (web/static/content.js:401) -
BRW-1-01— в отчёте и в озвучке стоит имя временного файла вместо выбранного решения (web/runs.py) -
BRW-4-03— свежая рабочая папка показывает чужую историю: ключ задачи — голое имя папки (core/history.py)
Остальные находки по файлам
Чек-лист по файлам, а не построчно: три десятка пунктов нечитаемы и правятся с конфликтами. Строка закрывается, когда закрыты все её ID; галочка называет исход — номер PR или причину отклонения.
-
web/static/content.js— 6 (0/1/5):BRW-3-01·BRW-3-02·BRW-3-04·BRW-3-06·BRW-4-04·BRW-5-03 -
web/static/index.html— 4:BRW-1-05·BRW-2-05·BRW-3-07·BRW-5-05 -
web/static/grade.js— 4:BRW-1-02·BRW-1-06·BRW-1-07·BRW-1-08 -
web/static/app.css— 4:BRW-1-03·BRW-5-01·BRW-5-04·BRW-5-06 -
core/insights.py— 3:BRW-4-02·BRW-4-05·BRW-4-06 -
web/static/downloader.js— 2:BRW-2-01·BRW-2-06 -
web/downloader_adapter.py— 1:BRW-2-02 -
web/static/trace-player.js— 1:BRW-2-03 -
web/static/sandbox.js— 1:BRW-2-04 -
web/playground.py— 1:BRW-2-07 -
web/runs.py— 1 (0/1/0):BRW-1-01 -
core/microbench_runner.py— 1:BRW-1-04 -
glossary/models.py— 1:BRW-3-03 -
web/viewmodels.py— 1 (0/1/0):BRW-4-01 -
core/history.py— 1 (0/1/0):BRW-4-03 -
web/static/core.js— 1:BRW-5-02
Не закрывается по коду
Эти строки требуют повторного прогона в браузере — чтением и диффом они не проверяются:
- сценарии, не пройденные в фазе 5: playground целиком, трейс, мобильная ширина на всех вкладках
- повторный браузерный прогон после закрытия
medium— подтвердить, что четыре главные находки действительно исчезли с экрана
Остальное — по темам
- Тихие отказы интерфейса: пустой путь и клик «Запустить» — молчание, на экране остаётся прошлый результат; пустой URL в загрузчике — тоже молчание, хотя серверное сообщение готово и недостижимо.
- Диагностика вводит в заблуждение: мусорный URL и URL чужого сайта объясняются проблемой с
secrets.json; трейс бесконечного цикла даёт «Ошибка выполнения» и сырое английскоеexceeded 10.0sвместо TLE. - Потеря пользовательского ввода: F5 в Песочнице стирает набранный код и stdin.
- Локализация данных: EN не переводит названия 36 правил PEP и заголовки карточек глоссария — при этом счётчики и подписи переведены, отчего расхождение выглядит как поломка.
- Тёмная тема и узкий экран: контраст 2.01:1 у ссылки «→ правило»; на 390 px переключатель RU/EN схлопывается в полоску 6 px.
- Перекрытие: плашка истории накрывает таблицу результатов и глотает клики по тест-кейсам на 1280×720.
Что это меняет в методе
Класс подтверждён: треть находок фазы 5 недостижима чтением кода в принципе. Поэтому в следующем аудите браузерный срез обязателен, а не опционален — и планировать прогон нужно от поверхностей продукта, а не от точек входа CLI.
Рецепт воспроизведения записан в документе: Chromium из /opt/pw-browsers с явным executable_path, Playwright из опциональной группы e2e, свой порт и каталог на агента.
Критерий приёмки
Каждая находка либо закрыта PR, либо явно отклонена с причиной. Отдельно: сценарии, не пройденные в фазе 5, должны быть пройдены прежде, чем направление считается проверенным.
- Dominant language
- Python
- Stars
- 3
- Forks
- 6
- Avg merge
- 2h 41m
- Merged PRs (30d)
- 48
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ArtVsMark/Stepik-Python-Grader
-
Difficulty 3/5 Half a day Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1635 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 18/100
ArtVsMark/Stepik-Python-Grader#1634 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 32/100
ArtVsMark/Stepik-Python-Grader#1633 ·
Maintainers usually reply within 1 day
-
Каталог v1.12.0: Python 3.14 / 3.15 / 3.16 — 3.15 в основной CI, 3.16 в python-next, подъём действийOpen
Difficulty 3/5 1-2 days Newbie friendliness 30/100
ArtVsMark/Stepik-Python-Grader#1632 ·
Maintainers usually reply within 1 day
-
area/glossary bug difficulty/medium
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1629 ·
Maintainers usually reply within 1 day
All issues in ArtVsMark/Stepik-Python-Grader
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
jbacalso24/mimry#291 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 Under an hour Newbie friendliness 82/100
eli-alvarado/us-watchlist-alerts#14 ·
Maintainers usually reply within 1 day
-
from-review-extraction python severity:nit
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
LearningCircuit/local-deep-research#7462 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
cathrynlavery/diagram-design#441 ·
Maintainers usually reply within 2 days
-
[Cleanup] Include the public header in work_split.cppPossibly taken @blozano-tt claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tenstorrent/tt-metal#60850 ·
Maintainers usually reply within 1 day