Incorrect UI when issuing multiple password resets


(Matthew Bloch) #1

If you are trying to get your mail configuration right (e.g. an SMTP relay on the docker host), this feature refuses to send the email a second time. I think there may be a timer there to avoid it being used for spamming a random email address.

So if you mess up your mail configuration this seems like the quickest way of getting it to send a second activation email:

docker exec -it app bash
su postgres
psql
delete from users where email='me@myaddress.com';

I can see why you want that once the board is setup, but installation would be a lot easier if the anti-spam timer were disabled until at least one account has been activated.


(Jeff Atwood) #2

How many are you sending? I have never seen “forgot password” fail to work. I don’t think you are identifying the problem correctly.

I know when I screw up the email config I have to wait a while for the app to rebuild, and Sidekiq to process pending tasks after the rebuild…


(Matthew Bloch) #3

Thanks for the quick reply!

I was following the beginner install guide, running Docker on Debian/jessie. It all went to plan until I had to register the first account. It tried to send a confirmation email. I’d forgotten to set up the SMTP host I’d told it would exist (just exim4 on the docker host). Never mind, I installed it, tried to log in again and (as promised) it offered to resend the confirmation email. Except I’d made a typo in the exim4 access control, and it bounced the email, could see from the logs. Now I try to log in a second time (maybe after 2 minutes), and it didn’t offer the resend link.

So that’s where I’m stuck. Are you saying it should offer the resend email link on a second login to an unconfirmed account? Or that using “forgot password” on an unconfirmed account will always send an email? I’m not sure what the intended course of action was, but I was just trying to follow the instructions and felt like I hit a wall. It didn’t say how long I’d need to wait or what to do next. That’s when deleted the user in the database, and could start again.


(Jeff Atwood) #4

Yes to both, I am absolutely certain of it.


(Matthew Bloch) #5

I just tried it with a broken mail configuration, and it doesn’t offer to send a third activation link. It’s version 56ec41cd835b296c50660f9d63707311303cf8a4.

After registering my “developer” email address it says:

You're almost done! We sent an activation mail to matthew@bloch.tv. Please follow the instructions in the email to activate your account.If it doesn't arrive, check your spam folder, or try to log in again to send another activation mail.

Then I try to to log in again:

You can't log in yet. We previously sent an activation email to you at matthew@bloch.tv. Please follow the instructions in that email to activate your account.

Click here to send the activation email again.

I click the “send again” link:

We sent another activation email to you at my@email.address. It might take a few minutes for it to arrive; be sure to check your spam folder.

But when I try to log in a second time (i.e. hoping for a third activation link), the message is different:

You can't log in yet. We sent an activation email to you. Please follow the instructions in the email to activate your account.

We sent another activation email to you at matthew@bloch.tv. It might take a few minutes for it to arrive; be sure to check your spam folder.

i.e. there’s definitely no link to resend, and of course it’s wrong about having sent the email. I don’t know how long it would make me wait before offering to send it again.

There’s no prompt to try resetting your password, which does work over and over though.


(Jeff Atwood) #6

I think that is a UI issue where it does not expect the dialog to be invoked repeatedly in the same session. Try closing the browser or tab in between the 2nd and 3rd attempts.


(Matthew Bloch) #7

Aha, yes, that brings it back.


(Jeff Atwood) #8

@neil this is a bug see the repro steps in the above post.


(Neil Lalonde) #9

I just pushed a fix for this. The modal wasn’t being reset from the first time you saw it, so it was quite a buggy mess. :ant:


(Jeff Atwood) #10