Skip to content

Conversation

@adessy
Copy link
Contributor

@adessy adessy commented Jan 7, 2026

No description provided.

adessy and others added 30 commits December 1, 2025 10:43
Align `participation_stats` it with `destroy`
Rename `userId` to `id` to fix cache invalidation
This commit adds validation to prevent banned emails from being used. We used the zrb-43 code for consistency with the domain blacklist validation, which uses zrb-42, even though we don't have a clear explanation for why this value was picked.
Add UI for banning emails when deleting a user:
- Toggle to enable email ban on delete
- Optional reason input when ban is enabled
Changed the method name to keep RuboCop happy.
Change from query params (?email=...) to path params (/:email) using
Rails resources with param: :email. This also fixes TypeScript error
where queryParams was incorrectly used with delete action.
Replace manual JSON rendering with proper JSONAPI serializer.
The original goal of storing the original email hash was to make sure that the email stayed ban even if the normalization rules were changed. However, it makes it more complex to reason about the model and introduce other complexities when banning multiple variants of the same address. For the sake of simplicity, we will only store the normalized_email_hash and enforce unicity. The ban! has been reworked to be idempotent and update the reason/banner is a variant has already been banned.
When importing invites through XLSX, inviting a banned email address now stops the import and shows a clear error message.
Display a warning when deleting a user whose email is already banned. The ban toggle is disabled in this case to avoid confusion.
Exclude the `Lint/BinaryOperatorWithIdenticalOperands` cop for spec files to account for the DSL used by rspec-parameterized.
@adessy adessy merged commit af8a16b into production Jan 7, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants