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?

  • adminac@philly.page
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I was having the same issue. flipped “Email_verified” from ‘f’ to ‘t’ in the “local_users” table and I’m able to log in with my admin account now. not sure what else may have been messed up in the process though.

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

      Thats what I figured… I just have no idea how to do it. Can you point me to any info on how to do that? :)

      • 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@lemmy.ml
            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.