-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dropbox unlocking takes several minutes #191
Comments
Hi @vladox, sorry to hear you’re having problems. That phone definitely shouldn’t be a slug when it comes to decryption. It takes a little time to unlock usually due to the encryption techniques used - this is all for security’s sake of course. It should not take more than a few seconds. Unfortunately there’s not much we can do without being able to reproduce it, however. We haven’t seen any slowness when unlocking. I don’t suppose you can try any other source type like Google drive or WebDAV? |
Hi @perry-mitchell thanks for taking the time to answer my report. |
@perry-mitchell here some screen recordings |
These look like issues making the requests, vs actually handling vaults. The google drive one you show is just connection functionality and it’s not even from our app- it’s using a native google module. Can you confirm that this still occurs on other networks such as wifi? It would appear as if you have extremely slow or throttled internet access. |
I can confirm the Google Drive infinite connecting issue on iOS 13.1.2 with iPhone 7 with both Wifi and cellular connection. |
Same problem on my device (Nokia 8) with Android 9, after successful auth procedure, connecting to Google Drive infinite wait result in no further action. |
Ah that'll be it then! The client is taking forever fetching the remote contents because the list is so long. This is quite tricky as no other file storage has this limitation, and preferably we wouldn't code something special just for Google. Seems that we'll need to figure out a way, however. |
Hello, first of all congrats for this great project, using it since I heard for the first time and more happy every day :) About this issue, I did a couple more tests and I think that it's not a problem with account size or files number. In my case I use two vaults, one is private, located in my dropbox account folder, and the other is from work and is located in a shared folder inside the same account. My private vault takes forever to unlock, but the shared one only a few seconds. Then I copied the shared vault in the same folder where the private is and the unlock keeps the same, few seconds. On the other way, if I copy the private one in another folder, the problem still happens. The private one is about 2,6Mb while the shared one is only 480kb, don't know if that can be the problem. So for me it seems a vault problem, but only in android platform (my device is an Honor 8), because I can successfully use that private vault every day in my macbook pro (mainly in chrome's extension but also tested in desktop app). I can also unlock it in an iPad mini 4, although it lasts a minute or so to do it. I'll try to hunt down if there's something in my vault that can be problematic, but at this moment I have no more clues in my mind. |
I have same problem with file on dropbox on my phone. (Android 10 / Google Pixel). Unlocking takes soooooo loooooong. Doensn't matter am I on wifi or not. It happens only on phone app -Desktop app or browser extensions doesn't affected. |
I’ve now been able to reproduce this in development, but I see no errors or warnings pertaining to the delay. I’ll have to tear apart the core to place checkpoints and logs, and I don’t currently have the time to do this. Would be excellent to get a hand on this one! |
I made some test cases. I used GDrive and Dropbox, on wifi or on cellular connection. Results: It's annoying, because if I need password, ussually I need it immidiately, without waiting. |
I think this is starting to sound like a crypto issue.. Perhaps. There might be something running slower on some portion of devices. Just a theory at this point however. We'd really need someone with a problematic device to dive in to debugging it. |
I have problematic device, but I haven't expreriences with debugging android app. Some basic knowledge about adb. |
I think the problem started after I added OTP services |
I recall hearing this issue from other users before OTP was released (in fact this issue was made before OTP was out). so I don't think it can be that. OTP processing is extremely lightweight too. |
Any updates? It's really annoying and the issue is quite old... |
I have this same issue, quite annoying to say the least. I'll try to clone the repo and try to reproduce it, but since I have not experience with react-mobile, let's see how far can I get. |
We've not been able to reproduce this issue, so we can't help debug it unfortunately. We would need either:
Anything outside of that I don't see as being constructive, I'm afraid :( If you've got a better suggestion, please don't hesitate to mention it. EDIT: If someone would be interested in doing some remote debug setup, with their phone and perhaps some shared environment using VSCode or teamviewer, we might be able to do it this way. |
I made export from problematic vault, create new, and imported it back = no change. |
If you get me instruction, what I have prepare, install and setup, I can provide my phone and notebook through Teamviewer for debugging. |
I'm available for remote debugging on VSCode, Android device or browser. Feel free to contact me |
I can confirm that this improves things. I noticed that the file size of the archive shrunk from 2.3MB to 160KB for some 300 entries. |
I can confirm too, only exporting and importing from csv has shrunk my archive from 2.8Mb to 246kb, and the opening in android is much better now (about 30 secs.) |
Buttercup records delta history of all entries and groups, including their attributes. This can result in very large vaults as there are thousands of lines of history in the vault - text. Let's take an example - A vault that has 300 entries, each with maybe 8 fields (some might be hidden attributes), and each field having maybe 5 lines of history on average - Exporting and importing wipes the history - you're only left with the raw items and no history.. eg. |
Good to know it, thx for tell @perry-mitchell . At least this way we can use our preferred password app in our mobile, and saving a backup of our old vault we can always revisit our history when needed :) I wish I could help debugging the problem, but as a Rails developer, java/android is a bit far of my knowledge, but I will keep aware of the issue just in case I could help with some test. |
Well @ialiendeg this has been extremely helpful already. It tells me that the issue is most likely performance, as decrypting and decompressing a 2+ MiB file is insane on some mobile devices. There's most likely some inefficiencies in there too. It might help us to update the vault format to move history out into a separate area so that it doesn't weigh down standard operation. |
This sounds pretty cool. Sad to say I couldn't debug it as I had no time in past weeks. Luckily, the source of the problem is found. I'll apply the solution and keep using my favourite password keeper |
As it seems we've found the issue - being that larger vaults cause huge delays on some devices, I think the answer lies in that we need to find a way to make vaults smaller. I'll close this in favour of buttercup/buttercup-core#267 which charges the core with having a newer, more space-friendly format. |
** Describe the issue you're having **
When opening vault stores in Dropbox unlocking takes several minutes
What were you doing when the issue occurred? How do we reproduce it?
Connect to a Dropbox stored vault and try to unlock it
** What OS version are you using **
Android
What version of Android/iOS are you using? Eg. Android 8.0 / iOS 12.3.1
Android 9 PKQ1.180729.001
MIUI Global 10.3.7
** What device are you using **
phone
What phone/tablet are you running the app on?
POCOPHONE F1
The text was updated successfully, but these errors were encountered: