Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admission-based registrations mode #10250

Merged
merged 1 commit into from
Mar 14, 2019
Merged

Admission-based registrations mode #10250

merged 1 commit into from
Mar 14, 2019

Conversation

Gargron
Copy link
Member

@Gargron Gargron commented Mar 13, 2019

Fix #6856
Fix #6951


Between open registrations, and closed registrations, admission-based registrations mode allows servers to accept new users in a manually controlled manner. To the outside viewer, there are no practical differences between open and admission-based registrations, as both the sign up API and the sign up form remain available. However, "Sign up" on the form changes to "Request an invite".

Accounts created when admission-based mode is active cannot be logged into or used via API tokens.

After requesting an invite, the user receives a confirmation e-mail as usual. It is communicated in the message that the account won't be available straight away, but that it is instead pending review.

Once the e-mail is confirmed, the staff receives an e-mail about a new pending account. They can then approve or reject the user's application. Rejection removes the user's record and frees up the username. Approval, on the other hand, unlocks the new account and sends the user the welcome e-mail.

Note: Because registrations_mode is technically a new setting, if you had previously closed registrations, you will need to close them again after this update! However, since admission-based mode is safe for all intents and purposes, it should be a better new choice than simply closing registrations in most cases.


  • Change database schema
  • Change admin setting for registrations
  • Change user-facing strings about registrations
  • Change tootctl for open/close commands
  • Add UI for viewing and approving pending registrations
  • Add e-mail notifications about pending registrations
  • Change confirmation e-mail to mention pending review

@Gargron Gargron added moderation Administration and moderation tooling work in progress Not to be merged, currently being worked on labels Mar 13, 2019
@Gargron Gargron force-pushed the feature-approval branch 9 times, most recently from 8f526fd to 2ffe4b3 Compare March 13, 2019 23:52
@Gargron Gargron changed the title Approval-based registrations mode Admission-based registrations mode Mar 13, 2019
@Gargron Gargron marked this pull request as ready for review March 14, 2019 00:09
@Gargron Gargron removed the work in progress Not to be merged, currently being worked on label Mar 14, 2019
@todoneunl
Copy link
Contributor

todoneunl commented Mar 30, 2019

@Gargron Is there some kind of form where a new user (that asks for admission) can type the reason why they want to have an account? If not, than I think this is a must-wanted feature. Or else it would be very difficult for admins and mods to approve or decline a request.

@ghost
Copy link

ghost commented Mar 31, 2019

Would be nice if we could only enable the email notifications for specific mods, or disable all together. On a popular instance with a team of moderators this can create thousands of emails every day. On our instance only a couple of people would be responsible for approving new signups, not the entire moderation team.

hiyuki2578 pushed a commit to ProjectMyosotis/mastodon that referenced this pull request Oct 2, 2019
messenjahofchrist pushed a commit to Origin-Creative/mastodon that referenced this pull request Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
moderation Administration and moderation tooling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make invite-only instances visible Application-for-invite
3 participants