yavsc/src/Yavsc.Org
Paul Schneider b12c272df7 ClientController: split LoadClientAsync into per-collection subqueries
LoadClientAsync chains 9 .Include() calls on dbContext.Clients.
On Postgres (and InMemory for some IdentityServer8 nav types), the
resulting cartesian product trips the query shaper with
IndexOutOfRangeException at IncludeCollection materialisation time.
Bug reproduces in production on the Blog admin pages that load a
Client by id.

AsSplitQuery() rewrites the load as 9 separate SELECTs joined by
client id, which sidesteps the cartesian explosion and any shaper
ambiguity between Claims/Properties/ClientSecrets (which share
Type/Value column names across some IdentityServer8 versions).

Tests:
- EditRedirectUris_GET_after_add_lists_both_uris: end-to-end
  reproducer that adds a second RedirectUri via POST then re-GETs
  the editor. Guards the fix on the integration path.
- Bisect_*_alone: nine unit tests that exercise the same
  .SingleOrDefaultAsync(c => c.Id == id).Include(nav) on the
  InMemory provider, one nav at a time. Pinpointed three
  problematic navs (RedirectUris, AllowedScopes, AllowedGrantTypes)
  on InMemory; kept as a regression net for any future shaper
  regressions on the InMemory provider (not the Postgres path).
2026-07-12 01:15:02 +01:00
..
Avatars-Dev reorg 2026-02-28 21:17:54 +00:00
Bills-Dev reorg 2026-02-28 21:17:54 +00:00
Controllers ClientController: split LoadClientAsync into per-collection subqueries 2026-07-12 01:15:02 +01:00
data reorg 2026-02-28 21:17:54 +00:00
Data-Dev reorg 2026-02-28 21:17:54 +00:00
Extensions Revert "repoduces the bug" 2026-07-11 22:17:58 +01:00
Helpers Identity reloaded 2026-07-05 23:56:10 +01:00
keys reorg 2026-02-28 21:17:54 +00:00
Migrations Blog: enforce Restrict FK on BlogPost.Author and Comment.Author 2026-07-11 18:45:27 +01:00
Resources Ui fixes 2026-07-04 19:49:48 +01:00
Services fixes the compile and timestamps to db 2026-07-11 03:26:13 +01:00
Temp-Dev reorg 2026-02-28 21:17:54 +00:00
ViewComponents fixes the compile and timestamps to db 2026-07-11 03:26:13 +01:00
ViewModels refact 2026-05-30 19:34:22 +01:00
Views Blog: render user avatar through a null-safe helper 2026-07-11 19:41:09 +01:00
wwwroot Ui fixes 2026-07-04 19:49:48 +01:00
.eslintrc.json reorg 2026-02-28 21:17:54 +00:00
appsettings-org-template.json background colors 2026-06-20 19:20:22 +01:00
appsettings-org.json background colors 2026-06-20 19:20:22 +01:00
appsettings-org.Testing.json Revert "repoduces the bug" 2026-07-11 22:17:58 +01:00
AssemblyInfo.cs test(yavsc.org): cover the kid derivation in ComputeKid 2026-07-09 20:28:58 +01:00
Contants.cs code cleanup 2026-06-25 23:55:52 +01:00
CustomModelBinder.cs reorg 2026-02-28 21:17:54 +00:00
Directory.Packages.props Identity reloaded 2026-07-05 23:56:10 +01:00
libman.json reorg 2026-02-28 21:17:54 +00:00
License.md reorg 2026-02-28 21:17:54 +00:00
Makefile reorg 2026-02-28 21:17:54 +00:00
noteLocalization.md reorg 2026-02-28 21:17:54 +00:00
Program.cs use the helper 2026-06-15 00:11:48 +01:00
Startup.cs reorg 2026-02-28 21:17:54 +00:00
tempkey.jwk reorg 2026-02-28 21:17:54 +00:00
Yavsc.Org.csproj Revert "repoduces the bug" 2026-07-11 22:17:58 +01:00