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.