Attach screenshots to assigned pull request comments online and offline #515

Closed
opened 2026-08-10 21:19:40 +00:00 by timmy · 0 comments
Owner

User problem

Mobile reviewers can attach optimized screenshots to assigned issue comments, including offline delivery, but assigned pull-request comments remain text-only. This forces users out of the Today review flow when visual evidence is needed.

Scope

  • Add screenshot choose/preview/remove controls to the assigned pull-request composer.
  • Reuse the binary, optimized, idempotent upload pipeline for online and durable offline PR comments.
  • Revalidate assigned-PR scope server-side before upload.
  • Preserve comment text, attachment bytes, and operation identity on retry; never post the comment before upload succeeds.
  • Keep Comment & next advancement truthful after confirmed delivery or durable admission.

Acceptance tests

  1. PNG/JPEG/WebP can be selected, previewed, removed, and optimized to the existing size boundary.
  2. Online delivery uploads once to the exact assigned PR, then posts one comment containing attachment Markdown.
  3. Offline delivery persists the Blob in IndexedDB and resumes without base64 expansion or duplication.
  4. Upload failure preserves the draft/attachment and does not post or advance.
  5. Non-PR and unassigned targets are rejected before contacting Gitea.
  6. Existing issue screenshot and text-only PR flows remain green.

Non-duplication evidence

Audited all 260 historical issues, current open issues/PRs, and recent commits through e5016d8. Prior screenshot work (#467-#495) is scoped to issues/new-issue capture; prior PR work covers text comments/reviews but not attachments. No open ticket or recent commit implements this behavior.

## User problem Mobile reviewers can attach optimized screenshots to assigned issue comments, including offline delivery, but assigned pull-request comments remain text-only. This forces users out of the Today review flow when visual evidence is needed. ## Scope - Add screenshot choose/preview/remove controls to the assigned pull-request composer. - Reuse the binary, optimized, idempotent upload pipeline for online and durable offline PR comments. - Revalidate assigned-PR scope server-side before upload. - Preserve comment text, attachment bytes, and operation identity on retry; never post the comment before upload succeeds. - Keep Comment & next advancement truthful after confirmed delivery or durable admission. ## Acceptance tests 1. PNG/JPEG/WebP can be selected, previewed, removed, and optimized to the existing size boundary. 2. Online delivery uploads once to the exact assigned PR, then posts one comment containing attachment Markdown. 3. Offline delivery persists the Blob in IndexedDB and resumes without base64 expansion or duplication. 4. Upload failure preserves the draft/attachment and does not post or advance. 5. Non-PR and unassigned targets are rejected before contacting Gitea. 6. Existing issue screenshot and text-only PR flows remain green. ## Non-duplication evidence Audited all 260 historical issues, current open issues/PRs, and recent commits through `e5016d8`. Prior screenshot work (#467-#495) is scoped to issues/new-issue capture; prior PR work covers text comments/reviews but not attachments. No open ticket or recent commit implements this behavior.
timmy self-assigned this 2026-08-10 21:19:40 +00:00
timmy closed this issue 2026-08-10 21:44:59 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#515
No description provided.