Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync Issue: Key not found: fileSystemInfo when syncing shared folders #11

Closed
ChessDragon136 opened this issue Jun 4, 2018 · 36 comments
Closed

Comments

@ChessDragon136
Copy link

ChessDragon136 commented Jun 4, 2018

Hi,

I have been using skilion / your onedrive tool for a long time with no issues, but i have checked my recent logs to see that it has not been working correctly.

I have cloned the latest version today, logged out and back in but the issue persists. Have not performed a resync as it is approx 400GB.. It takes a long time on my NAS.

I run using the command: /root/onedrive/onedrive --synchronize --download --confdir /root/.config/onedrive

If you need me to provide anything else please let me know.

Thanks,

The Verbose version:

Loading config ...
Using Config Dir: /root/.config/onedrive
Initializing the OneDrive API ...
Opening the item database ...
All operations will be performed in: /nas_share/Personal/_OneDrive
Initializing the Synchronization Engine ...
Account Type: personal
Default Drive ID: 34188beec92dc33c
Default Root ID: 34188BEEC92DC33C!111
Remaining Free Space: 949235315673
Fetching details for OneDrive Root
OneDrive Root does not exist in the database. We need to add it.
Added OneDrive Root to the local database
Applying changes of Path ID: 34188BEEC92DC33C!111
Key not found: fileSystemInfo
Applying changes of Path ID: 34188BEEC92DC33C!111
Key not found: fileSystemInfo
Applying changes of Path ID: 34188BEEC92DC33C!111
std.json.JSONException@std/json.d(494): Key not found: fileSystemInfo
----------------
??:? pure @safe void std.exception.bailOut!(std.json.JSONException).bailOut(immutable(char)[], ulong, const(char[])) [0x5fcf31]
??:? pure @safe inout(std.json.JSONValue)* std.exception.enforce!(std.json.JSONException, inout(std.json.JSONValue)*).enforce(inout(std.json.JSONValue)*, lazy const(char)[], immutable(char)[], ulong) [0x5fcf96]
??:? inout pure ref @safe inout(std.json.JSONValue) std.json.JSONValue.opIndex(immutable(char)[]) [0x5b17dd]
src/sync.d:48 itemdb.Item sync.makeItem(ref const(std.json.JSONValue)) [0x5822da]
src/sync.d:425 void sync.SyncEngine.applyDifference(std.json.JSONValue, immutable(char)[], bool) [0x583cfa]
src/sync.d:375 void sync.SyncEngine.applyDifferences(immutable(char)[], const(char)[]) [0x5838f5]
src/sync.d:182 void sync.SyncEngine.applyDifferences() [0x582d65]
src/main.d:338 void main.performSync(sync.SyncEngine, immutable(char)[], bool, bool, bool) [0x56e537]
src/main.d:231 _Dmain [0x56df88]
@abraunegg
Copy link
Owner

