{"action":"created","issue":{"url":"https://api.github.com/repos/jroimartin/gocui/issues/79","repository_url":"https://api.github.com/repos/jroimartin/gocui","labels_url":"https://api.github.com/repos/jroimartin/gocui/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/jroimartin/gocui/issues/79/comments","events_url":"https://api.github.com/repos/jroimartin/gocui/issues/79/events","html_url":"https://github.com/jroimartin/gocui/issues/79","id":188965712,"number":79,"title":"Rename *Gui.Execute() to *Gui.Do()","user":{"login":"jroimartin","id":1223476,"avatar_url":"https://avatars.githubusercontent.com/u/1223476?v=3","gravatar_id":"","url":"https://api.github.com/users/jroimartin","html_url":"https://github.com/jroimartin","followers_url":"https://api.github.com/users/jroimartin/followers","following_url":"https://api.github.com/users/jroimartin/following{/other_user}","gists_url":"https://api.github.com/users/jroimartin/gists{/gist_id}","starred_url":"https://api.github.com/users/jroimartin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroimartin/subscriptions","organizations_url":"https://api.github.com/users/jroimartin/orgs","repos_url":"https://api.github.com/users/jroimartin/repos","events_url":"https://api.github.com/users/jroimartin/events{/privacy}","received_events_url":"https://api.github.com/users/jroimartin/received_events","type":"User","site_admin":false},"labels":[{"id":73270670,"url":"https://api.github.com/repos/jroimartin/gocui/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/jroimartin/gocui/milestones/4","html_url":"https://github.com/jroimartin/gocui/milestones/gocui%20v0.4","labels_url":"https://api.github.com/repos/jroimartin/gocui/milestones/4/labels","id":1568201,"number":4,"title":"gocui v0.4","description":"Release of gocui v0.4","creator":{"login":"jroimartin","id":1223476,"avatar_url":"https://avatars.githubusercontent.com/u/1223476?v=3","gravatar_id":"","url":"https://api.github.com/users/jroimartin","html_url":"https://github.com/jroimartin","followers_url":"https://api.github.com/users/jroimartin/followers","following_url":"https://api.github.com/users/jroimartin/following{/other_user}","gists_url":"https://api.github.com/users/jroimartin/gists{/gist_id}","starred_url":"https://api.github.com/users/jroimartin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroimartin/subscriptions","organizations_url":"https://api.github.com/users/jroimartin/orgs","repos_url":"https://api.github.com/users/jroimartin/repos","events_url":"https://api.github.com/users/jroimartin/events{/privacy}","received_events_url":"https://api.github.com/users/jroimartin/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":4,"state":"open","created_at":"2016-02-06T21:31:09Z","updated_at":"2016-11-13T19:52:35Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-11-13T11:38:07Z","updated_at":"2016-11-13T21:04:56Z","closed_at":null,"body":"Rename `*Gui.Execute()` to `*Gui.Do()` and update documentation accordingly.\r\n\r\nRelates to #77 "},"comment":{"url":"https://api.github.com/repos/jroimartin/gocui/issues/comments/260212783","html_url":"https://github.com/jroimartin/gocui/issues/79#issuecomment-260212783","issue_url":"https://api.github.com/repos/jroimartin/gocui/issues/79","id":260212783,"user":{"login":"frizinak","id":823696,"avatar_url":"https://avatars.githubusercontent.com/u/823696?v=3","gravatar_id":"","url":"https://api.github.com/users/frizinak","html_url":"https://github.com/frizinak","followers_url":"https://api.github.com/users/frizinak/followers","following_url":"https://api.github.com/users/frizinak/following{/other_user}","gists_url":"https://api.github.com/users/frizinak/gists{/gist_id}","starred_url":"https://api.github.com/users/frizinak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frizinak/subscriptions","organizations_url":"https://api.github.com/users/frizinak/orgs","repos_url":"https://api.github.com/users/frizinak/repos","events_url":"https://api.github.com/users/frizinak/events{/privacy}","received_events_url":"https://api.github.com/users/frizinak/received_events","type":"User","site_admin":false},"created_at":"2016-11-13T21:04:56Z","updated_at":"2016-11-13T21:04:56Z","body":"Can I also note this method does not guarantee the order in which userEvents are handled. You currently spawn a go routine to prevent the call from potentially blocking thus the channel push only occurs when the scheduler feels like it (and not in the order of the `gui.Execute` calls necessarily).\r\n\r\nI would suggest making this call fully synchronous, not only waiting for the channel push to succeed but also for the userEvent.f to return. If the user doesn't want to wait he's free to `go gui.Execute`. Making it a more intuitive and still thread-safe method.\r\n\r\nMy current workaround (as this does occur very often) is to do exactly that. Lock a mutex before `.Execute` and release at the end of the userEvent.f implementation.\r\n"}}
{"actor":{"display_login":"frizinak"}}