{"id":6463,"date":"2020-11-20T18:18:47","date_gmt":"2020-11-20T16:18:47","guid":{"rendered":"http:\/\/mummila.net\/kommentit\/?p=6463"},"modified":"2020-11-20T18:18:47","modified_gmt":"2020-11-20T16:18:47","slug":"i-went-back-in-time-using-f-droids-dev-archive","status":"publish","type":"post","link":"https:\/\/mummila.net\/kommentit\/2020\/11\/20\/i-went-back-in-time-using-f-droids-dev-archive\/","title":{"rendered":"I went back in time using F-droid&#8217;s dev archive"},"content":{"rendered":"<p>I went back in time using\u00a0<a href=\"https:\/\/apt.izzysoft.de\/fdroid\/index\/apk\/com.nextcloud.android.beta?repo=archive\" rel=\"nofollow\">F-droid&#8217;s dev archive<\/a>, testing all the way to around when 3.9.2 was released (2019-12-07), and the issue persisted, so this is indeed some weird interaction with the latest server version(s) and particularly the conflicts detection thereof.<\/p>\n<p>Version 20191206 (2019-12-07) exhibited the issue a bit differently, though probably just due to how handling of conflicts on the client end has changed between then and now: one file that did go through got renamed with &#8221;(1)&#8221; added to it, even though there was no previously existing copy on the server. A previous attempt to upload the same file (using another client version) had failed, so that&#8217;s one possible explanation for why the server thought that a previous copy did exist.<\/p>\n<p>Another file got seeminly stuck in the (client upload) queue, and watching the server log revealed that it was incrementing the added number continuously, always coming up with the same &#8221;could not be located&#8221; exception from Sabre\\DAV as above. It had run up to 80 when I cancelled the upload from the client, and would have perhaps run indefinitely if I didn&#8217;t.<\/p>\n<pre><code>{\"reqId\":\"SmCGdnw4BzFQ5P25wMGV\",\"level\":0,\"time\":\"2020-11-20T17:40:54+02:00\",\"remoteAddr\":\"REDACTED\",\"user\":\"testituutti\",\"app\":\"webdav\",\"method\":\"HEAD\",\"url\":\"\/varasto\/remote.php\/webdav\/Testidataa\/DSC_0003%20(75).JPG\",\"message\":{\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotFound\",\"Message\":\"File with name Testidataa\/DSC_0003 (75).JPG could not be located\",\"Code\":0,\"Trace\":[{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php\",\"line\":81,\"function\":\"getNodeForPath\",\"class\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\ObjectTree\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/event\/lib\/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpGet\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":474,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php\",\"line\":262,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/event\/lib\/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpHead\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":474,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":251,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":319,\"function\":\"start\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/apps\/dav\/appinfo\/v1\/webdav.php\",\"line\":84,\"function\":\"exec\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/remote.php\",\"line\":167,\"args\":[\"REDACTED\/www\/varasto\/apps\/dav\/appinfo\/v1\/webdav.php\"],\"function\":\"require_once\"}],\"File\":\"REDACTED\/www\/varasto\/apps\/dav\/lib\/Connector\/Sabre\/ObjectTree.php\",\"Line\":173,\"CustomMessage\":\"--\"},\"userAgent\":\"Mozilla\/5.0 (Android) Nextcloud-android\/20191207\",\"version\":\"20.0.1.1\"}\r\n{\"reqId\":\"M3RTK4KRuOH3N0xGrp2Q\",\"level\":0,\"time\":\"2020-11-20T17:41:00+02:00\",\"remoteAddr\":\"REDACTED\",\"user\":\"testituutti\",\"app\":\"webdav\",\"method\":\"HEAD\",\"url\":\"\/varasto\/remote.php\/webdav\/Testidataa\/DSC_0003%20(76).JPG\",\"message\":{\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotFound\",\"Message\":\"File with name Testidataa\/DSC_0003 (76).JPG could not be located\",\"Code\":0,\"Trace\":[{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php\",\"line\":81,\"function\":\"getNodeForPath\",\"class\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\ObjectTree\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/event\/lib\/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpGet\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":474,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php\",\"line\":262,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/event\/lib\/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpHead\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":474,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":251,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php\",\"line\":319,\"function\":\"start\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/apps\/dav\/appinfo\/v1\/webdav.php\",\"line\":84,\"function\":\"exec\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"-&gt;\"},{\"file\":\"REDACTED\/www\/varasto\/remote.php\",\"line\":167,\"args\":[\"REDACTED\/www\/varasto\/apps\/dav\/appinfo\/v1\/webdav.php\"],\"function\":\"require_once\"}],\"File\":\"REDACTED\/www\/varasto\/apps\/dav\/lib\/Connector\/Sabre\/ObjectTree.php\",\"Line\":173,\"CustomMessage\":\"--\"},\"userAgent\":\"Mozilla\/5.0 (Android) Nextcloud-android\/20191207\",\"version\":\"20.0.1.1\"}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The issue persisted at least up to 3.9.2, so this is some weird interaction with the latest server version(s) and the conflicts detection thereof.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8860],"tags":[12572,13998,13996],"class_list":["post-6463","post","type-post","status-publish","format-standard","hentry","category-vianhallintajarjestelmat","tag-android","tag-f-droid","tag-nextcloud","sijainti-github"],"_links":{"self":[{"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/posts\/6463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/comments?post=6463"}],"version-history":[{"count":1,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/posts\/6463\/revisions"}],"predecessor-version":[{"id":6464,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/posts\/6463\/revisions\/6464"}],"wp:attachment":[{"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/media?parent=6463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/categories?post=6463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mummila.net\/kommentit\/wp-json\/wp\/v2\/tags?post=6463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}