trypost/app/Jobs
Paulo Castellano 0a9ca9a185 fix: serialize plan_slug as string and broaden PostHog enabled tests
Two follow-ups from the final pre-merge review:

1. SyncUser and TrackBilling shipped \$account->plan?->slug, which is a
   PlanSlug backed enum. json_encode renders it correctly on the wire,
   but the queue payload carries an enum instance — anyone introspecting
   the job (Bus::fake, future workers) and string-comparing the slug
   would fail silently. Cast to ->slug->value at the call sites.

2. PostHogServiceTest only covered the api_key=null negative case. The
   primary scenario the gate exists to defend (self-hosted with a stale
   POSTHOG_API_KEY but POSTHOG_ENABLED=false) was not asserted. Added
   four tests covering capture/identify/groupIdentify with enabled=false
   and an api key present, plus a direct truth-table check on
   isEnabled() requiring both flags.
2026-05-07 13:21:58 -03:00
..
Ai feat: pass and persist post dates through AI creation wizard and template application flows 2026-05-06 17:21:30 -03:00
PostHog fix: serialize plan_slug as string and broaden PostHog enabled tests 2026-05-07 13:21:58 -03:00
PublishPost.php fix: withoutOverlapping on schedules, publisher token refresh lock, PublishPost tries:1, TokenExpired allows publish, API validation scoping 2026-04-01 12:49:01 -03:00
PublishToSocialPlatform.php feat: add PostCommentCreated broadcast event 2026-04-15 20:11:36 -03:00
RefreshSocialToken.php feat: publishing engine improvements — rate limit retry, inline token refresh, per-platform queues, proactive refresh 2026-04-01 10:51:53 -03:00
SendNotification.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
VerifyWorkspaceConnections.php fix: scheduled_at after:now validation, Facebook token not exposed to frontend, duplicate notifications, chunked mime validation 2026-04-01 12:19:24 -03:00