Skip to content

v0.5.0: Конвейер проекта, рабочий стол и доска заявок

Choose a tag to compare

@onixus onixus released this 15 Sep 08:20
· 225 commits to main since this release

EvaCal v0.5.0 — конвейер проекта, рабочий стол и доска заявок

Релиз собирает всё, что вошло в main после v0.4.1: PR #87.
Главное: у проекта появился явный жизненный цикл от расчёта до сделки,
а интерфейс перестроен вокруг него — рабочий стол, реестр проектов, карточка
проекта и канбан-доска показывают один и тот же этап и срок на нём.

Новое

  • Конвейер проекта (lib/lifecycle.ts). Восемь шагов: расчёт →
    согласование → утверждена → комплект → нормоконтроль → ревью ГАП →
    выпущен → сделка. Для каждого проекта известен текущий шаг, дата входа
    в него (новая колонка stageEnteredAt, которую пишут все переходы
    статуса), число дней с порогами «висит» по шагу, тревога (возвращён,
    завис, пауза, проигрыш) и следующее действие.
  • Рабочий стол / для всех ролей: конвейер по портфелю, очередь роли
    на сегодня, проекты, требующие внимания. Архив расчётов переехал в
    /calculations.
  • Карточка проекта со степпером этапов и кнопкой следующего действия;
    реестр проектов с колонкой «Этап», фильтром по этапу и колонкой
    «Дальше».
  • Доска заявок /board для архитектора, тех.писателя, ГАП, рецензента
    и администратора: дорожка смет (черновик → на утверждении → утверждена)
    и дорожка комплектов (черновик → нормоконтроль → ревью ГАП → возвращён /
    утверждён). Перетаскивание карточки в соседнюю колонку — вердикт на своём
    этапе через существующие API с подтверждением; замечание обязательно при
    возврате.
  • Фильтры живут в URL и применяются сразу (чипы и поиск с задержкой)
    на реестре проектов, расчётах, аналитике, ресурсном плане и рейтинге.
  • Единый набор экранов: PageHeader, классы .page, .tab-bar,
    .table-list, .filter-chip, компактные кнопки по умолчанию,
    сгруппированный сайдбар, заголовки шапки из навигации роли.
  • Администратор — надмножество всех ролей: все разделы и обе очереди
    ревью. Пресейл открывает реестр проектов и заводит проекты.

Исправления

  • Safari зацикливал вход на http://localhost: production-сборка по
    plain-http на localhost больше не ставит Secure-cookie
    (FORCE_SECURE_COOKIES=true возвращает строгий режим).
  • Таблицы рейтинга вылезали за карточку в Safari; карточки пресетов и
    панели студии оставались белыми в тёмной теме (nord-dark не существовал).
  • Правки по код-ревью: проверка параметра этапа, двухпроходная выборка при
    фильтре по этапу, кэш сводки портфеля, параллельные запросы доски.

Удалено

  • Тема Dark Fantasy, компаньон, пасхалка, портреты героинь и их медиа.
    Остались светлая и тёмная (Nord); старое сохранённое значение темы
    читается как тёмная.

Документация и тесты

  • README и «Маршрутный лист новичка» описывают конвейер, рабочий стол и
    доску; скриншоты в docs/screenshots/.
  • E2E: общие хелперы, сценарий «Северный банк» под новый UI, новый сценарий
    ui-pipeline (фильтры, доска, утверждение сметы перетаскиванием);
    E2E_NO_WEBSERVER=1 и BASE_URL для прогона против запущенного стенда.

Обновление

Миграция PostgreSQL 20260915010000_stage_entered_at добавляет
stageEnteredAt в Calculation и GostPackage; применяется контейнером
migrate при старте (SQLite — npm run db:sync). Значения для старых
записей не заполняются: срок считается по прежним эвристикам до первого
перехода статуса.