feat(youtube): explain Shorts thumbnail caveat with a reusable info tooltip#1699
Open
giladresisi wants to merge 1 commit into
Open
feat(youtube): explain Shorts thumbnail caveat with a reusable info tooltip#1699giladresisi wants to merge 1 commit into
giladresisi wants to merge 1 commit into
Conversation
…ooltip Users reported that thumbnails set on YouTube Shorts don't propagate. The posts themselves do NOT fail — YouTube's Data API accepts thumbnails.set (HTTP 200) but silently ignores the custom thumbnail for videos it classifies as Shorts, generating one from a video frame instead. Postiz can't control whether a video becomes a Short (that's YouTube's call, based on vertical aspect ratio + duration), so setting a thumbnail there is best-effort. Add an "(i)" info tooltip next to the YouTube Thumbnail setting explaining this, plus the verified-channel and JPEG/PNG < 2MB requirements. - New reusable InfoTooltip component (apps/frontend/.../ui/info.tooltip.tsx) wired to the existing global react-tooltip instance — usable from any file. - Widen MediaComponent's `label` prop to ReactNode (backward compatible) so a label can carry the icon. - Give the shared tooltip a max-width + wrapping so long content renders as a compact box instead of a full-width bar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Contribution-checker quality warning Heuristics that flagged:
If this is a genuine contribution, please add detail to your PR description and tighten the diff scope before reviewers look at it. |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
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.
Problem
A user reported that thumbnails set on YouTube Shorts don't propagate. Importantly, their posts don't fail — the video publishes fine and no error is surfaced. The thumbnail just never appears.
Root cause is a YouTube platform limitation, not a Postiz bug: the Data API's
thumbnails.setcall returns HTTP 200 success but is silently ignored for videos YouTube classifies as Shorts — YouTube generates a thumbnail from a video frame instead. Postiz can't control whether a video becomes a Short: that's YouTube's decision based on vertical aspect ratio + duration (≤ 3 min), and there is no API flag to opt in or out. So a custom thumbnail on a Short is inherently best-effort.It also requires a verified channel and a JPEG/PNG under 2 MB, which isn't communicated anywhere in the UI.
What this PR does
Adds an "(i)" info tooltip next to the YouTube Thumbnail setting explaining the Shorts caveat and the format/verification requirements, so users understand why a thumbnail may not show up.
InfoTooltipcomponent (apps/frontend/src/components/ui/info.tooltip.tsx) — a circled-"i" icon wired to the app's existing globalreact-tooltipinstance (<Tooltip id="tooltip" />). Reusable from any file:<InfoTooltip content="…" />.MediaComponent.labelwidened fromstring→ReactNode(backward compatible — all existing string callers stay valid) so a label can carry the icon inline.top.tip.tsx) given amax-width+ wrapping so long content renders as a compact box instead of a screen-spanning bar. This is a max, so existing short tooltips are unaffected.Screenshot
Hovering the "(i)" next to Thumbnail shows a compact, wrapped tooltip:
References
Notes / follow-up
This PR is UI-only (sets expectations). A separate follow-up should make the server-side thumbnail step best-effort in
youtube.provider.ts— today, when the API does actively reject a thumbnail (bad format/size, unverified account), it throwsBadBodyafter the video is already published, marking the whole post failed (and risking a duplicate re-upload). That path should returnsuccesswith the video'spostId+ a warning instead.🤖 Generated with Claude Code