Skip to content

Releases: NovakPAai/flow-tasks

v1.6.0 — Security Hardening: gaps 12–21

08 May 08:31

Choose a tag to compare

Что нового

Security Hardening — 10 gap-закрытий по результатам ИБ-аудита.

Gap-12 — WorkspaceSettingsPage ghost-lock fix

  • Страница настроек больше не показывает «Нет доступа» владельцам во время загрузки
  • Fallback на кешированную роль из workspace list до завершения запроса

Gap-13 — SSO MFA enforcement (AMR claim)

  • Проверка amr[] при SSO-входе: требуется totp/mfa в id_token
  • Grace period 7 дней (MFA_GRACE_DAYS), confirm-модал при отключении MFA
  • AuditLog: mfa.setup.complete, mfa.disable

Gap-14 — Rate-limit IP bypass

  • Лимит ключуется по email, а не по IP — ротация X-Forwarded-For больше не обходит защиту

Gap-15 — Email enumeration prevention

  • POST /api/auth/register возвращает одинаковый ответ для всех случаев
  • hashPassword выполняется всегда (защита от timing side-channel)

Gap-16 — Account disabled check

  • JWT middleware проверяет isActive на каждый запрос → 403 ACCOUNT_DISABLED

Gap-17 — SIEM mandatory fields

  • Все AuditLog-события содержат meta.tags: ['flowtasks', type, 'iia', 'production', 'dc1']

Gap-18 — Role change audit

  • rbac.role.change при изменении роли участника воркспейса

Gap-19 — API key audit

  • auth.apikey.use / auth.apikey.fail при аутентификации по API-ключу

Gap-20 — Config change audit

  • admin.config.change при изменении настроек через панель суперадмина

Gap-21 — Validation error audit

  • validation.error для обнаружения зондирования через аномальные запросы

📄 Полная документация · CHANGELOG

v1.5.0 — Gap Analysis: 11 улучшений

06 May 20:18
7672c90

Choose a tag to compare

FlowTask — v1.5.0
2026-05-06

