Files
QuoteForge/releases/v1.0.3/RELEASE_NOTES.md
2026-02-06 14:04:06 +03:00

2.9 KiB
Raw Blame History

QuoteForge v1.0.3

Дата релиза: 2026-02-06 Тег: v1.0.3 Диапазон изменений: v1.0.2..v1.0.3

Что нового

  • Добавлена страница управления проектами /projects с:
    • датой и временем создания проекта;
    • сортировкой по названию и дате создания;
    • серверной пагинацией;
    • фильтром по автору в заголовке таблицы.
  • Добавлена отдельная вкладка Статус синхронизации на уровне Алерты / Компоненты / Прайслисты.
  • Во вкладке статуса синхронизации отображаются:
    • пользователь;
    • версия приложения;
    • статус (онлайн или относительное время последней синхронизации).

Изменения синхронизации

  • Реализован heartbeat синхронизации пользователей в MariaDB: qt_pricelist_sync_status.
  • Добавлен API GET /api/sync/users-status для UI статуса синхронизации.
  • Логика онлайн-статуса рассчитана от интервала фоновой синхронизации: 5 минут + 10%.
  • В heartbeat фиксируется версия приложения (app_version).

Важные исправления

  • Исправлено восстановление отсутствующей серверной конфигурации при push обновлений.
  • Исправлено экранирование паролей в MySQL DSN в setup.
  • Улучшена логика запуска SQL-миграций на старте при отсутствии прав/необходимости.
  • Обновлена логика пересчета прайслистов через админский price-refresh.

Миграции и совместимость

Добавлены SQL-миграции:

  • migrations/010_add_pricelist_sync_status.sql
  • migrations/011_add_app_version_to_pricelist_sync_status.sql

Релиз совместим с предыдущей веткой v1.0.x; новая таблица синхронизации создается автоматически.

Коммиты в релизе

  • b1b50ce Add projects table controls and sync status tab with app version
  • 6ab1e98 sync: recover missing server config during update push
  • a1d2192 Fix MySQL DSN escaping for setup passwords and clarify DB user setup
  • a90c07c update stale files list
  • e9307c4 Apply remaining pricelist and local-first updates
  • 1b48401 Use admin price-refresh logic for pricelist recalculation
  • 4a86f7b fix: skip startup sql migrations when not needed or no permissions