Commit Graph

1151 Commits

Author SHA1 Message Date
6dbf335d8b backup: n8n workflows + pg dump 20260814_020001 2026-08-14 02:00:09 +00:00
0459889213 backup: n8n workflows + pg dump 20260813_020001 2026-08-13 02:00:09 +00:00
1249ccd7ce backup: n8n workflows + pg dump 20260812_020001 2026-08-12 02:00:08 +00:00
b0bf4d4ede backup: n8n workflows + pg dump 20260811_020001 2026-08-11 02:00:10 +00:00
6e6c5d64ab backup: n8n workflows + pg dump 20260810_020001 2026-08-10 02:00:08 +00:00
b14c59b9fa backup: n8n workflows + pg dump 20260809_020001 2026-08-09 02:00:08 +00:00
1926fa9a7d backup: n8n workflows + pg dump 20260808_020001 2026-08-08 02:00:06 +00:00
b12f2aa86d backup: n8n workflows + pg dump 20260807_020002 2026-08-07 02:00:12 +00:00
534786425e backup: n8n workflows + pg dump 20260806_020001 2026-08-06 02:00:09 +00:00
b248912972 backup: n8n workflows + pg dump 20260805_020001 2026-08-05 02:00:08 +00:00
0e3c44986c backup: n8n workflows + pg dump 20260804_020001 2026-08-04 02:00:05 +00:00
9fd72d0e16 backup: n8n workflows + pg dump 20260803_020001 2026-08-03 02:00:07 +00:00
7d06729971 backup: n8n workflows + pg dump 20260802_020001 2026-08-02 02:00:10 +00:00
00292424e2 backup: n8n workflows + pg dump 20260801_020001 2026-08-01 02:00:13 +00:00
7dc311c399 backup: n8n workflows + pg dump 20260731_020001 2026-07-31 02:00:09 +00:00
143dd402e9 backup: n8n workflows + pg dump 20260730_020001 2026-07-30 02:00:09 +00:00
eed56f5327 backup: n8n workflows + pg dump 20260729_020001 2026-07-29 02:00:08 +00:00
8e789f5ec2 backup: n8n workflows + pg dump 20260728_020001 2026-07-28 02:00:10 +00:00
b16364623c backup: n8n workflows + pg dump 20260727_020001 2026-07-27 02:00:09 +00:00
61ed35e1b2 backup: n8n workflows + pg dump 20260726_020001 2026-07-26 02:00:09 +00:00
28d983e7a1 backup: n8n workflows + pg dump 20260725_020001 2026-07-25 02:00:09 +00:00
4d43707816 feat(ops): SPEC-PAUSE-1 Phase 1 — master kill-switches outbound + crons
Two env flags to put the VPS in sleep mode:
- OUTBOUND_COMMS_ENABLED=false gates all 4 outbound channels (Email, Telegram, PWA Push, MAX) at the send primitive level, returning simulated success
- AUTONOMOUS_CRONS_ENABLED=false prevents all 23 crons from starting at boot

Both default to true (no behavioral change without explicit opt-in).
Boot log lists all non-armed crons when disabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-24 18:47:12 +04:00
5a23e3ce56 fix(inbound-email): auto-retry ERROR emails + admin retry-errors endpoint
- Add 48h auto-retry window: ERROR records < 48h are deleted and
  re-processed before each ingest tick (retryRecentErrors)
- Add retryAllErrors() method for admin-triggered retry of all ERROR
  records regardless of age (opens its own IMAP connection)
