And for the love of god, can we PLEASE document the fixes we’re finding along the way.

I’m currently impacted by the user registration bug that relates to user constraints in the DB - and it’s completely ruining what would be an amazing launch. However, apparently some other server owners have it working! Buuuuuttt, no one is posting their secrets - and it’s really hampering my ability to deliver this instance.

So, please, someone explain how I fix this issue and get a working instance.

Do I need to roll back? If so, what version? Do I need to run some PSQL? Do I need to patch some Rust?

EDIT: SUCCESS!

Here is the sacred knowledge for my particular situation.

It was half PEBKAC and half bug -

The PEBKAC - If using protonmail SMTP - you’ll need ‘starttls’ for it to work.

If SMTP is broken in this way, it seems to cause a bug in user creation that will essentially create partial data that would prevent user creation with the same name from occuring again. You can use a “plus” address (ie [email protected]) to work around this in the meantime.

  • Admin-Mike@lemmy.nine-hells.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Sorry - I didn’t run into any issues with user creation. Can you provide some context to this? What are you seeing in terms of errors/behaviour?

  • tucsocial-adminOPA
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Ah, sorry, yes, context:

    The bug I think I’m impacted by - https://github.com/LemmyNet/lemmy/issues/2955

    The error I’m getting:

    panicked at ‘couldnt create local user: DatabaseError(UniqueViolation, “duplicate key value violates unique constraint "local_user_email_key"”)’, crates/db_schema/src/impls/local_user.rs:157:8

    The user_email value is indeed different, ( I have a handful that I’m using to test) and this occurs no matter what I try. Even disabling email verification didn’t seem to help.

    I’m using the official docker instructions, and everything else appears to function perfectly - and my initially created user has no problem interacting with with the app. Heck, I’m using my instance to communicate with y’all.

    • tucsocial-adminOPA
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 year ago

      Double-Update: Suddenly it’s working again? I think using Incognito sessions to test might be causing the issue… This time I also used a “plus” email for more uniqueness (while using the same inbox).

      EDIT: NOPE! Nvm, it was because email validation was disabled that things were working. As soon as I enabled it again, I got a different error. Which has me suspect that the bug I was experiencing earlier is a result of the following condition.

      1. The user creation transaction doesn’t back out on SMTP failure, thereby preventing the creation of the account due to the aforementioned constraint issue.
    • Beto@lemmy.studio
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I hit this problem, for me it was because I added a setup section to my config.hjson file (with the default values as the full config. Once I removed that it worked.

  • tucsocial-adminOPA
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Final-ish comment on this:

    Here are the valid workarounds to this issue:

    1. Turn off email validation and enable captchas (if doing open registration like I am)
    2. Turn on the registration from, and disable captchas.
    3. Fix your SMTP settings
    4. For anyone impacted by a failed registration, have them use a “plus” email address like ( [email protected] ) after you have it fixed.