All email disabled after restoring backup?

I wanted to do some testing with Discourse so I took a backup of my instance, wiped the DB (rm -fr /var/discourse/shared) and rebuilt the container.

I then created an admin user again and instead of following the setup wizard I went straight to admin, enabled restores, uploaded the backup and restored.

For whatever reason the outgoing email is disabled by an administrator message appeared.

I can confirm that the outgoing email was never disabled on the instance where the backup was made.

I did tick the option to enable readonly mode when performing backup operations.

Is this a bug or did I mess up somewhere?

2 Likes

You should see that message only for a short time. It should disappear after the restore has finished as long as outgoing emails weren’t disabled when you created the backup. Refreshing the page in your browser should help if the notice doesn’t disappear automatically.


I’m leaving this as #bug, because the way we currently disable outgoing emails before the restore is quite useless. Sidekiq is disabled during the restore, so nothing can happen during that time. And the restore overwrites the value of the disable_email setting. Fixing the bug would require changing the site setting after the restore.

@eviltrout You added this in https://github.com/discourse/discourse/commit/ccf9b7067135f37bde23c80456d21b2d1924f858. What’s your take on this? Should we fix the bug or remove the code? In my opinion changing a site setting after the restore would be quite unexpected, so I vote for removing. Moreover nobody complained about this problem in nearly 3 years… :wink:

3 Likes

I think the idea was that when a restore finishes the administrator might want to poke around and make sure everything is OK. Right now emails will start going out the second it finishes and the site might not be “approved.”

4 Likes

So therefore this is not a bug @gerhard

Maybe Discourse should make it a bit more clear to the admin (e.g. entry inserted in the backup log panel). The site setting for disable_emails is set to no while the message renders and this is confusing (admin panel says disable emails is off while the message on the top of the screen still says its disabled)

Well, I consider it a bug when a line of code doesn’t do what it’s supposed to do. :wink: Anyway, it’s fixed: https://github.com/discourse/discourse/commit/dc961fecb9c28be5e8f161a82616148be6a9facc

I made a small adjustment, because I think it’s better to disable outgoing emails only for non-staff users instead of all of them.

7 Likes

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.