feat(realtime): emit recording_video activity in circle-video flow
Some checks failed
CI / test (push) Has been cancelled
Some checks failed
CI / test (push) Has been cancelled
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user