Run ID: run-verify-e2e-chat-002-20260331-2225 Scenario: scenarios/smoke-tests/e2e-chat-002-support-chat.md Task: E2E-CHAT-002 — Support Chat Full Cycle Started: 2026-03-31 19:25:00 UTC | Finished: 2026-03-31 19:45:30 UTC | Duration: ~20 min Client: v2.2.15 (dev) | Dispatcher: v1.4.1-63e311d
Entry Points Audit (Block 2)
Entry Point
Expected
Actual
Status
Main → "Связаться с поддержкой"
In-app ChatWidget
In-app ChatWidget (/chatNew)
PASS
Profile → "Служба поддержки"
In-app ChatWidget
In-app ChatWidget (/chatNew)
PASS
Order → "Открыть чат"
In-app ChatWidget
In-app ChatWidget (/chatNew?orderId=...)
PASS
All 3 entry points correctly open in-app ChatWidget. No Telegram redirects. Button label on Order page is "Открыть чат" (spec says "Написать в поддержку").
Steps
#
Module
Block
Status
Details
V0
Bot Service
Healthcheck
PASS
supabase=true, mattermost=true
V1
Client
Login
PASS
Logged in, main screen visible
V1b
Client
Version
PASS
v2.2.15 (dev)
V2a
Client
Main → Support
PASS
In-app ChatWidget opened
V2b
Client
Profile → Support
PASS
In-app ChatWidget opened
V2c
Client
Order → Support
PASS
In-app ChatWidget opened (label: "Открыть чат")
V3
Client + API
Send message
PASS
Sent via Bot Service API (CORS blocks in-browser). DB + MM confirmed.
V4
Dispatcher
Login
PASS
Dashboard loaded
V5
Dispatcher
See message
FAIL
Channel assigned to different dispatcher. Not visible in ChatPanel.
V6
Dispatcher
Reply
PASS
Reply sent in existing support channel + via MM API
V7
Client
See reply
BLOCKED
CORS blocks history fetch. Client ChatWidget empty.
V8
DB
Verification
PASS
mm_channel_mapping correct, MM has both messages
Key Findings
CORS Issue (Environment)
Client app at host.docker.internal:3003 is blocked by CORS from api-test.zarady.ru. Affects:
• POST /bot/chat/support — message send
• GET /bot/chat/support/history — message history Fix: Add http://host.docker.internal:3003 to Bot Service CORS allowed origins for Docker testing environment. In production (same-origin or configured domains) this would not be an issue.
Dispatcher Auto-Assignment (Test Setup)
Bot Service assigned the support channel to "Андрей Тестовый админ" (7dbea0a9...) instead of our test dispatcher "Admin Тестовый" (a7a78a62...). The ChatPanel filters channels by assigned_dispatcher_id, so the channel was invisible to our test user. Fix: Either configure Bot Service to always assign to a specific test dispatcher, or use the same dispatcher account that gets auto-assigned.
Telegram Fallback Log
Console log shows "Telegram: сообщение отправлено успешно" when REST API fails. The app appears to have a Telegram fallback when the Bot Service is unreachable. Verify this is intentional and disable for in-app chat flow.