Resolve "Deleting a user shouldn't delete associated records"
What does this MR do?
Supplement #12726 (closed)/!7393 (merged) by migrating a user's merge requests, notes, award emoji, and abuse reports to the ghost user before the user is destroyed.
Are there points in the code the reviewer needs to double check?
Tasks
- Implementation
- Refactor / general cleanup
- Migrate
- Merge requests
- Notes
- Abuse reports
- When User A reports an "abuse report" against User B, and User A is blocked, the abuse report's target changes to User A. Why? (#30514 (closed))
- Award emoji
- Is this possible with the current ghost user implementation?
- Tests
- Added
- Passing
- Verification
- Make sure no uniqueness validations are going to conflict with the ghost user
- Award emoji
- Merge requests
- Notes
- Abuse reports
- Verify from the UI
- Merge requests
- Notes
- Merge request
- Issue
- Snippet
- Abuse reports
- Award emoji
- Make sure the award emoji uniqueness change doesn't break anything in the UI
- Snippet
- Note
- Merge request
- Issue
- Snippet
- Issues
- Merge requests
- Make sure the award emoji uniqueness change doesn't break anything in the UI
- Make sure no uniqueness validations are going to conflict with the ghost user
- Meta
- CHANGELOG entry created
-
API support added - Branch has no merge conflicts with
master - Squashed related commits together
-
Added screenshots - Documentation added/updated
- Check for clean merge with EE
- Create EE branch
- Create EE merge request
- Make sure ee_compat_check passes
- Review
-
Miniboss - Endboss
-
- Wait for merge
What are the relevant issue numbers?
- Closes #28695 (closed)
- Closes #30514 (closed)
- EE merge request to resolve conflicts: gitlab-org/gitlab-ee!1581