feat(realtime): emit recording_video activity in circle-video flow
Some checks failed
CI / test (push) Has been cancelled

This commit is contained in:
2026-03-08 20:13:43 +03:00
parent 1d2610a796
commit 7453e1ec06
2 changed files with 10 additions and 1 deletions

View File

@@ -21,7 +21,7 @@ Legend:
12. Pinning - `DONE` (message/chat pin-unpin) 12. Pinning - `DONE` (message/chat pin-unpin)
13. Reactions - `DONE` 13. Reactions - `DONE`
14. Delivery Status - `DONE` (sent/delivered/read + reconnect reconciliation after backend restarts) 14. Delivery Status - `DONE` (sent/delivered/read + reconnect reconciliation after backend restarts)
15. Typing Realtime - `PARTIAL` (typing start/stop + recording voice start/stop live; recording video start/stop wired in protocol, pending full UI emitter flow) 15. Typing Realtime - `DONE` (typing start/stop + recording voice start/stop + recording video start/stop in circle-video send flow)
16. Media & Attachments - `DONE` (upload/preview/download/gallery) 16. Media & Attachments - `DONE` (upload/preview/download/gallery)
17. Voice Messages - `PARTIAL` (record/send/play/seek + global speed 1x/1.5x/2x; recorder now uses mime fallback + chunked capture; UX still being polished) 17. Voice Messages - `PARTIAL` (record/send/play/seek + global speed 1x/1.5x/2x; recorder now uses mime fallback + chunked capture; UX still being polished)
18. Circle Video Messages - `PARTIAL` (send/play present, recording UX basic) 18. Circle Video Messages - `PARTIAL` (send/play present, recording UX basic)

View File

@@ -828,6 +828,12 @@ export function MessageComposer() {
if (!selectedFiles.length || !activeChatId || !me) { if (!selectedFiles.length || !activeChatId || !me) {
return; return;
} }
const isCircleVideoFlow =
selectedFiles.length === 1 && inferType(selectedFiles[0]) === "video" && sendAsCircle;
if (isCircleVideoFlow) {
emitTypingStopIfActive();
sendRealtimeChatEvent("recording_video_start");
}
setIsUploading(true); setIsUploading(true);
setUploadError(null); setUploadError(null);
setUploadProgress(0); setUploadProgress(0);
@@ -895,6 +901,9 @@ export function MessageComposer() {
} finally { } finally {
setIsUploading(false); setIsUploading(false);
setUploadProgress(0); setUploadProgress(0);
if (isCircleVideoFlow) {
sendRealtimeChatEvent("recording_video_stop");
}
} }
if (previewUrl) { if (previewUrl) {
URL.revokeObjectURL(previewUrl); URL.revokeObjectURL(previewUrl);