Opened 10 years ago

Closed 7 years ago

#1142 closed bug (fixed)

can't confirm e-mail

Reported by: vanja_ku Owned by: planetcruiser
Priority: critical Milestone: 0.5.6 - bugfixing
Component: BW Internationalization Keywords:
Cc:

Description

BW Rox version: user agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit?/525.19 (KHTML, like Gecko) Chrome/1.0.154.65 Safari/525.19 request uri: http://www.bewelcome.org/signup/confirm/vanja_ku/939ba3476635fd61

i get

"SignupMailConfirmedError1"

when trying to confirm my e-mail

Change History (10)

comment:1 Changed 9 years ago by globetrotter_tt

  • Component changed from unknown to BW Internationalization
  • freq_reported changed from 1 to 3

There is no text for "SignupMailConfirmedError??1"

Question to the one who wrote the code for this:

"What should be written here?"

comment:2 Changed 7 years ago by globetrotter_tt

  • Milestone changed from unassigned to 0.5.6 - bugfixing

comment:3 Changed 7 years ago by micha

The error shows in the following conditions:

if (
    !isset($request[2]) 
    || !isset($request[3]) 
    || !preg_match(User::HANDLE_PREGEXP, $request[2])
    || !$model->handleInUse($request[2])
    || !preg_match('/^[a-f0-9]{16}$/', $request[3])
)

So it actually means, it's either a malformed MailConfirmation? link or the user hasn't registered on BW yet (in this case the link is also 'malformed').

I propose an error message like the following:

Something isn't quite right yet. Did you follow the exact link that we put in our confirmation e-mail to you?

comment:4 Changed 7 years ago by planetcruiser

did more people complain about this? if yes, we should find out why the email link is broken..

@micha: i think your error message is a bit patronising. ;) i would assume that the user just clicked the link and that the bug is in our software, not on their end.

i would propose:

"An error occurred while processing your confirmation link. If this error persists, please contact us using the feedback page and include your confirmation link in the message."

also i would have a close look if the handleInUse() (build/signup/signup.model.php) method is doing its job right. i see a big warning "!!!!!! don not use such a function !!! the username is in the members table !" there. ;) and indeed it's looking up in the "user" table. don't we have more reliable methods to find out if a handle is in use? ideally we should look in the same place that the first signup step is writing to.

@micha, want to take this ticket?

comment:5 Changed 7 years ago by micha

  • Owner set to micha
  • Status changed from new to assigned

I can imagine tons of reasons why the email link is broken. E.g.

  • somebody selected and copied the email link but missed the last letter and tried to follow this link in the browser.
  • somebody created a malformed translation for the confirmation email text.
  • etc.

The link given above doesn't result in the "SignupMailConfirmedError1" now but in a error message saying that the user is already active.

I'm fine with your error message. Although I think it's a good idea to give people a hint for possible errors on their side.

Ok, I take the ticket and check the handleinuse-function. If I remember right, we did still use it to double ensure the consistency between the users and members table.

comment:6 Changed 7 years ago by micha

  • follow_up changed from none to review code

First part done with commit b079321. Second part involved creating a new translation for the code "SignupMailConfirmedErrorInvalidLink?" on alpha. Done.

After code review, please test the Signup and wrong confirmation links. E.g.:

http://alpha.bewelcome.org/signup/confirm/Xbeliebig http://alpha.bewelcome.org/signup/confirm/891286 http://alpha.bewelcome.org/signup/confirm

comment:7 Changed 7 years ago by micha

  • Status changed from assigned to accepted

comment:8 Changed 7 years ago by planetcruiser

  • Owner changed from micha to planetcruiser
  • Status changed from accepted to assigned

will do code review and testing

comment:9 Changed 7 years ago by planetcruiser

code in https://gitorious.org/bewelcome/rox/commit/b079321 looks good. although there were some charset related modifications in the HANDLE_PREGEXP_* lines. i hope that the regexes will still work the same way!

the error message now reads like this:

"An error occurred while processing your confirmation link. Please compare the link in the browser's address field with the one that we sent to you by email. They need to be exactly the same. If this error persists, please contact us using the feedback page and include your confirmation link in the message."

i added it for EN and DE on alpha and www.

comment:10 Changed 7 years ago by planetcruiser

  • Resolution set to fixed
  • Status changed from assigned to closed

tested on alpha. i saw the errors when messing with the link, and got accepted when using the correct link. so i assume this works. and member http://www.bewelcome.org/members/vanja_ku also seems to be active now.

Note: See TracTickets for help on using tickets.