{"push_id":978644277,"size":5,"distinct_size":3,"ref":"refs/heads/feature/edit-warnings","head":"c7b9a6152c9c2a9fb9aa71c827da89343d58792d","before":"c107b5ae67f6e10680893c7b2ae04522c9dddcd3","commits":[{"sha":"b5464f4e6cfe51ea7ca680304c248a250fa1900d","author":{"email":"a5f1e445e4e3ee7f0825804fbbce7124178495f9@azavea.com","name":"Hector Castro"},"message":"Add support emitting Celery metrics via signals\n\nPiggybacking on the existing Celery support, start emitting a variety of\nmetrics for the following lifecycle events by registering with their\nsignals:\n\n- on_task_sent (counter)\n- on_task_prerun (counter, timer)\n- on_task_postrun (counter, timer)\n- on_task_failure (counter)\n\nSee also: https://github.com/django-statsd/django-statsd/blob/0.3.16/django_statsd/celery.py","distinct":false,"url":"https://api.github.com/repos/steventlamb/otm-core/commits/b5464f4e6cfe51ea7ca680304c248a250fa1900d"},{"sha":"165ceb4d5a6a44c6727d2b212753af8342389fa2","author":{"email":"22ac8125b3ee200bd949539d56d750da2fe403eb@gmail.com","name":"Hector Castro"},"message":"Merge pull request #2502 from OpenTreeMap/feature/hmc/statsd-celery\n\nAdd support for emitting Celery metrics via signals","distinct":false,"url":"https://api.github.com/repos/steventlamb/otm-core/commits/165ceb4d5a6a44c6727d2b212753af8342389fa2"},{"sha":"455262a65fdb7418f483bd4ef585925775b091f7","author":{"email":"c3fe90de81d1158edd57db60984629db49a2604a@azavea.com","name":"Steve Lamb"},"message":"Refactor inlineEditForm save API\n\nThis commit does a few high level things:\n1) decouples onSaveBefore from getDataToSave\n2) decouples onSaveAfter from update\n3) enhances onSaveBefore to support blocking operations\n4) removes the usecase for exporting getDataToSave\n\nThis change was prompted by a new feature that needs to conditionally raise a\nconfirmation modal based on data gather from the form, block on the\nmodal, and finally continue with the save process.\n\nI first considered adding prompt modals to the inlineEditForm via a\nseries of hooks, but the process would be too cumbersome. Some modals\nhave dynamic content, some forms use a series of modals, some interleave\nAJAX requests. The alternative and chosen approach, using streams and\nflatMapping operations, allows custom workflows of all types as long as\nthey can finish by returning a stream that fires when it's ok to\ncontinue saving.\n\nIn order to make this enhancement to onSaveBefore, it had to be\ndecoupled from getDataToSave. Otherwise, getDataToSave would have had to\nalso be modified to support streams in order to pass through\ncorrectly. Fortunately, this has the side-benefit of better separation\nof concerns. It was not required to decouple\nonSaveAfter, but this was done for the same side benefit.\n\nonSaveBefore now supports block operations via a stream API. This is\ndocumented in the source code and omitted here.\n\ngetDataToSave is no longer publicly exported because its use case can be\ncovered by the new change to the API. This is covered in another PR, but\nessentially, it means passing a callback in as onSaveBefore instead of\ncalling getDataToSave within a graph of jQuery callbacks.","distinct":true,"url":"https://api.github.com/repos/steventlamb/otm-core/commits/455262a65fdb7418f483bd4ef585925775b091f7"},{"sha":"01d93552b6eb94b3e99c1fe76bded2f6d99e8cfc","author":{"email":"c3fe90de81d1158edd57db60984629db49a2604a@azavea.com","name":"Steve Lamb"},"message":"Provide a globalCancelStream to callers\n\nThis was probably always correct but its case hadn't turned up as\nnecessary until now. Callers with advanced uses of the inlineEditForm sometimes need to\ntrigger a cancel event manually. It should also be possible to listen\nfor those cancels as part of the exported cancelStream. A caller in an\naccompanying PR makes use of this so that it can trigger a cancel from a\nmodal and then listen on the cancelStream to clean up its UI.\n\nTo avoid the daunting task of testing for regressions in\nevery listener of the cancel stream, this API is left separate with a\nTODO.","distinct":true,"url":"https://api.github.com/repos/steventlamb/otm-core/commits/01d93552b6eb94b3e99c1fe76bded2f6d99e8cfc"},{"sha":"c7b9a6152c9c2a9fb9aa71c827da89343d58792d","author":{"email":"c3fe90de81d1158edd57db60984629db49a2604a@azavea.com","name":"Steve Lamb"},"message":"Cleanup inlineEditForm pending UI on cancel\n\nPreviously this was only done for successes and errors, it must also be\ndone for cancels to re-enable buttons and hide the spinner.","distinct":true,"url":"https://api.github.com/repos/steventlamb/otm-core/commits/c7b9a6152c9c2a9fb9aa71c827da89343d58792d"}]}