Что нового:
• [Новое] Аккордеон в «Мои задачи» (#145): TaskAccordionPanel с деталями задачи прямо в строке списка (описание, статус, дедлайн, исполнитель, теги); один открыт за раз; URL-синхронизация ?open=; кнопка «← Мои задачи» на доске
• [Новое] Массовые операции (#141): множественный выбор в Kanban и List View, BulkActionBar, bulk-update статуса/приоритета/исполнителя и bulk-delete до 100 задач; каскадное удаление подзадач
• [Новое] Глобальный поиск Cmd+K (#140): CommandPalette по Cmd+K / Ctrl+K, поиск по заголовку и issueKey, дебаунс 300ms, rate-limit 30/min
• [Новое] Триггеры уведомлений + email opt-out (#139): @упоминания в описании задачи, уведомление о назначении исполнителя, кнопка opt-out в профиле
• [Новое] Ограничение вложенности подзадач до 5 уровней (#138): backend 400 при превышении, frontend отключает кнопку с тултипом
• [Новое] Счётчики символов (#137): комментарии (лимит 10 000) и пункты чеклиста (лимит 500); жёлтый >90%, красный — лимит
• [Новое] Серверные фильтры доски (#133): assigneeId, priority, statusId, labelId, dueBefore/dueAfter; параметры синхронизируются с URL
• [Новое] Пагинация (#135): курсорная пагинация комментариев (кнопка «Загрузить ещё»), пагинация задач в List View
• [Новое] Валидация assigneeId (#134): исполнитель обязан быть участником воркспейса; backend возвращает 400
• [Исправление] Labels IDOR (#128): прикрепление метки проверяет принадлежность задачи воркспейсу и членство пользователя
• [Исправление] TypeScript (#144): emitMentionNotifications в tasks.service — добавлены workspaceSlug и boardSlug; MentionTextarea.Props — maxLength, onKeyDown, onFocus, onBlur; тесты комментариев и истории под paginated-ответ
• [Улучшение] Activity feed: человекочитаемые описания событий; @упоминания синтаксис @Имя; колокольчик уведомлений с дропдауном и превью

v1.4.0 — SSO, Security Hardening & E2E CI

06 May 11:34
775e51b

Choose a tag to compare

FlowTask — v1.4.0
2026-05-05

Что нового:
• [Новое] SSO — Keycloak и Avanpost (#121): аутентификация через OIDC/PKCE, JIT-провижининг (автосоздание пользователя при первом входе), режим SSO_ONLY (отключает логин по паролю), маппинг claims (имя, email, аватар)
• [Новое] Security Hardening — 8 этапов (#120): API-ключи и токены сброса пароля хранятся только как SHA-256-хэш; атомарное LRU-вытеснение сессий (MAX_SESSIONS=5); rate-limit на Redis sliding window с graceful degradation; structured logger с redact PII; audit log (модель AuditLog, эндпоинт GET /api/admin/audit-log)
• [Новое] Email-провайдер (#120): nodemailer SMTP для сброса пароля; graceful degradation если SMTP не настроен
• [Новое] CI/CD (#120): vitest coverage с порогами (lines 60%, branches 50%, functions 60%); E2E job в CI на PR и main; RBAC static check — блокирует CI при отсутствии authenticate на роутере
• [Исправление] Диалог редактирования колонок (#122): ширина 75vw вместо фиксированных 640px
• [Исправление] StrictMode double-loadUser (#123): useRef-гард предотвращает двойной refreshToken() в React StrictMode — устраняет редиректы на /login
• [Исправление] Lint (#118): устранены все ESLint-предупреждения; FilterState перенесена в types/index.ts
• [Исправление] Мобильная вёрстка (#117): скелетон-грид, дублирующиеся Cache-Control, idle session timeout

v1.3.0 — Mobile UX & Admin improvements

25 Apr 21:36
cdba1bc

Choose a tag to compare

Что нового

Mobile UX (#101, #102, #103)

  • FeedbackFAB — плавающая кнопка обратной связи теперь на всех страницах (включая login/reset), только для авторизованных пользователей
  • Landscape-режим — компактный топбар 40px на iPhone в горизонтальной ориентации, корректная обработка notch (safe-area-inset), viewport-fit=cover
  • AdminUsers таблица — горизонтальный скролл на мобиле, hover-подсветка через React state

Security & Quality

  • z-index FAB снижен с 1000 до 300 (не перекрывает модалки Ant Design)
  • svg aria-hidden="true" для доступности
  • Типизация тестов: vi.mocked вместо небезопасного cast

Предыдущие релизы

v1.2.0 — Roadmaps & Subtasks (2026-04-25)

  • RoadmapView с зумом (неделя / месяц / квартал), раскрывашки подзадач, overdue-хвост
  • SubtaskDrawer drill-down
  • История статусов — сегментные бары
  • Workspace Dashboard + Roadmaps Hub

v1.1.0 — Spaces & Polish (2026-04-20)

  • Приватные воркспейсы и доски
  • API Keys в профиле
  • Adaptive layout 3-tier

v1.0.0 — UI Kit 2.0 (2026-04-11)

  • Dual theme (dark/light), нулевые Ant Design компоненты

v1.0.0 — UI Kit 2.0: zero Ant Design, dual theme

11 Apr 10:13

Choose a tag to compare

UI Kit 2.0 — Custom Design System

Ant Design layout is gone. Every UI component — AppLayout, Sidebar, Topbar, cards, inputs — was rebuilt from scratch with Paper design tokens.

What's new

  • Custom component library — zero Ant Design layout; only antd/message kept for notifications
  • Dual theme — proper dark and light mode via CSS custom properties, toggle in the topbar
  • Space Grotesk — new typeface across the entire app
  • Cosmic login page — SVG illustration, clean dual-theme splash

Why this matters

The previous UI was visually inconsistent and hard to theme. Now there's a single design token layer that controls everything — changing the look takes one CSS variable, not 40 overrides.

v0.9.0 — Phase 8: Deploy infrastructure

11 Apr 10:13

Choose a tag to compare

Phase 8 — Deploy Infrastructure

The app is now running in production and staying there.

PM2 keeps it alive, nginx handles the traffic, GitHub Actions ships every merge to main automatically.

New features

  • PM2 — process management with auto-restart on crash, startup scripts, log rotation
  • nginx — reverse proxy, SSL termination, static asset serving; the right tool in front of Node
  • GitHub Actions CI/CD — lint → test → build → SSH deploy → restart; one merged PR, one deploy
  • Environment management.env files per environment (dev / staging / prod), secrets injected via GitHub Secrets; no credentials in the repo

Before / after

Before: ssh server && pm2 restart app after every change.
After: merge the PR, go get coffee.

v0.8.0 — Phase 7: SubtaskTree + Onboarding

11 Apr 10:13

Choose a tag to compare

Phase 7 — SubtaskTree + Onboarding

Big tasks need to break down. And new users need a hand.

Subtasks are now a proper tree — recursive nesting, collapsible, visible in the task detail. And new users get a spotlight walkthrough that shows them exactly where to look.

New features

  • Subtask tree — recursive nesting, collapse/expand per level, full tree view in the task drawer; a parent task shows completion based on its children
  • WorkspaceHistory — a sidebar panel showing recently visited issues and boards per workspace; pick up where you left off
  • Spotlight onboarding — step-by-step overlay that highlights the actual UI element you need to interact with; not a video, not a modal wall — just "click here, then here"

v0.7.0 — Phase 6: WorkflowEditor + DnD

11 Apr 10:13

Choose a tag to compare

Phase 6 — WorkflowEditor + DnD improvements

Now you can see and edit your workflow visually, not just configure it through API payloads.

Also: drag-and-drop stops randomly breaking.

New features

  • WorkflowEditor — drag status columns to reorder them, add and remove statuses, set which transitions are allowed — all in a visual editor, no code required
  • Settings tabs — General / Members / Workflows / Danger zone; clean separation, nothing buried
  • DnD — cross-column task dragging stabilized; optimistic updates applied so the UI doesn't flicker while the server confirms

v0.6.0 — Phase 5: AppLayout + Workspace Settings

11 Apr 10:12

Choose a tag to compare

Phase 5 — AppLayout + Workspace Settings + Task History

The app now has a real shell: persistent sidebar, proper topbar, breadcrumbs that actually tell you where you are.

Plus workspace settings you can actually change, and a history log so nothing disappears into thin air.

New features

  • AppLayout — persistent sidebar navigation, responsive topbar, breadcrumb trail; the skeleton the whole UI now hangs on
  • Workspace settings — manage members, assign roles, configure workflow access, edit workspace metadata — all without digging through a modal
  • Task history — every field change is logged with who changed it and when; "who moved this to Done at 2am?" is now answerable

v0.5.0 — Phase 4: Labels, Comments, Checklists

11 Apr 10:12

Choose a tag to compare

Phase 4 — Labels, Comments, Checklists, Filters

The features that turn a task tracker into a collaboration tool.

Labels for categorisation, comments for discussion, checklists for the granular stuff, and a FilterBar so you can actually find what you need.

New features

  • Labels — color-coded tags, multi-label per task, workspace-level label library; consistent taxonomy across the whole workspace
  • Comments — threaded comments on tasks with timestamps and author; mention anyone with @
  • Checklists — sub-item lists inside tasks with a progress bar; great for QA steps and acceptance criteria
  • FilterBar — filter by assignee, label, priority, due date, status; filters stack