Thanks for letting me know. Also for future reference please can you format your post with backticks ` for log entries as it makes it easier to read.

Can you advise what timezone your in so I can schedule a WebEx and work out what is going on.

@ChessDragon136
Copy link
Author

Thanks for investigating this.

I was meant to but think i made bold tags instead - not been my day!
I am UK based.

Having had some time to think, I recently added a first shared folder to my onedrive account a few days ago - Sadly the logging I output doesn't add a timestamp so I cannot determine exactly when this started to happen (it runs on a cron every 4 hours)

@abraunegg
Copy link
Owner

abraunegg commented Jun 4, 2018

Sadly the logging I output doesn't add a timestamp so I cannot determine exactly when this started to happen (it runs on a cron every 4 hours)

There is the default log file in the user home directory or /var/log/onedrive you can check.

I am UK based

Please send an email to support@mynas.com.au and I will send a WebEx invite. Please indicate your preference for morning / evening as I am based in Melbourne, Australia.

@ChessDragon136
Copy link
Author

That helps - I can confirm that the error started right after I added the shared folder to my OneDrive.
I added the shared folder using the "Add to my OneDrive" as opposed to "Add to Shared List"

I've just sent an email to you - should be obvious it's from me!

@abraunegg abraunegg added the Bug Something isn't working label Jun 5, 2018
@abraunegg
Copy link
Owner

Update for tracking - 'Key not found: fileSystemInfo' resolved offline, now a new error of 'remoteItem' objects are not syncing when adding a shared folder to OneDrive

@yonjah
Copy link

yonjah commented Jun 8, 2018

I'm experiencing this issue as well on with office365 home plan.
First time I'm using the onedrive cli.
Initial sync seem to be going ok but then I got the following error and now it happens immediately as I start the sync.
/var/log/onedrive is empty.
To test if it is the shared path I tried to exclude it in the config file (using skip_file) but I still get the error (But I'm not if the exclude is actually working this way)

I'm attaching the error here though it almost identical to what @ChessDragon136 got

Initializing the Synchronization Engine ...
Key not found: fileSystemInfo
Key not found: fileSystemInfo
std.json.JSONException@std/json.d(494): Key not found: fileSystemInfo
----------------
/usr/include/dmd/phobos/std/exception.d:515 pure @safe void std.exception.bailOut!(std.json.JSONException).bailOut(immutable(char)[], ulong, const(char[])) [0x587a8f]
??:? pure @safe inout(std.json.JSONValue)* std.exception.enforce!(std.json.JSONException).enforce!(inout(std.json.JSONValue)*).enforce(inout(std.json.JSONValue)*, lazy const(char)[], immutable(char)[], ulong) [0x6260b2]
??:? inout pure ref @safe inout(std.json.JSONValue) std.json.JSONValue.opIndex(immutable(char)[]) [0x5d82c5]
src/sync.d:61 itemdb.Item sync.makeItem(ref const(std.json.JSONValue)) [0x5aa306]
src/sync.d:425 void sync.SyncEngine.applyDifference(std.json.JSONValue, immutable(char)[], bool) [0x5abd22]
src/sync.d:375 void sync.SyncEngine.applyDifferences(immutable(char)[], const(char)[]) [0x5ab90a]
src/sync.d:183 void sync.SyncEngine.applyDifferences() [0x5aad89]
src/main.d:338 void main.performSync(sync.SyncEngine, immutable(char)[], bool, bool, bool) [0x5939b6]
src/main.d:231 _Dmain [0x59339f]

@abraunegg
Copy link
Owner

abraunegg commented Jun 8, 2018

@yonjah
The issue relates to shared files and folder.

The work around at the moment is to removed the shared folders which were 'added to my OneDrive' as that is the root cause.

I am working on a fix currently to ensure shared folders correctly work.

/var/log/onedrive is empty

The log file will be in /var/log/onedrive/ or in your user home directory depending on file system permissions & what user you are running the client as.

@abraunegg abraunegg changed the title Sync Issue: Key not found: fileSystemInfo Sync Issue: Key not found: fileSystemInfo when syncing shared folders Jun 8, 2018
@abraunegg abraunegg added In Progress Currently being worked on and removed Investigating labels Jun 8, 2018
@abraunegg abraunegg reopened this Jun 9, 2018
@abraunegg
Copy link
Owner

@ChessDragon136 & @yonjah

Can you please test e7267e5 to validate that it resolves your issue?

I have tested the code locally and Shared Folders now sync correctly as expected.

@abraunegg abraunegg added Fixed and removed In Progress Currently being worked on labels Jun 9, 2018
@yonjah
Copy link

yonjah commented Jun 9, 2018 via email

@yonjah
Copy link

yonjah commented Jun 9, 2018

Output with nicer layout

$ onedrive --version
onedrive v1.1.2-10-ge7267e5
$ onedrive --synchronize -v
Loading config ...
Using Config Dir: /home/user/.config/onedrive
Initializing the OneDrive API ...
Opening the item database ...
All operations will be performed in: /home/user/.OneDrive
Initializing the Synchronization Engine ...
Account Type: personal
Default Drive ID: E4548D347A34F941
Default Root ID: E4548D347A34F941!103
Remaining Free Space: 1062841655710
Fetching details for OneDrive Root
OneDrive Root exists in the database
Applying changes of Path ID: E4548D347A34F941!103
Applying changes of Path ID: CD3A2794FE23AB21!23749
Key not found: parentReference
Applying changes of Path ID: E4548D347A34F941!103
Applying changes of Path ID: CD3A2794FE23AB21!23749
Key not found: parentReference
Applying changes of Path ID: E4548D347A34F941!103
Applying changes of Path ID: CD3A2794FE23AB21!23749
std.json.JSONException@std/json.d(494): Key not found: parentReference
----------------
/usr/include/dmd/phobos/std/exception.d:515 pure @safe void
std.exception.bailOut!(std.json.JSONException).bailOut(immutable(char)[],
ulong, const(char[])) [0x587797]
??:? pure @safe inout(std.json.JSONValue)*
std.exception.enforce!(std.json.JSONException).enforce!(inout(std.json.JSONValue)*).enforce(inout(std.json.JSONValue)*,
lazy const(char)[], immutable(char)[], ulong) [0x626092]
??:? inout pure ref @safe inout(std.json.JSONValue)
std.json.JSONValue.opIndex(immutable(char)[]) [0x5d82a5]
src/sync.d:378 void sync.SyncEngine.applyDifferences(immutable(char)[],
immutable(char)[]) [0x5ab320]
src/sync.d:194 void sync.SyncEngine.applyDifferences() [0x5aa923]
src/main.d:338 void main.performSync(sync.SyncEngine, immutable(char)[],
bool, bool, bool) [0x5933aa]
src/main.d:231 _Dmain [0x592d93]

@ChessDragon136
Copy link
Author

ChessDragon136 commented Jun 9, 2018

Thanks for your work towards this issue.

When I first compiled your code and ran it, all files and folders within the root of the Shared Folder were downloaded/created, but then I hit the message:

"Remote change discarded - not in --single-directory scope" - Sync.d applyDifferences 423

No further error messages / any logging at all was outputted.

The number of times this message was replicated does equate to the number of files / folders that were missing from the sync. As i have a small break am I right in thinking that it has not been correctly picked up in line 393?

I subsequently re-added the OneDrive Item logging and reran but all that was outputted was the below:

Loading` config ...
Using Config Dir: /root/.config/onedrive
Initializing the OneDrive API ...
Opening the item database ...
All operations will be performed in: /nas_share/Personal/_OneDrive
Initializing the Synchronization Engine ...
Account Type: personal
Default Drive ID: 34188beec92dc33c
Default Root ID: 34188BEEC92DC33C!111
Remaining Free Space: 949235315497
Fetching details for OneDrive Root
OneDrive item:  OMITTED - ASK IF REQUIRED
OneDrive Root exists in the database
Applying changes of Path ID: 34188BEEC92DC33C!111
Applying changes of Path ID: 1EFAE75ACD371A7!105

