140 Commits

Author SHA1 Message Date
aep
b0bb233458 Merge pull request 'Вики: длинные названия в дереве не налезают на соседние строки (#133)' (#134) from feat/133-wiki-tree-wrap into main 2026-10-27 18:05:43 +03:00
Andrey Epifancev
952398bd9a Вики: скачанные картинки показываются в тексте страницы (#135)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:47:35 +04:00
Andrey Epifancev
6b06395314 Вики: строки дерева не сжимаются, длинные названия не налезают (#133)
.wiki-tree — flex-колонка с max-height:70vh; при переполнении flex сжимал
.wiki-tree__item до min-height в одну строку, и перенесённый заголовок
вылезал на соседние узлы. flex:none — высота строки следует за текстом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:12:34 +04:00
Andrey Epifancev
fa1ceb4868 fix(web): «!» в тексте ленты не пропадают — без списка вложений !имя! только для имени файла (#124, N-1, R-20)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:48:36 +04:00
Andrey Epifancev
41f290c0e3 test(web): правки по триажу финального ревью (T5.1, T5.2, T7.1, T8.1, M-4, M-5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:32:16 +04:00
Andrey Epifancev
fbc14f6366 fix(web): вложения в ленте именем (I-1), один шаг при двойном «Назад» (M-1), разбор таблиц и {code} (T1.1, T1.2)
wikiPlain включает WikiOptions.anyAttachment: !имя! и [^имя] дают вложение без списка; карточка флаг не передаёт.
onBack защищён closingKey; в таблице [ парна, только если ближайшая скобка — ]; {code} из пробелов в одной строке не даёт pre.
Тесты: events, plain, parse, IssueModal (двойной «Назад», «Назад» при ошибке загрузки — T3.2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:32:16 +04:00
Andrey Epifancev
1fc1a326a9 Доска, проекты, поиск: два переключения не теряются, спринт эпика, «Повторить», фокус после «Очистить» (#124, #35 T4.1, #64 T9.1, M-6, #68 T3.3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:19:20 +04:00
Andrey Epifancev
43c1f830df Вложения: без прежней ошибки после повтора, 401 — экран входа, порядок хаба (#124, #86 T6.2, T6.3, M-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:09:13 +04:00
Andrey Epifancev
9966722820 Список задач: запрос после настроек, без мелькания «задач нет» (#124, #60 M-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:06:48 +04:00
Andrey Epifancev
231ca2f199 Состояние модулей: ответ опроса прежнего проекта не возвращает событие (#124, #116)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:03:32 +04:00
Andrey Epifancev
154cc88913 Окно карточки: поиск не закрывает окно, повторное закрытие игнорируется, фокус подтверждения ухода (#124, #42 M-1, M-2, M-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 00:59:03 +04:00
Andrey Epifancev
7b297fef23 Карточка: связь вне зеркала ведёт в Jira, «Назад» у окна 404, метки видов работ отдельно, пустое описание (#124, #42 M-5, #103, #56 M-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 00:54:25 +04:00
Andrey Epifancev
943763c774 Лента: текст комментария без вики-разметки Jira (#124, #103 С6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:58:07 +04:00
Andrey Epifancev
5c3fd4cc4d Вики-разметка: \#, макросы с параметрами, [~логин|текст], пробелы после {code}, непарная [ в таблице (#124, #56 M-5, M-6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:56:29 +04:00
Andrey Epifancev
29b3f95404 fix(web): «Сбросить фильтры» всегда на месте, без «Скрыть выполненные» на «Спринте» (#118)
Кнопка сброса больше не появляется и не исчезает — неактивна, пока фильтров нет,
панель не сдвигается. На «Спринте» выполненное скрывают колонкой «Выполнено»:
флажка нет, сохранённое hideDone не применяется (как на «Kanban»).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:17:32 +04:00
Andrey Epifancev
65e0945476 fix(web): значки типов разных цветов, панель фильтров в одну строку, правки minor финального ревью (#112, I-1, I-2, T5.1, M-1..M-4, M-7, M-8, T7.2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 21:38:46 +04:00
Andrey Epifancev
7a676d1fb1 fix(web): доска на узком окне — нижний край в окне; правки тестов Task 8 (#112, T8.1–T8.6)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 21:12:09 +04:00
Andrey Epifancev
f21dea39b6 test(web): e2e широкой доски и фильтров, сид WIDE_E2E, тесты AgileGate (#112, T9.4, T12.2–T12.4)
Также: шеврон свёртки секции «Бэклог» — свёрнуто вниз, развёрнуто вверх (T4.5).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 21:04:57 +04:00
Andrey Epifancev
2cd69bd4e8 fix(web): колонки доски — одна высота, прокрутка в окне, скрытие колонок (#112, T10.3)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:50:49 +04:00
Andrey Epifancev
f0bdb2bc63 test(web): сид WIDE_E2E — широкая scrum-доска (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:50:49 +04:00
Andrey Epifancev
d4d578e10e fix(web): «Спринт» — эпики остаются карточками, подпись пустого выбора, числа колонок в тесте (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:44:06 +04:00
Andrey Epifancev
dea051e7f9 feat(web): «Спринт» — выбор активных и будущих спринтов, фильтры (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:41:21 +04:00
Andrey Epifancev
f4c3bd50a5 feat(web): панель «Эпики» на «Бэклоге» (#112)
Панель эпиков слева (240px, на узком окне скрыта, вместо неё выбор «Эпик»),
кнопка «Эпики» в панели фильтров, фильтр эпика в том числе для прошлых спринтов.
Заодно T4.1 (регэксп секции), T4.6 (хелпер visible), T4.7 (проверка кнопок).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:35:35 +04:00
Andrey Epifancev
eae6ec317f feat(web): «Бэклог» — фильтры, свёртка секций, эпики не строками (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:30:51 +04:00
Andrey Epifancev
e79b073180 fix(web): тесты смены метки и сброса, hideDone без флажка (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:27:58 +04:00
Andrey Epifancev
3ba8f06637 feat(web): панель фильтров экранов доски (#112)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:26:01 +04:00
Andrey Epifancev
7fbc6bd574 fix(web): выбор спринтов при недопустимых id и восстановление испорченного хранилища (#112)
parseSprintIds: при отсутствии допустимых id — все активные (T2.1); токены
только десятичные (T2.3). saveView перезаписывает испорченный JSON (T2.2).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 20:23:42 +04:00
Andrey Epifancev
a29df27da9 feat(web): модель фильтров экранов доски и их запоминание (#112)
Чистая модель без UI: фильтры (q, исполнитель, эпик, скрыть выполненные),
списки опций, сводка эпиков, объединение задач спринтов, выбор спринтов
и разбор параметра sprint. Вид страниц хранится в localStorage под ключом
sdlc-hub-agile по метке проекта и странице; испорченное хранилище и ошибки
доступа дают значения по умолчанию.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-25 20:21:39 +04:00
Andrey Epifancev
815cd3885e feat(web): значки типов по образцу Jira и формат SP (#112, M-6)
- model.ts: fmtSp округляет до двух знаков (M-6); typeKind и isEpic по именам типов Jira без учёта регистра
- TypeIcon: квадрат 16 px, вид по typeKind, aria-label — исходное имя типа, без типа — «Тип не указан»
- icons.tsx: IconBookmark, IconCircle, IconSquares, IconDot; IconProps.size добавляет 12
- agile.css: фон значка — токены дизайн-системы, символ --color-text-on-primary

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-25 20:18:37 +04:00
Andrey Epifancev
26a4878782 Правки по финальному ревью: диапазоны чисел, strip, устойчивые тесты (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 20:51:20 +04:00
Andrey Epifancev
fe1d5926a5 e2e спринтов и бэклога, тестовый хаб с досками, документация (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 20:28:48 +04:00
Andrey Epifancev
611ed830c4 Веб: страница «Kanban» (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 20:21:04 +04:00
Andrey Epifancev
caf6ed43ae Веб: страница «Спринт» с колонками доски (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 20:11:52 +04:00
Andrey Epifancev
9212c19dcf Веб: токен эпика, проверка определённости var(--…), выделение в строке (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 20:02:12 +04:00
Andrey Epifancev
b5f5efef85 Веб: страница «Бэклог» и общие части экранов доски (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 19:52:24 +04:00
Andrey Epifancev
8062dc7668 Веб: «Связи» на /app/jira/links, условные пункты меню (#108)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 19:41:32 +04:00
Andrey Epifancev
a5d9526b4f Веб-сидер, фикстуры и README без статуса по факту (#104)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 17:06:26 +04:00
Andrey Epifancev
2bc43953dc fix(web-modules): M-1, M-2, M-7, M-8 трекер пакетов и сводка jira
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
36565d23b5 test(web-modules): I-4 адрес карточки /issues/KEY без project
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
f116be4f7f fix(web-modules): I-3 маркеры #68 M-2, #73 M-2, #94 T10.6/T10.7, proposal без незакрытых M-18/T9.1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
425d09eb45 fix(web-modules): I-2 порядок сводной точки по спеке, M-6, T2.3 поле jira_synced_at в модуль, M-4 мёртвый код, M-10 детекторы границы
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
47bba63d8b fix(web-modules): I-1 пакет вики инвалидирует весь wiki/<проект>, включая status
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
e2c925bff2 docs(web-modules): ARCHITECTURE, CLAUDE.md, README, e2e под модули
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
77ff12d54d fix(web-modules): липкая шапка «Задач», порядок вики по ширине контейнера, «, просрочено»
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
46a1857706 fix(web-modules): страницы модулей — шапки, «Вики» с корнем, просрочка, прокрутка «Задач»
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
15626aa33a feat(web-modules): «Новый проект» — поля по модулям, подсказки, пакеты каждому модулю
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
59f5cbef00 feat(web-modules): страница «Обзор» со сводками модулей и последними пакетами
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
bc367111a7 feat(web-modules): боковая панель по модулям, блок состояния, узкий экран, адреса модулей
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
4dbda116c0 fix(web-modules): подхват после 409 заменяет чужой отслеживаемый пакет (T3.I1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
112720ab1d feat(web-modules): состояние модуля в контракте, трекер пакетов и агенты в ядре
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00