Displays the original pipeline search photo (storedPhotoPath from
AIPipelineJob input_data) as a read-only card above the editable photos.
The photo is fetched only if the file still exists on disk.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Public photo endpoint at /photos/{filename} (no auth, UUID-based filenames)
- Admin photo management page per article: upload multiple, delete, set main, drag-reorder
- "Fotos verwalten" action button on article index + detail pages
- EbayAdapter.publishListing() now includes imageUrls (main photo first, max 24)
- APP_PUBLIC_URL env var for absolute URL generation in Messenger workers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>