Robomongo: Reordering in connections view excludes when you drag above

Created on 29 Oct 2020  ·  14Comments  ·  Source: Studio3T/robomongo

When you open the view to add/edit or open connections, there is a reorder feature.

You can sort the entries by moving them up and down, but you have to be very careful, if you drag above another one, and not above (there is a micro line telling you it's above) the connection below the one you are moving is gone.

This is very misleading and not nice.

There should be at least an dialog inform the other will be deleted, but ideally IMO, drag above and delete should not happen.

MacOS Catalina
Robo 3T 1.4.1 (Build 122dbd9)

UI & Qt critical-dataloss macOS

All 14 comments

Yes, this is absolutely crazy and should be considered a critical bug as it results in data loss (I see the connections as data that I have put into the app). I just lost the majority of my connection setups because I couldn't believe what I was seeing, so I kept inadvertently removing my connections. I thought "No problem, I will just click the dialog Cancel button and everything will be back". But no, your connections are gone forever.

This is a really nasty bug.

Hi @bjornbnielsen @douglasjam, thanks a lot for reporting the problem.
Seems like re-order feature is broken in 1.4 probably due to Qt upgrade in this version.
We checked and it is temporarily deleted on UI. But if you close and open connection list window, the connections are there and not deleted. Don't you have the same behavior?

@bjornbnielsen Seems like your problem is different. We will check.

yes you are right, if I cancel and check it's back, so it would be a dataloss, but undesirable

I wish I was that lucky. If I cancel and reopen, the connections are definitely gone and cannot be found again.
My exact build: Robo 3T 1.4.2 (Build 8650949) on MacOS.

@bjornbnielsen
As I understand, in your case, you select "Remove connection.." then select "Yes" on "Are you sure to delete connection ...", right?

No, here are my repro steps:

  1. Open Robo 3T
  2. Open the connections manager by clicking the "computers icon" in the top-left corner of UI.
  3. Drag and drop one of the connection rows on top of another.

Result: The connection that was dropped ON disappears forever. Canceling the dialog does not help.

So, I am not invoking any explicit "remove" action.

Ok, interesting.
Am I doing correct steps here? https://drive.google.com/file/d/1a2HMI_K4cEOGZNpC5MRHEUjqFnIL1-r5/view?usp=sharing

And what is your macOS version?

Looked at your video. Yes, that seems to be what I do also. Either dropping an item between two other items, or dropping it on another item.
Except on my machine, they do not come back when I cancel+reopen the dialog.

I am running MacOs Catalina 10.15.7.

@bjornbnielsen
You might also check/find your connections in older config files:
https://github.com/Studio3T/robomongo/wiki/Robomongo-Config-File
Fyi.

Thank you @simsekgokhan, I actually managed to salvage most if not all of my "lost" connections by looking in those older config files!
Much appreciated.

After initial investigation, issue is reproducible even without the re-ordering code of Robo.
So, it seems like a Qt bug. Fixed in Qt 5.13.

QTreeWidget ... dragging and dropping an item removes the item on which you dropped the first item
https://bugreports.qt.io/browse/QTBUG-74022

it's true that you recover the last deleted connection if you cancel, but you still lose one if you deleted two, e.g. by dragging a second time while panicking because of the first loss (this happened to me)

@waltertross Thanks a lot for the input.
Yes, if you re-order only one connection, you recover the temporarily lost connection after cancel and with successful re-order.
The permanent connection loss seems to happen only if you re-order 2 or more connections. So, we are thinking to set one re-order limit per new connections window to prevent data loss (as a workaround until we upgrade Qt to fix the real problem and remove this limit) for macOS only.

Hi all. This beta has the partial-fix (one time re-order limit per new connections window to prevent data loss, macOS)

Could you give it a try and let us know if it prevents the data loss and it has one re-order limit?
Robo v1.4.3-beta -> https://github.com/Studio3T/robomongo/releases/tag/v1.4.3-beta

Was this page helpful?
0 / 5 - 0 ratings

Related issues

axe-z picture axe-z  ·  3Comments

itoonx picture itoonx  ·  4Comments

ghost picture ghost  ·  3Comments

lborg019 picture lborg019  ·  4Comments

rspeed picture rspeed  ·  4Comments