BenjaminOddou / alfred-dashlane

🔐 Manage your Dashlane vault
MIT License
11 stars 1 forks source link

Timeout exceeded when sync #5

Closed viethung0823 closed 3 months ago

viethung0823 commented 3 months ago

lib.pexpect.exceptions.TIMEOUT: Timeout exceeded. <lib.pexpect.pty_spawn.spawn object at 0x104db3080> command: /opt/homebrew/bin/dcli args: ['/opt/homebrew/bin/dcli', 'sync']

BenjaminOddou commented 3 months ago

Hello @viethung0823, are you already connected to your dashlane vault with dcli ? What's the version of dcli ? What's the output of dcli sync on using the terminal ?

viethung0823 commented 3 months ago

Thanks for quickly response and hard work, so I support to connect my vault by using the dcli first not throughout ur sync workflow? I ran the sync command from ur workflow and the output is timeout as above. Now I just tried to run the dcli to set up sync directly without using ur workflow it sync successfully, I can use ur workflow now.

BenjaminOddou commented 3 months ago

What I suspect is that the dcli output has changed from previous versions. Could you tell me which dcli version you're using ? dcli --version from the terminal

I'll try my best to debug

EDIT: normally the sync step should work from the workflow directly.

viethung0823 commented 3 months ago

It's "6.2432.0"

viethung0823 commented 3 months ago

What I suspect is that the dcli output has changed from previous versions. Could you tell me which dcli version you're using ? dcli --version from the terminal

I'll try my best to debug

EDIT: normally the sync step should work from the workflow directly.

If possible, I suggest implementing a mechanism to render the user input as *** when they enter their master password. This would be more secure than displaying the password on the screen.

BenjaminOddou commented 3 months ago

If possible, I suggest implementing a mechanism to render the user input as *** when they enter their master password. This would be more secure than displaying the password on the screen.

This issue seems more related to the Alfred app itself, but it would indeed be beneficial to obfuscate user input when it's confidential.

I'm unable to replicate your issue with the dcli version 6.2432.0. Could you try unsyncing your account and then syncing it again (with the workflow) to see if that resolves the problem? Also, when updating the dcli binary, you may be prompted to allow its usage. Make sure to select the Always Allow option.

viethung0823 commented 3 months ago

CleanShot 2024-08-16 at 21 08 35@2x Still the same? I believe that this issue came from missing handle case from your sync.py. Like check the prompt "What second factor method would you like to use?" It should has 2 options 1. Dashlane authenticator and 2. Totp. In my case it's 2nd one

BenjaminOddou commented 3 months ago

It's a bit strange that you're being prompted to choose between Dashlane Authenticator and TOTP, especially since Dashlane Authenticator is no longer supported. If I understand correctly, you're seeing this:

% dcli sync
? Please enter your email address: some-email@gmail.com
? What second factor method would you like to use? (Use arrow keys)
❯ Dashlane Authenticator
  TOTP

However, the workflow only supports the following:

% dcli sync
? Please enter your email address: some-email@gmail.com
? Please enter your OTP code:

I'll check with the dcli team to see if they're aware of this issue and whether they plan to update the behavior. I’d rather not modify my code if Dashlane Authenticator is no longer supported.

viethung0823 commented 3 months ago

They merged a PR to filter out the Dashlane Authenticator option. I should close this issue too. Thanks, @BenjaminOddou.

BenjaminOddou commented 3 months ago

@viethung0823, the bug should be resolved in the v1.6.0 of the workflow (works for the current version of dcli). In the next release of the cli, the Dashlane Authenticator option will be removed. Many thanks for your feedback.