whisper-money/app/Http/Middleware
Víctor Falcón 8ac6ed4d83
fix: batch Pennant feature flag queries to avoid N+1 selects (#244)
## Summary

- Batch-load all Pennant feature flags via `Feature::load()` in
`HandleInertiaRequests`, reducing 3 individual SELECT+INSERT pairs (6
queries) to 1 batched SELECT + 1 bulk INSERT (2 queries)
- Batch `activate()` calls in `ActivateDevelopmentFeatures` middleware
using array syntax for a single UPSERT instead of 3

## Context

PR #241 (real estate feature) added a new Pennant feature flag check to
the shared Inertia data, pushing the top categories API endpoint from 12
to 13 queries and breaking the performance test threshold.

## Query impact

| Scenario | Before | After |
|---|---|---|
| Feature flag queries per request | 6 (3 SELECT + 3 INSERT) | 2 (1
SELECT + 1 INSERT) |
| Top categories API total | 13 | 9 |
| Future-proof | +2 queries per new flag | Constant regardless of flag
count |
2026-03-24 15:47:40 +00:00
..
ActivateDevelopmentFeatures.php fix: batch Pennant feature flag queries to avoid N+1 selects (#244) 2026-03-24 15:47:40 +00:00
BlockDemoAccountActions.php feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
DisableRegistrationWhenHidden.php Hide GitHub and Discord link text on mobile in header 2025-12-06 20:35:09 +01:00
EnsureOnboardingComplete.php feat(onboarding): inline connected account flow with auto-account creation and step deep-linking (#184) 2026-03-03 10:49:42 +01:00
EnsureOpenBankingFeature.php feat: Integrate EnableBanking as open banking provider (#106) 2026-02-12 09:09:28 +01:00
EnsureUserIsSubscribed.php feat(subscription): allow free plan for open banking users without connected banks (#188) 2026-03-03 22:28:50 +00:00
HandleAppearance.php Add chart color scheme setting (#101) 2026-02-28 12:58:21 +01:00
HandleInertiaRequests.php fix: batch Pennant feature flag queries to avoid N+1 selects (#244) 2026-03-24 15:47:40 +00:00
SetLocale.php feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
WithoutSsr.php Disable SSR for dashboard routes and extract API routes (#19) 2025-12-08 19:21:48 +01:00