And currently, I have made a backup up the items database, removed it, removed all the downloaded items from the root of the onedrive shared folder (so its back to how it was on the first run) and am now re-running (just in case) - It will take a while so if anything is different from the above here I'll let you know.

Edit - No additional useful logging, and same issue as the first run.

Let me know if there is anything else I can do.

@yonjah
Copy link

yonjah commented Jun 9, 2018

This is the json response I'm getting that causes the error I mentioned

{"@odata.type":"#microsoft.graph.driveItem","cTag":"a...A","eTag":"a...1","fileSystemInfo":{"createdDateTime":"2016-05-30T11:48:56.373Z","lastModifiedDateTime":"2016-05-30T11:48:56.373Z"},"folder":{"childCount":0,"view":{"sortBy":"name","sortOrder":"ascending","viewType":"thumbnails"}},"id":"B...1!2...9","name":"sharedFolder"}

@abraunegg
Copy link
Owner

@ChessDragon136

"Remote change discarded - not in --single-directory scope" - Sync.d applyDifferences 423

In reality you should only be hitting that if the 'change' on OneDrive is not part of the scope to sync. If you are not using --single-directory to sync, your change should be flagged as either a root folder or be accepted as per the logic on line 395.

@yonjah

Key not found: parentReference

You are getting this as the change being presented does not have this key element - which is weird as each change should have that key.

@ChessDragon136 & @yonjah

Can you add the following in at the following line:

Line 372:  log.vlog("OneDrive Change: ", item);

This will then give all the changes that OneDrive is presenting.

If you can run with that change in verbose mode, then send the output to support@mynas.com.au I can look at that later today.

@abraunegg abraunegg added In Progress Currently being worked on and removed Fixed labels Jun 9, 2018
@abraunegg
Copy link
Owner

abraunegg commented Jun 10, 2018

@ChessDragon136

I have posted a further fix specifically for the Remote change discarded - not in --single-directory scope issue your seeing - 943fcc0 - Can you please test again using the latest code?

When testing, make sure that you remove the items.sqlite3 to ensure that there are no database errors.

@yonjah

