{"push_id":2400214264,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d4d73ea53ecdf1e8ade3d00921419645dd5d66f7","before":"687e8d768db7ea01219000ab25b43f524cc530ab","commits":[{"sha":"d4d73ea53ecdf1e8ade3d00921419645dd5d66f7","author":{"name":"Gil","email":"7df3881be05fb714032ccf8a2c6cc6ea5f1ec39b@google.com"},"message":"Defend against users making API calls during deinit (#863)\n\nTrack operation in progress FSTDispatchQueue\r\n\r\n... and allow dispatchAsync onto the worker queue even from the same\r\nqueue if an operation is not in progress. Fixes #753.\r\n\r\nThis fixes a corner case that happens when users pass us an object and\r\nwe retain that object in a block submitted to the worker queue for\r\nprocessing. Users are not obligated to retain that object themselves.\r\nThis can lead to the object's destructor (or dealloc or deinit) being\r\ncalled on the Firestore worker thread. If that destructor makes\r\nFirestore API calls (most likely ListenerRegistration.remove but any are\r\npossible) this will trigger the assertion.","distinct":true,"url":"https://api.github.com/repos/firebase/firebase-ios-sdk/commits/d4d73ea53ecdf1e8ade3d00921419645dd5d66f7"}]}
{"actor":{"display_login":"wilhuff"}}