aaronpk/Compass

login weirdness - missing database

Closed this issue · 2 comments

Hey Aaron,

I'm on the same setup as I made when I installed and configured compass in November of 2017. Nothing has changed on my server, other than potentially the https cert by certbot.

I hadn't logged into Compass since a while so I did today and noticed that it's not showing the database. This is on Firefox 58 on Windows 10. I thought that it might be an FF issue, so I went to my Chrome where I have an older login. Chrome showed my database as expected, along with all my data. Then I went to Chrome incognito mode and it too failed to show me my database.

My login hasn't changed. What does seem to have changed is the username string I get from withKnown.

When I first logged into Compass using withKnown, it showed my username to be -

https://nitinkhanna.withknown.com/profile/nitinkhanna

so that's what I kept using. I used to login using nitinkhanna.withknown.com and it used to work.

Now when I login, it shows the logged in user as -

https://nitinkhanna.withknown.com

Even when I add the profile/nitinkhanna part, it still shows the username as the one above.

So I did the obvious thing and in Chrome, added a User -

https://nitinkhanna.withknown.com

Now I have two users for my database but it still doesn't give me access to the db on the new login.

Overland seems to be working fine in submitting events, so it doesn't seem to be a database issue.

I tried to create a new db with the same name as my old one and it doesn't let me as "That database name is already in use." So that's good. At least the data isn't lost.

Any tips/ideas? If nothing, then could you please guide me on how to recover/change my database so I can potentially just create a new db and drop all my old data into the new one and move the Overland tokens to the new one. Then I can figure out how to deal with this login issue without losing any data.

Thanks!
Nitin

Hi Nitin, this sounds like a recent change to the way Known handles IndieAuth to make it return the root URL for single-user sites, which it should have been doing all along. There are a few ways to fix this for your Compass, all of which will require that you can modify stuff in the Compass MySQL database.

Method 1:

  • First identify the Compass database in that has your data in the databases table. If you've only created one Compass database there will be only one record. Make a note of that id.
  • You should see two records in the users table, one for https://nitinkhanna.withknown.com/profile/nitinkhanna and the other for https://nitinkhanna.withknown.com/
  • Make a note of the id for each.
  • In the database_users table, you should see one record with the database_id of your previously found database, and it will have one of the user IDs associated with it. Add a record for the other user ID.
  • That will grant your new profile URL access to your existing Compass database.

Method 2:

  • In the users table, delete the record for the new IndieAuth URL https://nitinkhanna.withknown.com/.
  • Change the url of the other record from https://nitinkhanna.withknown.com/profile/nitinkhanna to https://nitinkhanna.withknown.com/.
  • Now when you log back in your new IndieAuth URL should match up with the user record.

Hope this helps!

Aha! Thank you Aaron! This helped. I used method 2, as it seemed simpler and more straightforward 😃

I can now access the database in the webUI again.