trypost/app
Paulo Castellano cca7893e0f Stop persisting instagram_carousel as a content type
Instagram carousels were stored as content_type=instagram_carousel, which the
publisher's match() did not handle — publishing failed with "Unsupported
Instagram content type: instagram_carousel" for any post created via API, MCP,
or template (the AI flow worked only thanks to an inline band-aid that rewrote
carousel to feed before saving).

A carousel is just an Instagram feed post with multiple images: the editor,
preview, and publisher already treat a multi-image feed as a carousel. So
instagram_carousel is a generation format, not a stored content type. Remove it
from the ContentType enum entirely; it now lives only as an AI generation-format
string (wizard card + slide structure + carousel templates are untouched), and
posts always persist as instagram_feed.

- ContentType: drop the InstagramCarousel case; InstagramFeed maxMediaCount 1 -> 10
- StreamPostCreation: resolvedContentType() maps carousel -> feed; band-aid removed
- StartPostCreationRequest: accept instagram_carousel as a generation format
- Frontend: carousel becomes a wizard-local AiFormat; UI/UX unchanged
- API/MCP now reject instagram_carousel as a content_type (Rule::in no longer lists it)
2026-06-04 18:10:39 -03:00
..
Actions Merge branch 'main' into feat/ai-image-regenerate 2026-05-21 20:16:16 -03:00
Ai/Agents feat(posts): introduce change_mode for flexible image and text regeneration 2026-05-21 20:00:41 -03:00
Broadcasting feat: regenerate AI post images with brand palette in editor 2026-05-21 16:27:55 -03:00
Concerns refactor: settings redesign, Spanish translations, language system, strict_types 2026-03-30 00:20:43 -03:00
Console/Commands fix(social): proactive token refresh actually refreshes (not just verifies) 2026-05-12 19:36:35 -03:00
DataTransferObjects feat: AI image generation pipeline and post creation overhaul 2026-05-08 13:38:30 -03:00
Enums Stop persisting instagram_carousel as a content type 2026-06-04 18:10:39 -03:00
Events feat: regenerate AI post images with brand palette in editor 2026-05-21 16:27:55 -03:00
Exceptions refactor(social): TokenRedactor::redact accepts nullable 2026-05-19 09:25:01 -03:00
Features feat: transition AI usage from feature-based limits to a centralized monthly credit system with token tracking. 2026-05-03 19:36:26 -03:00
Helpers fix: correct Upload.php filename case for Linux CI 2026-03-31 12:01:48 -03:00
Http Stop persisting instagram_carousel as a content type 2026-06-04 18:10:39 -03:00
Jobs Stop persisting instagram_carousel as a content type 2026-06-04 18:10:39 -03:00
Listeners fix(posthog): harden usage sync after deletes and workspace removal 2026-05-19 19:01:53 -03:00
Mail feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
Mcp refactor(posts): replace PostStatusGuard with PostStatusRules for editing and deletion checks 2026-05-21 19:32:42 -03:00
Models feat(billing): make trial card requirement configurable 2026-05-21 10:02:38 -03:00
Observers feat(posthog): keep social_accounts_count and posts_count fresh on account group 2026-05-15 18:40:07 -03:00
Policies refactor: move workspace tenancy check on Post into PostPolicy 2026-05-04 13:20:52 -03:00
Providers chore: remove unused Gemini provider extension and debug middleware 2026-05-11 21:24:11 -03:00
Rules refactor(posts): tighten content-length caps and simplify contentOverflow 2026-05-11 20:06:44 -03:00
Services fix(facebook): restrict Page Stories to video-only 2026-05-21 21:21:50 -03:00
Socialite refactor: centralize social API base URLs into the configuration file to improve maintainability and environment flexibility 2026-05-02 13:49:20 -03:00
Support refactor(posts): replace PostStatusGuard with PostStatusRules for editing and deletion checks 2026-05-21 19:32:42 -03:00