{"action":"created","issue":{"url":"https://api.github.com/repos/croogo/croogo/issues/652","labels_url":"https://api.github.com/repos/croogo/croogo/issues/652/labels{/name}","comments_url":"https://api.github.com/repos/croogo/croogo/issues/652/comments","events_url":"https://api.github.com/repos/croogo/croogo/issues/652/events","html_url":"https://github.com/croogo/croogo/issues/652","id":71843067,"number":652,"title":"2.2. Rapidly smashing save/apply/save&new buttons triggers CSRF errors","user":{"login":"ionas","id":106845,"avatar_url":"https://avatars.githubusercontent.com/u/106845?v=3","gravatar_id":"","url":"https://api.github.com/users/ionas","html_url":"https://github.com/ionas","followers_url":"https://api.github.com/users/ionas/followers","following_url":"https://api.github.com/users/ionas/following{/other_user}","gists_url":"https://api.github.com/users/ionas/gists{/gist_id}","starred_url":"https://api.github.com/users/ionas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ionas/subscriptions","organizations_url":"https://api.github.com/users/ionas/orgs","repos_url":"https://api.github.com/users/ionas/repos","events_url":"https://api.github.com/users/ionas/events{/privacy}","received_events_url":"https://api.github.com/users/ionas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/croogo/croogo/labels/Enhancement","name":"Enhancement","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/croogo/croogo/milestones/20","html_url":"https://github.com/croogo/croogo/milestones/2.2.3","labels_url":"https://api.github.com/repos/croogo/croogo/milestones/20/labels","id":1083267,"number":20,"title":"2.2.3","description":"Maintenance Release","creator":{"login":"rchavik","id":39490,"avatar_url":"https://avatars.githubusercontent.com/u/39490?v=3","gravatar_id":"","url":"https://api.github.com/users/rchavik","html_url":"https://github.com/rchavik","followers_url":"https://api.github.com/users/rchavik/followers","following_url":"https://api.github.com/users/rchavik/following{/other_user}","gists_url":"https://api.github.com/users/rchavik/gists{/gist_id}","starred_url":"https://api.github.com/users/rchavik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rchavik/subscriptions","organizations_url":"https://api.github.com/users/rchavik/orgs","repos_url":"https://api.github.com/users/rchavik/repos","events_url":"https://api.github.com/users/rchavik/events{/privacy}","received_events_url":"https://api.github.com/users/rchavik/received_events","type":"User","site_admin":false},"open_issues":32,"closed_issues":0,"state":"open","created_at":"2015-04-25T10:35:17Z","updated_at":"2015-04-29T11:00:47Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-04-29T10:49:37Z","updated_at":"2015-04-29T11:13:35Z","closed_at":null,"body":"Rapidly smashing save/apply/save&new buttons triggers CSRF errors.\r\nIf you accidentally double-click or double-tap you will get that.\r\nThe form request will save or validation will error it out, you never know. \r\n\r\nSolution: Shortly disable all form buttons for X seconds after hitting those then re-enable.\r\nWhy re-enable? If you have a very slow connection ON YOUR SIDE or there is a slow proxy in front of the webserver or some other misconfiguration / slowness, your request simply might get stuck somewhere in the network without really timing out (e.g. you get a timeout error on your side). In this special case you really want to hit those submit buttons again and it might succeed. \r\n\r\nWhat about impatient users then? Graphically it should not make a difference if they are disabled or not due to them. Cause when they re-enable those impatient users might feel the need to press those buttons again (non technical background).\r\n\r\nI am not sure if to disable 1/2 second, 1second, 3 seconds or 5seconds?"},"comment":{"url":"https://api.github.com/repos/croogo/croogo/issues/comments/97390587","html_url":"https://github.com/croogo/croogo/issues/652#issuecomment-97390587","issue_url":"https://api.github.com/repos/croogo/croogo/issues/652","id":97390587,"user":{"login":"jhli","id":4612342,"avatar_url":"https://avatars.githubusercontent.com/u/4612342?v=3","gravatar_id":"","url":"https://api.github.com/users/jhli","html_url":"https://github.com/jhli","followers_url":"https://api.github.com/users/jhli/followers","following_url":"https://api.github.com/users/jhli/following{/other_user}","gists_url":"https://api.github.com/users/jhli/gists{/gist_id}","starred_url":"https://api.github.com/users/jhli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhli/subscriptions","organizations_url":"https://api.github.com/users/jhli/orgs","repos_url":"https://api.github.com/users/jhli/repos","events_url":"https://api.github.com/users/jhli/events{/privacy}","received_events_url":"https://api.github.com/users/jhli/received_events","type":"User","site_admin":false},"created_at":"2015-04-29T11:13:34Z","updated_at":"2015-04-29T11:13:34Z","body":"Okay, I hope That setzing them to disabled does not featch new BS styles. Will try to prep a PR today."}}