Kyrodan / KeeAnywhere

A cloud storage provider plugin for KeePass Password Safe
https://keeanywhere.de
MIT License
681 stars 84 forks source link

Get error when saving database opened from OneDrive path #282

Open Uwe11 opened 3 years ago

Uwe11 commented 3 years ago

I have a .kdbx file one OneDrive and open it via "Open from Cloud drive". When I try to save a change I get error "Speichern in die angegebene Datei fehlgeschlagen!

Kyrodan commented 3 years ago

Could you please delete your OneDrive-Account and recreate it?

Uwe11 commented 3 years ago

Already done before I created the issue. But I can try on a second device.

Kyrodan commented 3 years ago

I released v2.0.2 a few minutes ago, maybe that fixes this issue, too. Please give it a try and reopen this issue, if your problem is still present. Please read "notworthy" in changelog.

Uwe11 commented 3 years ago

unfortunatelly even with 2.0.2 the error stays the same. Closed DB, removed OneDrive connection, restarted KeePass, configured OneDrive connection again, opend DB from URL. When I click on "save DB", I get the error.

Kyrodan commented 3 years ago

Okay, but you can open it, so connection to Dropbox in general works. Is there any other error message than "Speichern in die angegebene Datei fehlgeschlagen!"? Could you please attach a screenshot of this message.

Could you also please try to create a new Database and try to save it to Dropbox?

Uwe11 commented 3 years ago

tested on a second PC: same issue. tested with a freshly created database: success! No problem!

Hint: it's OneDrive in my case, not Dropbox.

Complete error messages see attachment.

Any suggestions?

2021-05-21 17_57_33-KeePass 2021-05-21 17_58_28-KeePass

Uwe11 commented 3 years ago

imported all entrys from my db in the new created empty db. After importing also the new db coulnd't be saved anymore.

morrigan777 commented 3 years ago

I have the same issue after update van version 1.xx, delete the account serveral times an readded. I can open the db with open from cloud, when i save i get the same error "could not save to remote". My db's are in personal onedrive (not business)

If i replace the plugin back to KeeAnywhere-1.6.0 en delete the account and re-add them. ik can open and save the db

lostgit commented 3 years ago

Got the same erors with KeeAnywhere 2.0.3. Reverted to 1.6.0 for now.

Might this issue be related to the database file size? My kdbx is 8 MB and larger than the new OneDrive API graph stream size. I can't save my database using the later versions of KeePass2Android after they switched to the new API. I had to use the older version of that app with the old OneDrive API.

Steps to get the error:

  1. Removed the existing OneDrive account profile
  2. In KeeAnywhere General tab, cleared the offline cache
  3. In KP plugins option, cleared the plugin cache
  4. Exited KP
  5. Removed KeeAnywhere 1.6.0 file, and installed 2.0.3
  6. Started KP
  7. Added a OneDrive account profile
  8. Open a database from OneDrive; DB opened with no issue.
  9. Any attempts to save the database would throw the following errors. This include saving the database with a new name or to a different OneDrive location:

2021-05-28_pic1_1202

lostgit commented 3 years ago

@Kyrodan Might this issue be related to the database file size? My kdbx is 8 MB and larger than the new OneDrive graph API stream size.

For background info, I can't save my database using the later versions of KeePass2Android after they switched to the new API. I had to use the older version of that app that uses the old OneDrive API.

Uwe11 commented 3 years ago

mine is 4.3 MB

lostgit commented 3 years ago

@Kyrodan I think the newer OneDrive Graph API stream chunk size is 4MB. Larger than that, the API needs to be used differently. This is what I found with Keepass2 Android: Issue #1036

And this is from Microsoft: Upload large files using the Microsoft Graph SDKs May 2021

Kyrodan commented 3 years ago

@lostgit Thank's for investigating this. I will check this out.

Am Di., 15. Juni 2021 um 22:25 Uhr schrieb lostgit @.***

:

I think the newer OneDrive Graph API stream chunk size is 4MB. Larger than that, the API needs to be used differently.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kyrodan/KeeAnywhere/issues/282#issuecomment-861807289, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACWW2WUI3DV2XIXXYFUNHDTS6ZLDANCNFSM45FRNPYA .

morrigan777 commented 2 years ago

is there a fix for this, because now version 1.6.0 is also not working. on opening keepass i get message that 1.6.0 is uncompatible

Uwe11 commented 2 years ago

@Kyrodan are there any plans to fix this in near future? I just like to now to be able to make a well-founded decision. If I could, I would try to help, but this is unfortunately to far away from my knowledge.

Same topic by the way in #309 and #312

Uwe11 commented 2 years ago

I switched to KeePassOneDriveSync, which solves the topic for me.

vipei commented 2 years ago

KeeAnywhere 2.0.3 也有同样的错误。暂时恢复到 1.6.0。

这个问题可能与数据库文件大小有关吗?我的 kdbx 为 8 MB,比新的 OneDrive API 图形流大小还要大。 切换到新 API 后,我无法使用更高版本的 KeePass2Android 保存我的数据库。我不得不使用旧版 OneDrive API 使用该应用程序的旧版本。

获取错误的步骤:

  1. 删除了现有的 OneDrive 帐户配置文件
  2. 在 KeeAnywhere 常规选项卡中,清除离线缓存
  3. 在 KP 插件选项中,清除插件缓存
  4. 退出的 KP
  5. 删除了 KeeAnywhere 1.6.0 文件,并安装了 2.0.3
  6. 开始KP
  7. 添加了 OneDrive 帐户配置文件
  8. 从 OneDrive 打开数据库;数据库打开没有问题。
  9. 任何保存数据库的尝试都会引发以下错误。这包括使用新名称保存数据库或将数据库保存到不同的 OneDrive 位置:

2021-05-28_pic1_1202 Database 5m also save failure by test database smaller save no problem

Kyrodan commented 2 weeks ago

Hmm I checked API documentation: my upload should work up to files of 250MB. This limit is not exceeded here :-/