I’ve hit an issue with Lemmy. Initial startup was fine… I created my admin user and logged in. Then I created this account.

Third account I went to test with failed to login… then my other accounts also failed, so I rebooted.

Now when I try to log into my admin account, it just spins forever. Checking logs, I see this:

lemmy_server::api_routes_websocket: email_not_verified: email_not_verified

Can anyone tell me how I can manually flag my admin account as having been email verified already?

  • Lodion 🇦🇺@lemmy.clickOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Ok, figured it out myself. For anyone else that needs it…

    Run a shell within the postgres docker container:

    docker exec -it <sitename>_postgres_1 sh

    Connect to the postgres service:

    psql -U lemmy -h 127.0.0.1 -p 5432 -d lemmy

    Connect to the lemmy database:

    \c lemmy

    Then the user table: \d local_user

    Find the user ID of the account you want to manually toggle, probably #1:

    SELECT * from local_user;

    Then update the email_verified and _accepted_application flag on the first account:

    UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1;

    lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 3; UPDATE 1 lemmy=# UPDATE local_user SET email_verified = ‘t’, email_verified= ‘t’ WHERE id = 3; UPDATE 1 lemmy=#

    • Chris A Moody@thediscussion.site
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks for this breakdown, I seem to be having issues with the update statements: lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy=# UPDATE local_user SET email_verified =‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified =‘t’, accepted_applicat... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 3; UPDATE 1 ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy-#

      • prothy
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        It seems that the query that Lodion shared has the wrong single quote character, rather than '. Try using it with the latter, I had the same issue as you and this was what fixed it.

      • Lodion 🇦🇺@lemmy.clickOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Sorry Chris, I was figuring that out as I went. It looks like a postgres syntax error but the command matches what I used.

        If you run “SELECT * from local_user;” do you get output showing your list of registered users? Perhaps you’re not attached to the lemmy database?

          • Lodion 🇦🇺@lemmy.clickOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Not sure what to suggest, sorry I’m not a DBA :(

            To make it clear, here is the command I ran enclosed with "

            “UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1;”

            • Chris A Moody@thediscussion.site
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              “lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column “‘t’” does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica… ^ HINT: Perhaps you meant to reference the column “local_user.id”.” This was its response.

              • Lodion 🇦🇺@lemmy.clickOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                1 year ago

                I’ve just taken a look at your instance… you’re running a slightly older version. I’m guessing the DB schema has changed.

                Does “SELECT * from local_user.id;” get you a list of users? You may need to update the other references to match whatever the old DB schema is.