Skip to content

Memory Viewer Modal: Processing-Status Overlays Never Rendered

Metadata

  • Date: 2026-04-23
  • Status: fixed
  • Severity: major
  • Related issue/ticket: N/A
  • Owner: N/A

About

Overview: memory-viewer-modal.tsx defines two styles — viewerOverlayPending and viewerOverlayFailed — but never mounts any <View> that uses them. A MemoryFeedItem carries a processing_status of "pending", "complete", or "failed", but the modal renders all items identically. A user opening a pending or failed memory sees a blank or stale image with no visual indication of processing state.

Technical Questions: - Where should the overlay sit? Inside viewerImageContainer (for items with a thumbnail) and layered over viewerPlaceholder (for items without one), using StyleSheet.absoluteFillObject so they cover the full item area. - What text label should accompany each state? "Processing…" for pending, "Processing failed" for failed — consistent with the feed card labels.

Reproduction

Open the memory viewer on a segment with processing_status !== "complete". No overlay appears.

Root Cause

viewerOverlayPending and viewerOverlayFailed were added to the stylesheet but the render path has no conditional <View> keyed on item.processing_status.

Fix Summary

Added a helper that returns the correct overlay style + label for non-complete statuses, and rendered it inside both the image and placeholder branches.

Verification

Visually confirmed in dev that pending items show a semi-transparent dark overlay and failed items show a red-tinted overlay with text.