embed .mp4, .avi, and .webm video attachments
Problem Statement
Video attachments such as .mp4, .avi, and .webm files currently need to be downloaded and opened in another application. This interrupts the workflow and makes it harder to quickly review recordings, demos, and other video context attached to a task.
Proposed Solution
Render supported video attachments directly in Kaneo with an inline video player.
- Recognize
.mp4,.avi, and.webmattachments as video files. - Show standard playback controls, including play/pause, seeking, volume, and fullscreen.
- Load the video only when needed so task-heavy boards and task views remain responsive.
- Preserve the existing download action.
- If a browser cannot decode a particular codec or container, show a clear fallback with the download option instead of a broken player.
Alternative Solutions
Continue treating video attachments as downloadable files only, or require users to upload videos to an external hosting service and paste a link. Both approaches add unnecessary context switching and may not work well for private or self-hosted deployments.
Relevant Context
Inline image previews already make visual attachments easier to review. Video previews would provide the same benefit for screen recordings, product demos, bug reproductions, and other task-related media.
Suggested acceptance criteria:
.mp4,.avi, and.webmattachments are recognized as videos.- Compatible files can be played inline without downloading them first.
- Playback controls are keyboard-accessible.
- Unsupported codecs or containers display a graceful download fallback.
- Existing attachment download and deletion behavior continues to work.
- Video loading does not noticeably slow down task-heavy views.
Does this feature align with Kaneo's focus on simplicity?
Yes. It improves the existing attachment workflow without introducing a new data model or a separate media-management surface. Users can review relevant task context in place while retaining the current download behavior.
Originally requested by @taiyoungjang on 2026-08-30. Original GitHub request #1678.
ROA-924
Original GitHub comment