SouthbankSoftware / dbkoda

State of the art MongoDB IDE
https://www.dbkoda.com
GNU Affero General Public License v3.0
870 stars 43 forks source link

Username/Password authentication: Password not saved if "Test" Button not pressed #26

Open Structed opened 6 years ago

Structed commented 6 years ago

Affected Version: dbKoda 1.0.1 Operating System: Windows 10 Pro 1803, Build 17134.165

Steps to Reproduce

  1. Open dbKoda
  2. Enable "Password Store" on the Home Screen
  3. Click the "+" Button on the "Connection Profiles" sidebar
  4. Check the checkbox "SCRAM-SHA-1(username/password)"
  5. Fill out the connection profile data, including username and password
  6. Click the "Save" Button

Expected Behaviour

Actual Behavior

Workaround

Press the "Test" Button before saving

michaeljharrison commented 6 years ago

Hey Structed,

Thanks again for submitting this issue so clearly for us. At the moment we only save to the password store once a valid connection is confirmed, this is what's causing the issue. I've put an item on the backlog to make sure the password is stored when the "save" button is clicked as well.

Thanks, Mike from dbKoda.

Structed commented 6 years ago

I understand the motivation and - for me at least, this is also perfectly fine. Perhaps I should have said, that a simple disable of the save button or a UI notification would be enough for the user to u derstand that dbKoda requires a test of the connection before saving it. Why would you save a connection if you're not sure it works? I just kind of accidentally hit the save instead of the test button.

michaeljharrison commented 6 years ago

Yeah I totally agree, it's definitely a bit confusing for the user, specially since the user won't know it hasn't been saved until they try to connect! I think we can change the behaviour so the password is saved, but when you try to connect the password will be used, and a new prompt will appear if the password fails but I'll work it through with our UX guy as well and see what he thinks the best solution is.