abraunegg / onedrive

OneDrive Client for Linux
https://abraunegg.github.io
GNU General Public License v3.0
10.22k stars 867 forks source link

Feature Request: Add file path to warnings #2702

Closed waszak closed 7 months ago

waszak commented 7 months ago

Is your feature request related to a problem? Please describe.

I have two examples of warnings that I think should include filename/or filepath.

WARNING: OneDrive API inconsistency - this file does not have any hash: 718E5B19865E92E6!28033

The local item has a different modified time 2020-Jul-12 13:05:38Z when compared to remote modified time 2023-Nov-26 18:44:31Z

I run onedrive in download mode only for extra backup in omv

Describe the solution you'd like

I would like to see the path to the item after the warning. The correct way would be

WARNING: OneDrive API inconsistency - this file does not have any hash: 718E5B19865E92E6!28033. Affected file /dir1/dir2/file.

Describe alternatives you've considered

Maybe resync should just update file if modified time is diffrent. For second I would still print path to file. So its easier to report bug to OneDriveAPI

Additional context

I consider this as Nice to Have. It just saves time when checking syncing issues. Maybe i could provide a fix for this If you think its good idea.

abraunegg commented 7 months ago

@waszak Output logging has 100% changed in v2.5.x - so this will not be introduced to v2.4.x - sorry. The filepath is printed - in the earlier lines as well.

The missing hash is generally microsoft onenote items, but given you are getting that message I suspect you are also not running the correct application version.

Please re-evaluate using v2.5.0-rc1 .. but this might be problematic to do due to you usi g omv.

abraunegg commented 7 months ago

@waszak Looking deeper into the actual code:

WARNING: OneDrive API inconsistency - this file does not have any hash: 718E5B19865E92E6!28033

This '718E5B19865E92E6!28033' is the database item ID of the item that does not have a hash. The database item id is printed because the parent id is not present, thus the path is unable to be calculated.

If the path is able to be calculated, the path of the file is already printed. If you enable debug level logging, you get additional messaging as to why the parent might not be in the database.

Maybe resync should just update file if modified time is diffrent.

Please read the architecture documentation as this already happens if there is no technical difference (size,hash) of the file.

Client Architecture: https://github.com/abraunegg/onedrive/blob/onedrive-v2.5.0-release-candidate-1/docs/client-architecture.md

Closing this FR as the items are already implemented within v2.4.25 and v2.5.0

abraunegg commented 7 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.