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

48 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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
закрывается.