• Joined on 2026-04-23
nns pushed to main at nns/food-market 2026-05-31 21:38:29 +05:00
a1cccdeef5 docs(sprint9): итог — все 4 пункта ✓, stage 8/8 e2e зелёные
nns pushed to main at nns/food-market 2026-05-31 21:33:04 +05:00
12d833f035 fix(pwa): bump cache version + filter SignalR-race errors in PWA test
nns pushed to main at nns/food-market 2026-05-31 21:28:09 +05:00
6f9dd11b0a fix(pwa): SW не вмешивается в /hubs/* — SignalR negotiate сломался
nns pushed to main at nns/food-market 2026-05-31 21:22:31 +05:00
76a175f491 feat(pwa+mobile+s9): PWA owner read-only + mobile tweaks + S9 stage specs
nns pushed to main at nns/food-market 2026-05-31 21:10:46 +05:00
dc68c997c9 fix(loyalty): убрать unused imports (TS6133)
nns pushed to main at nns/food-market 2026-05-31 21:06:13 +05:00
91128a7ed0 feat(loyalty+promotions): P2-12 + P2-13 — лояльность и промокоды (Sprint 9 п.1-2)
nns pushed to main at nns/food-market 2026-05-31 20:25:23 +05:00
a5314b5be9 test(s8-4): MinIO stage e2e + final progress
nns pushed to main at nns/food-market 2026-05-31 20:17:13 +05:00
7de159d5f2 feat(storage): IObjectStorage abstraction (Local + MinIO) — P2-15
nns pushed to main at nns/food-market 2026-05-31 20:09:42 +05:00
d451e77642 test(s8-3): i18n stage e2e
nns pushed to main at nns/food-market 2026-05-31 20:03:35 +05:00
301bf15924 feat(i18n): react-i18next ru/en + language switcher (P2-6a — базовая)
nns pushed to main at nns/food-market 2026-05-31 19:57:05 +05:00
749829c12f test(s8-2): telegram stage e2e
nns pushed to main at nns/food-market 2026-05-31 19:50:40 +05:00
3088237ea7 feat(telegram): OwnerDailySummaryJob + bot binding (P2-14)
nns pushed to main at nns/food-market 2026-05-31 19:42:35 +05:00
abace49a45 test(s8-1): SignalR stage e2e + progress
nns pushed to main at nns/food-market 2026-05-31 19:38:06 +05:00
2ea30bb30a deploy(nginx): /hubs/ → API с upgrade-хедерами для WebSocket
nns pushed to main at nns/food-market 2026-05-31 19:30:06 +05:00
dd2e1e7af2 feat(realtime): SignalR hub /hubs/notifications per-org + dashboard live
nns pushed to main at nns/food-market 2026-05-30 13:54:01 +05:00
51aae4482f test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже
nns pushed to main at nns/food-market 2026-05-30 13:37:04 +05:00
8b6d139e3e test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports
nns pushed to main at nns/food-market 2026-05-30 13:11:50 +05:00
b9d9174a61 test(ui-deep): items 4-5 specs + docs
f36fb146b6 fix(employees): после create — invalidate list query (не показывался сразу)
87e60e7309 fix(employees): error display через humanizeError, не «Request failed»
Compare 3 commits »
nns pushed to main at nns/food-market 2026-05-30 12:52:12 +05:00
64cc5b0d10 test(ui-deep): items 2-3 — navigation + Products CRUD
3cdb819331 fix(catalog): уберём cache-touch после Delete — просто navigate
61ca7fee90 fix(catalog): после Delete не refetch'аем удалённый товар
Compare 3 commits »
nns pushed to main at nns/food-market 2026-05-30 12:33:26 +05:00
eb867697d0 test(ui-deep): setup + Item 1 — signup flow (5 specs)
cee92d86ce fix(catalog): ProductEditPage — race на currencies.data + читаемая ошибка
1418c79b04 fix(a11y): Modal — role=dialog + aria-modal + aria-label на крестике
Compare 3 commits »