basecamp / basecamp/once-campfire
Add the ability to ban people
- Dominant language
- Ruby
- Stars
- 4.6k
- Forks
- 791
- Avg merge
- 11h 8m
- Merged PRs (30d)
- 13
Description
When running a public instance sometimes there is a need to ban someone - for spam, trolling, or any other reason.
Only an administrator should be able to ban someone.
They shouldn't be able to ban themselves or another administrator.
Banning someone should:
- deactivate their account
- keep their email unchanged
- delete all memberships
- delete all push subscriptions
- delete all searches
- delete all sessions
- prevent them from using a session transfer code
- the ban should be undoable
Optionally:
- expunge their conversations with a placeholder message (e.g. `[Removed by admin]`) and delete all their boosts
- undoing a ban, of-course, doesn't undo the expunge
- the expunge can be an additional option when banning someone
- an optional reason for the ban can be provided
Contributor guide
Research direction
No files, tests, or entry points are named in the issue. Start by tracing account administration, sessions, memberships, push subscriptions, searches, and session transfer handling; the work is done when administrator-only, reversible bans enforce the listed effects, with optional expunging and reasons handled as specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- authentication, authorization, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100