keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.07k stars 1.42k forks source link

Support opening remote databases #10896

Open t-h-e opened 3 weeks ago

t-h-e commented 3 weeks ago

Follow up to https://github.com/keepassxreboot/keepassxc/pull/7222

Adding an option to import a remote database. Import the data to a new database, existing database or a temporary database (see option "Temporary Database" in section "Import Into")

Screenshots

327211408-1d46de32-1ed9-43e8-b47c-4b3f1fc8dcd3

Testing strategy

Similar to syncing with a remote database, specify a download command and if necessary input to download the remote database.

Also added a unit test.

Type of change

t-h-e commented 2 weeks ago

I'm not sure why this test fails in the CI on Ubuntu

11:46:32   FAIL!  : TestGui::testOpenRemoteDatabase() 'QApplication::activeWindow()->findChildren<QTableWidget*>().count() > 0' returned FALSE. ()
11:46:32      Loc: [/opt/buildagent/work/c401303cba1b4098/tests/gui/TestGui.cpp(512)]
11:46:32   FAIL!  : TestGui::testOpenRemoteDatabase() 'action->isEnabled()' returned FALSE. ()
11:46:32      Loc: [/opt/buildagent/work/c401303cba1b4098/tests/gui/TestGui.cpp(2307)]

Windows and Mac seem fine. Also tested locally in Windows and Manjaro and there, this test works as well...

droidmonkey commented 2 weeks ago

Could be a modal dialog open on Linux? Like a question or notice dialog.

Hidigoudi commented 2 weeks ago

It would be nice to add the WebDav protocol inside this new feature. Instead of using a NextCloud client sync for example, the database would be accessible only from the server with an authentication. It would add a great feature for companies that want manage employees databases in a central server.

droidmonkey commented 2 weeks ago

@Hidigoudi WebDav can be setup in all major OS's natively as a mounted drive. You can use a third-party WebDav utility with the Remote Sync feature if you like.