Hermes
52dc913fa7
fix(autocall): бейдж в таблице — «Автодозвон ✅ / ❌ » вместо «слот от робота»
2026-09-10 14:53:44 +02:00
Hermes
9d1c74eda0
fix(autocall): сводка показывает последний успешный звонок; текст в сводке переносится вместо обрезки
2026-09-10 13:15:47 +02:00
Hermes
f378fd05ef
fix(autocall): блок «Автодозвон» не появлялся в карточке, если порядок блоков сохранён в localStorage — мердж с дефолтом
2026-09-10 11:32:14 +02:00
Hermes
c7a35cdd29
feat(autocall): история звонков в карточке — как у SMS (попытки, слот, сценарий, длительность)
2026-09-10 11:28:39 +02:00
Hermes
04f78f7367
feat(filters): два отдельных фильтра «Статус SMS» и «Статус автодозвона» вместо «Прозвонить»
2026-09-09 14:49:31 +02:00
Hermes
587e12f562
feat(filters): единое поле «Период» без лейблов + упрощённый фильтр «Прозвонить»
2026-09-09 11:59:32 +02:00
Hermes
64bcda8eed
feat(autocall): статус автодозвона в карточке (как у SMS) + фильтр «Прозвонить» в таблице + выравнивание переключателя
2026-09-08 13:04:01 +02:00
Hermes
1552c21d99
feat(autocall): автодозвон в карточке доставки — история действий, цепочка этапов, сводка статусов
2026-09-08 12:28:38 +02:00
Hermes
5dbeae84f4
feat(autocall): исключения автодозвона — таблица, UI в настройках, проверка в планировщике, бейдж в реестре/карточке
2026-09-08 11:16:16 +02:00
Hermes
5e4bfc1af0
feat(autocall): показ последних тест-звонков + честный статус задержки планировщика
2026-09-02 11:37:16 +02:00
Hermes
0d8e0f9d40
feat(autocall): тестовый звонок из UI для мегаадмина — autocall_queue nullable + is_test_call, TestCallPanel с окном результата
2026-09-02 11:10:06 +02:00
Hermes
6435679161
feat(autocall): раздел «Коммуникации» с вкладками SMS/Автодозвон/Аналитика, бейджи, карточка заказа, edge fn autocall-result, миграция БД
2026-09-01 21:34:39 +02:00
Hermes
6ca8bd545e
fix(call): show & persist 'called' status
...
- mapOrderGroupRowToDeliveryGroup dropped called/called_at/called_comment
fields (they were selected but never mapped) so the panel always read
'not called' and freshly saved calls appeared to vanish.
- CalledPanel: one-tap 'Звонили' marks called with now; app-styled
date/time dropdowns (CallDateTime) default to current moment for fast
entry; comment edit form pre-filled.
- OrderDetailPanel: forward real onRefreshOrder (was a silent no-op) so
the card refreshes from DB after a save.
2026-08-21 14:09:54 +02:00
Hermes
f5a06188a2
fix: align row-2 controls by bottom edge of input fields (SMS + toggle flush with dates)
2026-08-19 13:02:30 +02:00
Hermes
ebff56c749
fix: SMS dropdown text fits, align hide toggle on row, no skeleton flash on toggle
2026-08-19 12:52:38 +02:00
Hermes
46fac18e28
ui: restructure filters — search wider on row 1, SMS + hide-completed toggle switch on row 2
2026-08-19 12:36:27 +02:00
Hermes
0cdd9f52a4
ui: move hide-completed toggle into filter bar as checkbox next to SMS filter
2026-08-19 12:16:52 +02:00
Hermes
a3cd0838f0
perf: hide-completed server filter + in-memory list cache for fast return-to-list
2026-08-19 11:58:20 +02:00
Hermes
8131e26c77
perf: load single order group by id in detail view instead of all 430 groups
...
- add fetchOrderGroupById (single .eq(id).single() query)
- useOrderGroups gains groupId mode: fetches one group, not full 2.6MB list
- GroupDetailPage passes groupId — fixes 30-40s card open on slow connections
2026-08-19 11:02:23 +02:00
Hermes
5ca9bd7ebf
perf: code-split routes — client delivery page loads 34KB chunk instead of 932KB bundle
...
- lazy-load all pages via React.lazy + Suspense
- client-facing pages (SMS links) no longer pull DashboardPage (605KB) and admin panels
- fixes 30-40s loads on slow mobile connections (Crimea customers)
2026-08-19 10:58:39 +02:00
Hermes
c62606b09d
fix(push): remove staff calls to non-existent subscribe-push/unsubscribe-push edge functions (500 InvalidWorkerCreation)
...
- staff hook called /functions/v1/subscribe-push which does not exist on the
server (functions are named push-subscribe/push-unsubscribe and are keyed by
phone_normalized for the CLIENT flow only; push_subscriptions has no user_id)
- keep local browser PushManager subscription; drop broken server round-trips
- client PushSubscriptionBanner flow untouched (uses correct endpoint)
2026-08-18 12:32:26 +02:00
Hermes
7a76c0a6c0
feat(notifications): disable realtime/WebSocket entirely — REST fetch + focus refresh only
...
- remove postgres_changes .channel().subscribe() from useNotifications
- notifications now load via REST on mount and refresh on tab focus
- eliminates WS retry hangs (30-40s stalls) from dead realtime container;
web-push (Push API) is unaffected and works independently
2026-08-18 10:58:39 +02:00
Hermes
cd72507766
fix(pwa): purge stale caches from app startup — clear construction-delivery-* caches directly in page context, independent of SW update
...
- new src/utils/pwaCacheCleanup.js: deletes all construction-delivery-* caches
except current v115 on every app load; runs in page context so it works even
for users still on old SW
- wire into main.jsx startup
- fixes 3GB cache bloat / 30-40s hangs for users whose SW hasn't updated
2026-08-18 10:52:49 +02:00
Hermes
56cb4b460f
fix(analytics): period key '1d' (Сегодня) not in PERIOD_DAYS map — fell back to 30 days; add '1d' to both hooks
2026-08-14 16:00:36 +02:00
Hermes
4a4b088949
fix(timeline): StatusSummary/Stepper show real SMS state from sms_campaign_log (delivered/failed), not just first_sms_sent_at
2026-08-14 15:07:22 +02:00
Hermes
7654413d8b
fix(push): test notification targets the device's own subscription (by endpoint), not localStorage phone
2026-08-13 15:02:26 +02:00
Hermes
fee800e3fa
fix(client): test-notification button on /client sends push directly (url → /client/test-consent), no detour via /client/test
2026-08-13 14:33:32 +02:00
Hermes
1b41b5e135
fix: text-base color conflict (removed base from tailwind colors); add login link + test page link on /client
2026-08-13 14:25:56 +02:00
Hermes
663b31b3df
feat(client): test consent page + 'test notification' button on /client/test
2026-08-13 14:17:18 +02:00
Hermes
f14ca8fae9
fix: root redirect → /client (not /dashboard) for PWA start_url
2026-08-13 14:06:42 +02:00
Hermes
1cbcff6a16
feat(push): auto-subscribe in standalone mode — no button needed, iOS system prompt only
2026-08-13 13:58:32 +02:00
Hermes
47a06bb285
fix(push): reject phone input shorter than 10 digits (was accepting '7')
2026-08-11 15:39:53 +02:00
Hermes
bdeb055fae
feat(client): test page /client/test for PWA install + push flow (mock data, no real order)
2026-08-11 15:12:19 +02:00
Hermes
b2bd855de3
feat(client): iOS install → prompt notification permission; phone input + localStorage fallback on /client (no token)
2026-08-11 13:47:10 +02:00
Hermes
15132f56e8
feat(client): PWA install — client route, manifest start_url=/client, SW app-shell, invitation links → /client/:token
2026-08-11 13:37:29 +02:00
Hermes
65b42c8482
feat(client): add persistent PWA install card on delivery page (Android button + iOS instructions)
2026-08-11 13:37:16 +02:00
root
7a702114eb
feat: iOS push instruction banner + fix edge-functions security.ts exports
2026-08-06 17:36:31 +00:00
root
2597835352
fix(mobile): anchor notifications popup to viewport right edge
2026-08-06 16:05:43 +00:00
root
de5130e31f
fix(mobile): anchor install tooltip to viewport right edge
2026-08-06 15:50:44 +00:00
root
6d53625579
fix(mobile): anchor PWA install tooltip to right edge
2026-08-06 15:39:51 +00:00
root
4d47261321
feat(logistics): SMS problem as tag, red highlight for unagreed 2+ days
2026-08-06 15:28:51 +00:00
root
d5849f0ab2
feat(logistics): highlight and filter orders with SMS problems
2026-08-06 15:12:23 +00:00
root
c321353e8f
feat(orders): show SMS delivery confirmation and 2nd-SMS skip reason
2026-08-06 13:55:42 +00:00
root
fefb8065be
perf(dashboard): lazy load order details only when needed; skip fetch on non-order tabs
2026-08-06 13:40:20 +00:00
root
44d3f0f16d
fix(client): compact order composition trigger
2026-08-06 12:10:21 +00:00
root
82d6f4f077
feat(orders): show client push subscription and delivery log
2026-08-06 12:06:11 +00:00
root
74de57f3fc
fix(ui): use СуперСам and normal order composition heading
2026-08-06 11:12:47 +00:00
root
1922778e0f
feat(push): prepare client subscription test contour
2026-08-06 08:56:12 +00:00
root
82eefb2225
feat(push): PushSubscriptionBanner on delivery consent page
2026-08-06 08:30:07 +00:00
root
1f8a8ea2c4
feat(orders): tabbed navigation for logistics blocks (Все + per-block tabs)
2026-08-06 08:03:11 +00:00