Commit graph

  • dc885f36b4 docs(s28): incident 1780985101 — patch v2 watchdog run-level suppression main nns 2026-06-09 11:24:33 +0500
  • b3ed6796ce docs(s28): incident 1780974301 — false-positive из-за external network nns 2026-06-09 08:26:08 +0500
  • b52cfc0f79 docs(s27): финальные результаты 4h-soak — 718k iter, 0 mem leak nns 2026-06-09 07:25:06 +0500
  • ce7c5b2474 test(s28): acceptance script verify-sprint28.sh (5 checks) nns 2026-06-09 03:49:44 +0500
  • f6b50baa50 docs(s28): сводка interim soak (31min, 91k iter, 0 fail) + overnight work nns 2026-06-09 03:47:03 +0500
  • 05a34a7dd8 perf(s28): integration suite workers=2 (46% speedup 66→36s) nns 2026-06-09 03:45:41 +0500
  • 439301b92d docs: ONBOARDING sprint-history до 28 + quality marathon summary nns 2026-06-09 03:42:51 +0500
  • 99b84132ba fix(s28): api-reference handle ~/path ASP.NET convention nns 2026-06-09 03:41:15 +0500
  • 5b87b5d599 docs: README counts up to date (240 endpoints, 58 controllers, 13 jobs) nns 2026-06-09 03:39:35 +0500
  • ffb8456514 test: ApiReferenceDocsJob regex lock-down (Sprint 28) nns 2026-06-09 03:38:29 +0500
  • 4534f8e36c docs: update README sprint-history до Sprint 28 nns 2026-06-09 03:37:39 +0500
  • a80471d0f9 fix(security): add HSTS header on stage + integration test nns 2026-06-09 03:35:38 +0500
  • ed140cb819 docs(s28): api-reference 195→240 + observability + integration #7 + CI nns 2026-06-09 03:26:39 +0500
  • e30861fb57 feat(s27): cross-feature integration + soak + crash recovery (8/8 ✓) nns 2026-06-09 03:09:17 +0500
  • cf760fab10 feat(s26): flaky-test detection + observability dashboards (8/8 ✓ 10/10 cert) nns 2026-06-08 14:44:19 +0500
  • 019c57ae3b feat(s25): autonomous continuous quality monitoring (8/8) nns 2026-06-08 12:50:35 +0500
  • 4cc4922463 docs(s24): итог — 8/8 ✓ + coverage delta estimate +6-9% nns 2026-06-08 02:21:16 +0500
  • 72d0a71307 docs(s24): docs cross-check + auto-gen + onboarding + test gap-fill (8/8 ✓) nns 2026-06-08 02:15:56 +0500
  • 2bbd078659 docs(s23): итог — 4 bugs found, 4 fixed, all retested ✓ nns 2026-06-08 01:42:28 +0500
  • 284ad095c1 fix(s23): adversarial bug-hunt — 4 bugs found, all fixed nns 2026-06-08 01:35:50 +0500
  • b6f3c55d81 docs(s22): итог — 7/7 ✓ + 10/10 endpoint smoke + ARCHITECTURE финал nns 2026-06-07 23:14:42 +0500
  • 1af4290313 fix(s22): 1C-CSV detect charset из Content-Type + UpdatedAt в migration nns 2026-06-07 23:09:09 +0500
  • 4c1ac37a08 fix(s22): OrgExportJob.WriteCollection<T> — where T : class nns 2026-06-07 23:03:17 +0500
  • aa83f82dc5 feat(s22): data tooling — export/import + schema docs + anon dump (7 пунктов) nns 2026-06-07 23:00:54 +0500
  • 843fc4bd03 feat(s21): stage→prod migration toolchain (7 скриптов + workflow) nns 2026-06-07 22:31:10 +0500
  • fe87049be5 docs(s20): итог — 7/7 ✓ + 6/6 endpoint smoke + 10 recurring jobs зарегистрировано nns 2026-06-07 22:00:50 +0500
  • 346b7bfd48 feat(s20): Mapster + SSO scaffold + maintenance automation (7 пунктов) nns 2026-06-07 21:54:12 +0500
  • 7c57d0691b docs(s19): итог — 7/7 ✓ + 13/13 endpoint smoke + 14 UI specs nns 2026-06-07 21:23:02 +0500
  • 83793fd6dd fix(s19): SaleExportRow.Payment — string (enum), не decimal nns 2026-06-07 21:11:43 +0500
  • 6940aa40df feat(s19): bulk-операции + presets + power-user UX (7 пунктов) nns 2026-06-07 21:08:48 +0500
  • 00f248a460 docs(s18): итог — 7/7 ✓ + retest 5 stage scenarios + 44 UI specs nns 2026-06-07 19:10:08 +0500
  • 3c731ba532 fix(s18): audit-log employee filter — правильный endpoint и DTO nns 2026-06-07 19:01:13 +0500
  • 9bd4375ae4 feat(s18): TODO cleanup — P0 race fix + helpTooltip + whats-new + contrast + currency + audit filters + notifications nns 2026-06-07 18:50:35 +0500
  • f56c6efab1 feat(s17): onboarding wizard + help kb + feedback + diagnostic + whats-new nns 2026-06-07 17:04:26 +0500
  • 1989db32bb test(s16): regression suite 35 flows + visual 60 snapshots + nightly + CI badges nns 2026-06-07 16:14:02 +0500
  • 9588d03bf4 test(s15): axe a11y + focus traps + unit coverage 80% + property tests + backup drill nns 2026-06-07 14:53:38 +0500
  • e13dd6937f perf(s14): индексы + N+1 fix + bundle -50% + WebP variants + pool + Hangfire timing nns 2026-06-07 13:21:39 +0500
  • 8e54e2e0d6 feat(s13): security headers + rate-limits + sensitive-ops audit + session revoke + Grafana nns 2026-06-07 12:30:10 +0500
  • 97e26a65d5 docs(s12): ARCHITECTURE/MULTI-TENANCY/RUNBOOK/DEVELOPER-GUIDE + k6 baseline + stage-verify CI nns 2026-06-07 03:19:25 +0500
  • 0d3ef81f72 feat(s11): ОФД-scaffolding — IFiscalProvider + 4 провайдера + UI/тесты nns 2026-06-07 02:27:17 +0500
  • 786dacb081 feat(s10-4): dark mode полировка + Cmd+K палитра + аудит-spec nns 2026-06-06 01:30:41 +0500
  • f9fa028fe5 feat(s10-3): глобальная Cmd+K палитра + GET /api/search/global nns 2026-06-06 01:20:05 +0500
  • 1044818fbb feat(s10): year-demo seeder + 4 dashboard виджета + week-stats nns 2026-06-06 01:03:36 +0500
  • fd4d435658 test(verify-sprint): итог 78/78 stage-ui specs + V-13/14/15 verify specs + smtp4dev manual check nns 2026-06-04 22:25:41 +0500
  • 43a5552772 fix(stage-tests): IP-limit 60/min, locale ru-RU в playwright, исправлены payload'ы verify-spec'ов nns 2026-06-04 17:38:36 +0500
  • 9d48ca6483 fix(rate-limit): per-username 5/мин + per-IP 30/мин — brute-force на конкретный аккаунт ловится, CI/NAT не страдают nns 2026-06-04 17:20:28 +0500
  • ba54155225 fix(stage): rate-limit 5/min на /connect/token, nginx route /metrics+/swagger, Swagger в Production через IncludeSwagger nns 2026-06-04 01:36:42 +0500
  • a1cccdeef5 docs(sprint9): итог — все 4 пункта ✓, stage 8/8 e2e зелёные nns 2026-05-31 21:38:26 +0500
  • 12d833f035 fix(pwa): bump cache version + filter SignalR-race errors in PWA test nns 2026-05-31 21:33:02 +0500
  • 6f9dd11b0a fix(pwa): SW не вмешивается в /hubs/* — SignalR negotiate сломался nns 2026-05-31 21:28:06 +0500
  • 76a175f491 feat(pwa+mobile+s9): PWA owner read-only + mobile tweaks + S9 stage specs nns 2026-05-31 21:22:30 +0500
  • dc68c997c9 fix(loyalty): убрать unused imports (TS6133) nns 2026-05-31 21:10:44 +0500
  • 91128a7ed0 feat(loyalty+promotions): P2-12 + P2-13 — лояльность и промокоды (Sprint 9 п.1-2) nns 2026-05-31 21:06:10 +0500
  • a5314b5be9 test(s8-4): MinIO stage e2e + final progress nns 2026-05-31 20:25:19 +0500
  • 7de159d5f2 feat(storage): IObjectStorage abstraction (Local + MinIO) — P2-15 nns 2026-05-31 20:17:10 +0500
  • d451e77642 test(s8-3): i18n stage e2e nns 2026-05-31 20:09:40 +0500
  • 301bf15924 feat(i18n): react-i18next ru/en + language switcher (P2-6a — базовая) nns 2026-05-31 20:03:33 +0500
  • 749829c12f test(s8-2): telegram stage e2e nns 2026-05-31 19:57:03 +0500
  • 3088237ea7 feat(telegram): OwnerDailySummaryJob + bot binding (P2-14) nns 2026-05-31 19:50:33 +0500
  • abace49a45 test(s8-1): SignalR stage e2e + progress nns 2026-05-31 19:42:33 +0500
  • 2ea30bb30a deploy(nginx): /hubs/ → API с upgrade-хедерами для WebSocket nns 2026-05-31 19:38:04 +0500
  • dd2e1e7af2 feat(realtime): SignalR hub /hubs/notifications per-org + dashboard live nns 2026-05-31 19:29:59 +0500
  • 51aae4482f test(ui-deep): items 10-14 — все 59/59 ✓ на стейдже nns 2026-05-30 13:53:57 +0500
  • 8b6d139e3e test(ui-deep): items 6-9 — Supply/RetailSale/InventoryDocs/Reports nns 2026-05-30 13:37:01 +0500
  • b9d9174a61 test(ui-deep): items 4-5 specs + docs nns 2026-05-30 13:11:47 +0500
  • f36fb146b6 fix(employees): после create — invalidate list query (не показывался сразу) nns 2026-05-30 13:06:57 +0500
  • 87e60e7309 fix(employees): error display через humanizeError, не «Request failed» nns 2026-05-30 12:59:37 +0500
  • 64cc5b0d10 test(ui-deep): items 2-3 — navigation + Products CRUD nns 2026-05-30 12:52:10 +0500
  • 3cdb819331 fix(catalog): уберём cache-touch после Delete — просто navigate nns 2026-05-30 12:45:56 +0500
  • 61ca7fee90 fix(catalog): после Delete не refetch'аем удалённый товар nns 2026-05-30 12:39:39 +0500
  • eb867697d0 test(ui-deep): setup + Item 1 — signup flow (5 specs) nns 2026-05-30 12:33:10 +0500
  • cee92d86ce fix(catalog): ProductEditPage — race на currencies.data + читаемая ошибка nns 2026-05-30 12:27:07 +0500
  • 1418c79b04 fix(a11y): Modal — role=dialog + aria-modal + aria-label на крестике nns 2026-05-30 12:18:16 +0500
  • 64af42167b docs(sprint7): пункты 6-7 ✓ + итог по спринту nns 2026-05-30 11:52:00 +0500
  • c2ebbcc1bd fix(web): useShortcuts — бэр-клавиши не зависят от Shift nns 2026-05-30 11:47:09 +0500
  • 76cbe78257 feat(web): keyboard shortcuts на edit + list страницах + «?» overlay nns 2026-05-30 11:41:54 +0500
  • 821bc4ed8d feat(web): Breadcrumbs на edit-страницах (Каталог / Товары / Молоко 3.2%) nns 2026-05-30 11:25:32 +0500
  • 6fc74f8db6 docs(sprint7): пункт 5 ✓ + empty-state screenshot nns 2026-05-30 11:21:30 +0500
  • 8d532927e2 feat(web): Empty states с CTA на list-страницах nns 2026-05-30 11:16:11 +0500
  • cd83269d3a docs(sprint7): пункт 4 ✓ + skeleton screenshot nns 2026-05-30 11:07:54 +0500
  • faa13521e8 feat(web): loading skeletons вместо «Загрузка…» в DataTable + edit-pages nns 2026-05-30 11:03:08 +0500
  • 56dd9fb639 docs(sprint7): пункт 3 ✓ + toast screenshot script nns 2026-05-30 10:59:06 +0500
  • 27ce8dddfc feat(web): toast-система — error на 4xx/5xx + success на мутации (через meta) nns 2026-05-30 10:54:14 +0500
  • c201625b2b docs(sprint7): пункт 2 ✓ + screenshot script nns 2026-05-30 10:46:52 +0500
  • 17a6da2f8b feat(web): ConfirmDialog компонент + useConfirm hook вместо window.confirm() nns 2026-05-30 10:38:31 +0500
  • 26959d56d1 docs(sprint7): пункт 1 ✓ (demo-seeder) nns 2026-05-30 10:22:06 +0500
  • ad09b56013 feat(stage): demo-data seeder для test.admin.food-market.kz nns 2026-05-30 10:17:49 +0500
  • d89d6bf1dc docs(stage): итоговый отчёт — все 14 пунктов ✓ (94/94 шагов зелёные) nns 2026-05-29 17:59:04 +0500
  • a0b985178b test(stage): пункт 14 — POS Sync API 7/7 ✓ (sync + sales с idempotency) nns 2026-05-29 17:53:08 +0500
  • 466595b4d5 fix(swagger): operationId + schemaId — генерация OpenAPI работает nns 2026-05-29 17:51:23 +0500
  • 6b6f27d238 test(stage): пункт 12 — 2FA TOTP 6/6 ✓ (enroll+verify+login flow+disable) nns 2026-05-29 17:41:22 +0500
  • 6a5bb52b13 test(stage): пункт 11 — OrgAuditLog 7/7 ✓ + UTC fix nns 2026-05-29 17:39:54 +0500
  • 97d5ae5eb0 fix(reports): 3 фикса по итогам stage-тестирования nns 2026-05-29 17:35:31 +0500
  • 475c5ca674 test(stage): пункт 9 — Demand 8/8 ✓ (Cash + Credit + post + multi-tenant) nns 2026-05-29 17:23:03 +0500
  • 74e14ebeb5 test(stage): пункт 8 — SupplierReturn 8/8 ✓ (CRUD+Post+Unpost+ref validation+multi-tenant) nns 2026-05-29 17:21:30 +0500
  • 9df8e0123e test(stage): пункт 7 — CustomerReturn 6/6 ✓ (создание из чека+walk-in+overreturn+multi-tenant) nns 2026-05-29 17:10:08 +0500
  • 7d69006a94 test(stage): пункт 6 — Inventory 8/8 ✓ + logic gap по CSV-импорту nns 2026-05-29 17:05:28 +0500
  • 24c3ff1635 test(stage): пункт 5 — Transfer 7/7 ✓ (CRUD+atomic post+unpost+multi-tenant) nns 2026-05-29 17:01:48 +0500
  • d246354c20 test(stage): пункт 4 — Loss 8/8 ✓ (CRUD+Post+Unpost+multi-tenant) nns 2026-05-29 16:59:56 +0500
  • 96e0d84f86 docs(stage): пункт 3 done — Enter зелёный, EF8 фикс на 5 контроллеров nns 2026-05-29 16:57:59 +0500