Staged invited user did not become registered user

Hi, I have several staged users who did not become registered users. This is after they’ve added a profile picture and posted. In case this makes a difference, both staged users were first added via email to a group. Their emails match.


Can you repro this @justindirose

@debryc Here’s what I tried:

  1. Emailed into a group mailbox to create a staged account
  2. Added that user to a group as an admin
  3. Sign up using the same email and choosing the same username

That did not reproduce the behavior. Does anything differ in the process for you?

  1. Admin adds email to group message

  1. Staged user creates account

  2. Staged user clicks on activation link and can now do everything

  3. Admin looks up user

  4. User is still staged

The title is misleading here. You mean you invited an email address to a topic, not that someone emailed-in to create a topic, which is where 99% of staged users come from.

I’ll edit to make this clear. @justindirose there’s a better testing scenario. I wish this could have been clear from the outset to save everyone time.

1 Like

Thanks for clarifying the title! My apologies for the confusion.

Has this been reproducible?

I tried this on latest in a local development environment, and the user is unstaged and active as expected.

@debryc what version of Discourse are you running?

One odd behavior, though, is a notification is not shown for the PM the user was invited to prior to creating an account, even though it is not read.


Ah ha! We are on v2.4.0.beta1 +8. I tried to update to the latest version, but am waiting on our technical volunteer to SSH into our web server. Note to self: Anytime there’s a bug, check for Discourse updates. I’ll let you know what happens after we update!


Hi Justin, we’re now on the most recent version of Discourse and it still keeps a user as “staged”.

Here’s a video of what’s happening. (Watch on mute to avoid the sound of typing)

@justindirose Meanwhile, is there any way to manually unstage someone? I’ll use that as a stopgap measure.

You can do it via rails commands:

cd /var/discourse
./launcher enter app
rails c
User.find_by_email("").update(staged: false)

Thanks, this worked!

Meanwhile, I updated again and @justindirose, I may have experienced the bug that you mentioned.

This time I followed the exact same procedure as before but after I registered for an account, I wasn’t sent an activation link. Instead, I was sent the welcome message!

I requested Discourse resend the activation link, and that worked.

My user stayed staged.

You’ll need to wait a bit as Justin is away at a conference this week.


Alright I tried to reproduce this issue today based on steps @debryc. @dax shared some thoughts with me and was possibly able to reproduce this with given steps in this post: Staged invited user did not become registered user

@dax was able to reproduce with these steps on a test site in our infrastructure, with the addition of the following:

  • When creating an account and entering information in:
    • Use same email
    • Use a username and name different from those created when sending the staged user
  • Create the account as normal

I attempted this on Meta and was not able to reproduce.

I’ll attempt to reproduce via a test site on our hosting to try to isolate further.


I tried to reproduce this on a fresh staging site on our hosting, and I was not able to reproduce.

@debryc do you have any unofficial plugins installed?

@debryc we’ve been able to reproduce on a site with some site settings changed, but not on a fresh install. Do you have anything in particular changed on your site? Plugins you’re using? Any further info will help us narrow things down.


theme components: blog post styling, DiscoTOC, discourse-category-banners, Discourse Kanban, Tag Icons.

mobile css

.login-button {
span {display: none}
&:after {content: “Sign Up / Log In”}

common css

// Banner formatting
#banner {
border: 6px solid rgba(140, 194, 82, 1);
// border-radius: 0;
box-shadow: none;
padding: 20px;
max-height: inherit;
// background: url( no-repeat;
// background-size: cover;
background-color: rgba(255, 255, 255, 0);
background-blend-mode: color;

// Responsive Google Calendar iframes
position: relative;
height: 0;
width: 100%;
padding-bottom: 50%;

.googleCalendar iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;

lots of text customizations

user fields: added two text userfields

emoji: added one custom emoji

plug-ins: docker_manager

basic setup:







trust levels: no change




rate limits: no change

developer: no change


backups: no change


other: no change

user preferences:

api: no change

user api: no change


dashboard: no change



Thanks for the information @debryc – we’ll dig in and try to figure things out a bit more.

1 Like

This was a tricky one! We were able to narrow it down to the discourse_narrative_bot welcome_post_type site setting being set to “Send all new users a welcome message with a quick start guide”

Thanks for all the helpful information you provided! We’ll get this fixed up ASAP.


So the exact repro steps are:

  • ensure discourse_narrative_bot_welcome_post_type set to “Send all new users a welcome message with a quick start guide”

Then –

  • send an invitation to a message using an email not tied to an existing account
  • now you can see the staged user on the site, go to the user admin page, the user is only staged but not activated just like it should be
  • open the forum in a private browser window
  • click on Create New Account
  • create a new account using the email address from the first step
  • activate the account in a private window and continue to site
  • as a site admin refresh the user page of the staged user and the account is still staged but active

Does that sound correct @tshenry?