Andrey Epifancev 4441e77a58 Спека: пакет веб-багов web-bugfixes (#124)
Окно карточки, строка состояния, лента без разметки, метки видов работ,
вики-разметка, список задач ждёт настройки, доска, проекты, вложения.
Решения агента R-1…R-14 — в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:49:27 +04:00

5.1 KiB
Raw Blame History

Why

25.10.2026 владелец попросил сверить все открытые follow-up issue хаба и агентов с текущим кодом. В веб-приложении хаба подтвердились ошибки, которые пользователь может увидеть: окно карточки закрывается само или уводит назад по истории дальше нужного, лента показывает сырую разметку Jira, после смены проекта в строке состояния остаётся чужое событие пакета, вики-разметка в отдельных случаях ломает таблицу или остаётся исходником. Владелец с ними пока не сталкивался, но не хочет столкнуться в будущем. Это пакет A сверки (sdlc-hub#124).

What Changes

  • Окно карточки (#42): отложенный поиск списка больше не закрывает только что открытое окно (M-1); повторное закрытие не уводит дальше назад по истории (M-2); подтверждение «Уйти без сохранения?» получает имя и фокус (M-4); связанная задача «нет в зеркале» ведёт в Jira, а не в окно 404, у окна 404 после перехода по связи есть «Назад» (M-5).
  • Строка состояния (#116): ответ опроса пакета прежнего проекта после смены проекта отбрасывается — событие не «залипает», тест activity.test.tsx перестаёт флейкать.
  • Лента (#103 С6): текст комментария — без вики-разметки Jira.
  • Карточка (#103, #56 M-4): метки видов работ (kind_labels) не смешиваются с прочими метками — отдельная строка «Вид работы в Jira»; описание из одних пробелов — раздела нет.
  • Вики-разметка (#56 M-5, M-6): \#, {quote:…}/{noformat:…} с параметрами, [~логин|текст], пробелы после {code}, непарная [ в ячейке таблицы.
  • Список задач (#60 M-3): запрос не уходит, пока не пришли настройки (closed_statuses) — нет лишнего запроса и мелькания «По этим фильтрам задач нет».
  • Доска связей (#35 T4.1/M-15, #64 T9.1): два быстрых переключения фильтра не теряют первое; фильтр спринтов не появляется из-за спринта у эпика.
  • Проекты (#64 M-6): «Повторить» при ошибке загрузки проектов.
  • Вложения (#86 T6.2, T6.3, M-4): после успешного повтора не мигает прежняя ошибка; 401 при опросе скачивания — экран входа; порядок вложений и выбор при одинаковых именах — как у хаба.
  • UI-кит (#68 T3.3): после «Очистить» в поиске фокус остаётся в поле.

Non-Goals

  • Изменения API, схемы, MCP, агентов: всё чинится на клиенте, хаб уже отдаёт нужные данные.
  • Прочие маркеры исходных issue (тесты, стиль, доступность UI-кита из #68, производительность разбора вики-разметки #56 M-2, фокус окна #42 M-3) — остаются в своих issue.
  • Правки Jira из веба — веб по-прежнему только для просмотра (служебные заметки — данные хаба).

Impact

  • Спека web-app: требования «Список задач», «Карточка задачи», «Служебные заметки», «Разметка Jira в карточке», «Проект в приложении», «Лента изменений», «Скачивание вложений в карточке», «Состояние и обновление модулей».
  • Код (только web/src/): modules/jira/issues/ (страница, окно, карточка, заметки, вложения, вики-разметка), modules/jira/feed/, modules/jira/board/, shell/activity/ActivityProvider.tsx, projects/ProjectGate.tsx, ui/inputs.tsx.
  • Тесты: vitest рядом с кодом; e2e — сценарии окна карточки (web/e2e/issues.spec.ts).
  • После merge — комментарии в исходных issue (#35, #42, #56, #60, #64, #68, #86, #103) о закрытых маркерах; #116 закрывается.