Skip to content

[MEDIA-014] RAW and JPEG pair awareness #74

Description

@veryCrunchy

Parent epic: #10
Related Photos epic: #14

User problem

RAW and JPEG captures that represent one photograph must not appear as unrelated duplicates, lose either original, or make one source impossible to open. A stacked item should remain one navigation page while still allowing the user to inspect and choose every retained source.

Goal

Preserve RAW/JPEG pairs as one logical media stack across upload, backup status, browsing, source selection, sharing, download, and restore without flattening or discarding either original.

Scope

  • detect related RAW and JPEG files without relying only on a filename extension
  • upload and verify every member independently while reporting one logical backup state
  • show one gallery and timeline item for the pair
  • retain the JPEG cover and RAW source as selectable members of the same viewer page
  • keep previous and next navigation at one page per logical stack
  • preserve independent originals, metadata, timestamps, filenames, receipts, and cache identities
  • handle missing, unsupported, or temporarily unavailable members without hiding the accessible source
  • keep stack identity account-scoped and deterministic across refresh, offline cache, move, download, and restore

Acceptance criteria

  • RAW/JPEG pairs can upload together, share one visual stack, and retain independent originals and receipts
  • selecting the RAW or JPEG source opens that exact member without creating duplicate previous or next pages
  • moving away from a stack and returning selects a valid member deterministically
  • partial upload, retry, conflict, missing companion, duplicate filename, and cross-account isolation have deterministic tests
  • gallery, timeline, viewer, share, download, offline, and restore flows preserve the logical relationship
  • Android emulator and desktop validation cover source selection and one-page-per-stack navigation

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mediaMedia backup, MediaStore, storage reclaim, and sharingarea:photosPhotos, Memories, RAW, people, albums, tags, and editingin-progressImplementation is currently activeplatform:androidAndroid-specific implementation or validationplatform:desktopDesktop-specific implementation or validationpriority:P1Required for the pre-release product experiencetype:featureNew product capability

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions