Members: approve refuses no-membership/unknown accounts; neutral text for legacy suspensions #65

Merged
heimdall merged 2 commits from heimdall/approve-null-membership into main 2026-11-11 16:39:48 +00:00

2026-11-11

Heimdall
Members: whitespace reasons read as legacy; ToggleRole and SetTier refuse unknown accounts
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 16:39:33 +00:00
Heimdall
Members: approve refuses no-membership/unknown accounts; legacy suspensions show a neutral admin text
Approve threw NullReferenceException (user.Membership!) for a chat-tier account and
InvalidOperationException for an unknown id. It now refuses with the existing visible
notice and writes nothing; the docs say the chat tier holds no membership, so approval
does not invent one. Suspended rows with no stored reason show admins a fixed
"Suspended before reasons were recorded"; the old text is not read from the audit trail.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 16:31:16 +00:00