Files
QuoteForge/releases/v2.23/RELEASE_NOTES.md
Mikhail Chusavitin 3788492089 docs: release notes v2.23
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 10:32:57 +03:00

2.8 KiB
Raw Blame History

QuoteForge v2.23

Дата релиза: 2026-06-26 Тег: v2.23

Что нового

Исправления

  • Конфигуратор больше не зависает на «Загрузка...». При открытии сохранённой конфигурации поле category у позиций корзины было undefinedconfig.items хранятся только lot_name/quantity/unit_price), что приводило к TypeError в JS. Теперь после загрузки allComponents корзина обогащается категориями из справочника компонентов.

  • Регистронезависимые сравнения категорий в конфигураторе. Все сравнения category переведены на хелпер ciStr() вместо принудительного .toUpperCase() — интерфейс показывает категории как есть, логика сравнения регистронезависима.

  • Вкладка Other показывает только компоненты без назначенной категории. Исправлена ошибка при которой компоненты DKC/CTL/ENC попадали в Other при режиме «server»: ASSIGNED_CATEGORIES пересобирался из отфильтрованного списка, а не из полного статического. Теперь используется _allCategories.

  • Исправлена ошибка «record not found» при синхронизации проектов. UpsertByUUID передавал ненулевой ID в INSERT … ON DUPLICATE KEY UPDATE, из-за чего MariaDB разрешала коллизию по первичному ключу чужой строки, не обновляя uuid, — последующий SELECT не находил запись. Теперь project.ID сбрасывается в 0 до вставки.

  • Устранён бесконечный retry при ошибках синхронизации на стороне сервера. RepairPendingChanges сбрасывал счётчик попыток даже если локальные данные не менялись, что создавало бесконечный цикл при серверных ошибках. Repair-функции теперь возвращают (bool, error) и сброс происходит только при modified=true.

Запуск на macOS

Снимите карантинный атрибут через терминал: xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.