Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

🎯 [Хвост] Браузерный прогон: 33 находки, видимые только глазами

Abierto
#1,007 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
css, javascript, playwright, python

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/web audit difficulty/medium породило правило

Фаза 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, должны быть пройдены прежде, чем направление считается проверенным.

Lenguaje dominante
Python
Estrellas
3
Forks
6
Merge medio
2 h 41 min
PR fusionados (30 d)
48

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ArtVsMark/Stepik-Python-Grader

Todos los issues de ArtVsMark/Stepik-Python-Grader

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.