-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Goal
Upload and send videos in chat conversations, so users can share short clips
as message attachments.
Scope
- Add video file selection in the message input (file picker / drag & drop).
- Validate supported MIME types (e.g.
video/mp4,video/webm). - Validate maximum file size before upload (show clear error if exceeded).
- Upload selected video via existing media upload flow/backend endpoint.
- Send uploaded video as a chat message with media metadata.
- Render video messages in timeline with playable preview (controls enabled).
- Show upload/sending states (loading, success, error) in the UI.
- Ensure video messages are handled in message list ordering/reload.
- Add/extend tests for upload, send, and render behavior.
Branch
feature/video-messages
Acceptance Criteria
- User can select a supported video file from message input.
- Unsupported file types are rejected with a user-friendly error.
- Files above max size are rejected with a user-friendly error.
- Valid video uploads successfully and can be sent as a message.
- Sent video message appears in timeline with working playback controls.
- Upload/send loading and error states are visible and understandable.
- Existing text/image message behavior remains unchanged.
Test Checklist
Unit
- Validate file type and size rules for video selection.
- Verify message payload creation for video media messages.
- Verify UI state transitions for upload/sending/error.
Integration
- Upload service integration returns media URL/metadata for videos.
- Chat flow sends video message and timeline receives/renders it.
- Error responses from upload/send are mapped to proper UI feedback.
E2E
- User uploads and sends a valid video in a room.
- Receiver sees the video message and can play it.
- Oversized/invalid video is blocked with clear feedback.
Notes
- Reuse existing image/media upload architecture where possible.
- Out of scope for this issue: video transcoding/compression pipeline changes.
- Confirm product limits (max size, allowed formats) before implementation.
Reactions are currently unavailable