trypost/app/Services
Paulo Castellano 27151bd925 fix(pinterest,youtube): default video cover and gate empty YouTube posts
Pinterest video pins failed with "provide cover_image_url ... or
cover_image_key_frame_time" because no cover was sent. Default to
cover_image_key_frame_time 0 (first frame) when the user provides no
cover_image_url — verified against Pinterest's OpenAPI spec (integer
seconds, minimum 0, falls back to the last frame past the duration).

YouTube Shorts derive their required title from the post content, so the
publisher rejects an empty post — but the editor still let it be scheduled.
Gate it in compliance: a youtube_short with empty content is now flagged
(requires_text) so it can't be scheduled, instead of failing at publish.
2026-06-25 19:59:51 -03:00
..
Ai refactor(posts): centralize post editing status checks with PostStatusGuard 2026-05-21 19:27:19 -03:00
Automation fix(automations): return null on any feed parse failure 2026-06-16 12:09:16 -03:00
Brand feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
Image fix(tweet-card): vertically center the name + handle block against the avatar 2026-06-17 20:24:44 -03:00
Media feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Post feat(channels): Discord post-level engagement metrics 2026-06-16 17:05:13 -03:00
PostTemplate refactor: reorganize settings UI, migrate post templates to a file-based registry, and remove legacy video generation features 2026-05-03 13:44:13 -03:00
Social fix(pinterest,youtube): default video cover and gate empty YouTube posts 2026-06-25 19:59:51 -03:00
GiphyService.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
PostHogService.php chore: drop verbose docblocks across PostHog and billing files 2026-05-07 16:03:12 -03:00
UnsplashService.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00