{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter/notebook/issues/484","repository_url":"https://api.github.com/repos/jupyter/notebook","labels_url":"https://api.github.com/repos/jupyter/notebook/issues/484/labels{/name}","comments_url":"https://api.github.com/repos/jupyter/notebook/issues/484/comments","events_url":"https://api.github.com/repos/jupyter/notebook/issues/484/events","html_url":"https://github.com/jupyter/notebook/issues/484","id":107809870,"number":484,"title":"notebook changed on disk message","user":{"login":"dschneiderch","id":7461221,"avatar_url":"https://avatars.githubusercontent.com/u/7461221?v=3","gravatar_id":"","url":"https://api.github.com/users/dschneiderch","html_url":"https://github.com/dschneiderch","followers_url":"https://api.github.com/users/dschneiderch/followers","following_url":"https://api.github.com/users/dschneiderch/following{/other_user}","gists_url":"https://api.github.com/users/dschneiderch/gists{/gist_id}","starred_url":"https://api.github.com/users/dschneiderch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dschneiderch/subscriptions","organizations_url":"https://api.github.com/users/dschneiderch/orgs","repos_url":"https://api.github.com/users/dschneiderch/repos","events_url":"https://api.github.com/users/dschneiderch/events{/privacy}","received_events_url":"https://api.github.com/users/dschneiderch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/jupyter/notebook/milestones/7","html_url":"https://github.com/jupyter/notebook/milestones/4.2","labels_url":"https://api.github.com/repos/jupyter/notebook/milestones/7/labels","id":1308320,"number":7,"title":"4.2","description":"","creator":{"login":"minrk","id":151929,"avatar_url":"https://avatars.githubusercontent.com/u/151929?v=3","gravatar_id":"","url":"https://api.github.com/users/minrk","html_url":"https://github.com/minrk","followers_url":"https://api.github.com/users/minrk/followers","following_url":"https://api.github.com/users/minrk/following{/other_user}","gists_url":"https://api.github.com/users/minrk/gists{/gist_id}","starred_url":"https://api.github.com/users/minrk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minrk/subscriptions","organizations_url":"https://api.github.com/users/minrk/orgs","repos_url":"https://api.github.com/users/minrk/repos","events_url":"https://api.github.com/users/minrk/events{/privacy}","received_events_url":"https://api.github.com/users/minrk/received_events","type":"User","site_admin":false},"open_issues":35,"closed_issues":31,"state":"open","created_at":"2015-09-16T11:58:11Z","updated_at":"2016-02-16T14:06:19Z","due_on":null,"closed_at":null},"comments":17,"created_at":"2015-09-22T21:49:49Z","updated_at":"2016-02-17T03:24:48Z","closed_at":null,"body":"When I'm working in a notebook jupyter 4.0.6 in Safari, OSX 10.9.5 I periodically get a message saying the file has changed from disk, do I want to reload or overwrite.  I\"m certain there are no other kernels or notebooks running. I usually just say overwrite but why does this happen?\r\nOne more bit of info: I'm running the notebook as a publicly accessible server (so I can access it from my labtop) and all the files live on a locally mounted server.\r\nhere is the terminal output:\r\niMac:~ $ jupyter notebook\r\n[I 15:17:16.737 NotebookApp] Serving notebooks from local directory: /Users/dosc3612\r\n[I 15:17:16.737 NotebookApp] 0 active kernels\r\n[I 15:17:16.737 NotebookApp] The IPython Notebook is running at: https://[all ip addresses on your system]:8888/\r\n[I 15:17:16.738 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).\r\n[I 15:28:57.760 NotebookApp] Kernel started: ec591d51-c03c-44fc-86bf-a221c0e1b0a7\r\n> IRkernel::main()\r\n[1] \"Got unhandled msg_type:\" \"comm_open\"\r\n[I 15:30:57.046 NotebookApp] Saving file at /Documents/snotel-regression_project/src/validate_surveygridded.ipynb\r\n[I 15:37:04.133 NotebookApp] Saving file at /Documents/snotel-regression_project/src/validate_surveygridded.ipynb\r\n[I 15:37:05.369 NotebookApp] Saving file at /Documents/snotel-regression_project/src/validate_surveygridded.ipynb\r\n\r\n\r\n![screen shot 2015-09-22 at 15 36 07](https://cloud.githubusercontent.com/assets/7461221/10032628/7f4274cc-6141-11e5-8bd8-6099883fe372.png)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jupyter/notebook/issues/comments/184997386","html_url":"https://github.com/jupyter/notebook/issues/484#issuecomment-184997386","issue_url":"https://api.github.com/repos/jupyter/notebook/issues/484","id":184997386,"user":{"login":"Carreau","id":335567,"avatar_url":"https://avatars.githubusercontent.com/u/335567?v=3","gravatar_id":"","url":"https://api.github.com/users/Carreau","html_url":"https://github.com/Carreau","followers_url":"https://api.github.com/users/Carreau/followers","following_url":"https://api.github.com/users/Carreau/following{/other_user}","gists_url":"https://api.github.com/users/Carreau/gists{/gist_id}","starred_url":"https://api.github.com/users/Carreau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Carreau/subscriptions","organizations_url":"https://api.github.com/users/Carreau/orgs","repos_url":"https://api.github.com/users/Carreau/repos","events_url":"https://api.github.com/users/Carreau/events{/privacy}","received_events_url":"https://api.github.com/users/Carreau/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T03:24:48Z","updated_at":"2016-02-17T03:24:48Z","body":"> -calculate a hash for the file while saving\r\n> -if last modified timestamps indicate a change, and the time window is small, calculate the hash of the new file and compare to the hash of the last known saved file\r\n\r\nThe problem with that approach, is that you actually need to read the hash which can be extremely huge, which can be a pain, especially on samba. And if you look at how the implementation is done, this specific case won't help, as the date/time is from last API call to save, which would require another round trip of the file to the server."}}