Repository navigation
feat: integrate product images and save the future S3 contract - #7
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add product image rendering and management while preserving legacy products without images. Public views render validated URLs with alternative text, dimensions and a broken-image fallback. Admin provides file preview, upload/replacement, alternative-text editing and confirmed removal.
S3 + CloudFront and the AWS SDK are approved, but Product does not exist yet. Its exact API, database, SDK, private staging, validated media, CDN and acceptance work is saved in platform docs/services/product/images.md. No AWS resources or unused SDK dependency are introduced here. Normal uploads default off; only explicit disposable fixtures enable the upload contract today.
Validation: all frontend formatting/lint/types/pre-commit checks, static/Docker builds and six unit tests per app passed. The coordinated browser suites pass 22 desktop/mobile cases, including upload/replacement/removal, alternative text, invalid files, image decoding/fallback, keyboard dismissal and Light/Dark screenshots. Three stdlib HTTP image-fixture contract tests also passed. These fixtures do not prove real S3 security or persistence. See platform docs/frontend/image-verification.md.
AI-assisted implementation and documentation. Cloud configuration and real Product integration remain deferred as requested. Private CodeQL remains opt-in under the owner's earlier decision.