Can you also test again using the latest code & ensure that you remove the items.sqlite3 to ensure that there are no database errors.

@abraunegg
Copy link
Owner

@yonjah
I think the best action here is to open a new case specifically for Key not found: parentReference and then provide --verbose & --debug-https logs. This may mean creating a new 'test' OneDrive account where you only link 'naomi-yoni' to reduce the log size / data. I am leaning towards this being a OneDrive API issue as the data is not being returned as it should be. Once the case for Key not found: parentReference opened here, then I can open another case against https://github.com/OneDrive/onedrive-api-docs/issues referencing this one.

@abraunegg
Copy link
Owner

@ChessDragon136
Thanks for the feedback that the original issue is now resolved.

@abraunegg abraunegg reopened this Jun 12, 2018
@abraunegg
Copy link
Owner

Fix is incomplete / causes undesired side effects elsewhere. Will be backing out the changes this resolution implemented.

@abraunegg
Copy link
Owner

@ChessDragon136 & @yonjah

Are you able to help testing the following?

Clone the latest git master & then manually apply following patch before I sync this in:

diff -uNr original/onedrive.d modified/onedrive.d
--- original/onedrive.d 2018-06-13 16:35:52.000000000 +1000
+++ modified/onedrive.d 2018-06-13 18:48:00.000000000 +1000
@@ -190,12 +190,12 @@
 
        // Return the details of the specified id
        // https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get
-       JSONValue getPathDetailsById(const(char)[] id)
+       JSONValue getPathDetailsById(string driveId, const(char)[] id)
        {
                checkAccessTokenExpired();
                const(char)[] url;
-               //              string itemByIdUrl = "https://graph.microsoft.com/v1.0/me/drive/items/";
-               url = itemByIdUrl ~ id;
+               //              string driveByIdUrl = "https://graph.microsoft.com/v1.0/drives/";
+               url = driveByIdUrl ~ driveId ~ "/items/" ~ id;
                url ~= "?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference";
                return get(url);
        }