- Add POST /inbound-emails/retry-errors ADMIN-only route
- Fixes: 4 emails stuck in ERROR since 2026-07-02 were permanently
  lost because processMessage skipped all existing records

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-24 18:27:52 +04:00
b12ea142e2 backup: n8n workflows + pg dump 20260724_020001 2026-07-24 02:00:07 +00:00
2e86144542 backup: n8n workflows + pg dump 20260723_020001 2026-07-23 02:00:09 +00:00
78b9a3dfac backup: n8n workflows + pg dump 20260722_020002 2026-07-22 02:00:08 +00:00
1bc0b33bd9 backup: n8n workflows + pg dump 20260721_020001 2026-07-21 02:00:07 +00:00
3ae071fa9d backup: n8n workflows + pg dump 20260720_020001 2026-07-20 02:00:06 +00:00
d74d61b16b backup: n8n workflows + pg dump 20260719_020001 2026-07-19 02:00:08 +00:00
2317f01398 backup: n8n workflows + pg dump 20260718_020001 2026-07-18 02:00:07 +00:00
43768449be backup: n8n workflows + pg dump 20260717_020002 2026-07-17 02:00:08 +00:00
5a5a331306 backup: n8n workflows + pg dump 20260716_020002 2026-07-16 02:00:08 +00:00
4a9e56dfb1 backup: n8n workflows + pg dump 20260715_020001 2026-07-15 02:00:04 +00:00
52310524db backup: n8n workflows + pg dump 20260714_020002 2026-07-14 02:00:08 +00:00
032bb1ec90 backup: n8n workflows + pg dump 20260713_020001 2026-07-13 02:00:08 +00:00
e2df9168c9 backup: n8n workflows + pg dump 20260712_020001 2026-07-12 02:00:03 +00:00
a3885121b9 backup: n8n workflows + pg dump 20260711_020002 2026-07-11 02:00:07 +00:00
5918a66db1 backup: n8n workflows + pg dump 20260710_020001 2026-07-10 02:00:06 +00:00
cc047b1b19 backup: n8n workflows + pg dump 20260709_020002 2026-07-09 02:00:07 +00:00
11d32fbbad backup: n8n workflows + pg dump 20260708_020002 2026-07-08 02:00:05 +00:00
6a6d2a3028 backup: n8n workflows + pg dump 20260707_020001 2026-07-07 02:00:07 +00:00
dc9394a205 backup: n8n workflows + pg dump 20260706_020001 2026-07-06 02:00:06 +00:00
076e7b425e backup: n8n workflows + pg dump 20260705_020001 2026-07-05 02:00:07 +00:00
00e350cac9 fix(products): DETTE-STD-9 shared pricing predicate + DETTE-STD-8-A audit logs (SPEC-STD-9-DETTES)
DETTE-STD-9: shared lineRequiresPricing predicate in src/shared/pricing-line-types.ts
consumed by products.service.ts (badge L51) and orders.service.ts (createStandard
L240 + preview L583) to prevent badge/canCreate divergence.

DETTE-STD-8-A: PRODUCT_DELETE audit in $transaction with snapshot (id/code/name/
smetaId/counts) captured BEFORE cascade. PRODUCT_ARCHIVE audit best-effort.
userId passed from route handlers.

E2E fix: Popconfirm selector scoped via .ant-popover:visible + .first() for
duplicate toast messages (T-STD8-02/03).

13/13 Vitest, 23/23 Playwright products green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 02:18:56 +04:00
0e4f28d4b8 feat(products): SPEC-STD-8 product deletion — ADMIN-only cascade + $transaction + 409 guard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 01:10:07 +04:00
cdd0f8917d fix(promote): TS2352 cast via unknown for Record access
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 00:05:45 +04:00
ecaa60ab04 fix(promote): TS2869 nullish coalescing on non-nullish operand
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 00:05:04 +04:00
512c5db414 fix(promote): TS2339 laborNodes not on OrderSmeta type
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 00:04:11 +04:00
2fcec74ccb Merge remote-tracking branch 'vps/master' 2026-07-05 00:01:12 +04:00
73f9be47bf feat(std-6): promotion UI + 5 E2E tests + display:none bug fix (SPEC-STD-6-UI-PROMOTION)
PromoteSmetaDrawer 3-step UI (info→compare→result), findSimilarSmetas
Jaccard ≥80%, comparison table with override "Б" for MATERIAL lines,
non-MATERIAL read-only + Alert banner. Fix AntD Form.Items unmount on
conditional rendering (display:none pattern preserves values).
5 E2E Playwright tests (T-PROM-01..05). 18/18 std-6 green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-05 00:00:38 +04:00