Resend activation mail throws 404


(Jakob Borg) #1

Hi!

I just tried an installation of Discourse using Docker on Ubuntu LTS 12.04. Everything spins up just fine, but I had a bad email config and needed to fix that and get the activation mail for the first account resent. However, the resend action seems not to exist; the production.log says the following:

Started POST "/users/jakob@nym.se/send_activation_email" for 213.114.7.142 at 2014-03-31 06:21:25 +0000

ActionController::RoutingError (No route matches [POST] "/users/jakob@nym.se/send_activation_email"):
  config/initializers/quiet_logger.rb:10:in `call_with_quiet_assets'
  config/initializers/silence_logger.rb:19:in `call'
  lib/middleware/unicorn_oobgc.rb:95:in `process_client'

Processing by ExceptionsController#not_found as */*
  Rendered exceptions/not_found.html.erb within layouts/no_js (3.1ms)
  Rendered common/_special_font_face.html.erb (0.3ms)
  Rendered common/_discourse_stylesheet.html.erb (0.3ms)
  Rendered text template (0.0ms)
Completed 404 Not Found in 9ms (Views: 0.3ms | ActiveRecord: 1.4ms)

I tried the same operation on try.discourse.org and it seems to behave the same. Obviously I can’t see the logs, but I got the initial activation mail, ignored it and went to log in anyway, clicked on “resend activation mail” when prompted and did not receive a new activation mail.

So apart from the bug report, how can I get into my new install? I assume the token I need should be in some database somewhere…?


(Jakob Borg) #2

I sorted out the acute issue with the rails console, so that’s fine, just the bug report remains. :slight_smile:


(Jeff Atwood) #3

What bug? I don’t see a bug here. I would destroy the Docker container and try again with the correct email config.


(Sam Saffron) #4

@codinghorror I think it is this bug … let me try a repro.


(Sam Saffron) #5

I am completely unable to repro the bug.

Can you describe exact step to reproduce, ideally with screenshots.

EDIT

Apologies, got it.

  1. Create account using email/password.
  2. Forget to activate.
  3. Try to log in with account
  4. A prompt shows up asking if you want to resend activation mail
  5. Click link
  6. Get 500 error.

(Jeff Atwood) #6

Excellent, sorry for the confusion @calmh.


(Jakob Borg) #7

Cool, thanks. No problem.


(Islam Wazery) #8

I have fixed this issue, but after a recent pull from the master branch on the upstream repo I got a lot of routes errors that prevents me from testing my changes before creating a pull request. I think there is a problem with the js assets please tell me what is wrong with my local repo. Here is my server log Oct 03, 2017 - Codeshare.


(Robin Ward) #9

Make sure you rm -rf tmp to clear your assets. Then make sure you have done a bundle install and your development server should be restarted. It should all work then!


(Islam Wazery) #10

Please have a look on the pull request: Fix 'resend activation mail throws 404' issue by wazery · Pull Request #2330 · discourse/discourse · GitHub


(Jeff Atwood) #11

I did this exact flow on try.discourse and I cannot repro this. When I click the “resend activation email” link I get:

And the second activation email came through fine. So I am closing this.


(Sam Saffron) #12

Yeah, looks like someone fixed it.


(Jeff Atwood) #13

This topic was automatically closed after 3 days. New replies are no longer allowed.