trypost/app
Paulo Castellano 14e44538a7 feat(linkedin): enforce PDF/media compatibility on API and MCP
Make the document (PDF) exclusivity validation — previously web-only — also apply when scheduling/publishing via the public API and MCP, so a misconfigured post can't slip through these entry points.

- ContentTypeCompatibleWithMedia: stored-media fallback for partial updates + a stored-state assertStoredPostCompatible(Post)
- MCP PublishPostTool: assert stored-state compatibility before publish (the media-side mirror of assertStoredPostPublishable)
- API UpdatePostRequest: validate each platform's effective content_type against effective media on schedule/publish (covers publishing without resubmitting content_type)
- MCP UpdatePostTool: apply the rule on schedule with stored-media fallback
- Tests: API + MCP happy + rejection paths, plus rule fallback/precedence units
2026-06-24 17:08:48 -03:00
..
Actions fix(members): preserve invited role on accept and surface viewer in role menu 2026-06-22 14:24:19 -03:00
Ai refactor(ai): introduce GeneratorFormat enum and drop stringly-typed format 2026-06-18 11:11:23 -03:00
Broadcasting feat(automations): implement automation features and UI enhancements 2026-05-24 09:17:19 -03:00
Concerns refactor: settings redesign, Spanish translations, language system, strict_types 2026-03-30 00:20:43 -03:00
Console/Commands Extract Telegram webhook registration into an action 2026-06-13 22:20:52 -03:00
DataTransferObjects feat(linkedin): enforce PDF/media compatibility on API and MCP 2026-06-24 17:08:48 -03:00
Enums feat(linkedin): support PDF document (carousel) posts 2026-06-24 16:32:27 -03:00
Events feat(telegram): surface connect failure in the dialog instead of silent expiry 2026-06-22 09:55:12 -03:00
Exceptions feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
Helpers fix: correct Upload.php filename case for Linux CI 2026-03-31 12:01:48 -03:00
Http feat(linkedin): enforce PDF/media compatibility on API and MCP 2026-06-24 17:08:48 -03:00
Jobs feat(billing): attach persona to conversion tracking and polish annual banner 2026-06-22 12:32:03 -03:00
Listeners refactor(billing): replace MonthlyCreditsLimit Pennant feature with BillingCycle 2026-06-22 09:55:03 -03:00
Mail feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
Mcp feat(linkedin): enforce PDF/media compatibility on API and MCP 2026-06-24 17:08:48 -03:00
Models feat(linkedin): support PDF document (carousel) posts 2026-06-24 16:32:27 -03:00
Observers fix: merge-readiness — close two billing/network bugs, harden tests 2026-06-22 09:26:31 -03:00
Policies refactor(permissions): drop explanatory comments, fix stale PostPolicy docblock 2026-06-22 16:35:27 -03:00
Providers fix(ci): drop unused Pennant feature discovery 2026-06-22 13:09:02 -03:00
Rules feat(linkedin): enforce PDF/media compatibility on API and MCP 2026-06-24 17:08:48 -03:00
Services feat(linkedin): support PDF document (carousel) posts 2026-06-24 16:32:27 -03:00
Socialite feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Support feat(linkedin): support PDF document (carousel) posts 2026-06-24 16:32:27 -03:00