basecamp / basecamp/once-campfire

Add the ability to ban people

Open
#71 4 comments 4 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.