Skip to content

Image Upload Components — Skipped Items

Items from the goal or specification that were not fully implemented, with reasons.


SK-01: ImageComparisonLayout interactive story with state transitions

Section titled “SK-01: ImageComparisonLayout interactive story with state transitions”

Specification reference: Inconsistencies audit finding #7

The DesktopSideBySide story uses alert() callbacks instead of demonstrating full state transitions (image updated, layout reset).

Reason skipped: Low severity, low effort. All component functionality is correct — this is a documentation/story quality issue only. The baked-in action buttons work correctly; only the story demonstration is simplified.

Recommended follow-up: Add an interactive story showing the accept flow with state update, similar to DoubleClickToEdit in ImageDisplay.


Specification reference: Goal — “No backend integration — all upload workflows use mock data and delayed Promises.”

This was explicitly out of scope. All upload flows use mock functions (mockUpload, mockReachabilityCheck) that simulate delays and success/failure. The prop interfaces (onUpload, onCheckReachability via ImageFieldConfig) are designed for real backend injection.

Reason skipped: By design. Backend connectivity is a future phase after the component suite is validated by stakeholders via Storybook.


SK-03: Avatar rewrite to compose ImageDisplay

Section titled “SK-03: Avatar rewrite to compose ImageDisplay”

Specification reference: follow-up-work.md — Option B

Avatar was not rewritten to use ImageDisplay internally. Only the getInitials extraction was performed.

Reason skipped: Explicitly deferred. ImageDisplay must be proven in production first. The rewrite requires displayShape support and carries risk of visual regressions in a widely-used component.


The heic2any dependency is lazy-loaded for HEIC-to-JPEG conversion, but no automated tests exercise the HEIC conversion path. Story-level testing was done manually with sample HEIC files.

Reason skipped: heic2any uses WebAssembly internally and is difficult to test in a jsdom/Vitest environment. Manual verification confirmed the conversion works in Chromium. Automated testing would require a Playwright integration test with real HEIC file fixtures.


Copyright: (c) Arda Systems 2025-2026, All rights reserved