Previously, photo uploads were nested inside the `else` branch of `if not video_embed`, meaning photos were only processed when a video embed succeeded. This caused photo-only tweets to be posted as text-only because `has_video` was never set, `video_embed` remained None, and the photo loop was never reached. Decouple photo collection from video outcome: warn if video failed, then unconditionally iterate over media items to upload any photos present. External link card logic is unchanged and still only triggers when both video and image embeds are absent.
117 KiB
117 KiB