{"action":"created","issue":{"url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/74","repository_url":"https://api.github.com/repos/TTLabs/EvaporateJS","labels_url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/74/comments","events_url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/74/events","html_url":"https://github.com/TTLabs/EvaporateJS/issues/74","id":66735647,"number":74,"title":"RequestTimeTooSkewed Error","user":{"login":"mattsmith","id":143011,"avatar_url":"https://avatars.githubusercontent.com/u/143011?v=3","gravatar_id":"","url":"https://api.github.com/users/mattsmith","html_url":"https://github.com/mattsmith","followers_url":"https://api.github.com/users/mattsmith/followers","following_url":"https://api.github.com/users/mattsmith/following{/other_user}","gists_url":"https://api.github.com/users/mattsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/mattsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattsmith/subscriptions","organizations_url":"https://api.github.com/users/mattsmith/orgs","repos_url":"https://api.github.com/users/mattsmith/repos","events_url":"https://api.github.com/users/mattsmith/events{/privacy}","received_events_url":"https://api.github.com/users/mattsmith/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-04-07T00:02:13Z","updated_at":"2016-03-24T11:52:41Z","closed_at":null,"body":"Around Daylight Savings Time shift we started receiving issues with uploads failing silently. The underlying issue was AWS was responding to uploads with: RequestTimeTooSkewed - The difference between the request time and the current time is too large.\r\n\r\nThe date is using new Date().toUTCString(); which can be incorrect if the client's time is incorrect. I believe this should come from the server and not the client. \r\n\r\nIf I submit a pull request to fall back on the server time (received when signing the request) would this be accepted?\r\n\r\nAlso, I could be missing another way to handle this.  Is there one?"},"comment":{"url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/comments/200802812","html_url":"https://github.com/TTLabs/EvaporateJS/issues/74#issuecomment-200802812","issue_url":"https://api.github.com/repos/TTLabs/EvaporateJS/issues/74","id":200802812,"user":{"login":"bikeath1337","id":243237,"avatar_url":"https://avatars.githubusercontent.com/u/243237?v=3","gravatar_id":"","url":"https://api.github.com/users/bikeath1337","html_url":"https://github.com/bikeath1337","followers_url":"https://api.github.com/users/bikeath1337/followers","following_url":"https://api.github.com/users/bikeath1337/following{/other_user}","gists_url":"https://api.github.com/users/bikeath1337/gists{/gist_id}","starred_url":"https://api.github.com/users/bikeath1337/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bikeath1337/subscriptions","organizations_url":"https://api.github.com/users/bikeath1337/orgs","repos_url":"https://api.github.com/users/bikeath1337/repos","events_url":"https://api.github.com/users/bikeath1337/events{/privacy}","received_events_url":"https://api.github.com/users/bikeath1337/received_events","type":"User","site_admin":false},"created_at":"2016-03-24T11:52:41Z","updated_at":"2016-03-24T11:52:41Z","body":"@mattsmith , I looked at the code snippet and think it's not reliable because XMLHttpRequest requires an asynchronous callback. We're just assuming that by the time the request finishes, we have a date...but I don't think this can be guaranteed.\r\n\r\nIf you tried this option, did it work reliably?\r\n\r\n```javascript\r\nvar xmlHttpRequest = new XMLHttpRequest();\r\n\r\nxmlHttpRequest.open(\"GET\", con.timeUrl + '?requestTime=' + new Date().getTime(), false);\r\nxmlHttpRequest.send();\r\nrequester.dateString = xmlHttpRequest.responseText;\r\n\r\n```"}}