food-market/tests
nns 63da7a9334 perf(pos): мгновенный старт — gzip-каталог, дельта остатков, синк вне UI-потока
Касса работает из локальной базы сразу; вся синхронизация — в фоне, UI не ждёт.
- HttpClient с AutomaticDecompression: сервер уже жмёт JSON (gzip), но касса не
  слала Accept-Encoding → каталог 30k ехал 22 МБ; теперь 3 МБ (×7.3).
- ApplySync: убран O(n²) скан цен (HashSet product-id) — запись 30k 12.2с → 1.8с.
- Остатки дельтой: PosSyncResponse.StocksFullSnapshot — первичная загрузка = полный
  снимок, далее только изменённые (ушедшие в 0 удаляются). Рекуррентный тик:
  остатков 30000→0, 806мс→189мс.
- Синк вне UI-потока (Task.Run) + маршалинг обновлений через Dispatcher: тяжёлая
  запись каталога/дельты никогда не фризит окно. Флаг анти-перекрытия тиков.
- Индикатор в шапке «обновлено N мин назад / обновляется…»; ненавязчивая полоса
  первичной загрузки (только когда каталог пуст), не модалка.
- Сервер: since нормализуется к UTC (был 500 от Npgsql на Kind=Unspecified).
- Тест POS-дельты остатков (upsert/zero-remove); oversell-тест кассы приведён к
  решению владельца (продажа в минус разрешена → Accepted + предупреждение).

Замеры (стенд, 30 000 товаров): первичная 14.9с→5.1с (сеть 3.2с + запись 1.8с),
тёплый старт 141мс, дельта без изменений 189мс, дельта 500 товаров ~0.35с.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-09 04:59:01 +05:00
..
e2e test(e2e): браузерный тест колокольчика — фоновый джоб кладёт агрегат минусов 2026-10-09 04:01:14 +05:00
fixtures fix(hotfix): invoice500 + фоновые 403 на reload + regression e2e 2026-10-05 00:21:41 +05:00
food-market.IntegrationTests perf(pos): мгновенный старт — gzip-каталог, дельта остатков, синк вне UI-потока 2026-10-09 04:59:01 +05:00
food-market.UnitTests perf(pos): мгновенный старт — gzip-каталог, дельта остатков, синк вне UI-потока 2026-10-09 04:59:01 +05:00
integration perf(s28): integration suite workers=2 (46% speedup 66→36s) 2026-06-09 03:45:41 +05:00
load docs(s27): финальные результаты 4h-soak — 718k iter, 0 mem leak 2026-06-09 07:25:06 +05:00
regression feat(s26): flaky-test detection + observability dashboards (8/8 ✓ 10/10 cert) 2026-06-08 14:44:19 +05:00
scripts feat(menu): новые экраны s31 в sidebar+Cmd+K+Cmd+J + split-кнопки, orphan-audit 2026-10-04 22:50:14 +05:00
stage-smoke.sh docs(s12): ARCHITECTURE/MULTI-TENANCY/RUNBOOK/DEVELOPER-GUIDE + k6 baseline + stage-verify CI 2026-06-07 03:19:25 +05:00