{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/client/issues/3235","labels_url":"https://api.github.com/repos/owncloud/client/issues/3235/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/client/issues/3235/comments","events_url":"https://api.github.com/repos/owncloud/client/issues/3235/events","html_url":"https://github.com/owncloud/client/issues/3235","id":75973287,"number":3235,"title":"Store checksum in journal and verifiy upload for eml-files and others","user":{"login":"dragotin","id":1070214,"avatar_url":"https://avatars.githubusercontent.com/u/1070214?v=3","gravatar_id":"","url":"https://api.github.com/users/dragotin","html_url":"https://github.com/dragotin","followers_url":"https://api.github.com/users/dragotin/followers","following_url":"https://api.github.com/users/dragotin/following{/other_user}","gists_url":"https://api.github.com/users/dragotin/gists{/gist_id}","starred_url":"https://api.github.com/users/dragotin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dragotin/subscriptions","organizations_url":"https://api.github.com/users/dragotin/orgs","repos_url":"https://api.github.com/users/dragotin/repos","events_url":"https://api.github.com/users/dragotin/events{/privacy}","received_events_url":"https://api.github.com/users/dragotin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/client/labels/approved%20by%20QA","name":"approved by QA","color":"FBCA04"},{"url":"https://api.github.com/repos/owncloud/client/labels/blue-ticket","name":"blue-ticket","color":"0033CC"},{"url":"https://api.github.com/repos/owncloud/client/labels/Discussion","name":"Discussion","color":"d4c5f9"},{"url":"https://api.github.com/repos/owncloud/client/labels/Feature","name":"Feature","color":"ff6600"},{"url":"https://api.github.com/repos/owncloud/client/labels/gold-ticket","name":"gold-ticket","color":"FFD700"}],"state":"closed","locked":false,"assignee":{"login":"ckamm","id":833306,"avatar_url":"https://avatars.githubusercontent.com/u/833306?v=3","gravatar_id":"","url":"https://api.github.com/users/ckamm","html_url":"https://github.com/ckamm","followers_url":"https://api.github.com/users/ckamm/followers","following_url":"https://api.github.com/users/ckamm/following{/other_user}","gists_url":"https://api.github.com/users/ckamm/gists{/gist_id}","starred_url":"https://api.github.com/users/ckamm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ckamm/subscriptions","organizations_url":"https://api.github.com/users/ckamm/orgs","repos_url":"https://api.github.com/users/ckamm/repos","events_url":"https://api.github.com/users/ckamm/events{/privacy}","received_events_url":"https://api.github.com/users/ckamm/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/owncloud/client/milestones/25","html_url":"https://github.com/owncloud/client/milestones/2.1","labels_url":"https://api.github.com/repos/owncloud/client/milestones/25/labels","id":1170965,"number":25,"title":"2.1","description":"Lighthouse features:\r\n\r\n* Sharing with internal users and groups\r\n* New activity tab for showing server-side activities\r\n* UI improvements in account status tab\r\n* A ton of bugfixes\r\n* Polishing the multi-account feature that was introduced in 2.0\r\n* Performance improvements in file discovery\r\n* Removal of the legacy libneon-based network code on Linux. On Linux Qt 5.5.x builds will have bandwidth limiting.","creator":{"login":"cmonteroluque","id":879976,"avatar_url":"https://avatars.githubusercontent.com/u/879976?v=3","gravatar_id":"","url":"https://api.github.com/users/cmonteroluque","html_url":"https://github.com/cmonteroluque","followers_url":"https://api.github.com/users/cmonteroluque/followers","following_url":"https://api.github.com/users/cmonteroluque/following{/other_user}","gists_url":"https://api.github.com/users/cmonteroluque/gists{/gist_id}","starred_url":"https://api.github.com/users/cmonteroluque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmonteroluque/subscriptions","organizations_url":"https://api.github.com/users/cmonteroluque/orgs","repos_url":"https://api.github.com/users/cmonteroluque/repos","events_url":"https://api.github.com/users/cmonteroluque/events{/privacy}","received_events_url":"https://api.github.com/users/cmonteroluque/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":199,"state":"closed","created_at":"2015-06-18T15:57:49Z","updated_at":"2016-01-08T15:19:03Z","due_on":"2015-11-30T23:00:00Z","closed_at":"2016-01-07T14:54:55Z"},"comments":21,"created_at":"2015-05-13T12:47:50Z","updated_at":"2016-01-19T12:52:13Z","closed_at":"2015-11-27T10:24:50Z","body":"Once #2542 is implement, the checksum should be stored in local sync journal. We could use it to verify if an upload is needed, or if just the files metadata (mtime specifically) has changed. This would solve trouble we have with eml files on windows, and this could be a nice first usage case.\r\n\r\nProblems: If we detect that only the mtime has changed, we could propagate the new mtime to the server, using PROPPATCH (needs to be verified). But that will probably not change the ETag of the file and also not the ETags of the parent directories. If it would, a client seeing a changed ETag would not understand that only the mtime has changed, and not the content of the file. \r\n\r\nNote to self: If the server could do file checksums as well, it should also maintain directory checksums. The checksums only would change if the file **contents** or the **contents** of files within a directory changes. The ETag would just be an indication that **something** changed, either content or metadata. The client would need to consider the checksum to find that out."},"comment":{"url":"https://api.github.com/repos/owncloud/client/issues/comments/172844106","html_url":"https://github.com/owncloud/client/issues/3235#issuecomment-172844106","issue_url":"https://api.github.com/repos/owncloud/client/issues/3235","id":172844106,"user":{"login":"ogoffart","id":959326,"avatar_url":"https://avatars.githubusercontent.com/u/959326?v=3","gravatar_id":"","url":"https://api.github.com/users/ogoffart","html_url":"https://github.com/ogoffart","followers_url":"https://api.github.com/users/ogoffart/followers","following_url":"https://api.github.com/users/ogoffart/following{/other_user}","gists_url":"https://api.github.com/users/ogoffart/gists{/gist_id}","starred_url":"https://api.github.com/users/ogoffart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ogoffart/subscriptions","organizations_url":"https://api.github.com/users/ogoffart/orgs","repos_url":"https://api.github.com/users/ogoffart/repos","events_url":"https://api.github.com/users/ogoffart/events{/privacy}","received_events_url":"https://api.github.com/users/ogoffart/received_events","type":"User","site_admin":false},"created_at":"2016-01-19T12:52:13Z","updated_at":"2016-01-19T12:52:13Z","body":"I think it needs to  be uploaded at least once after upgrading before the checksum are stored in the databse and are compared.\r\n\r\nDoes it re-upload several time the same file?"}}