EVCharge E2E Verify — E2E-CHAT-002
PASS
Run: run-verify-e2e-chat-002-20260401-0758
Scenario: e2e-chat-002-support-chat.md
Start: 2026-04-01 07:58 UTC ·
Finish: 2026-04-01 08:16 UTC ·
Duration: ~18 min
Client: v2.2.15 (dev) ·
Dispatcher: v1.4.1-63e311d
Steps
| # | Module | Block | Status | Details |
| V0 | Bot Service | Healthcheck | PASS | Bot Service health OK: supabase=true, mattermost=true |
| V1 | Client | Login | PASS | Already authorized. Main screen with active orders visible. |
| V1b | Client | Version | PASS | Version 2.2.15 (dev) confirmed in profile |
| V2a | Client | Главная → Поддержка | PASS | "Связаться с поддержкой" → in-app ChatWidget (NOT Telegram) |
| V2b | Client | Профиль → Поддержка | PASS | "Служба поддержки" → in-app ChatWidget (NOT Telegram) |
| V2c | Client | Заказ → Поддержка | SKIP | Order detail has "Открыть чат" (route chat), not "Написать в поддержку" |
| V3 | Client | Отправка сообщения | PASS | Message sent and visible in ChatWidget. Support channel created. First attempt hit 502 (orphaned MM channel) — resolved. |
| V4 | Dispatcher | Dashboard | PASS | Dashboard loaded. 4 unassigned orders. |
| V5 | Dispatcher | Видит сообщение | PASS | "Поддержка — Apple Moderator" with client message visible at 05:11 |
| V6 | Dispatcher | Отвечает | PASS | Reply sent: "Здравствуйте! Техник приедет в течение часа." at 05:13 |
| V7 | Client | Видит ответ | PASS | Reply visible as "Служба поддержки" in ChatWidget. Note: not real-time — required re-entering chat. |
| V8 | DB | Верификация | PASS | mm_channel_mapping: dispatcher assigned, timestamps correct |
Support Entry Points Audit
| Entry Point | Expected | Actual |
| Главная → "Связаться с поддержкой" | In-app ChatWidget | ChatWidget (PASS) |
| Профиль → "Служба поддержки" | In-app ChatWidget | ChatWidget (PASS) |
| Заказ → "Написать в поддержку" | In-app ChatWidget | Button absent (SKIP) |
DB Checkpoint
SELECT mm_channel_id, mm_channel_name, channel_type,
assigned_dispatcher_id, last_client_message_at
FROM mm_channel_mapping
WHERE client_id = '2a0b26a1-...' AND channel_type = 'support';
Result:
mm_channel_id: bh3wzezq1fyex8duuutzef448o
mm_channel_name: support-2a0b26a1
channel_type: support
assigned_dispatcher_id: a7a78a62-8a5e-4c54-9977-d90cdb75b51b (testadmin)
last_client_message_at: 2026-04-01 05:11:07.95+00
Issues Found
MEDIUM
[Bot Service] Orphaned MM channel causes 502 on support chat creation. findOrCreateSupportChannel fails when MM channel exists (soft-deleted) but mm_channel_mapping record is missing. Should handle "channel already exists" error by looking up existing channel.
LOW
[Client] Dispatcher reply not delivered to Client via WebSocket in real-time. Client only sees reply after navigating away and re-entering chat.
LOW
[Bot Service] last_activity_at in mm_channel_mapping not updated after dispatcher reply (only on client messages).
INFO
[Client] Order detail page has "Открыть чат" (route/technician chat) but no "Написать в поддержку" support entry point.
Screenshots (10)
01 — Client main screen
02 — Client version (profile)
03 — Main → Support (ChatWidget)
04 — Profile → Support (ChatWidget)
05 — Order detail ("Открыть чат", no support)
06 — Client message sent
07 — Dispatcher dashboard
08 — Dispatcher sees client message
09 — Dispatcher reply sent
10 — Client sees dispatcher reply