{"action":"created","issue":{"url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/4053","repository_url":"https://api.github.com/repos/firebase/firebase-ios-sdk","labels_url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/4053/labels{/name}","comments_url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/4053/comments","events_url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/4053/events","html_url":"https://github.com/firebase/firebase-ios-sdk/pull/4053","id":506087828,"node_id":"MDExOlB1bGxSZXF1ZXN0MzI3MzkxODAw","number":4053,"title":"move database operation off main thread","user":{"login":"chliangGoogle","id":27706281,"node_id":"MDQ6VXNlcjI3NzA2Mjgx","avatar_url":"https://avatars2.githubusercontent.com/u/27706281?v=4","gravatar_id":"","url":"https://api.github.com/users/chliangGoogle","html_url":"https://github.com/chliangGoogle","followers_url":"https://api.github.com/users/chliangGoogle/followers","following_url":"https://api.github.com/users/chliangGoogle/following{/other_user}","gists_url":"https://api.github.com/users/chliangGoogle/gists{/gist_id}","starred_url":"https://api.github.com/users/chliangGoogle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chliangGoogle/subscriptions","organizations_url":"https://api.github.com/users/chliangGoogle/orgs","repos_url":"https://api.github.com/users/chliangGoogle/repos","events_url":"https://api.github.com/users/chliangGoogle/events{/privacy}","received_events_url":"https://api.github.com/users/chliangGoogle/received_events","type":"User","site_admin":false},"labels":[{"id":658858759,"node_id":"MDU6TGFiZWw2NTg4NTg3NTk=","url":"https://api.github.com/repos/firebase/firebase-ios-sdk/labels/cla:%20yes","name":"cla: yes","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2019-10-11T22:50:52Z","updated_at":"2019-10-16T16:21:20Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/firebase/firebase-ios-sdk/pulls/4053","html_url":"https://github.com/firebase/firebase-ios-sdk/pull/4053","diff_url":"https://github.com/firebase/firebase-ios-sdk/pull/4053.diff","patch_url":"https://github.com/firebase/firebase-ios-sdk/pull/4053.patch"},"body":"b/142357385 People find the app stuck on RMQ database write operation as they are on main thread.\r\nMoving all the write operations off main thread.\r\n\r\nSome of the sync methods used to return a value, it is used to tell the operation succeed and print error if not. We will remove those return value and print error inside the method.\r\nThere are other return values are not used at all by the parent class. Remove those and make them async method.\r\n\r\nAlso refactor the method scanWithRmqMessageHandler: which is very interesting. It has two callbacks as parameters, each is used on different occasions. This function reads data from database, instead of return the results at once, it triggers callback per row of database read. This used to work because database operation is blocking, so client just blocking read each row of database and return a callback to continue the next step. Unified both callback to one and trigger the callback after database read is complete and return with the database results. \r\n"},"comment":{"url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/comments/542781692","html_url":"https://github.com/firebase/firebase-ios-sdk/pull/4053#issuecomment-542781692","issue_url":"https://api.github.com/repos/firebase/firebase-ios-sdk/issues/4053","id":542781692,"node_id":"MDEyOklzc3VlQ29tbWVudDU0Mjc4MTY5Mg==","user":{"login":"paulb777","id":73870,"node_id":"MDQ6VXNlcjczODcw","avatar_url":"https://avatars3.githubusercontent.com/u/73870?v=4","gravatar_id":"","url":"https://api.github.com/users/paulb777","html_url":"https://github.com/paulb777","followers_url":"https://api.github.com/users/paulb777/followers","following_url":"https://api.github.com/users/paulb777/following{/other_user}","gists_url":"https://api.github.com/users/paulb777/gists{/gist_id}","starred_url":"https://api.github.com/users/paulb777/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulb777/subscriptions","organizations_url":"https://api.github.com/users/paulb777/orgs","repos_url":"https://api.github.com/users/paulb777/repos","events_url":"https://api.github.com/users/paulb777/events{/privacy}","received_events_url":"https://api.github.com/users/paulb777/received_events","type":"User","site_admin":false},"created_at":"2019-10-16T16:21:20Z","updated_at":"2019-10-16T16:21:20Z","author_association":"MEMBER","body":"It's probably a build or test failure that fails to log. Run `./scripts/pod_lib_lint.rb --verbose FirebaseMessaging.podspec` to diagnose."}}
{"actor":{"display_login":"paulb777"}}