{"action":"created","issue":{"url":"https://api.github.com/repos/umlet/umlet/issues/385","repository_url":"https://api.github.com/repos/umlet/umlet","labels_url":"https://api.github.com/repos/umlet/umlet/issues/385/labels{/name}","comments_url":"https://api.github.com/repos/umlet/umlet/issues/385/comments","events_url":"https://api.github.com/repos/umlet/umlet/issues/385/events","html_url":"https://github.com/umlet/umlet/issues/385","id":155218896,"number":385,"title":"Please store changes in an intermediate file to avoid dataloss","user":{"login":"lanoxx","id":691311,"avatar_url":"https://avatars.githubusercontent.com/u/691311?v=3","gravatar_id":"","url":"https://api.github.com/users/lanoxx","html_url":"https://github.com/lanoxx","followers_url":"https://api.github.com/users/lanoxx/followers","following_url":"https://api.github.com/users/lanoxx/following{/other_user}","gists_url":"https://api.github.com/users/lanoxx/gists{/gist_id}","starred_url":"https://api.github.com/users/lanoxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lanoxx/subscriptions","organizations_url":"https://api.github.com/users/lanoxx/orgs","repos_url":"https://api.github.com/users/lanoxx/repos","events_url":"https://api.github.com/users/lanoxx/events{/privacy}","received_events_url":"https://api.github.com/users/lanoxx/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/umlet/umlet/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-05-17T09:49:53Z","updated_at":"2016-05-20T12:47:37Z","closed_at":null,"body":"Currently if Umlet is accidentally killed, or if it crashes, then one looses all unsaved modifications. It would be great if Umlet could prevent this kind of dataloss. For example I just accidentally killed umlet when I wanted to kill another java program that got hung up.\r\n\r\nHere are a few ideas that I have in mind which could help prevent this:\r\n\r\n* Save a copy of the files being edited and reopen those if Umlet has not been properly closed before. Save to these files after any edit that is done in the editor. Those files could live in the current directory or for example in ~/.cache/umlet/\r\n* Another option would be to just save any modification directly to the file being edited (configurable through the preferences). To be able to undo unwanted changes the undo history could be preserved across Umlet restarts by persisting the history on disk (for example in ~/.cache/umlet).\r\n* Intercept SIGKILL and show a confirmation dialog if there is unsaved content in Umlet"},"comment":{"url":"https://api.github.com/repos/umlet/umlet/issues/comments/220596330","html_url":"https://github.com/umlet/umlet/issues/385#issuecomment-220596330","issue_url":"https://api.github.com/repos/umlet/umlet/issues/385","id":220596330,"user":{"login":"lanoxx","id":691311,"avatar_url":"https://avatars.githubusercontent.com/u/691311?v=3","gravatar_id":"","url":"https://api.github.com/users/lanoxx","html_url":"https://github.com/lanoxx","followers_url":"https://api.github.com/users/lanoxx/followers","following_url":"https://api.github.com/users/lanoxx/following{/other_user}","gists_url":"https://api.github.com/users/lanoxx/gists{/gist_id}","starred_url":"https://api.github.com/users/lanoxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lanoxx/subscriptions","organizations_url":"https://api.github.com/users/lanoxx/orgs","repos_url":"https://api.github.com/users/lanoxx/repos","events_url":"https://api.github.com/users/lanoxx/events{/privacy}","received_events_url":"https://api.github.com/users/lanoxx/received_events","type":"User","site_admin":false},"created_at":"2016-05-20T12:47:37Z","updated_at":"2016-05-20T12:47:37Z","body":"I actually meant two write SIGTERM (which is the default signal use by /usr/bin/kill) not SIGKILL.\r\n\r\nI also agree with your reply, maybe the save every x minutes option could be implemented as a temporary solution until there is a persistent undo/redo available?"}}
{"actor":{"display_login":"lanoxx"}}