Latent backend bug spotted during the #735 minor-map investigation and never filed (it sat only in session notes).
ProfileMapper.ToDto (spikersoft-backend) does not map five of the FeaturePermissions fields — blogPosting among them — so a child's own profile DTO always carries the default values for those permissions regardless of what's stored. The #735 fix addressed the parent-map masking; this is the remaining mapper gap on the child's own view.
Repro sketch: grant a child blogPosting via the parent flow, fetch the child's own profile → DTO shows the default, not the granted value.
Fix: add the missing fields to ToDto and a mapper round-trip test asserting every FeaturePermissions member survives (that test would have caught this class of omission).
Latent backend bug spotted during the #735 minor-map investigation and never filed (it sat only in session notes).
`ProfileMapper.ToDto` (spikersoft-backend) does not map five of the `FeaturePermissions` fields — `blogPosting` among them — so a child's *own* profile DTO always carries the default values for those permissions regardless of what's stored. The #735 fix addressed the parent-map masking; this is the remaining mapper gap on the child's own view.
Repro sketch: grant a child blogPosting via the parent flow, fetch the child's own profile → DTO shows the default, not the granted value.
Fix: add the missing fields to `ToDto` and a mapper round-trip test asserting every `FeaturePermissions` member survives (that test would have caught this class of omission).
Duplicate — filed from a stale note. This was already tracked as #736 and fixed in backend PR #435 (all 13 FeaturePermissions fields mapped + a 13-field pin test), merged 2026-07-20. Closing.
Duplicate — filed from a stale note. This was already tracked as #736 and fixed in backend PR #435 (all 13 FeaturePermissions fields mapped + a 13-field pin test), merged 2026-07-20. Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Latent backend bug spotted during the #735 minor-map investigation and never filed (it sat only in session notes).
ProfileMapper.ToDto(spikersoft-backend) does not map five of theFeaturePermissionsfields —blogPostingamong them — so a child's own profile DTO always carries the default values for those permissions regardless of what's stored. The #735 fix addressed the parent-map masking; this is the remaining mapper gap on the child's own view.Repro sketch: grant a child blogPosting via the parent flow, fetch the child's own profile → DTO shows the default, not the granted value.
Fix: add the missing fields to
ToDtoand a mapper round-trip test asserting everyFeaturePermissionsmember survives (that test would have caught this class of omission).Duplicate — filed from a stale note. This was already tracked as #736 and fixed in backend PR #435 (all 13 FeaturePermissions fields mapped + a 13-field pin test), merged 2026-07-20. Closing.