Same project_ef_nav_include_pitfall as 27ebb51's tutorial pack_open fix but in the gift path: without .ThenInclude(i => i.Item), the existing OwnedItemEntry's Item nav defaults to a new ItemEntry() (Id=0), so RewardGrantService.ApplyAsync's `FirstOrDefault(i => i.Item.Id == detailId)` misses pre-existing rows. It falls through to add a new entry, and the (ViewerId, ItemId) unique index added 2026-05-25 throws on SaveChanges → 500 to the client, no tutorial advancement, no currency grant. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
9.4 KiB
9.4 KiB