keepassium / KeePassium

KeePass-compatible password manager for iOS
https://keepassium.com
Other
1.21k stars 103 forks source link

OneDrive shared database file not syncing when changed #256

Closed OculiViridi closed 2 years ago

OculiViridi commented 2 years ago

Description

I've added a database file to KeePassium from my OneDrive Premium account "Shared elements" folder. The file has been shared from another OneDrive Premium account. The share works and I was able to correctly load the database though iFile app. The problem is that when the original file is updated, KeePassium does not update the file. I've checked that the shared file on my account is correctly updated.

How to reproduce

Steps to reproduce the behavior:

  1. Share a database file using OneDrive Sharing functionality with another OneDrive "receiver" account.
  2. Load the shared database in KeePassium though iFile, looking in the Shared elements folder of the OneDrive "receiver" account.
  3. Make a change on the original file in the OneDrive "owner" account and check that the share has been also updated in the OneDrive "receiver" account..
  4. Open KeePassium and check that the file, even after sync, has not been updated.

Expected behavior

Since the original file has changed, the shared file has changed too and KeePassium should sync and load the update version of the file.

Environment

Additional context

  1. I've not tried to do the same share with a different cloud service, so I don't know if the issue is specifically related to OneDrive.
  2. The shared database file on my KeePassium app is set as Read only, but I think it should not make any difference.
keepassium commented 2 years ago

Load the shared database in KeePassium though iFile, looking in the Shared elements folder of the OneDrive "receiver" account.

KeePassium's sync works via integration with the system. This means, that the database should be added to the app either through KeePassium's own "Add database" menu or via the standard Files app.

When you use some other app (be it iFile or OneDrive itself) to download the database, it simply downloads a copy of the database and saves it in KeePassium's folder on device. That local copy has no links whatsoever with its remote original. (This is mentioned in the sync troubleshooting guide.)

As a solution, add your OneDrive database using KeePassium's interface: go to the list of databases → tap Plus button → Add Database → select your database in OneDrive. This way, KeePassium will get a reference to the remote database and will be able to sync the file as necessary.

OculiViridi commented 2 years ago

KeePassium's sync works via integration with the system. This means, that the database should be added to the app either through KeePassium's own "Add database" menu or via the standard Files app.

When you use some other app (be it iFile or OneDrive itself) to download the database, it simply downloads a copy of the database and saves it in KeePassium's folder on device. That local copy has no links whatsoever with its remote original. (This is mentioned in the sync troubleshooting guide.)

It was just a typo, I mean the iOS system File app.

As a solution, add your OneDrive database using KeePassium's interface: go to the list of databases → tap Plus button → Add Database → select your database in OneDrive. This way, KeePassium will get a reference to the remote database and will be able to sync the file as necessary.

That was exactly what I did.

Steps: from KeePassium database list → + button → Add Database → File iOS app → Browse → OneDrive → navigate to "Shared elements" folder → select the shared database file to add.

If I look at the database file from my OneDrive "Shared elements" folder (from OneDrive web app in browser), I see it updated on 29 september 2022 at 10.15. Instead, if I open KeePassium I see the old version of the file updated on 24 september at 09.12. No matter if I try to refresh the list in KeePassium.

Additional information

I tried just now to open OneDrive app and navigate to the "Shared elements" folder where the database is placed. It seems that the file didn't update until I open the folder from OneDrive app. Then, opening KeePassium, the file was updated.

So it seems that the problem is more related to the OneDrive app...

keepassium commented 2 years ago

It was just a typo, I mean the iOS system File app.

Yeah, sorry for misunderstanding. I assumed a typo, but there is an "iFile" app and it is indeed a cloud file manager :)

I tried just now to open OneDrive app and navigate to the "Shared elements" folder where the database is placed. It seems that the file didn't update until I open the folder from OneDrive app. Then, opening KeePassium, the file was updated.

I've got a couple of similar reports in September, along with several other unusual complaints about OneDrive. They started in September but happen both on iOS 15 and 16.

I suspect this is an OneDrive issue. The evidence is only circumstantial, though: here are the recent OneDrive updates in the App Store:

13.36.13  Sep 30, 2022
13.36.5   Sep 27, 2022
13.35.7   Sep 12, 2022
13.35.1   Sep 6,  2022
13.33     Sep 1,  2022
13.31     Aug 25, 2022
13.29.2   Aug 18, 2022
13.28     Aug 11, 2022
13.27.2   Aug 3,  2022
13.26     Jul 26, 2022
13.25.3   Jul 20, 2022
13.24.5   Jul 14, 2022
13.23.3   Jul 6,  2022
13.22.7   Jul 3,  2022
13.22     Jun 29, 2022
13.19.2   Jun 20, 2022
13.18     Jun 8,  2022
13.17.7   Jun 3,  2022

During the summer, almost every week they published a new minor version (the second version number increases). But in September, they are stuck in bug-fixing builds (the third version number increases). The most recent update looks like 13th attempt to get v13.36 right…

On the bright side, it definitely looks like they are busy fixing it :)