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 @justin
@debryc Here’s what I tried:
- Emailed into a group mailbox to create a staged account
- Added that user to a group as an admin
- 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?
- Admin adds email to group message
-
Staged user creates account
-
Staged user clicks on activation link and can now do everything
-
Admin looks up user
-
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. @justin there’s a better testing scenario. I wish this could have been clear from the outset to save everyone time.
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)
@justin 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("itsmedebryc@yahoo.com").update(staged: false)
Thanks, this worked!
Meanwhile, I updated again and @justin, 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(https://discourse.nycedu.org/uploads/default/original/1X/279dd1c1049bf67d3472d0927c7230aac3aa3d9a.png) no-repeat;
// background-size: cover;
background-color: rgba(255, 255, 255, 0);
background-blend-mode: color;
}// Responsive Google Calendar iframes
.googleCalendar{
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:
login
users
groups
posting
emails
files
trust levels: no change
security
onebox
spam
rate limits: no change
developer: no change
legal
backups: no change
search
other: no change
user preferences:
api: no change
user api: no change
tags
dashboard: no change
plugins
Thanks for the information @debryc – we’ll dig in and try to figure things out a bit more.
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?