trypost/app
Paulo Castellano 097f30c765
Fix 500 on the MCP settings page when a client has never been used (#297)
* Fix 500 on the MCP settings page when a client has never been used

Sorting the connected clients used the raw last_used_at value with an
int fallback, so a workspace holding both a used client (CarbonImmutable)
and a freshly connected one (null, falling back to 0) handed arsort() a
mix of object and int. PHP cannot compare the two and raises
"Object of class Carbon\CarbonImmutable could not be converted to int",
which Laravel's error handler turns into a 500.

Sorting on the timestamp keeps the key a single type; never-used clients
get 0 and land at the bottom, which is the intended order.

The existing ordering test only covered clients that had all been used,
which is why this shipped. The new test covers the mixed case.

* Cover the all-never-used case on the MCP clients list
2026-08-19 09:52:54 -03:00
..
Actions Fix 500 on the MCP settings page when a client has never been used (#297) 2026-08-19 09:52:54 -03:00
Ai Remove the post-templates feature (#296) 2026-08-19 09:34:26 -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 Remove the post-templates feature (#296) 2026-08-19 09:34:26 -03:00
DataTransferObjects Extract alt-text truncation onto MediaItem and close test gaps 2026-07-11 10:34:57 -03:00
Enums Add social connect step to welcome before Stripe (#293) 2026-08-17 19:37:43 -03:00
Events Activation checklist + MCP OAuth authorize UX (#239) (#250) 2026-08-07 20:34:43 -03:00
Exceptions Resume in-flight Instagram and TikTok publishes without duplicates (#281) 2026-08-16 15:34:53 -03:00
Helpers fix(security): make SSRF private-network block configurable and guard the last user-URL fetches 2026-07-17 15:40:15 -03:00
Http Remove the post-templates feature (#296) 2026-08-19 09:34:26 -03:00
Jobs Add social connect step to welcome before Stripe (#293) 2026-08-17 19:37:43 -03:00
Listeners feat: fire signup/checkout PostHog events from the backend (#277) 2026-08-12 11:47:47 -03:00
Mail feat: proactive connection check for at-risk posts + SocialAccount name centralization (#256) 2026-08-09 11:10:39 -03:00
Mcp feat: Asset Library list, preview, and attach via API and MCP (#282) 2026-08-16 17:08:20 -03:00
Models feat: fire signup/checkout PostHog events from the backend (#277) 2026-08-12 11:47:47 -03:00
Observers Add social connect step to welcome before Stripe (#293) 2026-08-17 19:37:43 -03:00
Passport Activation checklist + MCP OAuth authorize UX (#239) (#250) 2026-08-07 20:34:43 -03:00
Policies MCP: workspace settings, viewer read access, and token access (#241) 2026-08-06 09:54:51 -03:00
Providers Remove the post-templates feature (#296) 2026-08-19 09:34:26 -03:00
Rules fix: guard ContentTypeMatchesPlatform against non-uuid social_account_id (#260) 2026-08-09 11:46:59 -03:00
Services Remove the post-templates feature (#296) 2026-08-19 09:34:26 -03:00
Socialite feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Support Resume in-flight Instagram and TikTok publishes without duplicates (#281) 2026-08-16 15:34:53 -03:00