Skip to content

Studio: support image attachments and image-only timed comments #6349

Open

Description

@AksharP5

Problem

While reviewing an editable video in HyperFrames Desktop, I want to attach a reference image or screenshot to a comment at a particular moment. Sometimes the image is the entire feedback, so it should not require filler text.

The user reports being able to submit only text in the video comment box. Inspection of production b482 supports a missing capability: the local timed-comment composer and saved comment format are text-only. This is a feature request / UX gap, not a demonstrated regression or a live UI reproduction.

Proposed solution

Allow images to be attached directly to timed video comments and preserved with the comment's anchor. Allow submission when there is either non-whitespace text or an image, including an image with no caption. Show the attachment with the saved comment and pass it to the agent when that comment is sent.

Current behavior and evidence

Source-derived steps for the reported workflow:

  1. Open an editable video in Desktop and select Comment, or press C.
  2. Place a comment on the preview at a moment in the video.
  3. Try to provide a reference image, leaving the comment text empty.

Expected: attach the image and submit it as a timed comment without mandatory text.

Actual in the inspected implementation: the new-comment popup has a textarea and no image picker, image paste/drop handler, or attachment state. Its submit function returns without sending when the trimmed text is empty. The persistence layer also requires a nonempty body and has no attachment field, so changing only the submit-button condition would not implement image comments.

Installed-source anchors:

  • renderer/desktop-static/frameyPill-DjLaZ_Mn.js: BDr renders the New comment popup; HDr marks its Comment button unavailable for empty text; UDr trims and rejects empty text, then submits only anchor, body, and elementText. tGn posts the text comment through comments:post.
  • main/commentEvents.mjs: parseEvent requires a 1–4000-character body for comments and followups and does not retain an attachments property. main/comments.mjs's postComment also does not forward attachments into the saved event.
  • An isolated execution of the unchanged event parser rejected a synthetic image-only event. Text plus a synthetic image attachment parsed, but the attachment was omitted from the event and resulting thread. An isolated execution of the unchanged UDr function with in-memory hook/send boundaries made zero sends for empty or whitespace text, even with a synthetic attachment field. No live comment or image upload was created.

Alternatives considered

Agent chat already has a separate Add / @ file composer, image job attachments, and a comments:send path that can pass attachments with a batch of pending comments. A workaround supported by source and docs is to attach the image in chat and name the timestamp or pending text comment. That does not save an image on the timed comment itself. This workaround was not exercised against the active project.

Additional context

Inspected on 2026-10-25: Linux x86_64, Omarchy/Hyprland; official production AppImage b482, desktop package 0.1.0, bundled hyperframes 0.8.198. Desktop build SHA 493ca5b24524fc2d7070daa2a64e1936d1c7be21, built at 2026-10-25T17:43:02.391Z. The cited comment implementation is in the shipped desktop shell, which is maintained outside this public repository.

The editing guide documents the Comment tool separately from chat's file references. Searches of open and closed issues found no matching image-comment request. #749 and its closed, unmerged PR #936 proposed the original timeline-comment feature. #6348 concerns focus after comment placement. Neither covers image attachments or image-only comments. This request concerns the local editable-preview comment tool, not the hosted Share review page or general chat attachment support.

Activity

  1. added
    enhancementNew feature or request
    triage/needs-designEvidence is adequate; desired behavior or scope needs a maintainer decision.
    on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesttriage/needs-designEvidence is adequate; desired behavior or scope needs a maintainer decision.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions