• v2.23 f7d26a28f8

    QuoteForge v2.23

    mchus released this 2026-06-26 10:30:31 +03:00 | 3 commits to main since this release

    Дата релиза: 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.

    Downloads