{"action":"created","issue":{"url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/445","labels_url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/445/labels{/name}","comments_url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/445/comments","events_url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/445/events","html_url":"https://github.com/CorsixTH/CorsixTH/issues/445","id":52677640,"number":445,"title":"Automated Error Reporting Email System","user":{"login":"J-Shep","id":6353342,"avatar_url":"https://avatars.githubusercontent.com/u/6353342?v=3","gravatar_id":"","url":"https://api.github.com/users/J-Shep","html_url":"https://github.com/J-Shep","followers_url":"https://api.github.com/users/J-Shep/followers","following_url":"https://api.github.com/users/J-Shep/following{/other_user}","gists_url":"https://api.github.com/users/J-Shep/gists{/gist_id}","starred_url":"https://api.github.com/users/J-Shep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/J-Shep/subscriptions","organizations_url":"https://api.github.com/users/J-Shep/orgs","repos_url":"https://api.github.com/users/J-Shep/repos","events_url":"https://api.github.com/users/J-Shep/events{/privacy}","received_events_url":"https://api.github.com/users/J-Shep/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CorsixTH/CorsixTH/labels/Enhancement","name":"Enhancement","color":"bfd4f2"},{"url":"https://api.github.com/repos/CorsixTH/CorsixTH/labels/Started","name":"Started","color":"006b75"}],"state":"open","locked":false,"assignee":{"login":"J-Shep","id":6353342,"avatar_url":"https://avatars.githubusercontent.com/u/6353342?v=3","gravatar_id":"","url":"https://api.github.com/users/J-Shep","html_url":"https://github.com/J-Shep","followers_url":"https://api.github.com/users/J-Shep/followers","following_url":"https://api.github.com/users/J-Shep/following{/other_user}","gists_url":"https://api.github.com/users/J-Shep/gists{/gist_id}","starred_url":"https://api.github.com/users/J-Shep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/J-Shep/subscriptions","organizations_url":"https://api.github.com/users/J-Shep/orgs","repos_url":"https://api.github.com/users/J-Shep/repos","events_url":"https://api.github.com/users/J-Shep/events{/privacy}","received_events_url":"https://api.github.com/users/J-Shep/received_events","type":"User","site_admin":false},"milestone":null,"comments":13,"created_at":"2014-12-22T18:57:57Z","updated_at":"2015-03-01T13:54:07Z","closed_at":null,"body":"I would be willing to work on this as my priority task this week if this idea is accepted.\r\n\r\nWhen a CorsixTH player experiences a Lua error they may not find time to report it, so CorsixTH could ask them if they want it to report the problem for them by sending an email to an error reporting email address containing:\r\n* The CorsixTH version.\r\n* The stack trace.\r\n* One or more autosaves from before the error occurred.\r\n* Optionally a message from the player describing what happened and what they were doing before the error occured.\r\n* The player's operating system.\r\n\r\nThis email address's server could have email sorting rules which could compare the stack traces in received emails to group up emails which have the same error by putting them in a folder for their error & CorsixTH version.\r\n\r\nCorsixTH developers could then open Github issues for errors reported with this email address."},"comment":{"url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/comments/76597613","html_url":"https://github.com/CorsixTH/CorsixTH/issues/445#issuecomment-76597613","issue_url":"https://api.github.com/repos/CorsixTH/CorsixTH/issues/445","id":76597613,"user":{"login":"J-Shep","id":6353342,"avatar_url":"https://avatars.githubusercontent.com/u/6353342?v=3","gravatar_id":"","url":"https://api.github.com/users/J-Shep","html_url":"https://github.com/J-Shep","followers_url":"https://api.github.com/users/J-Shep/followers","following_url":"https://api.github.com/users/J-Shep/following{/other_user}","gists_url":"https://api.github.com/users/J-Shep/gists{/gist_id}","starred_url":"https://api.github.com/users/J-Shep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/J-Shep/subscriptions","organizations_url":"https://api.github.com/users/J-Shep/orgs","repos_url":"https://api.github.com/users/J-Shep/repos","events_url":"https://api.github.com/users/J-Shep/events{/privacy}","received_events_url":"https://api.github.com/users/J-Shep/received_events","type":"User","site_admin":false},"created_at":"2015-03-01T13:54:07Z","updated_at":"2015-03-01T13:54:07Z","body":">> I was thinking it should work much like Windows reporting. You get a small popup with 2 buttons 1) Ignore 2) Report Error then when you select the second option you get your nice error reporting dialog. That way it's not too intrusive.\r\n\r\n@sadger Thanks for this suggestion: personally I don't think having a simple, small and unobtrusive  \"ignore or report\" dialog appear before a bigger \"send report\" form dialog would be worthwhile because unless the player is a developer testing their code then they won't want and shouldn't ignore the error which would have crashed their game and, with the current error recovery attempt code, probably won't be recoverable. \r\n\r\n@sadger If there was no need to ask the player to specify error reproducing steps then I could make a error report dialog like you've suggested with no text boxes (a prompt could appear to ask them for contact details when they've not provided this info before). However my code for error reproducing replay files is a long way from being usable but when this code does work I will create an error report dialog like you've suggested to replace the big intrusive form dialog I'm going to commit first. I will give it a save button though in addition to the ignore and send buttons because ideally a player should save the report and then attach it to a Github issue instead of telling CorsixTH to email the report to devs.\r\n\r\nI'm sorry I've still not finished this important task: I've not spent much time doing CorsixTH programming in the last 5 days but my branch for this enhancement is almost ready to be pushed."}}