trypost/app
Paulo Castellano 3bc481ac07 Make LogoAttacher honor its swallow-all contract; drop the caller try/catch
LogoAttacher::attach promised in its docblock that any failure — including a
persistence error — is logged and swallowed so the caller need not handle it.
But the persistence block was try/finally with no catch, so a Throwable from
clearMediaCollection/addMediaFromPath escaped. Both call sites (store and
updateSettings) each wrapped the call in an identical try/catch + Log::warning
to compensate — a band-aid duplicated across the controller.

Fix it at the root: the persistence block now catches Throwable, logs it, and
returns false, matching the documented contract. Both controller call sites
collapse to a single attach() line, and the now-unused Log/Throwable imports
are dropped.

Adds LogoAttacherTest covering the success path, the swallowed persistence
failure, a failed fetch, and a rejected mime type.
2026-07-03 20:15:37 -03:00
..
Actions fix(workspace): default content_language to the app locale, not 'en' 2026-07-01 13:49:48 -03:00
Ai Detect all 15 content languages on autofill, harden RTL/i18n, and cover the gaps with tests 2026-07-03 18:52:45 -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 Centralize the Meta long-lived token TTL and clarify the extension helper 2026-07-03 11:07:54 -03:00
DataTransferObjects fix(tiktok): resize oversized photos before PULL_FROM_URL 2026-06-26 12:23:56 -03:00
Enums Merge branch 'main' into feat/content_languages 2026-07-03 19:38:37 -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 Make LogoAttacher honor its swallow-all contract; drop the caller try/catch 2026-07-03 20:15:37 -03:00
Jobs Keep Instagram/Threads tokens extended while still valid 2026-07-03 09:18:45 -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 fix(linkedin): align PDF compatibility across editor, MCP schedule, and tests 2026-06-24 17:36:39 -03:00
Models Keep Instagram/Threads tokens extended while still valid 2026-07-03 09:18:45 -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 refactor(media): centralize image/video/document detection in Media\Type 2026-06-25 10:57:57 -03:00
Services Make LogoAttacher honor its swallow-all contract; drop the caller try/catch 2026-07-03 20:15:37 -03:00
Socialite feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Support fix(api): roll back hosted media when an inline url batch partially fails 2026-06-28 20:59:21 -03:00