mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 17:14:59 +03:00
Пункты 4, 6-8 (частично), 17 PLAN-HUB-0001/E09 по SPEC-HUB-0013: - timeline-события звонка в диалоге при переходах lifecycle (без дублей) - API: отмена сотрудником, активный звонок диалога, клиентские state/accept/decline по call access token (throttle call_access) - доставка приглашения TG/MAX через OutboxEvent с ретраями; token ротируется на каждую попытку, сырой token не хранится в БД и payload - Web Chat: приглашение в payload поллинга, баннер входящего звонка, accept открывает /calls/ с access token во фрагменте URL - customer call view /calls/<token>: проверка token до запроса камеры, pre-call preview, терминальные состояния по baseline - internal-ui: кнопка запроса звонка (атомарный takeover), CallOverlay - sweep воркера: MISSED/EXPIRED по истечению invite, FAILED по grace (HUB_CALL_CONNECT_GRACE_SECONDS) - nginx: /calls/ → web-chat call.html (local + production) Backend 218/218; typecheck/build internal-ui и web-chat зелёные. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>