trypost/app/Http/Controllers/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
..
Settings chore(settings): drop the language-changed flash banner 2026-06-22 12:32:11 -03:00
AnalyticsController.php fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
ApiKeyController.php feat: migrate custom API token implementation to Laravel Passport for authentication and token management 2026-05-03 18:38:17 -03:00
AssetController.php refactor: centralize media size limits in config + drop Document type 2026-05-04 14:54:47 -03:00
AutomationController.php fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
BillingController.php feat(billing): attach persona to conversion tracking and polish annual banner 2026-06-22 12:32:03 -03:00
Controller.php refactor: restructure to Actions, subdomain routes (app/api), API tokens 2026-03-29 19:24:28 -03:00
DiscordController.php feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
GiphyController.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
NotificationController.php refactor: code review fixes — policies, enums, data_get, tests 2026-03-31 00:40:18 -03:00
OnboardingController.php fix(tracking): fire begin_checkout when onboarding checkout starts 2026-07-02 09:21:31 -03:00
PostAiCreateController.php feat(ai-templates): task 3 - template-driven generator + job 2026-06-17 17:23:33 -03:00
PostAiGenerateController.php refactor(posts): centralize post editing status checks with PostStatusGuard 2026-05-21 19:27:19 -03:00
PostAiRegenerateMediaController.php refactor(posts): replace PostStatusGuard with PostStatusRules for editing and deletion checks 2026-05-21 19:32:42 -03:00
PostAiReviewController.php refactor(posts): centralize post editing status checks with PostStatusGuard 2026-05-21 19:27:19 -03:00
PostCommentController.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
PostController.php fix(permissions): address code-review findings 2026-06-22 18:00:36 -03:00
PostTemplateController.php refactor: drop RenderedSlide DTO and content_language null fallbacks 2026-05-08 19:32:51 -03:00
PresenceController.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
UnsplashController.php feat: complete AI assistant with custom services and brand config 2026-04-16 09:25:08 -03:00
WorkspaceController.php Make LogoAttacher honor its swallow-all contract; drop the caller try/catch 2026-07-03 20:15:37 -03:00
WorkspaceInviteController.php fix(members): block self role-change/removal and lock role rules with tests 2026-06-22 14:41:11 -03:00
WorkspaceLabelController.php refactor: code review fixes — policies, enums, data_get, tests 2026-03-31 00:40:18 -03:00
WorkspaceSignatureController.php chore: remove deprecated localization files 2026-05-03 15:23:25 -03:00