diff --git a/CHANGELOG.md b/CHANGELOG.md index 1562103..6fae466 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [v1.5.0] — 2026-05-06 — Gap Analysis: 10 фичей и улучшений +## [v1.5.0] — 2026-05-06 — Gap Analysis: 11 фичей и улучшений ### Новые возможности @@ -60,6 +60,14 @@ - Backend: `PATCH /api/boards/:id/tasks/bulk`, `POST /api/boards/:id/tasks/bulk-delete` - RBAC: VIEWER получает 403, не-участник — 404 +#### Gap-11 — Аккордеон в «Мои задачи» (#145) +- **TaskAccordionPanel** — встроенная read-only панель деталей прямо в строке списка: описание, статус, дедлайн, исполнитель, теги +- Один аккордеон открыт за раз; повторный клик по открытой строке — закрывает +- **URL-синхронизация**: `?open=` — состояние восстанавливается при возврате со страницы доски (Browser Back) +- **BoardPage**: кнопка «← Мои задачи» при переходе с `from=my-tasks` +- **Безопасность**: `isSafeAvatarUrl` — разрешён только `https:` для src аватара +- Drawer «Мои задачи» (gap-01) заменён аккордеоном; gap-01 помечен superseded + ### Исправления и улучшения - **Activity feed**: человекочитаемые описания событий вместо технических полей (#135) @@ -67,6 +75,8 @@ - **@Упоминания**: синтаксис `@[Имя](userId)` в задачах и комментариях (#135) - **Колокольчик уведомлений**: дропдаун с превью и форматированием (#135) - **VIEWER-роль**: добавлена проверка в `reorderTasks` (ранее отсутствовала) (#141) +- **TypeScript** (#144): `emitMentionNotifications` в `tasks.service.ts` — добавлены обязательные поля `workspaceSlug` и `boardSlug`; `MentionTextarea.Props` — `maxLength`, `onKeyDown`, `onFocus`, `onBlur`; `CommentThread.Props` — `commentsTotal` +- **Тесты** (#144): `comments.test.ts` и `workspaces.test.ts` обновлены под paginated-ответ (`{ comments, total }` / `{ events, total }`) --- diff --git a/README.md b/README.md index ad226fb..95bd00d 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ - **Подзадачи** — до 5 уровней вложенности (materialized path), drawer drill-down - **Массовые операции** — выбор задач, batch-изменение статуса/приоритета/исполнителя, массовое удаление - **Глобальный поиск** — `Cmd+K` командная палитра, поиск задач по заголовку и issueKey +- **Мои задачи — аккордеон** — встроенная панель деталей прямо в списке (описание, статус, дедлайн, исполнитель, теги), синхронизация с URL (`?open=`) - **Уведомления** — @упоминания в задачах и комментариях, уведомление о назначении, email opt-out - **История статусов** — сегментные бары изменений в задаче и в дорожной карте - **Счётчики символов** — в комментариях и пунктах чеклиста с цветовой индикацией @@ -203,7 +204,8 @@ flow-tasks/ ## Changelog -### v1.5.0 — Gap Analysis: 10 улучшений (2026-05-06) +### v1.5.0 — Gap Analysis: 11 улучшений (2026-05-06) +- **Аккордеон в «Мои задачи»** (gap-11): детали задачи прямо в списке, синхронизация с URL - **Серверные фильтры** доски (gap-02): assignee/priority/status/label/due - **Счётчики символов** (gap-06): комментарии и чеклисты, предупреждение при >90% - **Ограничение вложенности** подзадач 5 уровней (gap-07) @@ -211,6 +213,7 @@ flow-tasks/ - **Глобальный поиск** Cmd+K (gap-09): командная палитра, поиск по задачам - **Массовые операции** (gap-10): bulk-update статуса/приоритета/исполнителя и bulk-delete до 100 задач - Исправлен IDOR для labels, валидация assigneeId в workspace, пагинация комментариев +- Исправлены TypeScript-ошибки (`emitMentionNotifications`), обновлены тесты под paginated API ### v1.4.0 — SSO, Security Hardening & E2E CI (2026-05-05) - SSO через Keycloak и Avanpost (OIDC/PKCE), JIT-провижининг, режим SSO_ONLY