# QuoteForge v1.2.1

**Дата релиза:** 2026-02-09
**Тег:** `v1.2.1`
**GitHub:** https://git.mchus.pro/mchus/QuoteForge/releases/tag/v1.2.1

## Резюме

Быстрый патч-релиз, исправляющий регрессию в конфигураторе после рефактора v1.2.0. После удаления поля `CurrentPrice` из компонентов, autocomplete перестал показывать компоненты. Теперь используется на-demand загрузка цен через API.

## Что исправлено

### 🐛 Configurator Component Substitution (acf7c8a)
- **Проблема:** После рефактора в v1.2.0, autocomplete фильтровал ВСЕ компоненты, потому что проверял удаленное поле `current_price`
- **Решение:** Загрузка цен на-demand через `/api/quote/price-levels`
  - Добавлен `componentPricesCache` для кэширования цен в памяти
  - Функция `ensurePricesLoaded()` загружает цены при фокусе на поле поиска
  - Все 3 режима autocomplete (single, multi, section) обновлены
  - Компоненты без цен по-прежнему фильтруются (как требуется), но проверка использует API
- **Затронутые файлы:** `web/templates/index.html` (+66 строк, -12 строк)

## История v1.2.0 → v1.2.1

Всего коммитов: **2**

| Хеш | Автор | Сообщение |
|-----|-------|-----------|
| `acf7c8a` | Claude | fix: load component prices via API instead of removed current_price field |
| `5984a57` | Claude | refactor: remove CurrentPrice from local_components and transition to pricelist-based pricing |

## Тестирование

✅ Configurator component substitution работает
✅ Цены загружаются корректно из pricelist
✅ Offline режим поддерживается (цены кэшируются после первой загрузки)
✅ Multi-pricelist поддержка функциональна (estimate/warehouse/competitor)

## Breaking Changes

Нет критических изменений для конечных пользователей.

⚠️ **Для разработчиков:** `ComponentView` API больше не возвращает `CurrentPrice`.

## Миграция

Не требуется миграция БД — все миграции были применены в v1.2.0.

## Установка

### macOS

```bash
# Скачать и распаковать
tar xzf qfs-v1.2.1-darwin-arm64.tar.gz  # для Apple Silicon
# или
tar xzf qfs-v1.2.1-darwin-amd64.tar.gz  # для Intel Mac

# Снять ограничение Gatekeeper (если требуется)
xattr -d com.apple.quarantine ./qfs

# Запустить
./qfs
```

### Linux

```bash
tar xzf qfs-v1.2.1-linux-amd64.tar.gz
./qfs
```

### Windows

```bash
# Распаковать qfs-v1.2.1-windows-amd64.zip
# Запустить qfs.exe
```

## Известные проблемы

Нет известных проблем на момент релиза.

## Поддержка

По вопросам обращайтесь: [@mchus](https://git.mchus.pro/mchus)

---

*Отправлено с ❤️ через Claude Code*