diff -uNr original/sync.d modified/sync.d
--- original/sync.d     2018-06-13 16:35:52.000000000 +1000
+++ modified/sync.d     2018-06-13 22:39:26.000000000 +1000
@@ -58,7 +58,13 @@
                item.mtime = SysTime(0);
        } else {
                // Item is not in a deleted state
-               item.mtime = SysTime.fromISOExtString(driveItem["fileSystemInfo"]["lastModifiedDateTime"].str);
+               // Resolve 'Key not found: fileSystemInfo' when then item is a remote item
+               // https://github.com/abraunegg/onedrive/issues/11
+               if (isItemRemote(driveItem)) {
+                       item.mtime = SysTime.fromISOExtString(driveItem["remoteItem"]["fileSystemInfo"]["lastModifiedDateTime"].str);
+               } else {
+                       item.mtime = SysTime.fromISOExtString(driveItem["fileSystemInfo"]["lastModifiedDateTime"].str);
+               }
        }
 
        if (isItemFile(driveItem)) {
@@ -304,26 +310,53 @@
        {
                log.vlog("Applying changes of Path ID: " ~ id);
                JSONValue changes;
-               string syncFolderName;
                string deltaLink = itemdb.getDeltaLink(driveId, id);
-               JSONValue idDetails = onedrive.getPathDetailsById(id);
 
-               // Set the name of this folder
-               if ((idDetails["id"].str == id) && (isItemFolder(idDetails))){
-                       syncFolderName = idDetails["name"].str;
+               // Query the name of this folder id
+               string syncFolderName;
+               JSONValue idDetails = parseJSON("{}");
+               try {
+                       idDetails = onedrive.getPathDetailsById(driveId, id);
+               } catch (OneDriveException e) {
+                       if (e.httpStatusCode == 404) {
+                               // id was not found - possibly a remote (shared) folder
+                               log.vlog("No details returned for given Path ID");
+                               return;
+                       }
+               } 
+
+               // Get the name of this 'Path ID'
+               if (("id" in idDetails) != null) {
+                       // valid response from onedrive.getPathDetailsById(driveId, id) - a JSON item object present
+                       if ((idDetails["id"].str == id) && (isItemFolder(idDetails))){
+                               syncFolderName = encodeComponent(idDetails["name"].str);
+                       }
                }
-
+
                for (;;) {
+                       // Due to differences in OneDrive API's between personal and business we need to get changes only from defaultRootId
+                       // If we used the 'id' passed in & when using --single-directory with a business account we get:
+                       //      'HTTP request returned status code 501 (Not Implemented): view.delta can only be called on the root.'
+                       // To view changes correctly, we need to use the correct path id for the request
+                       const(char)[] idToQuery;
+                       if (driveId == defaultDriveId) {
+                               // The drive id matches our users default drive id
+                               idToQuery = defaultRootId.dup;
+                       } else {
+                               // The drive id does not match our users default drive id
+                               // Potentially the 'path id' we are requesting the details of is a Shared Folder (remote item)
+                               // Use the 'id' that was passed in
+                               idToQuery = id;
+                       }
+
                        try {
-                               // Due to differences in OneDrive API's between personal and business we need to get changes only from defaultRootId
-                               // If we used the 'id' passed in & when using --single-directory with a business account we get:
-                               //      'HTTP request returned status code 501 (Not Implemented): view.delta can only be called on the root.'
-                               // To view changes correctly, we need to use 'defaultRootId' 
-                               changes = onedrive.viewChangesById(driveId, defaultRootId, deltaLink);
+                               // Fetch the changes relative to the path id we want to query
+                               changes = onedrive.viewChangesById(driveId, idToQuery, deltaLink);
 
                        } catch (OneDriveException e) {
+                               // HTTP request returned status code 410 (The requested resource is no longer available at the server)
                                if (e.httpStatusCode == 410) {
-                                       log.vlog("Delta link expired, resyncing...");
+                                       log.vlog("Delta link expired, re-syncing...");
                                        deltaLink = null;
                                        continue;
                                }
@@ -339,9 +372,10 @@
 
                                if (e.httpStatusCode == 504) {
                                        // HTTP request returned status code 504 (Gateway Timeout)
-                                       // Retry
+                                       // Retry by calling applyDifferences() again
                                        //log.vlog("OneDrive returned a 'HTTP 504 - Gateway Timeout' - gracefully handling error");
-                                       changes = onedrive.viewChangesById(driveId, defaultRootId, deltaLink);
+                                       //changes = onedrive.viewChangesById(driveId, defaultRootId, deltaLink);
+                                       applyDifferences(driveId, defaultRootId);
                                }
 
                                else throw e;
@@ -354,12 +388,22 @@
                                // Thus we cannot name check for 'root' below on deleted items
                                if(!isItemDeleted(item)){
                                        // This is not a deleted item
-                                       // Test is this is the OneDrive Root?
+                                       // // Test is this is the OneDrive Users Root?
+                                       // Test is this a Shared Folder - which should be classified as a 'root'
                                        // Use the global's as initialised via init() rather than performing unnecessary additional HTTPS calls
-                                       if ((id == defaultRootId) && (item["name"].str == "root")) { // fix for https://github.com/skilion/onedrive/issues/269
+                                       if ((id == defaultRootId) && (item["name"].str == "root")) { 
                                                // This IS the OneDrive Root
                                                isRoot = true;
                                        }
+
+                                       // Test is this a Shared Folder - which should be classified as a 'root'
+                                       if (changeHasParentReferenceId(item)) {
+                                               // item contains parentReference key
+                                               string sharedDriveRootPath = "/drives/" ~ item["parentReference"]["driveId"].str ~ "/root:";
+                                               if (item["parentReference"]["path"].str == sharedDriveRootPath) {
+                                                       isRoot = true;
+                                               }
+                                       }
                                }
 
                                // How do we handle this change?
@@ -380,10 +424,11 @@
                                                // This is a corner edge case - https://github.com/skilion/onedrive/issues/341
                                                JSONValue oneDriveMovedNotDeleted;
                                                try {
-                                                       oneDriveMovedNotDeleted = onedrive.getPathDetailsById(item["id"].str);
+                                                       oneDriveMovedNotDeleted = onedrive.getPathDetailsById(driveId, item["id"].str);
                                                } catch (OneDriveException e) {
                                                        if (e.httpStatusCode == 404) {
                                                                // No .. that ID is GONE
+                                                               log.vlog("Remote change discarded - item cannot be found");
                                                                return;
                                                        } 
                                                }

@yonjah
Copy link

yonjah commented Jun 13, 2018

@abraunegg I'll try to test it soon

@ChessDragon136
Copy link
Author

ChessDragon136 commented Jun 13, 2018

@abraunegg Ok this is where I admit my naivety of Git here and ask how do I do this?

I removed and cloned the latest onedrive "git clone https://github.com/abraunegg/onedrive"
I copied the code into a new file named oendrive-cd136.patch and put this in the onedrive root (and also tried the src folder)
I ran "git apply --whitespace=warn onedrive-cd136.patch" from the directory of the patch

However, this errors out stating file or folder does not exist. (for both onedrive.d and sync.d)

@yonjah
Copy link

yonjah commented Jun 13, 2018

@abraunegg I coudn't apply the patch.
can you maybe create a branch with the patch applied ?

@ChessDragon136 I think you should apply the patch when your in the src folder.
when I do that I get a different error about some specific lines in the file that are mismatched.
I made sure to pull the latest version but it doesn't seem to work.

@abraunegg
Copy link
Owner

It was late at night for me & and didn't want to foul up 'master' - just created a branch for this issue

@abraunegg
Copy link
Owner

I have tested this against OneDrive Business & OneDrive Personal:

https://github.com/abraunegg/onedrive/tree/Issue-%2311-and-%2317

  • I am not getting any truncated files from OneDrive Business
  • I am getting 'Shared Folders' syncing correctly from OneDrive Personal

Can you help test?

@abraunegg
Copy link
Owner

Any update on being able to test the brach listed above for this issue resolution?

@ChessDragon136
Copy link
Author

Sorry for the delay.

Items seem to be working fine for me, but in the log I have a few new messages that I don't think I've seen before, none look critical but just in case... The items database was removed before sync

This item type (Steve's Notebook) is not supported
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Oct-02 17:25:20Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Oct-01 17:49:47Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Sep-27 04:51:48Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Sep-02 08:03:46Z
The local item has a different modified time 2018-Jun-07 17:23:04Z remote is 2018-Jun-14 10:56:06Z
The local item has a different hash
The local item is out of sync, renaming...
Downloading Personal/d/4Z/LDWYQJEMY6NA6TN3XVZZRIGNYSQKQS/BAFGHHWGJZ5WIUTHRZNBH6W4FMDVLLDD6MJKGCZ2P4QIW===... done.
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Jul-15 05:01:40Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Jul-13 02:48:54Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-May-19 04:26:58Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-May-05 04:50:06Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Apr-05 15:52:30Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Feb-27 11:01:26Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Jan-31 04:18:34Z
The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Jan-31 `04:33:22Z

@yonjah
Copy link

yonjah commented Jun 15, 2018

@abraunegg Sorry I didn't have time to test it.
I realized I should do it on a test account so I wont risk data corruption, but been a bit bussy so didn't have time to properly set one up. hopefully I'll be able to check again early next week

@abraunegg
Copy link
Owner

@ChessDragon136

The local item has a different modified time 2018-Jun-06 22:05:33Z remote is 2017-Oct-02 17:25:20Z

What should the correct values be here for that data - the local or the remote value?

Depending on when / how it was uploaded - OneDrive sets the Last Modified Time to equal the file creation time on OneDrive - which is counter intuative. In the client code, it makes a patch call to set the last modified time of the file on OneDrive to equal that of the local file.

It could be in the quasi 'fixed' state when this case was originally resolved & before #17 was raised, that the last modified timestamps got screwed up.

When you re-run the client - do those messages return for the same items, or are they cleared up?

@yonjah

No problem - if you can test ASAP so that I can get this merged into master & correctly resolved

@ChessDragon136
Copy link
Author

I've run some more tests and subsequent runs do not produce the messages - At this point i'm willing to put this down to using multiple builds over the last few days through fixing these issues and ignore it!

@abraunegg
Copy link
Owner

@ChessDragon136 @yonjah

Any update from you side? The patches have been confirmed not to re-introduce issue described in #17, & @ChessDragon136 you mentioned that the patch is working as intended so far.

I am keen to get this merged in via #26 to close out the functionality loss from the original skilion version.

@abraunegg abraunegg added Fixed and removed In Progress Currently being worked on labels Jun 16, 2018
@yonjah
Copy link

yonjah commented Jun 17, 2018 via email

@abraunegg
Copy link
Owner

Resolved with 17e5138

@lock
Copy link

lock bot commented Jan 6, 2019

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

@lock lock bot locked and limited conversation to collaborators Jan 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants