{"push_id":1367812189,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"8fccb4954a9f2415b497546a9ba52f6aff03528a","before":"8defe1c71c1b04179513df215b115d5077042277","commits":[{"sha":"63122016e98491e2248cc46ced134ab6804d3f02","author":{"name":"Adolfo R. Brandes","email":"0a3373b09e96b4e0a6d0302f3fcd1ec457064a18@hastexo.com"},"message":"Revisit stack launch logic\n\nPreviously, if a user refreshed the page or opened a second lab tab\nwhile a stack was being launched, a second concurrent launch stack would\nbe fired.  This had the detrimental effects of a) maximizing the\nprobability of race conditions, and b) delaying the original launch.\nThis rewrites the launch logic so it can't happen.\n\nIn other words, the user can open as many tabs as they want (including\nto different instances of the XBlock in the same course), or refresh as\noften as they can, and it will have no effect on the ongoing launch.\nUntil an error or a timeout is encountered, that is; at this point, a\nrefresh will start a new launch task, as usual.\n\nThis changeset also strives to make the logic clearer by hinging\nprimarily on the saved stack status string - as opposed to *both* status\nstring and the launch_id.  The latter is now ignored when deciding\nwhether to launch a new task).\n\nIncluded is a reorganization of method placement, for readability.","distinct":true,"url":"https://api.github.com/repos/arbrandes/hastexo-xblock/commits/63122016e98491e2248cc46ced134ab6804d3f02"},{"sha":"8fccb4954a9f2415b497546a9ba52f6aff03528a","author":{"name":"Adolfo R. Brandes","email":"0a3373b09e96b4e0a6d0302f3fcd1ec457064a18@hastexo.com"},"message":"Bump to 0.2.4","distinct":true,"url":"https://api.github.com/repos/arbrandes/hastexo-xblock/commits/8fccb4954a9f2415b497546a9ba52f6aff03528a"}]}
{"actor":{"display_login":"arbrandes"}}